@effect/tsgo 0.45.0 → 0.46.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -4
- package/dist/effect-tsgo.cjs +392 -43
- package/oxlint-presets/index.d.ts +2 -0
- package/oxlint-presets/index.js +98 -21
- package/oxlint-presets/recommended.json +3 -21
- package/oxlint-presets/strict.json +90 -0
- package/oxlint-presets/style.json +3 -0
- package/oxlint-schema.json +9 -0
- package/package.json +8 -8
- package/schema.json +18 -3
package/README.md
CHANGED
|
@@ -38,13 +38,13 @@ When running in dedicated diagnostics mode, the Effect diagnostics can be emitte
|
|
|
38
38
|
<!-- supported-components:start -->
|
|
39
39
|
## Supported Package Versions
|
|
40
40
|
|
|
41
|
-
The following target package versions are supported by `@effect/tsgo@0.
|
|
41
|
+
The following target package versions are supported by `@effect/tsgo@0.46.1`:
|
|
42
42
|
|
|
43
43
|
| Component | Supported versions |
|
|
44
44
|
|---|---|
|
|
45
|
-
| TypeScript | `7.0.2`, `7.1.0-dev.
|
|
46
|
-
| Oxlint | `1.
|
|
47
|
-
| oxlint-tsgolint | `7.0.2001` |
|
|
45
|
+
| TypeScript | `7.0.2`, `7.1.0-dev.20260924.1` |
|
|
46
|
+
| Oxlint | `1.82.0`, `1.83.0`, `1.84.0`, `1.85.0` |
|
|
47
|
+
| oxlint-tsgolint | `7.0.2001`, `7.0.2002`, `7.0.2003` |
|
|
48
48
|
<!-- supported-components:end -->
|
|
49
49
|
|
|
50
50
|
## Diagnostic Status
|
|
@@ -131,6 +131,8 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
|
|
|
131
131
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-chain-to-first-success-of.md"><code>catchChainToFirstSuccessOf</code></a></td><td>Suggests Effect.firstSuccessOf for consecutive error-independent Effect.catch fallbacks when the error type is preserved</td></tr>
|
|
132
132
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-conditional-refail-to-catch-if.md"><code>catchConditionalRefailToCatchIf</code></a></td><td>Suggests Effect.catchIf, Effect.catchCauseIf, or Effect.catchTag for conditional catch handlers that re-fail their untouched input</td></tr>
|
|
133
133
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-die-to-or-die.md"><code>catchDieToOrDie</code></a></td><td>Suggests using Effect.orDie instead of Effect.catch or Effect.catchAll with an identity-forwarding Effect.die handler</td></tr>
|
|
134
|
+
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-if-tag-to-catch-tag.md"><code>catchIfTagToCatchTag</code></a></td><td>Suggests Effect.catchTag instead of Effect.catchIf with a direct _tag equality predicate</td></tr>
|
|
135
|
+
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-refail-to-tap-error.md"><code>catchRefailToTapError</code></a></td><td>Suggests Effect.tapError for catch handlers that sequence an effect and then re-fail the original error</td></tr>
|
|
134
136
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-tag-to-catch-reason.md"><code>catchTagToCatchReason</code></a></td><td>Suggests Effect.catchReason or Effect.catchReasons for handlers that re-fail unmatched reason._tag branches</td></tr>
|
|
135
137
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-to-ignore.md"><code>catchToIgnore</code></a></td><td>Suggests using Effect.ignore or Effect.ignoreCause instead of Effect.catch/catchCause returning Effect.void</td></tr>
|
|
136
138
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/catch-to-or-else-succeed.md"><code>catchToOrElseSucceed</code></a></td><td>Suggests using Effect.orElseSucceed instead of Effect.catch + Effect.succeed</td></tr>
|
|
@@ -141,6 +143,7 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
|
|
|
141
143
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/effect-map-void.md"><code>effectMapVoid</code></a></td><td>Suggests using Effect.asVoid instead of Effect.map(() => void 0), Effect.map(() => undefined), or Effect.map(() => {})</td></tr>
|
|
142
144
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/effect-succeed-with-void.md"><code>effectSucceedWithVoid</code></a></td><td>Suggests using Effect.void instead of Effect.succeed(undefined) or Effect.succeed(void 0)</td></tr>
|
|
143
145
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/flat-map-conditional-to-filter-or-fail.md"><code>flatMapConditionalToFilterOrFail</code></a></td><td>Suggests Effect.filterOrFail or Effect.filterOrElse when Effect.flatMap conditionally passes its input through with Effect.succeed</td></tr>
|
|
146
|
+
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/flat-map-ignored-param-to-and-then.md"><code>flatMapIgnoredParamToAndThen</code></a></td><td>Suggests using Effect.andThen instead of Effect.flatMap when a zero-parameter callback returns an existing Effect value</td></tr>
|
|
144
147
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/flat-map-to-map.md"><code>flatMapToMap</code></a></td><td>Suggests using Effect.map instead of Effect.flatMap when the callback only wraps its result with Effect.succeed</td></tr>
|
|
145
148
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/map-some-to-as-some.md"><code>mapSomeToAsSome</code></a></td><td>Suggests using Effect.asSome instead of Effect.map when the mapper only wraps the success value with Option.some</td></tr>
|
|
146
149
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/match-effect-to-map-both.md"><code>matchEffectToMapBoth</code></a></td><td>Suggests Effect.mapBoth when Effect.matchEffect only transforms the failure and success channels</td></tr>
|
package/dist/effect-tsgo.cjs
CHANGED
|
@@ -48900,7 +48900,7 @@ const runWith = (command, config) => {
|
|
|
48900
48900
|
//#endregion
|
|
48901
48901
|
//#region package.json
|
|
48902
48902
|
var name = "@effect/tsgo";
|
|
48903
|
-
var version = "0.
|
|
48903
|
+
var version = "0.46.1";
|
|
48904
48904
|
|
|
48905
48905
|
//#endregion
|
|
48906
48906
|
//#region src/metadata.json
|
|
@@ -48926,34 +48926,320 @@ var groups = [
|
|
|
48926
48926
|
"description": "Cleanup, consistency, and idiomatic Effect code."
|
|
48927
48927
|
}
|
|
48928
48928
|
];
|
|
48929
|
-
var presets$1 = [
|
|
48930
|
-
|
|
48931
|
-
|
|
48932
|
-
|
|
48933
|
-
"
|
|
48934
|
-
|
|
48935
|
-
|
|
48936
|
-
|
|
48937
|
-
|
|
48938
|
-
|
|
48939
|
-
|
|
48940
|
-
|
|
48941
|
-
|
|
48942
|
-
|
|
48943
|
-
|
|
48944
|
-
|
|
48945
|
-
|
|
48946
|
-
|
|
48947
|
-
|
|
48948
|
-
|
|
48949
|
-
|
|
48950
|
-
|
|
48951
|
-
|
|
48952
|
-
|
|
48953
|
-
|
|
48954
|
-
|
|
48955
|
-
|
|
48956
|
-
|
|
48929
|
+
var presets$1 = [
|
|
48930
|
+
{
|
|
48931
|
+
"name": "recommended",
|
|
48932
|
+
"description": "Enable diagnostics at their default severities.",
|
|
48933
|
+
"diagnosticSeverity": {
|
|
48934
|
+
"abortControllerInEffect": "suggestion",
|
|
48935
|
+
"acquireReleaseDisposable": "suggestion",
|
|
48936
|
+
"allOfMapToForEach": "suggestion",
|
|
48937
|
+
"catchAllTagDispatchToCatchTag": "suggestion",
|
|
48938
|
+
"catchAllToMapError": "suggestion",
|
|
48939
|
+
"catchChainToFirstSuccessOf": "suggestion",
|
|
48940
|
+
"catchConditionalRefailToCatchIf": "suggestion",
|
|
48941
|
+
"catchDieToOrDie": "suggestion",
|
|
48942
|
+
"catchIfTagToCatchTag": "suggestion",
|
|
48943
|
+
"catchRefailToTapError": "suggestion",
|
|
48944
|
+
"catchTagToCatchReason": "suggestion",
|
|
48945
|
+
"catchToIgnore": "suggestion",
|
|
48946
|
+
"catchToOrElseSucceed": "suggestion",
|
|
48947
|
+
"catchUnfailableEffect": "suggestion",
|
|
48948
|
+
"classSelfMismatch": "error",
|
|
48949
|
+
"duplicatePackage": "warning",
|
|
48950
|
+
"effectFnIife": "warning",
|
|
48951
|
+
"effectFnImplicitAny": "error",
|
|
48952
|
+
"effectFnOpportunity": "suggestion",
|
|
48953
|
+
"effectGenUsesAdapter": "warning",
|
|
48954
|
+
"effectInFailure": "warning",
|
|
48955
|
+
"effectInVoidSuccess": "warning",
|
|
48956
|
+
"effectMapFlatten": "suggestion",
|
|
48957
|
+
"effectMapVoid": "suggestion",
|
|
48958
|
+
"effectSucceedWithVoid": "suggestion",
|
|
48959
|
+
"flatMapConditionalToFilterOrFail": "suggestion",
|
|
48960
|
+
"flatMapIgnoredParamToAndThen": "suggestion",
|
|
48961
|
+
"flatMapToMap": "suggestion",
|
|
48962
|
+
"floatingEffect": "error",
|
|
48963
|
+
"floatingEffectInVitest": "error",
|
|
48964
|
+
"genericEffectServices": "warning",
|
|
48965
|
+
"globalErrorInEffectCatch": "warning",
|
|
48966
|
+
"globalErrorInEffectFailure": "warning",
|
|
48967
|
+
"layerMergeAllWithDependencies": "warning",
|
|
48968
|
+
"lazyEffect": "suggestion",
|
|
48969
|
+
"lazyPromiseInEffectSync": "warning",
|
|
48970
|
+
"leakingRequirements": "suggestion",
|
|
48971
|
+
"mapSomeToAsSome": "suggestion",
|
|
48972
|
+
"matchEffectToMapBoth": "suggestion",
|
|
48973
|
+
"matchEffectToMatch": "suggestion",
|
|
48974
|
+
"missingEffectContext": "error",
|
|
48975
|
+
"missingEffectError": "error",
|
|
48976
|
+
"missingLayerContext": "error",
|
|
48977
|
+
"missingReturnYieldStar": "error",
|
|
48978
|
+
"missingStarInYieldEffectGen": "error",
|
|
48979
|
+
"multipleCatchTag": "suggestion",
|
|
48980
|
+
"multipleEffectProvide": "warning",
|
|
48981
|
+
"nonObjectEffectServiceType": "error",
|
|
48982
|
+
"obsoleteMatchImport": "warning",
|
|
48983
|
+
"obsoleteSchemaImport": "warning",
|
|
48984
|
+
"optionMatchToFromOption": "suggestion",
|
|
48985
|
+
"outdatedApi": "warning",
|
|
48986
|
+
"overriddenSchemaConstructor": "error",
|
|
48987
|
+
"preferSucceedSomeOrNone": "suggestion",
|
|
48988
|
+
"preferTypedSchemaDecoder": "suggestion",
|
|
48989
|
+
"preferUnsafeConstructor": "suggestion",
|
|
48990
|
+
"promiseInEffectSuccess": "warning",
|
|
48991
|
+
"provideLayerSucceedToProvideService": "suggestion",
|
|
48992
|
+
"raceFirstWithSleepToTimeout": "suggestion",
|
|
48993
|
+
"redundantMapError": "suggestion",
|
|
48994
|
+
"redundantOrDie": "suggestion",
|
|
48995
|
+
"redundantSchemaTagIdentifier": "suggestion",
|
|
48996
|
+
"returnEffectInGen": "suggestion",
|
|
48997
|
+
"runEffectInsideEffect": "suggestion",
|
|
48998
|
+
"runOfExitToRunExit": "suggestion",
|
|
48999
|
+
"schemaLiteralNonFinite": "error",
|
|
49000
|
+
"schemaNumber": "suggestion",
|
|
49001
|
+
"schemaOpaqueInstanceMember": "error",
|
|
49002
|
+
"schemaStructWithTag": "suggestion",
|
|
49003
|
+
"schemaSyncInEffect": "suggestion",
|
|
49004
|
+
"scopeInLayerEffect": "warning",
|
|
49005
|
+
"syncToSucceed": "suggestion",
|
|
49006
|
+
"timeoutCatchTagToTimeoutOrElse": "suggestion",
|
|
49007
|
+
"tryCatchInEffectGen": "suggestion",
|
|
49008
|
+
"unknownInEffectCatch": "warning",
|
|
49009
|
+
"unnecessaryEffectGen": "suggestion",
|
|
49010
|
+
"unnecessaryFailYieldableError": "suggestion",
|
|
49011
|
+
"unnecessaryPipe": "suggestion",
|
|
49012
|
+
"unnecessaryPipeChain": "suggestion",
|
|
49013
|
+
"unnecessaryTypeofType": "suggestion"
|
|
49014
|
+
}
|
|
49015
|
+
},
|
|
49016
|
+
{
|
|
49017
|
+
"name": "strict",
|
|
49018
|
+
"description": "Treat every diagnostic enabled by default as an error.",
|
|
49019
|
+
"diagnosticSeverity": {
|
|
49020
|
+
"abortControllerInEffect": "error",
|
|
49021
|
+
"acquireReleaseDisposable": "error",
|
|
49022
|
+
"allOfMapToForEach": "error",
|
|
49023
|
+
"catchAllTagDispatchToCatchTag": "error",
|
|
49024
|
+
"catchAllToMapError": "error",
|
|
49025
|
+
"catchChainToFirstSuccessOf": "error",
|
|
49026
|
+
"catchConditionalRefailToCatchIf": "error",
|
|
49027
|
+
"catchDieToOrDie": "error",
|
|
49028
|
+
"catchIfTagToCatchTag": "error",
|
|
49029
|
+
"catchRefailToTapError": "error",
|
|
49030
|
+
"catchTagToCatchReason": "error",
|
|
49031
|
+
"catchToIgnore": "error",
|
|
49032
|
+
"catchToOrElseSucceed": "error",
|
|
49033
|
+
"catchUnfailableEffect": "error",
|
|
49034
|
+
"classSelfMismatch": "error",
|
|
49035
|
+
"duplicatePackage": "error",
|
|
49036
|
+
"effectFnIife": "error",
|
|
49037
|
+
"effectFnImplicitAny": "error",
|
|
49038
|
+
"effectFnOpportunity": "error",
|
|
49039
|
+
"effectGenUsesAdapter": "error",
|
|
49040
|
+
"effectInFailure": "error",
|
|
49041
|
+
"effectInVoidSuccess": "error",
|
|
49042
|
+
"effectMapFlatten": "error",
|
|
49043
|
+
"effectMapVoid": "error",
|
|
49044
|
+
"effectSucceedWithVoid": "error",
|
|
49045
|
+
"flatMapConditionalToFilterOrFail": "error",
|
|
49046
|
+
"flatMapIgnoredParamToAndThen": "error",
|
|
49047
|
+
"flatMapToMap": "error",
|
|
49048
|
+
"floatingEffect": "error",
|
|
49049
|
+
"floatingEffectInVitest": "error",
|
|
49050
|
+
"genericEffectServices": "error",
|
|
49051
|
+
"globalErrorInEffectCatch": "error",
|
|
49052
|
+
"globalErrorInEffectFailure": "error",
|
|
49053
|
+
"layerMergeAllWithDependencies": "error",
|
|
49054
|
+
"lazyEffect": "error",
|
|
49055
|
+
"lazyPromiseInEffectSync": "error",
|
|
49056
|
+
"leakingRequirements": "error",
|
|
49057
|
+
"mapSomeToAsSome": "error",
|
|
49058
|
+
"matchEffectToMapBoth": "error",
|
|
49059
|
+
"matchEffectToMatch": "error",
|
|
49060
|
+
"missingEffectContext": "error",
|
|
49061
|
+
"missingEffectError": "error",
|
|
49062
|
+
"missingLayerContext": "error",
|
|
49063
|
+
"missingReturnYieldStar": "error",
|
|
49064
|
+
"missingStarInYieldEffectGen": "error",
|
|
49065
|
+
"multipleCatchTag": "error",
|
|
49066
|
+
"multipleEffectProvide": "error",
|
|
49067
|
+
"nonObjectEffectServiceType": "error",
|
|
49068
|
+
"obsoleteMatchImport": "error",
|
|
49069
|
+
"obsoleteSchemaImport": "error",
|
|
49070
|
+
"optionMatchToFromOption": "error",
|
|
49071
|
+
"outdatedApi": "error",
|
|
49072
|
+
"overriddenSchemaConstructor": "error",
|
|
49073
|
+
"preferSucceedSomeOrNone": "error",
|
|
49074
|
+
"preferTypedSchemaDecoder": "error",
|
|
49075
|
+
"preferUnsafeConstructor": "error",
|
|
49076
|
+
"promiseInEffectSuccess": "error",
|
|
49077
|
+
"provideLayerSucceedToProvideService": "error",
|
|
49078
|
+
"raceFirstWithSleepToTimeout": "error",
|
|
49079
|
+
"redundantMapError": "error",
|
|
49080
|
+
"redundantOrDie": "error",
|
|
49081
|
+
"redundantSchemaTagIdentifier": "error",
|
|
49082
|
+
"returnEffectInGen": "error",
|
|
49083
|
+
"runEffectInsideEffect": "error",
|
|
49084
|
+
"runOfExitToRunExit": "error",
|
|
49085
|
+
"schemaLiteralNonFinite": "error",
|
|
49086
|
+
"schemaNumber": "error",
|
|
49087
|
+
"schemaOpaqueInstanceMember": "error",
|
|
49088
|
+
"schemaStructWithTag": "error",
|
|
49089
|
+
"schemaSyncInEffect": "error",
|
|
49090
|
+
"scopeInLayerEffect": "error",
|
|
49091
|
+
"syncToSucceed": "error",
|
|
49092
|
+
"timeoutCatchTagToTimeoutOrElse": "error",
|
|
49093
|
+
"tryCatchInEffectGen": "error",
|
|
49094
|
+
"unknownInEffectCatch": "error",
|
|
49095
|
+
"unnecessaryEffectGen": "error",
|
|
49096
|
+
"unnecessaryFailYieldableError": "error",
|
|
49097
|
+
"unnecessaryPipe": "error",
|
|
49098
|
+
"unnecessaryPipeChain": "error",
|
|
49099
|
+
"unnecessaryTypeofType": "error"
|
|
49100
|
+
}
|
|
49101
|
+
},
|
|
49102
|
+
{
|
|
49103
|
+
"name": "correctness",
|
|
49104
|
+
"description": "Enable all correctness diagnostics at warning level.",
|
|
49105
|
+
"diagnosticSeverity": {
|
|
49106
|
+
"anyUnknownInErrorContext": "warning",
|
|
49107
|
+
"classSelfMismatch": "warning",
|
|
49108
|
+
"duplicatePackage": "warning",
|
|
49109
|
+
"effectFnImplicitAny": "warning",
|
|
49110
|
+
"floatingEffect": "warning",
|
|
49111
|
+
"floatingEffectInVitest": "warning",
|
|
49112
|
+
"genericEffectServices": "warning",
|
|
49113
|
+
"missingEffectContext": "warning",
|
|
49114
|
+
"missingEffectError": "warning",
|
|
49115
|
+
"missingLayerContext": "warning",
|
|
49116
|
+
"missingReturnYieldStar": "warning",
|
|
49117
|
+
"missingStarInYieldEffectGen": "warning",
|
|
49118
|
+
"nonObjectEffectServiceType": "warning",
|
|
49119
|
+
"obsoleteMatchImport": "warning",
|
|
49120
|
+
"obsoleteSchemaImport": "warning",
|
|
49121
|
+
"outdatedApi": "warning",
|
|
49122
|
+
"overriddenSchemaConstructor": "warning",
|
|
49123
|
+
"promiseInEffectSuccess": "warning",
|
|
49124
|
+
"schemaLiteralNonFinite": "warning",
|
|
49125
|
+
"schemaOpaqueInstanceMember": "warning",
|
|
49126
|
+
"unsafeEffectTypeAssertion": "warning"
|
|
49127
|
+
}
|
|
49128
|
+
},
|
|
49129
|
+
{
|
|
49130
|
+
"name": "antipattern",
|
|
49131
|
+
"description": "Enable all anti-pattern diagnostics at warning level.",
|
|
49132
|
+
"diagnosticSeverity": {
|
|
49133
|
+
"catchUnfailableEffect": "warning",
|
|
49134
|
+
"effectFnIife": "warning",
|
|
49135
|
+
"effectGenUsesAdapter": "warning",
|
|
49136
|
+
"effectInFailure": "warning",
|
|
49137
|
+
"effectInVoidSuccess": "warning",
|
|
49138
|
+
"globalErrorInEffectCatch": "warning",
|
|
49139
|
+
"globalErrorInEffectFailure": "warning",
|
|
49140
|
+
"layerMergeAllWithDependencies": "warning",
|
|
49141
|
+
"lazyEffect": "warning",
|
|
49142
|
+
"lazyPromiseInEffectSync": "warning",
|
|
49143
|
+
"leakingRequirements": "warning",
|
|
49144
|
+
"multipleEffectProvide": "warning",
|
|
49145
|
+
"preferUnsafeConstructor": "warning",
|
|
49146
|
+
"returnEffectInGen": "warning",
|
|
49147
|
+
"runEffectInsideEffect": "warning",
|
|
49148
|
+
"schemaSyncInEffect": "warning",
|
|
49149
|
+
"scopeInLayerEffect": "warning",
|
|
49150
|
+
"strictEffectProvide": "warning",
|
|
49151
|
+
"tryCatchInEffectGen": "warning",
|
|
49152
|
+
"unknownInEffectCatch": "warning"
|
|
49153
|
+
}
|
|
49154
|
+
},
|
|
49155
|
+
{
|
|
49156
|
+
"name": "effect-native",
|
|
49157
|
+
"description": "Enable all Effect-native diagnostics at warning level.",
|
|
49158
|
+
"diagnosticSeverity": {
|
|
49159
|
+
"abortControllerInEffect": "warning",
|
|
49160
|
+
"asyncFunction": "warning",
|
|
49161
|
+
"cryptoRandomUUID": "warning",
|
|
49162
|
+
"cryptoRandomUUIDInEffect": "warning",
|
|
49163
|
+
"extendsNativeError": "warning",
|
|
49164
|
+
"globalConsole": "warning",
|
|
49165
|
+
"globalConsoleInEffect": "warning",
|
|
49166
|
+
"globalDate": "warning",
|
|
49167
|
+
"globalDateInEffect": "warning",
|
|
49168
|
+
"globalFetch": "warning",
|
|
49169
|
+
"globalFetchInEffect": "warning",
|
|
49170
|
+
"globalRandom": "warning",
|
|
49171
|
+
"globalRandomInEffect": "warning",
|
|
49172
|
+
"globalTimers": "warning",
|
|
49173
|
+
"globalTimersInEffect": "warning",
|
|
49174
|
+
"instanceOfSchema": "warning",
|
|
49175
|
+
"newPromise": "warning",
|
|
49176
|
+
"nodeBuiltinImport": "warning",
|
|
49177
|
+
"preferSchemaOverJson": "warning",
|
|
49178
|
+
"processEnv": "warning",
|
|
49179
|
+
"processEnvInEffect": "warning",
|
|
49180
|
+
"schemaSync": "warning"
|
|
49181
|
+
}
|
|
49182
|
+
},
|
|
49183
|
+
{
|
|
49184
|
+
"name": "style",
|
|
49185
|
+
"description": "Enable all style diagnostics at warning level.",
|
|
49186
|
+
"diagnosticSeverity": {
|
|
49187
|
+
"acquireReleaseDisposable": "warning",
|
|
49188
|
+
"allOfMapToForEach": "warning",
|
|
49189
|
+
"catchAllTagDispatchToCatchTag": "warning",
|
|
49190
|
+
"catchAllToMapError": "warning",
|
|
49191
|
+
"catchChainToFirstSuccessOf": "warning",
|
|
49192
|
+
"catchConditionalRefailToCatchIf": "warning",
|
|
49193
|
+
"catchDieToOrDie": "warning",
|
|
49194
|
+
"catchIfTagToCatchTag": "warning",
|
|
49195
|
+
"catchRefailToTapError": "warning",
|
|
49196
|
+
"catchTagToCatchReason": "warning",
|
|
49197
|
+
"catchToIgnore": "warning",
|
|
49198
|
+
"catchToOrElseSucceed": "warning",
|
|
49199
|
+
"deterministicKeys": "warning",
|
|
49200
|
+
"effectDoNotation": "warning",
|
|
49201
|
+
"effectFnOpportunity": "warning",
|
|
49202
|
+
"effectMapFlatten": "warning",
|
|
49203
|
+
"effectMapVoid": "warning",
|
|
49204
|
+
"effectSucceedWithVoid": "warning",
|
|
49205
|
+
"flatMapConditionalToFilterOrFail": "warning",
|
|
49206
|
+
"flatMapIgnoredParamToAndThen": "warning",
|
|
49207
|
+
"flatMapToMap": "warning",
|
|
49208
|
+
"mapSomeToAsSome": "warning",
|
|
49209
|
+
"matchEffectToMapBoth": "warning",
|
|
49210
|
+
"matchEffectToMatch": "warning",
|
|
49211
|
+
"missedPipeableOpportunity": "warning",
|
|
49212
|
+
"missingEffectServiceDependency": "warning",
|
|
49213
|
+
"missingPipeableSignature": "warning",
|
|
49214
|
+
"multipleCatchTag": "warning",
|
|
49215
|
+
"nestedEffectGenYield": "warning",
|
|
49216
|
+
"newSchemaClass": "warning",
|
|
49217
|
+
"optionMatchToFromOption": "warning",
|
|
49218
|
+
"preferSchemaTypeProperty": "warning",
|
|
49219
|
+
"preferSucceedSomeOrNone": "warning",
|
|
49220
|
+
"preferTypedSchemaDecoder": "warning",
|
|
49221
|
+
"provideLayerSucceedToProvideService": "warning",
|
|
49222
|
+
"raceFirstWithSleepToTimeout": "warning",
|
|
49223
|
+
"redundantMapError": "warning",
|
|
49224
|
+
"redundantOrDie": "warning",
|
|
49225
|
+
"redundantSchemaTagIdentifier": "warning",
|
|
49226
|
+
"runOfExitToRunExit": "warning",
|
|
49227
|
+
"schemaNumber": "warning",
|
|
49228
|
+
"schemaStructWithTag": "warning",
|
|
49229
|
+
"schemaUnionOfLiterals": "warning",
|
|
49230
|
+
"serviceNotAsClass": "warning",
|
|
49231
|
+
"strictBooleanExpressions": "warning",
|
|
49232
|
+
"syncToSucceed": "warning",
|
|
49233
|
+
"timeoutCatchTagToTimeoutOrElse": "warning",
|
|
49234
|
+
"unnecessaryArrowBlock": "warning",
|
|
49235
|
+
"unnecessaryEffectGen": "warning",
|
|
49236
|
+
"unnecessaryFailYieldableError": "warning",
|
|
49237
|
+
"unnecessaryPipe": "warning",
|
|
49238
|
+
"unnecessaryPipeChain": "warning",
|
|
49239
|
+
"unnecessaryTypeofType": "warning"
|
|
49240
|
+
}
|
|
49241
|
+
}
|
|
49242
|
+
];
|
|
48957
49243
|
var rules = [
|
|
48958
49244
|
{
|
|
48959
49245
|
"name": "anyUnknownInErrorContext",
|
|
@@ -49940,10 +50226,10 @@ var rules = [
|
|
|
49940
50226
|
"supportedEffect": ["v3", "v4"],
|
|
49941
50227
|
"codes": [377042],
|
|
49942
50228
|
"preview": {
|
|
49943
|
-
"sourceText": "import { Schema } from \"effect\"\n\nclass User extends
|
|
50229
|
+
"sourceText": "import { Schema as S } from \"effect\"\n\nclass User extends S.Class<User>(\"User\")({ name: S.String }) {}\ndeclare const value: unknown\nexport const preview = value instanceof User\n",
|
|
49944
50230
|
"diagnostics": [{
|
|
49945
|
-
"start":
|
|
49946
|
-
"end":
|
|
50231
|
+
"start": 154,
|
|
50232
|
+
"end": 175,
|
|
49947
50233
|
"text": "This code uses `instanceof` with an Effect Schema type. `Schema.is` is the schema-aware runtime check for this case. effect(instanceOfSchema)"
|
|
49948
50234
|
}]
|
|
49949
50235
|
}
|
|
@@ -50173,6 +50459,40 @@ var rules = [
|
|
|
50173
50459
|
}]
|
|
50174
50460
|
}
|
|
50175
50461
|
},
|
|
50462
|
+
{
|
|
50463
|
+
"name": "catchIfTagToCatchTag",
|
|
50464
|
+
"group": "style",
|
|
50465
|
+
"description": "Suggests Effect.catchTag instead of Effect.catchIf with a direct _tag equality predicate",
|
|
50466
|
+
"defaultSeverity": "suggestion",
|
|
50467
|
+
"fixable": true,
|
|
50468
|
+
"supportedEffect": ["v3", "v4"],
|
|
50469
|
+
"codes": [377131],
|
|
50470
|
+
"preview": {
|
|
50471
|
+
"sourceText": "import { Data, Effect } from \"effect\"\n\nclass NotFound extends Data.TaggedError(\"NotFound\")<{}> {}\nclass Timeout extends Data.TaggedError(\"Timeout\")<{}> {}\n\ndeclare const program: Effect.Effect<string, NotFound | Timeout>\n\nexport const recovered = program.pipe(\n Effect.catchIf(\n (error) => error._tag === \"NotFound\",\n () => Effect.succeed(\"guest\")\n )\n)\n",
|
|
50472
|
+
"diagnostics": [{
|
|
50473
|
+
"start": 263,
|
|
50474
|
+
"end": 277,
|
|
50475
|
+
"text": "Effect.catchTag expresses tagged error recovery more directly than Effect.catchIf with a `_tag` equality predicate. effect(catchIfTagToCatchTag)"
|
|
50476
|
+
}]
|
|
50477
|
+
}
|
|
50478
|
+
},
|
|
50479
|
+
{
|
|
50480
|
+
"name": "catchRefailToTapError",
|
|
50481
|
+
"group": "style",
|
|
50482
|
+
"description": "Suggests Effect.tapError for catch handlers that sequence an effect and then re-fail the original error",
|
|
50483
|
+
"defaultSeverity": "suggestion",
|
|
50484
|
+
"fixable": false,
|
|
50485
|
+
"supportedEffect": ["v4"],
|
|
50486
|
+
"codes": [377133],
|
|
50487
|
+
"preview": {
|
|
50488
|
+
"sourceText": "import { Effect } from \"effect\"\n\ndeclare const save: Effect.Effect<void, Error>\ndeclare const rollback: Effect.Effect<void>\n\nexport const program = save.pipe(\n Effect.catch(error => rollback.pipe(Effect.andThen(Effect.fail(error))))\n)\n",
|
|
50489
|
+
"diagnostics": [{
|
|
50490
|
+
"start": 161,
|
|
50491
|
+
"end": 173,
|
|
50492
|
+
"text": "Use Effect.tapError to observe the error and preserve the original failure without having to re-fail it. effect(catchRefailToTapError)"
|
|
50493
|
+
}]
|
|
50494
|
+
}
|
|
50495
|
+
},
|
|
50176
50496
|
{
|
|
50177
50497
|
"name": "catchTagToCatchReason",
|
|
50178
50498
|
"group": "style",
|
|
@@ -50343,6 +50663,23 @@ var rules = [
|
|
|
50343
50663
|
}]
|
|
50344
50664
|
}
|
|
50345
50665
|
},
|
|
50666
|
+
{
|
|
50667
|
+
"name": "flatMapIgnoredParamToAndThen",
|
|
50668
|
+
"group": "style",
|
|
50669
|
+
"description": "Suggests using Effect.andThen instead of Effect.flatMap when a zero-parameter callback returns an existing Effect value",
|
|
50670
|
+
"defaultSeverity": "suggestion",
|
|
50671
|
+
"fixable": true,
|
|
50672
|
+
"supportedEffect": ["v3", "v4"],
|
|
50673
|
+
"codes": [377132],
|
|
50674
|
+
"preview": {
|
|
50675
|
+
"sourceText": "import { Effect } from \"effect\"\n\nconst first = Effect.succeed(1)\nconst second = Effect.succeed(\"second\")\n\nexport const program = first.pipe(Effect.flatMap(() => second))\n",
|
|
50676
|
+
"diagnostics": [{
|
|
50677
|
+
"start": 140,
|
|
50678
|
+
"end": 154,
|
|
50679
|
+
"text": "`Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen)"
|
|
50680
|
+
}]
|
|
50681
|
+
}
|
|
50682
|
+
},
|
|
50346
50683
|
{
|
|
50347
50684
|
"name": "flatMapToMap",
|
|
50348
50685
|
"group": "style",
|
|
@@ -50944,10 +51281,10 @@ var metadata_default = {
|
|
|
50944
51281
|
var tags = {
|
|
50945
51282
|
"typescript": {
|
|
50946
51283
|
"latest": "7.0.2",
|
|
50947
|
-
"next": "7.1.0-dev.
|
|
51284
|
+
"next": "7.1.0-dev.20260924.1"
|
|
50948
51285
|
},
|
|
50949
|
-
"oxlint": { "latest": "1.
|
|
50950
|
-
"oxlint-tsgolint": { "latest": "7.0.
|
|
51286
|
+
"oxlint": { "latest": "1.85.0" },
|
|
51287
|
+
"oxlint-tsgolint": { "latest": "7.0.2003" }
|
|
50951
51288
|
};
|
|
50952
51289
|
var components = {
|
|
50953
51290
|
"typescript": {
|
|
@@ -50955,18 +51292,30 @@ var components = {
|
|
|
50955
51292
|
"gitHead": "2bd066d87f5bafd315be9f40889d0a60b9e58e0b",
|
|
50956
51293
|
"provider": "typescript-go"
|
|
50957
51294
|
},
|
|
50958
|
-
"7.1.0-dev.
|
|
50959
|
-
"gitHead": "
|
|
51295
|
+
"7.1.0-dev.20260924.1": {
|
|
51296
|
+
"gitHead": "df1a31e6d5c4aa4485f276fdfb4218a7bfcdf348",
|
|
50960
51297
|
"provider": "typescript"
|
|
50961
51298
|
}
|
|
50962
51299
|
},
|
|
50963
|
-
"oxlint-tsgolint": {
|
|
50964
|
-
"
|
|
50965
|
-
|
|
50966
|
-
|
|
51300
|
+
"oxlint-tsgolint": {
|
|
51301
|
+
"7.0.2001": {
|
|
51302
|
+
"gitHead": "482dcf70bffce7ea56f63128c74beb67dec658a2",
|
|
51303
|
+
"dependencies": { "typescript": "7.0.2" }
|
|
51304
|
+
},
|
|
51305
|
+
"7.0.2002": {
|
|
51306
|
+
"gitHead": "acd88e1b1ef8f219e8956f804f2548dafd949705",
|
|
51307
|
+
"dependencies": { "typescript": "7.0.2" }
|
|
51308
|
+
},
|
|
51309
|
+
"7.0.2003": {
|
|
51310
|
+
"gitHead": "eb9339115edde6811ca94c3433adf69ea9852880",
|
|
51311
|
+
"dependencies": { "typescript": "7.0.2" }
|
|
51312
|
+
}
|
|
51313
|
+
},
|
|
50967
51314
|
"oxlint": {
|
|
50968
|
-
"1.
|
|
50969
|
-
"1.
|
|
51315
|
+
"1.82.0": { "gitHead": "b4da00b621ec2f6f67ed218f5366c45ed325331b" },
|
|
51316
|
+
"1.83.0": { "gitHead": "7bf68f70c20f5329251f19be95076f6eab4fe396" },
|
|
51317
|
+
"1.84.0": { "gitHead": "f02a64a517a69a4eaa4ef83b722a3f10cf633f10" },
|
|
51318
|
+
"1.85.0": { "gitHead": "288d8cc77984b0a3851c58c423ffe9e6edc79f2e" }
|
|
50970
51319
|
}
|
|
50971
51320
|
};
|
|
50972
51321
|
|
|
@@ -6,6 +6,7 @@ export declare const antipattern: OxlintConfig
|
|
|
6
6
|
export declare const correctness: OxlintConfig
|
|
7
7
|
export declare const effectNative: OxlintConfig
|
|
8
8
|
export declare const recommended: OxlintConfig
|
|
9
|
+
export declare const strict: OxlintConfig
|
|
9
10
|
export declare const style: OxlintConfig
|
|
10
11
|
|
|
11
12
|
export declare const presets: Readonly<{
|
|
@@ -13,5 +14,6 @@ export declare const presets: Readonly<{
|
|
|
13
14
|
correctness: OxlintConfig
|
|
14
15
|
effectNative: OxlintConfig
|
|
15
16
|
recommended: OxlintConfig
|
|
17
|
+
strict: OxlintConfig
|
|
16
18
|
style: OxlintConfig
|
|
17
19
|
}>
|
package/oxlint-presets/index.js
CHANGED
|
@@ -107,19 +107,18 @@ export const recommended = {
|
|
|
107
107
|
"effecttsgo/abort-controller-in-effect": "warn",
|
|
108
108
|
"effecttsgo/acquire-release-disposable": "warn",
|
|
109
109
|
"effecttsgo/all-of-map-to-for-each": "warn",
|
|
110
|
-
"effecttsgo/async-function": "warn",
|
|
111
110
|
"effecttsgo/catch-all-tag-dispatch-to-catch-tag": "warn",
|
|
112
111
|
"effecttsgo/catch-all-to-map-error": "warn",
|
|
113
112
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
114
113
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
115
114
|
"effecttsgo/catch-die-to-or-die": "warn",
|
|
115
|
+
"effecttsgo/catch-if-tag-to-catch-tag": "warn",
|
|
116
|
+
"effecttsgo/catch-refail-to-tap-error": "warn",
|
|
116
117
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
117
118
|
"effecttsgo/catch-to-ignore": "warn",
|
|
118
119
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
119
120
|
"effecttsgo/catch-unfailable-effect": "warn",
|
|
120
121
|
"effecttsgo/class-self-mismatch": "error",
|
|
121
|
-
"effecttsgo/crypto-random-uuid": "warn",
|
|
122
|
-
"effecttsgo/crypto-random-uuid-in-effect": "warn",
|
|
123
122
|
"effecttsgo/duplicate-package": "warn",
|
|
124
123
|
"effecttsgo/effect-fn-iife": "warn",
|
|
125
124
|
"effecttsgo/effect-fn-implicit-any": "error",
|
|
@@ -130,25 +129,14 @@ export const recommended = {
|
|
|
130
129
|
"effecttsgo/effect-map-flatten": "warn",
|
|
131
130
|
"effecttsgo/effect-map-void": "warn",
|
|
132
131
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
133
|
-
"effecttsgo/extends-native-error": "warn",
|
|
134
132
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "warn",
|
|
133
|
+
"effecttsgo/flat-map-ignored-param-to-and-then": "warn",
|
|
135
134
|
"effecttsgo/flat-map-to-map": "warn",
|
|
136
135
|
"effecttsgo/floating-effect": "error",
|
|
137
136
|
"effecttsgo/floating-effect-in-vitest": "error",
|
|
138
137
|
"effecttsgo/generic-effect-services": "warn",
|
|
139
|
-
"effecttsgo/global-console": "warn",
|
|
140
|
-
"effecttsgo/global-console-in-effect": "warn",
|
|
141
|
-
"effecttsgo/global-date": "warn",
|
|
142
|
-
"effecttsgo/global-date-in-effect": "warn",
|
|
143
138
|
"effecttsgo/global-error-in-effect-catch": "warn",
|
|
144
139
|
"effecttsgo/global-error-in-effect-failure": "warn",
|
|
145
|
-
"effecttsgo/global-fetch": "warn",
|
|
146
|
-
"effecttsgo/global-fetch-in-effect": "warn",
|
|
147
|
-
"effecttsgo/global-random": "warn",
|
|
148
|
-
"effecttsgo/global-random-in-effect": "warn",
|
|
149
|
-
"effecttsgo/global-timers": "warn",
|
|
150
|
-
"effecttsgo/global-timers-in-effect": "warn",
|
|
151
|
-
"effecttsgo/instance-of-schema": "warn",
|
|
152
140
|
"effecttsgo/layer-merge-all-with-dependencies": "warn",
|
|
153
141
|
"effecttsgo/lazy-effect": "warn",
|
|
154
142
|
"effecttsgo/lazy-promise-in-effect-sync": "warn",
|
|
@@ -163,20 +151,15 @@ export const recommended = {
|
|
|
163
151
|
"effecttsgo/missing-star-in-yield-effect-gen": "error",
|
|
164
152
|
"effecttsgo/multiple-catch-tag": "warn",
|
|
165
153
|
"effecttsgo/multiple-effect-provide": "warn",
|
|
166
|
-
"effecttsgo/new-promise": "warn",
|
|
167
|
-
"effecttsgo/node-builtin-import": "warn",
|
|
168
154
|
"effecttsgo/non-object-effect-service-type": "error",
|
|
169
155
|
"effecttsgo/obsolete-match-import": "warn",
|
|
170
156
|
"effecttsgo/obsolete-schema-import": "warn",
|
|
171
157
|
"effecttsgo/option-match-to-from-option": "warn",
|
|
172
158
|
"effecttsgo/outdated-api": "warn",
|
|
173
159
|
"effecttsgo/overridden-schema-constructor": "error",
|
|
174
|
-
"effecttsgo/prefer-schema-over-json": "warn",
|
|
175
160
|
"effecttsgo/prefer-succeed-some-or-none": "warn",
|
|
176
161
|
"effecttsgo/prefer-typed-schema-decoder": "warn",
|
|
177
162
|
"effecttsgo/prefer-unsafe-constructor": "warn",
|
|
178
|
-
"effecttsgo/process-env": "warn",
|
|
179
|
-
"effecttsgo/process-env-in-effect": "warn",
|
|
180
163
|
"effecttsgo/promise-in-effect-success": "warn",
|
|
181
164
|
"effecttsgo/provide-layer-succeed-to-provide-service": "warn",
|
|
182
165
|
"effecttsgo/race-first-with-sleep-to-timeout": "warn",
|
|
@@ -190,7 +173,6 @@ export const recommended = {
|
|
|
190
173
|
"effecttsgo/schema-number": "warn",
|
|
191
174
|
"effecttsgo/schema-opaque-instance-member": "error",
|
|
192
175
|
"effecttsgo/schema-struct-with-tag": "warn",
|
|
193
|
-
"effecttsgo/schema-sync": "warn",
|
|
194
176
|
"effecttsgo/schema-sync-in-effect": "warn",
|
|
195
177
|
"effecttsgo/scope-in-layer-effect": "warn",
|
|
196
178
|
"effecttsgo/sync-to-succeed": "warn",
|
|
@@ -205,6 +187,97 @@ export const recommended = {
|
|
|
205
187
|
}
|
|
206
188
|
}
|
|
207
189
|
|
|
190
|
+
export const strict = {
|
|
191
|
+
"options": {
|
|
192
|
+
"typeAware": true
|
|
193
|
+
},
|
|
194
|
+
"plugins": [
|
|
195
|
+
"effecttsgo"
|
|
196
|
+
],
|
|
197
|
+
"rules": {
|
|
198
|
+
"effecttsgo/abort-controller-in-effect": "error",
|
|
199
|
+
"effecttsgo/acquire-release-disposable": "error",
|
|
200
|
+
"effecttsgo/all-of-map-to-for-each": "error",
|
|
201
|
+
"effecttsgo/catch-all-tag-dispatch-to-catch-tag": "error",
|
|
202
|
+
"effecttsgo/catch-all-to-map-error": "error",
|
|
203
|
+
"effecttsgo/catch-chain-to-first-success-of": "error",
|
|
204
|
+
"effecttsgo/catch-conditional-refail-to-catch-if": "error",
|
|
205
|
+
"effecttsgo/catch-die-to-or-die": "error",
|
|
206
|
+
"effecttsgo/catch-if-tag-to-catch-tag": "error",
|
|
207
|
+
"effecttsgo/catch-refail-to-tap-error": "error",
|
|
208
|
+
"effecttsgo/catch-tag-to-catch-reason": "error",
|
|
209
|
+
"effecttsgo/catch-to-ignore": "error",
|
|
210
|
+
"effecttsgo/catch-to-or-else-succeed": "error",
|
|
211
|
+
"effecttsgo/catch-unfailable-effect": "error",
|
|
212
|
+
"effecttsgo/class-self-mismatch": "error",
|
|
213
|
+
"effecttsgo/duplicate-package": "error",
|
|
214
|
+
"effecttsgo/effect-fn-iife": "error",
|
|
215
|
+
"effecttsgo/effect-fn-implicit-any": "error",
|
|
216
|
+
"effecttsgo/effect-fn-opportunity": "error",
|
|
217
|
+
"effecttsgo/effect-gen-uses-adapter": "error",
|
|
218
|
+
"effecttsgo/effect-in-failure": "error",
|
|
219
|
+
"effecttsgo/effect-in-void-success": "error",
|
|
220
|
+
"effecttsgo/effect-map-flatten": "error",
|
|
221
|
+
"effecttsgo/effect-map-void": "error",
|
|
222
|
+
"effecttsgo/effect-succeed-with-void": "error",
|
|
223
|
+
"effecttsgo/flat-map-conditional-to-filter-or-fail": "error",
|
|
224
|
+
"effecttsgo/flat-map-ignored-param-to-and-then": "error",
|
|
225
|
+
"effecttsgo/flat-map-to-map": "error",
|
|
226
|
+
"effecttsgo/floating-effect": "error",
|
|
227
|
+
"effecttsgo/floating-effect-in-vitest": "error",
|
|
228
|
+
"effecttsgo/generic-effect-services": "error",
|
|
229
|
+
"effecttsgo/global-error-in-effect-catch": "error",
|
|
230
|
+
"effecttsgo/global-error-in-effect-failure": "error",
|
|
231
|
+
"effecttsgo/layer-merge-all-with-dependencies": "error",
|
|
232
|
+
"effecttsgo/lazy-effect": "error",
|
|
233
|
+
"effecttsgo/lazy-promise-in-effect-sync": "error",
|
|
234
|
+
"effecttsgo/leaking-requirements": "error",
|
|
235
|
+
"effecttsgo/map-some-to-as-some": "error",
|
|
236
|
+
"effecttsgo/match-effect-to-map-both": "error",
|
|
237
|
+
"effecttsgo/match-effect-to-match": "error",
|
|
238
|
+
"effecttsgo/missing-effect-context": "error",
|
|
239
|
+
"effecttsgo/missing-effect-error": "error",
|
|
240
|
+
"effecttsgo/missing-layer-context": "error",
|
|
241
|
+
"effecttsgo/missing-return-yield-star": "error",
|
|
242
|
+
"effecttsgo/missing-star-in-yield-effect-gen": "error",
|
|
243
|
+
"effecttsgo/multiple-catch-tag": "error",
|
|
244
|
+
"effecttsgo/multiple-effect-provide": "error",
|
|
245
|
+
"effecttsgo/non-object-effect-service-type": "error",
|
|
246
|
+
"effecttsgo/obsolete-match-import": "error",
|
|
247
|
+
"effecttsgo/obsolete-schema-import": "error",
|
|
248
|
+
"effecttsgo/option-match-to-from-option": "error",
|
|
249
|
+
"effecttsgo/outdated-api": "error",
|
|
250
|
+
"effecttsgo/overridden-schema-constructor": "error",
|
|
251
|
+
"effecttsgo/prefer-succeed-some-or-none": "error",
|
|
252
|
+
"effecttsgo/prefer-typed-schema-decoder": "error",
|
|
253
|
+
"effecttsgo/prefer-unsafe-constructor": "error",
|
|
254
|
+
"effecttsgo/promise-in-effect-success": "error",
|
|
255
|
+
"effecttsgo/provide-layer-succeed-to-provide-service": "error",
|
|
256
|
+
"effecttsgo/race-first-with-sleep-to-timeout": "error",
|
|
257
|
+
"effecttsgo/redundant-map-error": "error",
|
|
258
|
+
"effecttsgo/redundant-or-die": "error",
|
|
259
|
+
"effecttsgo/redundant-schema-tag-identifier": "error",
|
|
260
|
+
"effecttsgo/return-effect-in-gen": "error",
|
|
261
|
+
"effecttsgo/run-effect-inside-effect": "error",
|
|
262
|
+
"effecttsgo/run-of-exit-to-run-exit": "error",
|
|
263
|
+
"effecttsgo/schema-literal-non-finite": "error",
|
|
264
|
+
"effecttsgo/schema-number": "error",
|
|
265
|
+
"effecttsgo/schema-opaque-instance-member": "error",
|
|
266
|
+
"effecttsgo/schema-struct-with-tag": "error",
|
|
267
|
+
"effecttsgo/schema-sync-in-effect": "error",
|
|
268
|
+
"effecttsgo/scope-in-layer-effect": "error",
|
|
269
|
+
"effecttsgo/sync-to-succeed": "error",
|
|
270
|
+
"effecttsgo/timeout-catch-tag-to-timeout-or-else": "error",
|
|
271
|
+
"effecttsgo/try-catch-in-effect-gen": "error",
|
|
272
|
+
"effecttsgo/unknown-in-effect-catch": "error",
|
|
273
|
+
"effecttsgo/unnecessary-effect-gen": "error",
|
|
274
|
+
"effecttsgo/unnecessary-fail-yieldable-error": "error",
|
|
275
|
+
"effecttsgo/unnecessary-pipe": "error",
|
|
276
|
+
"effecttsgo/unnecessary-pipe-chain": "error",
|
|
277
|
+
"effecttsgo/unnecessary-typeof-type": "error"
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
208
281
|
export const style = {
|
|
209
282
|
"options": {
|
|
210
283
|
"typeAware": true
|
|
@@ -220,6 +293,8 @@ export const style = {
|
|
|
220
293
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
221
294
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
222
295
|
"effecttsgo/catch-die-to-or-die": "warn",
|
|
296
|
+
"effecttsgo/catch-if-tag-to-catch-tag": "warn",
|
|
297
|
+
"effecttsgo/catch-refail-to-tap-error": "warn",
|
|
223
298
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
224
299
|
"effecttsgo/catch-to-ignore": "warn",
|
|
225
300
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
@@ -230,6 +305,7 @@ export const style = {
|
|
|
230
305
|
"effecttsgo/effect-map-void": "warn",
|
|
231
306
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
232
307
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "warn",
|
|
308
|
+
"effecttsgo/flat-map-ignored-param-to-and-then": "warn",
|
|
233
309
|
"effecttsgo/flat-map-to-map": "warn",
|
|
234
310
|
"effecttsgo/map-some-to-as-some": "warn",
|
|
235
311
|
"effecttsgo/match-effect-to-map-both": "warn",
|
|
@@ -271,5 +347,6 @@ export const presets = {
|
|
|
271
347
|
correctness,
|
|
272
348
|
effectNative,
|
|
273
349
|
recommended,
|
|
350
|
+
strict,
|
|
274
351
|
style,
|
|
275
352
|
}
|
|
@@ -9,19 +9,18 @@
|
|
|
9
9
|
"effecttsgo/abort-controller-in-effect": "warn",
|
|
10
10
|
"effecttsgo/acquire-release-disposable": "warn",
|
|
11
11
|
"effecttsgo/all-of-map-to-for-each": "warn",
|
|
12
|
-
"effecttsgo/async-function": "warn",
|
|
13
12
|
"effecttsgo/catch-all-tag-dispatch-to-catch-tag": "warn",
|
|
14
13
|
"effecttsgo/catch-all-to-map-error": "warn",
|
|
15
14
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
16
15
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
17
16
|
"effecttsgo/catch-die-to-or-die": "warn",
|
|
17
|
+
"effecttsgo/catch-if-tag-to-catch-tag": "warn",
|
|
18
|
+
"effecttsgo/catch-refail-to-tap-error": "warn",
|
|
18
19
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
19
20
|
"effecttsgo/catch-to-ignore": "warn",
|
|
20
21
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
21
22
|
"effecttsgo/catch-unfailable-effect": "warn",
|
|
22
23
|
"effecttsgo/class-self-mismatch": "error",
|
|
23
|
-
"effecttsgo/crypto-random-uuid": "warn",
|
|
24
|
-
"effecttsgo/crypto-random-uuid-in-effect": "warn",
|
|
25
24
|
"effecttsgo/duplicate-package": "warn",
|
|
26
25
|
"effecttsgo/effect-fn-iife": "warn",
|
|
27
26
|
"effecttsgo/effect-fn-implicit-any": "error",
|
|
@@ -32,25 +31,14 @@
|
|
|
32
31
|
"effecttsgo/effect-map-flatten": "warn",
|
|
33
32
|
"effecttsgo/effect-map-void": "warn",
|
|
34
33
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
35
|
-
"effecttsgo/extends-native-error": "warn",
|
|
36
34
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "warn",
|
|
35
|
+
"effecttsgo/flat-map-ignored-param-to-and-then": "warn",
|
|
37
36
|
"effecttsgo/flat-map-to-map": "warn",
|
|
38
37
|
"effecttsgo/floating-effect": "error",
|
|
39
38
|
"effecttsgo/floating-effect-in-vitest": "error",
|
|
40
39
|
"effecttsgo/generic-effect-services": "warn",
|
|
41
|
-
"effecttsgo/global-console": "warn",
|
|
42
|
-
"effecttsgo/global-console-in-effect": "warn",
|
|
43
|
-
"effecttsgo/global-date": "warn",
|
|
44
|
-
"effecttsgo/global-date-in-effect": "warn",
|
|
45
40
|
"effecttsgo/global-error-in-effect-catch": "warn",
|
|
46
41
|
"effecttsgo/global-error-in-effect-failure": "warn",
|
|
47
|
-
"effecttsgo/global-fetch": "warn",
|
|
48
|
-
"effecttsgo/global-fetch-in-effect": "warn",
|
|
49
|
-
"effecttsgo/global-random": "warn",
|
|
50
|
-
"effecttsgo/global-random-in-effect": "warn",
|
|
51
|
-
"effecttsgo/global-timers": "warn",
|
|
52
|
-
"effecttsgo/global-timers-in-effect": "warn",
|
|
53
|
-
"effecttsgo/instance-of-schema": "warn",
|
|
54
42
|
"effecttsgo/layer-merge-all-with-dependencies": "warn",
|
|
55
43
|
"effecttsgo/lazy-effect": "warn",
|
|
56
44
|
"effecttsgo/lazy-promise-in-effect-sync": "warn",
|
|
@@ -65,20 +53,15 @@
|
|
|
65
53
|
"effecttsgo/missing-star-in-yield-effect-gen": "error",
|
|
66
54
|
"effecttsgo/multiple-catch-tag": "warn",
|
|
67
55
|
"effecttsgo/multiple-effect-provide": "warn",
|
|
68
|
-
"effecttsgo/new-promise": "warn",
|
|
69
|
-
"effecttsgo/node-builtin-import": "warn",
|
|
70
56
|
"effecttsgo/non-object-effect-service-type": "error",
|
|
71
57
|
"effecttsgo/obsolete-match-import": "warn",
|
|
72
58
|
"effecttsgo/obsolete-schema-import": "warn",
|
|
73
59
|
"effecttsgo/option-match-to-from-option": "warn",
|
|
74
60
|
"effecttsgo/outdated-api": "warn",
|
|
75
61
|
"effecttsgo/overridden-schema-constructor": "error",
|
|
76
|
-
"effecttsgo/prefer-schema-over-json": "warn",
|
|
77
62
|
"effecttsgo/prefer-succeed-some-or-none": "warn",
|
|
78
63
|
"effecttsgo/prefer-typed-schema-decoder": "warn",
|
|
79
64
|
"effecttsgo/prefer-unsafe-constructor": "warn",
|
|
80
|
-
"effecttsgo/process-env": "warn",
|
|
81
|
-
"effecttsgo/process-env-in-effect": "warn",
|
|
82
65
|
"effecttsgo/promise-in-effect-success": "warn",
|
|
83
66
|
"effecttsgo/provide-layer-succeed-to-provide-service": "warn",
|
|
84
67
|
"effecttsgo/race-first-with-sleep-to-timeout": "warn",
|
|
@@ -92,7 +75,6 @@
|
|
|
92
75
|
"effecttsgo/schema-number": "warn",
|
|
93
76
|
"effecttsgo/schema-opaque-instance-member": "error",
|
|
94
77
|
"effecttsgo/schema-struct-with-tag": "warn",
|
|
95
|
-
"effecttsgo/schema-sync": "warn",
|
|
96
78
|
"effecttsgo/schema-sync-in-effect": "warn",
|
|
97
79
|
"effecttsgo/scope-in-layer-effect": "warn",
|
|
98
80
|
"effecttsgo/sync-to-succeed": "warn",
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"options": {
|
|
3
|
+
"typeAware": true
|
|
4
|
+
},
|
|
5
|
+
"plugins": [
|
|
6
|
+
"effecttsgo"
|
|
7
|
+
],
|
|
8
|
+
"rules": {
|
|
9
|
+
"effecttsgo/abort-controller-in-effect": "error",
|
|
10
|
+
"effecttsgo/acquire-release-disposable": "error",
|
|
11
|
+
"effecttsgo/all-of-map-to-for-each": "error",
|
|
12
|
+
"effecttsgo/catch-all-tag-dispatch-to-catch-tag": "error",
|
|
13
|
+
"effecttsgo/catch-all-to-map-error": "error",
|
|
14
|
+
"effecttsgo/catch-chain-to-first-success-of": "error",
|
|
15
|
+
"effecttsgo/catch-conditional-refail-to-catch-if": "error",
|
|
16
|
+
"effecttsgo/catch-die-to-or-die": "error",
|
|
17
|
+
"effecttsgo/catch-if-tag-to-catch-tag": "error",
|
|
18
|
+
"effecttsgo/catch-refail-to-tap-error": "error",
|
|
19
|
+
"effecttsgo/catch-tag-to-catch-reason": "error",
|
|
20
|
+
"effecttsgo/catch-to-ignore": "error",
|
|
21
|
+
"effecttsgo/catch-to-or-else-succeed": "error",
|
|
22
|
+
"effecttsgo/catch-unfailable-effect": "error",
|
|
23
|
+
"effecttsgo/class-self-mismatch": "error",
|
|
24
|
+
"effecttsgo/duplicate-package": "error",
|
|
25
|
+
"effecttsgo/effect-fn-iife": "error",
|
|
26
|
+
"effecttsgo/effect-fn-implicit-any": "error",
|
|
27
|
+
"effecttsgo/effect-fn-opportunity": "error",
|
|
28
|
+
"effecttsgo/effect-gen-uses-adapter": "error",
|
|
29
|
+
"effecttsgo/effect-in-failure": "error",
|
|
30
|
+
"effecttsgo/effect-in-void-success": "error",
|
|
31
|
+
"effecttsgo/effect-map-flatten": "error",
|
|
32
|
+
"effecttsgo/effect-map-void": "error",
|
|
33
|
+
"effecttsgo/effect-succeed-with-void": "error",
|
|
34
|
+
"effecttsgo/flat-map-conditional-to-filter-or-fail": "error",
|
|
35
|
+
"effecttsgo/flat-map-ignored-param-to-and-then": "error",
|
|
36
|
+
"effecttsgo/flat-map-to-map": "error",
|
|
37
|
+
"effecttsgo/floating-effect": "error",
|
|
38
|
+
"effecttsgo/floating-effect-in-vitest": "error",
|
|
39
|
+
"effecttsgo/generic-effect-services": "error",
|
|
40
|
+
"effecttsgo/global-error-in-effect-catch": "error",
|
|
41
|
+
"effecttsgo/global-error-in-effect-failure": "error",
|
|
42
|
+
"effecttsgo/layer-merge-all-with-dependencies": "error",
|
|
43
|
+
"effecttsgo/lazy-effect": "error",
|
|
44
|
+
"effecttsgo/lazy-promise-in-effect-sync": "error",
|
|
45
|
+
"effecttsgo/leaking-requirements": "error",
|
|
46
|
+
"effecttsgo/map-some-to-as-some": "error",
|
|
47
|
+
"effecttsgo/match-effect-to-map-both": "error",
|
|
48
|
+
"effecttsgo/match-effect-to-match": "error",
|
|
49
|
+
"effecttsgo/missing-effect-context": "error",
|
|
50
|
+
"effecttsgo/missing-effect-error": "error",
|
|
51
|
+
"effecttsgo/missing-layer-context": "error",
|
|
52
|
+
"effecttsgo/missing-return-yield-star": "error",
|
|
53
|
+
"effecttsgo/missing-star-in-yield-effect-gen": "error",
|
|
54
|
+
"effecttsgo/multiple-catch-tag": "error",
|
|
55
|
+
"effecttsgo/multiple-effect-provide": "error",
|
|
56
|
+
"effecttsgo/non-object-effect-service-type": "error",
|
|
57
|
+
"effecttsgo/obsolete-match-import": "error",
|
|
58
|
+
"effecttsgo/obsolete-schema-import": "error",
|
|
59
|
+
"effecttsgo/option-match-to-from-option": "error",
|
|
60
|
+
"effecttsgo/outdated-api": "error",
|
|
61
|
+
"effecttsgo/overridden-schema-constructor": "error",
|
|
62
|
+
"effecttsgo/prefer-succeed-some-or-none": "error",
|
|
63
|
+
"effecttsgo/prefer-typed-schema-decoder": "error",
|
|
64
|
+
"effecttsgo/prefer-unsafe-constructor": "error",
|
|
65
|
+
"effecttsgo/promise-in-effect-success": "error",
|
|
66
|
+
"effecttsgo/provide-layer-succeed-to-provide-service": "error",
|
|
67
|
+
"effecttsgo/race-first-with-sleep-to-timeout": "error",
|
|
68
|
+
"effecttsgo/redundant-map-error": "error",
|
|
69
|
+
"effecttsgo/redundant-or-die": "error",
|
|
70
|
+
"effecttsgo/redundant-schema-tag-identifier": "error",
|
|
71
|
+
"effecttsgo/return-effect-in-gen": "error",
|
|
72
|
+
"effecttsgo/run-effect-inside-effect": "error",
|
|
73
|
+
"effecttsgo/run-of-exit-to-run-exit": "error",
|
|
74
|
+
"effecttsgo/schema-literal-non-finite": "error",
|
|
75
|
+
"effecttsgo/schema-number": "error",
|
|
76
|
+
"effecttsgo/schema-opaque-instance-member": "error",
|
|
77
|
+
"effecttsgo/schema-struct-with-tag": "error",
|
|
78
|
+
"effecttsgo/schema-sync-in-effect": "error",
|
|
79
|
+
"effecttsgo/scope-in-layer-effect": "error",
|
|
80
|
+
"effecttsgo/sync-to-succeed": "error",
|
|
81
|
+
"effecttsgo/timeout-catch-tag-to-timeout-or-else": "error",
|
|
82
|
+
"effecttsgo/try-catch-in-effect-gen": "error",
|
|
83
|
+
"effecttsgo/unknown-in-effect-catch": "error",
|
|
84
|
+
"effecttsgo/unnecessary-effect-gen": "error",
|
|
85
|
+
"effecttsgo/unnecessary-fail-yieldable-error": "error",
|
|
86
|
+
"effecttsgo/unnecessary-pipe": "error",
|
|
87
|
+
"effecttsgo/unnecessary-pipe-chain": "error",
|
|
88
|
+
"effecttsgo/unnecessary-typeof-type": "error"
|
|
89
|
+
}
|
|
90
|
+
}
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
14
14
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
15
15
|
"effecttsgo/catch-die-to-or-die": "warn",
|
|
16
|
+
"effecttsgo/catch-if-tag-to-catch-tag": "warn",
|
|
17
|
+
"effecttsgo/catch-refail-to-tap-error": "warn",
|
|
16
18
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
17
19
|
"effecttsgo/catch-to-ignore": "warn",
|
|
18
20
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
@@ -23,6 +25,7 @@
|
|
|
23
25
|
"effecttsgo/effect-map-void": "warn",
|
|
24
26
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
25
27
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "warn",
|
|
28
|
+
"effecttsgo/flat-map-ignored-param-to-and-then": "warn",
|
|
26
29
|
"effecttsgo/flat-map-to-map": "warn",
|
|
27
30
|
"effecttsgo/map-some-to-as-some": "warn",
|
|
28
31
|
"effecttsgo/match-effect-to-map-both": "warn",
|
package/oxlint-schema.json
CHANGED
|
@@ -2263,6 +2263,12 @@
|
|
|
2263
2263
|
"effecttsgo/catch-die-to-or-die": {
|
|
2264
2264
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2265
2265
|
},
|
|
2266
|
+
"effecttsgo/catch-if-tag-to-catch-tag": {
|
|
2267
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2268
|
+
},
|
|
2269
|
+
"effecttsgo/catch-refail-to-tap-error": {
|
|
2270
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2271
|
+
},
|
|
2266
2272
|
"effecttsgo/catch-tag-to-catch-reason": {
|
|
2267
2273
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2268
2274
|
},
|
|
@@ -2326,6 +2332,9 @@
|
|
|
2326
2332
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": {
|
|
2327
2333
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2328
2334
|
},
|
|
2335
|
+
"effecttsgo/flat-map-ignored-param-to-and-then": {
|
|
2336
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2337
|
+
},
|
|
2329
2338
|
"effecttsgo/flat-map-to-map": {
|
|
2330
2339
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2331
2340
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/tsgo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Effect Language Service for TypeScript-Go — Effect-specific diagnostics and hover features.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"schema.json"
|
|
42
42
|
],
|
|
43
43
|
"optionalDependencies": {
|
|
44
|
-
"@effect/tsgo-win32-x64": "0.
|
|
45
|
-
"@effect/tsgo-
|
|
46
|
-
"@effect/tsgo-
|
|
47
|
-
"@effect/tsgo-linux-arm64": "0.
|
|
48
|
-
"@effect/tsgo-linux-arm": "0.
|
|
49
|
-
"@effect/tsgo-darwin-x64": "0.
|
|
50
|
-
"@effect/tsgo-darwin-arm64": "0.
|
|
44
|
+
"@effect/tsgo-win32-x64": "0.46.1",
|
|
45
|
+
"@effect/tsgo-linux-x64": "0.46.1",
|
|
46
|
+
"@effect/tsgo-win32-arm64": "0.46.1",
|
|
47
|
+
"@effect/tsgo-linux-arm64": "0.46.1",
|
|
48
|
+
"@effect/tsgo-linux-arm": "0.46.1",
|
|
49
|
+
"@effect/tsgo-darwin-x64": "0.46.1",
|
|
50
|
+
"@effect/tsgo-darwin-arm64": "0.46.1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@effect/platform-node": "^4.0.0-beta.107",
|
package/schema.json
CHANGED
|
@@ -2337,6 +2337,16 @@
|
|
|
2337
2337
|
"default": "suggestion",
|
|
2338
2338
|
"description": "Suggests using Effect.orDie instead of Effect.catch or Effect.catchAll with an identity-forwarding Effect.die handler"
|
|
2339
2339
|
},
|
|
2340
|
+
"catchIfTagToCatchTag": {
|
|
2341
|
+
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2342
|
+
"default": "suggestion",
|
|
2343
|
+
"description": "Suggests Effect.catchTag instead of Effect.catchIf with a direct _tag equality predicate"
|
|
2344
|
+
},
|
|
2345
|
+
"catchRefailToTapError": {
|
|
2346
|
+
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2347
|
+
"default": "suggestion",
|
|
2348
|
+
"description": "Suggests Effect.tapError for catch handlers that sequence an effect and then re-fail the original error"
|
|
2349
|
+
},
|
|
2340
2350
|
"catchTagToCatchReason": {
|
|
2341
2351
|
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2342
2352
|
"default": "suggestion",
|
|
@@ -2442,6 +2452,11 @@
|
|
|
2442
2452
|
"default": "suggestion",
|
|
2443
2453
|
"description": "Suggests Effect.filterOrFail or Effect.filterOrElse when Effect.flatMap conditionally passes its input through with Effect.succeed"
|
|
2444
2454
|
},
|
|
2455
|
+
"flatMapIgnoredParamToAndThen": {
|
|
2456
|
+
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2457
|
+
"default": "suggestion",
|
|
2458
|
+
"description": "Suggests using Effect.andThen instead of Effect.flatMap when a zero-parameter callback returns an existing Effect value"
|
|
2459
|
+
},
|
|
2445
2460
|
"flatMapToMap": {
|
|
2446
2461
|
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2447
2462
|
"default": "suggestion",
|
|
@@ -3173,8 +3188,8 @@
|
|
|
3173
3188
|
"extendsDefinition": {
|
|
3174
3189
|
"properties": {
|
|
3175
3190
|
"extends": {
|
|
3176
|
-
"description": "Path to base configuration file to inherit from. Requires TypeScript version 2.1 or later.\n\n---\n\nThe value of `extends` is a string which contains a path to another configuration file to inherit from.\nThe path may use Node.js style resolution.\n\nThe configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.\n\nIt's worth noting that [`files`](https://typescriptlang.org/tsconfig/#files), [`include`](https://typescriptlang.org/tsconfig/#include), and [`exclude`](https://typescriptlang.org/tsconfig/#exclude) from the inheriting config file _overwrite_ those from the\nbase config file, and that circularity between configuration files is not allowed.\n\nCurrently, the only top-level property that is excluded from inheritance is [`references`](https://typescriptlang.org/tsconfig/#references).\n\n
|
|
3177
|
-
"markdownDescription": "Path to base configuration file to inherit from. Requires TypeScript version 2.1 or later.\n\n---\n\nThe value of `extends` is a string which contains a path to another configuration file to inherit from.\nThe path may use Node.js style resolution.\n\nThe configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.\n\nIt's worth noting that [`files`](https://typescriptlang.org/tsconfig/#files), [`include`](https://typescriptlang.org/tsconfig/#include), and [`exclude`](https://typescriptlang.org/tsconfig/#exclude) from the inheriting config file _overwrite_ those from the\nbase config file, and that circularity between configuration files is not allowed.\n\nCurrently, the only top-level property that is excluded from inheritance is [`references`](https://typescriptlang.org/tsconfig/#references).\n\n
|
|
3191
|
+
"description": "Path to base configuration file to inherit from. Requires TypeScript version 2.1 or later.\n\n---\n\nThe value of `extends` is a string which contains a path to another configuration file to inherit from.\nThe path may use Node.js style resolution.\n\nThe configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.\n\nIt's worth noting that [`files`](https://typescriptlang.org/tsconfig/#files), [`include`](https://typescriptlang.org/tsconfig/#include), and [`exclude`](https://typescriptlang.org/tsconfig/#exclude) from the inheriting config file _overwrite_ those from the\nbase config file, and that circularity between configuration files is not allowed.\n\nCurrently, the only top-level property that is excluded from inheritance is [`references`](https://typescriptlang.org/tsconfig/#references).\n\n#### Example\n\n`configs/base.json`:\n\n```json tsconfig\n{\n \"compilerOptions\": {\n \"noImplicitAny\": true,\n \"strictNullChecks\": true\n }\n}\n```\n\n`tsconfig.json`:\n\n```json tsconfig\n{\n \"extends\": \"./configs/base\",\n \"files\": [\"main.ts\", \"supplemental.ts\"]\n}\n```\n\n`tsconfig.nostrictnull.json`:\n\n```json tsconfig\n{\n \"extends\": \"./tsconfig\",\n \"compilerOptions\": {\n \"strictNullChecks\": false\n }\n}\n```\n\nProperties with relative paths found in the configuration file, which aren't excluded from inheritance, will be resolved relative to the configuration file they originated in.",
|
|
3192
|
+
"markdownDescription": "Path to base configuration file to inherit from. Requires TypeScript version 2.1 or later.\n\n---\n\nThe value of `extends` is a string which contains a path to another configuration file to inherit from.\nThe path may use Node.js style resolution.\n\nThe configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.\n\nIt's worth noting that [`files`](https://typescriptlang.org/tsconfig/#files), [`include`](https://typescriptlang.org/tsconfig/#include), and [`exclude`](https://typescriptlang.org/tsconfig/#exclude) from the inheriting config file _overwrite_ those from the\nbase config file, and that circularity between configuration files is not allowed.\n\nCurrently, the only top-level property that is excluded from inheritance is [`references`](https://typescriptlang.org/tsconfig/#references).\n\n#### Example\n\n`configs/base.json`:\n\n```json tsconfig\n{\n \"compilerOptions\": {\n \"noImplicitAny\": true,\n \"strictNullChecks\": true\n }\n}\n```\n\n`tsconfig.json`:\n\n```json tsconfig\n{\n \"extends\": \"./configs/base\",\n \"files\": [\"main.ts\", \"supplemental.ts\"]\n}\n```\n\n`tsconfig.nostrictnull.json`:\n\n```json tsconfig\n{\n \"extends\": \"./tsconfig\",\n \"compilerOptions\": {\n \"strictNullChecks\": false\n }\n}\n```\n\nProperties with relative paths found in the configuration file, which aren't excluded from inheritance, will be resolved relative to the configuration file they originated in.",
|
|
3178
3193
|
"oneOf": [
|
|
3179
3194
|
{
|
|
3180
3195
|
"default": "",
|
|
@@ -3188,7 +3203,7 @@
|
|
|
3188
3203
|
"type": "array"
|
|
3189
3204
|
}
|
|
3190
3205
|
],
|
|
3191
|
-
"x-intellij-html-description": "\u003cp\u003ePath to base configuration file to inherit from. Requires TypeScript version 2.1 or later.\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eThe value of \u003ccode\u003eextends\u003c/code\u003e is a string which contains a path to another configuration file to inherit from.\nThe path may use Node.js style resolution.\u003c/p\u003e\n\u003cp\u003eThe configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.\u003c/p\u003e\n\u003cp\u003eIt\u0026#39;s worth noting that \u003ca href=\"https://typescriptlang.org/tsconfig/#files\"\u003e\u003ccode\u003efiles\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://typescriptlang.org/tsconfig/#include\"\u003e\u003ccode\u003einclude\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://typescriptlang.org/tsconfig/#exclude\"\u003e\u003ccode\u003eexclude\u003c/code\u003e\u003c/a\u003e from the inheriting config file \u003cem\u003eoverwrite\u003c/em\u003e those from the\nbase config file, and that circularity between configuration files is not allowed.\u003c/p\u003e\n\u003cp\u003eCurrently, the only top-level property that is excluded from inheritance is \u003ca href=\"https://typescriptlang.org/tsconfig/#references\"\u003e\u003ccode\u003ereferences\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\
|
|
3206
|
+
"x-intellij-html-description": "\u003cp\u003ePath to base configuration file to inherit from. Requires TypeScript version 2.1 or later.\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eThe value of \u003ccode\u003eextends\u003c/code\u003e is a string which contains a path to another configuration file to inherit from.\nThe path may use Node.js style resolution.\u003c/p\u003e\n\u003cp\u003eThe configuration from the base file are loaded first, then overridden by those in the inheriting config file. All relative paths found in the configuration file will be resolved relative to the configuration file they originated in.\u003c/p\u003e\n\u003cp\u003eIt\u0026#39;s worth noting that \u003ca href=\"https://typescriptlang.org/tsconfig/#files\"\u003e\u003ccode\u003efiles\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://typescriptlang.org/tsconfig/#include\"\u003e\u003ccode\u003einclude\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://typescriptlang.org/tsconfig/#exclude\"\u003e\u003ccode\u003eexclude\u003c/code\u003e\u003c/a\u003e from the inheriting config file \u003cem\u003eoverwrite\u003c/em\u003e those from the\nbase config file, and that circularity between configuration files is not allowed.\u003c/p\u003e\n\u003cp\u003eCurrently, the only top-level property that is excluded from inheritance is \u003ca href=\"https://typescriptlang.org/tsconfig/#references\"\u003e\u003ccode\u003ereferences\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003ch4\u003eExample\u003c/h4\u003e\n\u003cp\u003e\u003ccode\u003econfigs/base.json\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-json\"\u003e{\n \u0026quot;compilerOptions\u0026quot;: {\n \u0026quot;noImplicitAny\u0026quot;: true,\n \u0026quot;strictNullChecks\u0026quot;: true\n }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ccode\u003etsconfig.json\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-json\"\u003e{\n \u0026quot;extends\u0026quot;: \u0026quot;./configs/base\u0026quot;,\n \u0026quot;files\u0026quot;: [\u0026quot;main.ts\u0026quot;, \u0026quot;supplemental.ts\u0026quot;]\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003ccode\u003etsconfig.nostrictnull.json\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-json\"\u003e{\n \u0026quot;extends\u0026quot;: \u0026quot;./tsconfig\u0026quot;,\n \u0026quot;compilerOptions\u0026quot;: {\n \u0026quot;strictNullChecks\u0026quot;: false\n }\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eProperties with relative paths found in the configuration file, which aren\u0026#39;t excluded from inheritance, will be resolved relative to the configuration file they originated in.\u003c/p\u003e\n"
|
|
3192
3207
|
}
|
|
3193
3208
|
},
|
|
3194
3209
|
"type": "object"
|