{ "$schema": "http://json.schemastore.org/tsconfig", "include": [], "compilerOptions": { "outDir": "${configDir}/dist", "rootDir": "${configDir}/src", // Use incremental builds with project references. "incremental": true, "composite": true, // Target modern JavaScript (ES2022+) whilst staying closely compatible with the Node.js module system. "target": "ES2022", "module": "NodeNext", "moduleDetection": "force", // Treat every non-declaration file as a module. "verbatimModuleSyntax": true, // Only transform/eliminate type-only import/export statements. "allowJs": false, // If you touch this, a puppy dies. "rewriteRelativeImportExtensions": true, // Rewrite `.ts` imports to `.js` at build time. "erasableSyntaxOnly": true, // Allows to run directly with node and type removal // Emit source- & declaration maps. "declarationMap": true, "sourceMap": true, // Opt-in to stricter type checking and correctness guard rails. The more the merrier. "strict": true, "exactOptionalPropertyTypes": true, "noUnusedLocals": true, "noUnusedParameters": true, "noImplicitOverride": true, "noFallthroughCasesInSwitch": true, // Miscellaneoaus "stripInternal": false, // tests require `false` because project references type-check against those declarations. "skipLibCheck": true, // Skip type checking of third party libraries. "noErrorTruncation": true, // Do not truncate error messages. "types": [], // Disable automatic loading of `@types/*` packages. "jsx": "react-jsx", "plugins": [{ "name": "@effect/language-service", "namespaceImportPackages": ["effect", "@effect/*"], "diagnosticSeverity": { "globalErrorInEffectFailure": "off" // TODO: Check if we should fix the warnings this reports }, "includeSuggestionsInTsc": false, "ignoreEffectWarningsInTscExitCode": true, "ignoreEffectErrorsInTscExitCode": true }] } }