{
  "$schema": "http://json.schemastore.org/tsconfig",
  "compilerOptions": {
    "baseUrl": "./",
    "target": "ESNext",
    "module": "NodeNext",
    "moduleResolution": "Node",
    "lib": ["DOM", "DOM.Iterable", "ESNext"],
    // Search under node_modules for non-relative imports.
    "moduleDetection": "auto",
    // ensure that nobody can accidentally use this config for a build
    "noEmit": true,
    "declaration": true,
    "declarationMap": true,
    "noEmitOnError": true,
    "noErrorTruncation": true,
    // Enforce using `import type` instead of `import` for Types
    "importsNotUsedAsValues": "error",
    "allowJs": true,
    // Generate inline sourcemaps
    "sourceMap": false,
    "inlineSourceMap": true,
    "inlineSources": true,
    // Enable strictest settings like strictNullChecks & noImplicitAny.
    "strict": true,
    // Disallow features that require cross-file information for emit.
    "isolatedModules": true,
    "allowSyntheticDefaultImports": true,
    // Import non-ES modules as default imports.
    "esModuleInterop": true,
    // Allow to import json files
    "resolveJsonModule": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "importHelpers": true
  }
}
