1{
2 "compilerOptions": {
3 "plugins": [
4 {
5 "name": "@effect/language-service",
6 "namespaceImportPackages": ["@effect/platform-node", "effect"],
7 "effectFn": ["span", "inferred-span", "suggested-span"],
8 "diagnosticSeverity": {
9 "abortControllerInEffect": "error",
10 "runEffectInsideEffect": "error",
11 "flatMapConditionalToFilterOrFail": "error",
12 "catchConditionalRefailToCatchIf": "error",
13 "tryCatchInEffectGen": "error",
14 "schemaStructWithTag": "error",
15 "preferTypedSchemaDecoder": "error",
16 "catchUnfailableEffect": "error",
17 "raceFirstWithSleepToTimeout": "error",
18 "redundantMapError": "error",
19 "optionMatchToFromOption": "error",
20 "catchToIgnore": "error",
21 "unnecessaryEffectGen": "error",
22 "allOfMapToForEach": "error",
23 "catchToOrElseSucceed": "error",
24 "unnecessaryFailYieldableError": "error",
25 "preferSucceedSomeOrNone": "error",
26 "effectSucceedWithVoid": "error",
27 "provideLayerSucceedToProvideService": "error",
28 "flatMapIgnoredParamToAndThen": "error",
29 "mapSomeToAsSome": "error",
30 "unnecessaryPipeChain": "error",
31 "returnEffectInGen": "off",
32 "effectFnOpportunity": "error",
33 "anyUnknownInErrorContext": "error",
34 "unsafeEffectTypeAssertion": "error",
35 "instanceOfSchema": "error",
36 "deterministicKeys": "error",
37 "strictEffectProvide": "off",
38 // We use Effect's unstable modules (http, sql) on purpose. These rules
39 // also make effect-tsgo 0.47+ report false TS2790 errors on `delete`.
40 "unstableApiUsage": "off",
41 "experimentalApiUsage": "off",
42 "missingEffectServiceDependency": "error",
43 "leakingRequirements": "error",
44 "globalErrorInEffectCatch": "error",
45 "globalErrorInEffectFailure": "error",
46 "unknownInEffectCatch": "error",
47 "strictBooleanExpressions": "off",
48 "lazyEffect": "off",
49 "globalJsonInEffect": "error",
50 "schemaSyncInEffect": "error",
51 "cryptoRandomUUID": "error",
52 "cryptoRandomUUIDInEffect": "error",
53 "nodeBuiltinImport": "error",
54 "globalDate": "error",
55 "globalDateInEffect": "error",
56 "globalConsole": "error",
57 "globalConsoleInEffect": "error",
58 "globalRandom": "error",
59 "globalRandomInEffect": "error",
60 "globalTimers": "error",
61 "globalTimersInEffect": "error",
62 "globalFetch": "error",
63 "globalFetchInEffect": "error",
64 "acquireReleaseDisposable": "error",
65 "catchAllTagDispatchToCatchTag": "error",
66 "catchAllToMapError": "error",
67 "catchChainToFirstSuccessOf": "error",
68 "catchDieToOrDie": "error",
69 "catchIfTagToCatchTag": "error",
70 "catchRefailToTapError": "error",
71 "catchTagToCatchReason": "error",
72 "effectMapFlatten": "error",
73 "effectMapVoid": "error",
74 "effectSleepZeroToYieldNow": "error",
75 "effectSucceedWithUndefined": "error",
76 "errorPayloadShadowsName": "error",
77 "failCauseToConstructor": "error",
78 "flatMapIdentityToFlatten": "error",
79 "flatMapToMap": "error",
80 "flatMapToTap": "error",
81 "manualMetricTapToTrack": "error",
82 "mapConstToAs": "error",
83 "mapSomeCatchNoSuchElement": "error",
84 "matchBooleanToIsSuccess": "error",
85 "matchEffectToMapBoth": "error",
86 "matchEffectToMatch": "error",
87 "matchToResultOrOption": "error",
88 "multipleCatchTag": "error",
89 "preferUnsafeConstructor": "error",
90 "redundantOrDie": "error",
91 "redundantSchemaTagIdentifier": "error",
92 "resultMatchToFromResult": "error",
93 "runOfExitToRunExit": "error",
94 "suspendFailToFailSync": "error",
95 "syncToSucceed": "error",
96 "timeoutCatchTagToTimeoutOrElse": "error",
97 "unnecessaryPipe": "error",
98 "unnecessaryTypeofType": "error",
99 "effectTryWithoutCatch": "error",
100 "processEnvInEffect": "error",
101 "preferSchemaTaggedError": "error",
102 "extendsNativeError": "error",
103 "schemaNumber": "off"
104 },
105 "overrides": [
106 {
107 "include": ["**/*.test.ts", "**/*.test.tsx"],
108 "options": {
109 "diagnosticSeverity": {
110 "globalJsonInEffect": "off",
111 "effectFnOpportunity": "off"
112 }
113 }
114 },
115 {
116 "include": [
117 "**/*.spec.ts",
118 "**/*.spec.tsx",
119 "**/*.testkit.ts",
120 "**/*.testkit.tsx",
121 "**/test/**/*",
122 "**/tests/**/*",
123 "**/testkit/**/*",
124 "**/testing/**/*",
125 "**/fixtures/**/*",
126 "**/integration/**/*",
127 "packages/provider-testing/**/*"
128 ],
129 "options": { "diagnosticSeverity": { "effectFnOpportunity": "off" } }
130 }
131 ]
132 }
133 ]
134 }
135}