1{
2 "compilerOptions": {
3 "target": "ESNext",
4 "module": "NodeNext",
5 "moduleResolution": "NodeNext",
6 "noEmit": true,
7 "allowImportingTsExtensions": true,
8 "rewriteRelativeImportExtensions": true,
9 "erasableSyntaxOnly": true,
10 "verbatimModuleSyntax": true,
11 "strict": true,
12 "noUncheckedIndexedAccess": true,
13 "exactOptionalPropertyTypes": true,
14 "noImplicitOverride": true,
15 "useDefineForClassFields": true,
16 "forceConsistentCasingInFileNames": true,
17 "skipLibCheck": true,
18 "allowSyntheticDefaultImports": true,
19 "esModuleInterop": true,
20 "resolveJsonModule": true,
21 "plugins": [
22 {
23 "name": "@effect/language-service",
24 "namespaceImportPackages": ["@effect/platform-node", "effect"],
25 "diagnosticSeverity": {
26 "anyUnknownInErrorContext": "error",
27 "unsafeEffectTypeAssertion": "error",
28 "instanceOfSchema": "error",
29 "deterministicKeys": "error",
30 "strictEffectProvide": "off",
31 // We use Effect's unstable modules (http, sql) on purpose. These rules
32 // also make effect-tsgo 0.47+ report false TS2790 errors on `delete`.
33 "unstableApiUsage": "off",
34 "experimentalApiUsage": "off",
35 "missingEffectServiceDependency": "error",
36 "leakingRequirements": "error",
37 "globalErrorInEffectCatch": "error",
38 "globalErrorInEffectFailure": "error",
39 "unknownInEffectCatch": "error",
40 "strictBooleanExpressions": "off",
41 "lazyEffect": "off",
42 "preferSchemaOverJson": "error",
43 "schemaSyncInEffect": "error",
44 "cryptoRandomUUID": "error",
45 "cryptoRandomUUIDInEffect": "error",
46 "nodeBuiltinImport": "error",
47 "globalDate": "error",
48 "globalDateInEffect": "error",
49 "globalConsole": "error",
50 "globalConsoleInEffect": "error",
51 "globalRandom": "error",
52 "globalRandomInEffect": "error",
53 "globalTimers": "error",
54 "globalTimersInEffect": "error",
55 "globalFetch": "error",
56 "globalFetchInEffect": "error",
57 "schemaNumber": "off"
58 },
59 "overrides": [
60 {
61 "include": ["**/*.test.ts", "**/*.test.tsx"],
62 "options": { "diagnosticSeverity": { "preferSchemaOverJson": "off" } }
63 }
64 ]
65 }
66 ]
67 }
68}