@effect/tsgo 0.38.0 → 0.39.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 -3
- package/dist/effect-tsgo.cjs +79 -6
- package/oxlint-presets/effect-native.json +1 -0
- package/oxlint-presets/index.js +12 -0
- package/oxlint-presets/recommended.json +6 -0
- package/oxlint-presets/style.json +5 -0
- package/oxlint-schema.json +12 -3
- package/package.json +8 -8
- package/schema.json +2725 -2053
package/README.md
CHANGED
|
@@ -38,12 +38,12 @@ 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.39.1`:
|
|
42
42
|
|
|
43
43
|
| Component | Supported versions |
|
|
44
44
|
|---|---|
|
|
45
|
-
| TypeScript | `7.0.2`, `7.1.0-dev.
|
|
46
|
-
| Oxlint | `1.79.0`, `1.
|
|
45
|
+
| TypeScript | `7.0.2`, `7.1.0-dev.20260901.1` |
|
|
46
|
+
| Oxlint | `1.79.0`, `1.81.0` |
|
|
47
47
|
| oxlint-tsgolint | `7.0.2001` |
|
|
48
48
|
<!-- supported-components:end -->
|
|
49
49
|
|
|
@@ -99,6 +99,7 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
|
|
|
99
99
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/unknown-in-effect-catch.md"><code>unknownInEffectCatch</code></a></td><td>Warns when catch callbacks return unknown instead of typed errors</td></tr>
|
|
100
100
|
<tr><td colspan="2"><strong>Effect-native</strong> <em>Prefer Effect-native APIs and abstractions when available.</em></td></tr>
|
|
101
101
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/abort-controller-in-effect.md"><code>abortControllerInEffect</code></a></td><td>Warns when manually constructing AbortController inside Effect generators instead of using Effect.abortSignal</td></tr>
|
|
102
|
+
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/acquire-release-disposable.md"><code>acquireReleaseDisposable</code></a></td><td>Suggests Effect.acquireDisposable when Effect.acquireRelease only invokes the acquired resource's disposal protocol</td></tr>
|
|
102
103
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/async-function.md"><code>asyncFunction</code></a></td><td>Warns when declaring async functions and suggests using Effect values and Effect.gen for async control flow</td></tr>
|
|
103
104
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/crypto-random-uuid.md"><code>cryptoRandomUUID</code></a></td><td>Warns when using crypto.randomUUID() outside Effect generators instead of the Effect Random module, which uses Effect-injected randomness rather than the crypto module behind the scenes</td></tr>
|
|
104
105
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/crypto-random-uuid-in-effect.md"><code>cryptoRandomUUIDInEffect</code></a></td><td>Warns when using crypto.randomUUID() inside Effect generators instead of the Effect Random module, which uses Effect-injected randomness rather than the crypto module behind the scenes</td></tr>
|
|
@@ -135,6 +136,7 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
|
|
|
135
136
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/effect-map-flatten.md"><code>effectMapFlatten</code></a></td><td>Suggests using Effect.flatMap instead of Effect.map followed by Effect.flatten in piping flows</td></tr>
|
|
136
137
|
<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>
|
|
137
138
|
<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>
|
|
139
|
+
<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>
|
|
138
140
|
<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>
|
|
139
141
|
<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>
|
|
140
142
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/missed-pipeable-opportunity.md"><code>missedPipeableOpportunity</code></a></td><td>Suggests using .pipe() for nested function calls</td></tr>
|
|
@@ -143,7 +145,9 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
|
|
|
143
145
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/multiple-catch-tag.md"><code>multipleCatchTag</code></a></td><td>Suggests collapsing consecutive Effect.catchTag transformations into a single Effect.catchTags call when semantics stay equivalent</td></tr>
|
|
144
146
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/nested-effect-gen-yield.md"><code>nestedEffectGenYield</code></a></td><td>Warns when yielding a nested bare Effect.gen inside an existing Effect generator context</td></tr>
|
|
145
147
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/new-schema-class.md"><code>newSchemaClass</code></a></td><td>Suggests using Schema make instead of new for Schema classes</td></tr>
|
|
148
|
+
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/option-match-to-from-option.md"><code>optionMatchToFromOption</code></a></td><td>Suggests Effect.fromOption when Option.match or an Option tag conditional only converts Some to Effect.succeed and None to Effect.fail</td></tr>
|
|
146
149
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/prefer-schema-type-property.md"><code>preferSchemaTypeProperty</code></a></td><td>Disallows Schema.Schema.Type<typeof X> in favor of typeof X.Type</td></tr>
|
|
150
|
+
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/prefer-succeed-some-or-none.md"><code>preferSucceedSomeOrNone</code></a></td><td>Suggests using Effect.succeedNone or Effect.succeedSome instead of wrapping Option.none or Option.some with Effect.succeed</td></tr>
|
|
147
151
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/prefer-typed-schema-decoder.md"><code>preferTypedSchemaDecoder</code></a></td><td>Suggests typed Schema decoders when the input is assignable to the schema's Encoded type</td></tr>
|
|
148
152
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/redundant-map-error.md"><code>redundantMapError</code></a></td><td>Suggests hoisting a repeated trailing Effect.mapError from every yield in an Effect generator</td></tr>
|
|
149
153
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/redundant-or-die.md"><code>redundantOrDie</code></a></td><td>Suggests hoisting a repeated trailing Effect.orDie from every yield in an Effect generator</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.39.1";
|
|
48904
48904
|
|
|
48905
48905
|
//#endregion
|
|
48906
48906
|
//#region src/metadata.json
|
|
@@ -48931,6 +48931,7 @@ var presets$1 = [{
|
|
|
48931
48931
|
"description": "Enable all Effect-native diagnostics at warning level.",
|
|
48932
48932
|
"diagnosticSeverity": {
|
|
48933
48933
|
"abortControllerInEffect": "warning",
|
|
48934
|
+
"acquireReleaseDisposable": "warning",
|
|
48934
48935
|
"asyncFunction": "warning",
|
|
48935
48936
|
"cryptoRandomUUID": "warning",
|
|
48936
48937
|
"cryptoRandomUUIDInEffect": "warning",
|
|
@@ -49642,6 +49643,23 @@ var rules = [
|
|
|
49642
49643
|
}]
|
|
49643
49644
|
}
|
|
49644
49645
|
},
|
|
49646
|
+
{
|
|
49647
|
+
"name": "acquireReleaseDisposable",
|
|
49648
|
+
"group": "effectNative",
|
|
49649
|
+
"description": "Suggests Effect.acquireDisposable when Effect.acquireRelease only invokes the acquired resource's disposal protocol",
|
|
49650
|
+
"defaultSeverity": "suggestion",
|
|
49651
|
+
"fixable": true,
|
|
49652
|
+
"supportedEffect": ["v4"],
|
|
49653
|
+
"codes": [377119],
|
|
49654
|
+
"preview": {
|
|
49655
|
+
"sourceText": "/// <reference lib=\"esnext.disposable\" />\nimport { Effect } from \"effect\"\n\ndeclare const acquire: Effect.Effect<AsyncDisposable>\n\nexport const resource = Effect.acquireRelease(\n acquire,\n (resource) => Effect.promise(() => resource[Symbol.asyncDispose]())\n)\n",
|
|
49656
|
+
"diagnostics": [{
|
|
49657
|
+
"start": 154,
|
|
49658
|
+
"end": 175,
|
|
49659
|
+
"text": "`Effect.acquireDisposable` expresses this disposable resource acquisition more directly than `Effect.acquireRelease` with a manual disposal finalizer. effect(acquireReleaseDisposable)"
|
|
49660
|
+
}]
|
|
49661
|
+
}
|
|
49662
|
+
},
|
|
49645
49663
|
{
|
|
49646
49664
|
"name": "asyncFunction",
|
|
49647
49665
|
"group": "effectNative",
|
|
@@ -50237,6 +50255,23 @@ var rules = [
|
|
|
50237
50255
|
}]
|
|
50238
50256
|
}
|
|
50239
50257
|
},
|
|
50258
|
+
{
|
|
50259
|
+
"name": "flatMapConditionalToFilterOrFail",
|
|
50260
|
+
"group": "style",
|
|
50261
|
+
"description": "Suggests Effect.filterOrFail or Effect.filterOrElse when Effect.flatMap conditionally passes its input through with Effect.succeed",
|
|
50262
|
+
"defaultSeverity": "suggestion",
|
|
50263
|
+
"fixable": true,
|
|
50264
|
+
"supportedEffect": ["v3", "v4"],
|
|
50265
|
+
"codes": [377120],
|
|
50266
|
+
"preview": {
|
|
50267
|
+
"sourceText": "import { Effect } from \"effect\"\n\ndeclare const program: Effect.Effect<number>\n\nprogram.pipe(\n Effect.flatMap((value) =>\n value > 0 ? Effect.succeed(value) : Effect.fail(\"non-positive\")\n )\n)\n",
|
|
50268
|
+
"diagnostics": [{
|
|
50269
|
+
"start": 95,
|
|
50270
|
+
"end": 109,
|
|
50271
|
+
"text": "`Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail)"
|
|
50272
|
+
}]
|
|
50273
|
+
}
|
|
50274
|
+
},
|
|
50240
50275
|
{
|
|
50241
50276
|
"name": "flatMapToMap",
|
|
50242
50277
|
"group": "style",
|
|
@@ -50385,6 +50420,23 @@ var rules = [
|
|
|
50385
50420
|
}]
|
|
50386
50421
|
}
|
|
50387
50422
|
},
|
|
50423
|
+
{
|
|
50424
|
+
"name": "optionMatchToFromOption",
|
|
50425
|
+
"group": "style",
|
|
50426
|
+
"description": "Suggests Effect.fromOption when Option.match or an Option tag conditional only converts Some to Effect.succeed and None to Effect.fail",
|
|
50427
|
+
"defaultSeverity": "suggestion",
|
|
50428
|
+
"fixable": true,
|
|
50429
|
+
"supportedEffect": ["v4"],
|
|
50430
|
+
"codes": [377118],
|
|
50431
|
+
"preview": {
|
|
50432
|
+
"sourceText": "import { Data, Effect, Option } from \"effect\"\n\nclass UserNotFound extends Data.TaggedError(\"UserNotFound\")<{\n readonly id: string\n}> {}\n\ndeclare const findUser: (id: string) => Option.Option<{ readonly name: string }>\n\nexport const getUser = (id: string) =>\n Option.match(findUser(id), {\n onNone: () => Effect.fail(new UserNotFound({ id })),\n onSome: (user) => Effect.succeed(user)\n })\n",
|
|
50433
|
+
"diagnostics": [{
|
|
50434
|
+
"start": 261,
|
|
50435
|
+
"end": 273,
|
|
50436
|
+
"text": "`Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption)"
|
|
50437
|
+
}]
|
|
50438
|
+
}
|
|
50439
|
+
},
|
|
50388
50440
|
{
|
|
50389
50441
|
"name": "preferSchemaTypeProperty",
|
|
50390
50442
|
"group": "style",
|
|
@@ -50402,6 +50454,27 @@ var rules = [
|
|
|
50402
50454
|
}]
|
|
50403
50455
|
}
|
|
50404
50456
|
},
|
|
50457
|
+
{
|
|
50458
|
+
"name": "preferSucceedSomeOrNone",
|
|
50459
|
+
"group": "style",
|
|
50460
|
+
"description": "Suggests using Effect.succeedNone or Effect.succeedSome instead of wrapping Option.none or Option.some with Effect.succeed",
|
|
50461
|
+
"defaultSeverity": "suggestion",
|
|
50462
|
+
"fixable": true,
|
|
50463
|
+
"supportedEffect": ["v3", "v4"],
|
|
50464
|
+
"codes": [377117],
|
|
50465
|
+
"preview": {
|
|
50466
|
+
"sourceText": "import { Effect, Option } from \"effect\"\n\nexport const none = Effect.succeed(Option.none())\nexport const some = Effect.succeed(Option.some(1))\n",
|
|
50467
|
+
"diagnostics": [{
|
|
50468
|
+
"start": 61,
|
|
50469
|
+
"end": 75,
|
|
50470
|
+
"text": "`Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone)"
|
|
50471
|
+
}, {
|
|
50472
|
+
"start": 111,
|
|
50473
|
+
"end": 125,
|
|
50474
|
+
"text": "`Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone)"
|
|
50475
|
+
}]
|
|
50476
|
+
}
|
|
50477
|
+
},
|
|
50405
50478
|
{
|
|
50406
50479
|
"name": "preferTypedSchemaDecoder",
|
|
50407
50480
|
"group": "style",
|
|
@@ -50694,9 +50767,9 @@ var metadata_default = {
|
|
|
50694
50767
|
var tags = {
|
|
50695
50768
|
"typescript": {
|
|
50696
50769
|
"latest": "7.0.2",
|
|
50697
|
-
"next": "7.1.0-dev.
|
|
50770
|
+
"next": "7.1.0-dev.20260901.1"
|
|
50698
50771
|
},
|
|
50699
|
-
"oxlint": { "latest": "1.
|
|
50772
|
+
"oxlint": { "latest": "1.81.0" },
|
|
50700
50773
|
"oxlint-tsgolint": { "latest": "7.0.2001" }
|
|
50701
50774
|
};
|
|
50702
50775
|
var components = {
|
|
@@ -50705,8 +50778,8 @@ var components = {
|
|
|
50705
50778
|
"gitHead": "2bd066d87f5bafd315be9f40889d0a60b9e58e0b",
|
|
50706
50779
|
"provider": "typescript-go"
|
|
50707
50780
|
},
|
|
50708
|
-
"7.1.0-dev.
|
|
50709
|
-
"gitHead": "
|
|
50781
|
+
"7.1.0-dev.20260901.1": {
|
|
50782
|
+
"gitHead": "253c5e2074a43301c93e34e5616c7249d86d71f6",
|
|
50710
50783
|
"provider": "typescript"
|
|
50711
50784
|
}
|
|
50712
50785
|
},
|
|
@@ -50716,7 +50789,7 @@ var components = {
|
|
|
50716
50789
|
} },
|
|
50717
50790
|
"oxlint": {
|
|
50718
50791
|
"1.79.0": { "gitHead": "0db127cc16d28b97d84bac4ebeb302caf1a78c7e" },
|
|
50719
|
-
"1.
|
|
50792
|
+
"1.81.0": { "gitHead": "0b4e2e67f4193e7ebfcc64982275eb583ae82c83" }
|
|
50720
50793
|
}
|
|
50721
50794
|
};
|
|
50722
50795
|
|
package/oxlint-presets/index.js
CHANGED
|
@@ -69,6 +69,7 @@ export const effectNative = {
|
|
|
69
69
|
],
|
|
70
70
|
"rules": {
|
|
71
71
|
"effecttsgo/abort-controller-in-effect": "warn",
|
|
72
|
+
"effecttsgo/acquire-release-disposable": "warn",
|
|
72
73
|
"effecttsgo/async-function": "warn",
|
|
73
74
|
"effecttsgo/crypto-random-uuid": "warn",
|
|
74
75
|
"effecttsgo/crypto-random-uuid-in-effect": "warn",
|
|
@@ -102,10 +103,13 @@ export const recommended = {
|
|
|
102
103
|
],
|
|
103
104
|
"rules": {
|
|
104
105
|
"effecttsgo/abort-controller-in-effect": "warn",
|
|
106
|
+
"effecttsgo/acquire-release-disposable": "warn",
|
|
107
|
+
"effecttsgo/all-of-map-to-for-each": "warn",
|
|
105
108
|
"effecttsgo/async-function": "warn",
|
|
106
109
|
"effecttsgo/catch-all-to-map-error": "warn",
|
|
107
110
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
108
111
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
112
|
+
"effecttsgo/catch-die-to-or-die": "warn",
|
|
109
113
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
110
114
|
"effecttsgo/catch-to-ignore": "warn",
|
|
111
115
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
@@ -145,6 +149,7 @@ export const recommended = {
|
|
|
145
149
|
"effecttsgo/lazy-effect": "warn",
|
|
146
150
|
"effecttsgo/lazy-promise-in-effect-sync": "warn",
|
|
147
151
|
"effecttsgo/leaking-requirements": "warn",
|
|
152
|
+
"effecttsgo/map-some-to-as-some": "warn",
|
|
148
153
|
"effecttsgo/missing-effect-context": "error",
|
|
149
154
|
"effecttsgo/missing-effect-error": "error",
|
|
150
155
|
"effecttsgo/missing-layer-context": "error",
|
|
@@ -155,9 +160,11 @@ export const recommended = {
|
|
|
155
160
|
"effecttsgo/new-promise": "warn",
|
|
156
161
|
"effecttsgo/node-builtin-import": "warn",
|
|
157
162
|
"effecttsgo/non-object-effect-service-type": "error",
|
|
163
|
+
"effecttsgo/option-match-to-from-option": "warn",
|
|
158
164
|
"effecttsgo/outdated-api": "warn",
|
|
159
165
|
"effecttsgo/overridden-schema-constructor": "error",
|
|
160
166
|
"effecttsgo/prefer-schema-over-json": "warn",
|
|
167
|
+
"effecttsgo/prefer-succeed-some-or-none": "warn",
|
|
161
168
|
"effecttsgo/prefer-typed-schema-decoder": "warn",
|
|
162
169
|
"effecttsgo/prefer-unsafe-constructor": "warn",
|
|
163
170
|
"effecttsgo/process-env": "warn",
|
|
@@ -194,9 +201,11 @@ export const style = {
|
|
|
194
201
|
"effecttsgo"
|
|
195
202
|
],
|
|
196
203
|
"rules": {
|
|
204
|
+
"effecttsgo/all-of-map-to-for-each": "warn",
|
|
197
205
|
"effecttsgo/catch-all-to-map-error": "warn",
|
|
198
206
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
199
207
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
208
|
+
"effecttsgo/catch-die-to-or-die": "warn",
|
|
200
209
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
201
210
|
"effecttsgo/catch-to-ignore": "warn",
|
|
202
211
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
@@ -207,13 +216,16 @@ export const style = {
|
|
|
207
216
|
"effecttsgo/effect-map-void": "warn",
|
|
208
217
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
209
218
|
"effecttsgo/flat-map-to-map": "warn",
|
|
219
|
+
"effecttsgo/map-some-to-as-some": "warn",
|
|
210
220
|
"effecttsgo/missed-pipeable-opportunity": "warn",
|
|
211
221
|
"effecttsgo/missing-effect-service-dependency": "warn",
|
|
212
222
|
"effecttsgo/missing-pipeable-signature": "warn",
|
|
213
223
|
"effecttsgo/multiple-catch-tag": "warn",
|
|
214
224
|
"effecttsgo/nested-effect-gen-yield": "warn",
|
|
215
225
|
"effecttsgo/new-schema-class": "warn",
|
|
226
|
+
"effecttsgo/option-match-to-from-option": "warn",
|
|
216
227
|
"effecttsgo/prefer-schema-type-property": "warn",
|
|
228
|
+
"effecttsgo/prefer-succeed-some-or-none": "warn",
|
|
217
229
|
"effecttsgo/prefer-typed-schema-decoder": "warn",
|
|
218
230
|
"effecttsgo/redundant-map-error": "warn",
|
|
219
231
|
"effecttsgo/redundant-or-die": "warn",
|
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
],
|
|
8
8
|
"rules": {
|
|
9
9
|
"effecttsgo/abort-controller-in-effect": "warn",
|
|
10
|
+
"effecttsgo/acquire-release-disposable": "warn",
|
|
11
|
+
"effecttsgo/all-of-map-to-for-each": "warn",
|
|
10
12
|
"effecttsgo/async-function": "warn",
|
|
11
13
|
"effecttsgo/catch-all-to-map-error": "warn",
|
|
12
14
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
13
15
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
16
|
+
"effecttsgo/catch-die-to-or-die": "warn",
|
|
14
17
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
15
18
|
"effecttsgo/catch-to-ignore": "warn",
|
|
16
19
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
@@ -50,6 +53,7 @@
|
|
|
50
53
|
"effecttsgo/lazy-effect": "warn",
|
|
51
54
|
"effecttsgo/lazy-promise-in-effect-sync": "warn",
|
|
52
55
|
"effecttsgo/leaking-requirements": "warn",
|
|
56
|
+
"effecttsgo/map-some-to-as-some": "warn",
|
|
53
57
|
"effecttsgo/missing-effect-context": "error",
|
|
54
58
|
"effecttsgo/missing-effect-error": "error",
|
|
55
59
|
"effecttsgo/missing-layer-context": "error",
|
|
@@ -60,9 +64,11 @@
|
|
|
60
64
|
"effecttsgo/new-promise": "warn",
|
|
61
65
|
"effecttsgo/node-builtin-import": "warn",
|
|
62
66
|
"effecttsgo/non-object-effect-service-type": "error",
|
|
67
|
+
"effecttsgo/option-match-to-from-option": "warn",
|
|
63
68
|
"effecttsgo/outdated-api": "warn",
|
|
64
69
|
"effecttsgo/overridden-schema-constructor": "error",
|
|
65
70
|
"effecttsgo/prefer-schema-over-json": "warn",
|
|
71
|
+
"effecttsgo/prefer-succeed-some-or-none": "warn",
|
|
66
72
|
"effecttsgo/prefer-typed-schema-decoder": "warn",
|
|
67
73
|
"effecttsgo/prefer-unsafe-constructor": "warn",
|
|
68
74
|
"effecttsgo/process-env": "warn",
|
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
"effecttsgo"
|
|
7
7
|
],
|
|
8
8
|
"rules": {
|
|
9
|
+
"effecttsgo/all-of-map-to-for-each": "warn",
|
|
9
10
|
"effecttsgo/catch-all-to-map-error": "warn",
|
|
10
11
|
"effecttsgo/catch-chain-to-first-success-of": "warn",
|
|
11
12
|
"effecttsgo/catch-conditional-refail-to-catch-if": "warn",
|
|
13
|
+
"effecttsgo/catch-die-to-or-die": "warn",
|
|
12
14
|
"effecttsgo/catch-tag-to-catch-reason": "warn",
|
|
13
15
|
"effecttsgo/catch-to-ignore": "warn",
|
|
14
16
|
"effecttsgo/catch-to-or-else-succeed": "warn",
|
|
@@ -19,13 +21,16 @@
|
|
|
19
21
|
"effecttsgo/effect-map-void": "warn",
|
|
20
22
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
21
23
|
"effecttsgo/flat-map-to-map": "warn",
|
|
24
|
+
"effecttsgo/map-some-to-as-some": "warn",
|
|
22
25
|
"effecttsgo/missed-pipeable-opportunity": "warn",
|
|
23
26
|
"effecttsgo/missing-effect-service-dependency": "warn",
|
|
24
27
|
"effecttsgo/missing-pipeable-signature": "warn",
|
|
25
28
|
"effecttsgo/multiple-catch-tag": "warn",
|
|
26
29
|
"effecttsgo/nested-effect-gen-yield": "warn",
|
|
27
30
|
"effecttsgo/new-schema-class": "warn",
|
|
31
|
+
"effecttsgo/option-match-to-from-option": "warn",
|
|
28
32
|
"effecttsgo/prefer-schema-type-property": "warn",
|
|
33
|
+
"effecttsgo/prefer-succeed-some-or-none": "warn",
|
|
29
34
|
"effecttsgo/prefer-typed-schema-decoder": "warn",
|
|
30
35
|
"effecttsgo/redundant-map-error": "warn",
|
|
31
36
|
"effecttsgo/redundant-or-die": "warn",
|
package/oxlint-schema.json
CHANGED
|
@@ -2236,6 +2236,9 @@
|
|
|
2236
2236
|
"effecttsgo/abort-controller-in-effect": {
|
|
2237
2237
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2238
2238
|
},
|
|
2239
|
+
"effecttsgo/acquire-release-disposable": {
|
|
2240
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2241
|
+
},
|
|
2239
2242
|
"effecttsgo/all-of-map-to-for-each": {
|
|
2240
2243
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2241
2244
|
},
|
|
@@ -2245,9 +2248,6 @@
|
|
|
2245
2248
|
"effecttsgo/async-function": {
|
|
2246
2249
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2247
2250
|
},
|
|
2248
|
-
"effecttsgo/catch-die-to-or-die": {
|
|
2249
|
-
"$ref": "#/definitions/RuleNoConfig"
|
|
2250
|
-
},
|
|
2251
2251
|
"effecttsgo/catch-all-to-map-error": {
|
|
2252
2252
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2253
2253
|
},
|
|
@@ -2257,6 +2257,9 @@
|
|
|
2257
2257
|
"effecttsgo/catch-conditional-refail-to-catch-if": {
|
|
2258
2258
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2259
2259
|
},
|
|
2260
|
+
"effecttsgo/catch-die-to-or-die": {
|
|
2261
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2262
|
+
},
|
|
2260
2263
|
"effecttsgo/catch-tag-to-catch-reason": {
|
|
2261
2264
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2262
2265
|
},
|
|
@@ -2428,6 +2431,9 @@
|
|
|
2428
2431
|
"effecttsgo/non-object-effect-service-type": {
|
|
2429
2432
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2430
2433
|
},
|
|
2434
|
+
"effecttsgo/option-match-to-from-option": {
|
|
2435
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2436
|
+
},
|
|
2431
2437
|
"effecttsgo/outdated-api": {
|
|
2432
2438
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2433
2439
|
},
|
|
@@ -2440,6 +2446,9 @@
|
|
|
2440
2446
|
"effecttsgo/prefer-schema-type-property": {
|
|
2441
2447
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2442
2448
|
},
|
|
2449
|
+
"effecttsgo/prefer-succeed-some-or-none": {
|
|
2450
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2451
|
+
},
|
|
2443
2452
|
"effecttsgo/prefer-typed-schema-decoder": {
|
|
2444
2453
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2445
2454
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/tsgo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.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-win32-arm64": "0.
|
|
46
|
-
"@effect/tsgo-linux-x64": "0.
|
|
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.39.1",
|
|
45
|
+
"@effect/tsgo-win32-arm64": "0.39.1",
|
|
46
|
+
"@effect/tsgo-linux-x64": "0.39.1",
|
|
47
|
+
"@effect/tsgo-linux-arm64": "0.39.1",
|
|
48
|
+
"@effect/tsgo-linux-arm": "0.39.1",
|
|
49
|
+
"@effect/tsgo-darwin-x64": "0.39.1",
|
|
50
|
+
"@effect/tsgo-darwin-arm64": "0.39.1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@effect/platform-node": "^4.0.0-beta.107",
|