tsconfig.base.json

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "noEmit": true,
    "allowImportingTsExtensions": true,
    "rewriteRelativeImportExtensions": true,
    "erasableSyntaxOnly": true,
    "verbatimModuleSyntax": true,
    "strict": true,
    "noUncheckedIndexedAccess": true,
    "exactOptionalPropertyTypes": true,
    "noImplicitOverride": true,
    "useDefineForClassFields": true,
    "forceConsistentCasingInFileNames": true,
    "skipLibCheck": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "plugins": [
      {
        "name": "@effect/language-service",
        "namespaceImportPackages": ["@effect/platform-node", "effect"],
        "diagnosticSeverity": {
          "anyUnknownInErrorContext": "error",
          "unsafeEffectTypeAssertion": "error",
          "instanceOfSchema": "error",
          "deterministicKeys": "error",
          "strictEffectProvide": "off",
          "missingEffectServiceDependency": "error",
          "leakingRequirements": "error",
          "globalErrorInEffectCatch": "error",
          "globalErrorInEffectFailure": "error",
          "unknownInEffectCatch": "error",
          "strictBooleanExpressions": "off",
          "lazyEffect": "off",
          "preferSchemaOverJson": "error",
          "schemaSyncInEffect": "error",
          "cryptoRandomUUID": "error",
          "cryptoRandomUUIDInEffect": "error",
          "nodeBuiltinImport": "error",
          "globalDate": "error",
          "globalDateInEffect": "error",
          "globalConsole": "error",
          "globalConsoleInEffect": "error",
          "globalRandom": "error",
          "globalRandomInEffect": "error",
          "globalTimers": "error",
          "globalTimersInEffect": "error",
          "globalFetch": "error",
          "globalFetchInEffect": "error",
          "schemaNumber": "off"
        }
      }
    ]
  }
}