@effect/tsgo 0.47.1 → 0.48.0
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 +37 -2
- package/dist/effect-tsgo.cjs +6 -6
- package/oxlint-presets/correctness.json +3 -1
- package/oxlint-presets/index.js +9 -3
- package/oxlint-presets/recommended.json +3 -1
- package/oxlint-presets/strict.json +3 -1
- package/package.json +8 -8
- package/schema.json +48 -0
package/README.md
CHANGED
|
@@ -38,11 +38,11 @@ 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.48.0`:
|
|
42
42
|
|
|
43
43
|
| Component | Supported versions |
|
|
44
44
|
|---|---|
|
|
45
|
-
| TypeScript | `7.0.2`, `7.1.0-dev.
|
|
45
|
+
| TypeScript | `7.0.2`, `7.1.0-dev.20260929.1` |
|
|
46
46
|
| Oxlint | `1.82.0`, `1.83.0`, `1.84.0`, `1.85.0`, `1.86.0` |
|
|
47
47
|
| oxlint-tsgolint | `7.0.2001`, `7.0.2003` |
|
|
48
48
|
<!-- supported-components:end -->
|
|
@@ -237,6 +237,8 @@ Effect-tsgo is a **superset** of the official [TypeScript-Go](https://github.com
|
|
|
237
237
|
|
|
238
238
|
Each release of `effect-tsgo` is built against the versioned components recorded in `_packages/tsgo/upstream.json`. The Nix flake consumes the TypeScript `next` tag directly. When upstream `tsgo` releases new features or fixes, `effect-tsgo` will adopt them in a subsequent release after validating compatibility with the Effect diagnostics layer.
|
|
239
239
|
|
|
240
|
+
The npm compiler binaries load their TypeScript standard libraries from `lib.*.d.ts` files beside the executable. These files are included beside every versioned artifact and the latest `lib/tsc` alias. If you relocate the executable returned by `effect-tsgo get-exe-path`, copy its library files into the same destination directory.
|
|
241
|
+
|
|
240
242
|
### When to Upgrade
|
|
241
243
|
|
|
242
244
|
- Upgrade `effect-tsgo` when a new release includes upstream `tsgo` fixes you need or new Effect diagnostics you want.
|
|
@@ -312,6 +314,10 @@ Each release of `effect-tsgo` is built against the versioned components recorded
|
|
|
312
314
|
"extendedKeyDetection": false,
|
|
313
315
|
// Minimum number of contiguous pipeable transformations to trigger missedPipeableOpportunity. (default: 2)
|
|
314
316
|
"pipeableMinArgCount": 2,
|
|
317
|
+
// Unstable APIs allowed by package/module subtree or package/module#export name. (default: [])
|
|
318
|
+
"allowedUnstableApis": [],
|
|
319
|
+
// Experimental APIs allowed by package/module subtree or package/module#export name. (default: [])
|
|
320
|
+
"allowedExperimentalApis": [],
|
|
315
321
|
// Package names allowed to have multiple versions without triggering duplicatePackage. (default: [])
|
|
316
322
|
"allowedDuplicatedPackages": [],
|
|
317
323
|
// Controls which effectFnOpportunity quickfix variants are offered. (default: ["span"])
|
|
@@ -339,3 +345,32 @@ Each release of `effect-tsgo` is built against the versioned components recorded
|
|
|
339
345
|
}
|
|
340
346
|
```
|
|
341
347
|
<!-- example-config:end -->
|
|
348
|
+
|
|
349
|
+
The `allowedUnstableApis` and `allowedExperimentalApis` options selectively permit
|
|
350
|
+
APIs marked `@stability unstable` and `@stability experimental`, respectively:
|
|
351
|
+
|
|
352
|
+
```json
|
|
353
|
+
{
|
|
354
|
+
"allowedUnstableApis": [
|
|
355
|
+
"effect/http",
|
|
356
|
+
"effect/rpc/RpcClient#make"
|
|
357
|
+
],
|
|
358
|
+
"allowedExperimentalApis": ["my-package/Preview#make"]
|
|
359
|
+
}
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
A module entry permits that module and its descendants; an entry ending in
|
|
363
|
+
`#exportName` permits only that module's exported API, including renamed imports
|
|
364
|
+
and aliases. For example, `effect/http/HttpClient` permits the entire module,
|
|
365
|
+
while `effect/http/HttpClient#get` permits only its exported `get` API.
|
|
366
|
+
Matching is case-sensitive and respects path segments: `effect/http` does not
|
|
367
|
+
permit `effect/http-api`. Per-file `overrides` replace the base list.
|
|
368
|
+
|
|
369
|
+
Names describe the declaration carrying the stability tag, rather than the
|
|
370
|
+
import used by the consumer. They combine the nearest package name with the
|
|
371
|
+
package-relative declaration path, removing a leading `src/`, `dist/`,
|
|
372
|
+
`dist/dts/`, `dist/esm/`, or `dist/cjs/`, the file extension, and a trailing
|
|
373
|
+
`/index`. Other layouts retain their package-relative path. Both diagnostics
|
|
374
|
+
display this name when package metadata is available. APIs without package
|
|
375
|
+
metadata continue to warn. Each list affects only its corresponding diagnostic; allowing an unstable API
|
|
376
|
+
does not suppress experimental API warnings, and vice versa.
|
package/dist/effect-tsgo.cjs
CHANGED
|
@@ -51619,7 +51619,7 @@ const runWith = (command, config) => {
|
|
|
51619
51619
|
//#endregion
|
|
51620
51620
|
//#region package.json
|
|
51621
51621
|
var name = "@effect/tsgo";
|
|
51622
|
-
var version = "0.
|
|
51622
|
+
var version = "0.48.0";
|
|
51623
51623
|
|
|
51624
51624
|
//#endregion
|
|
51625
51625
|
//#region src/metadata.json
|
|
@@ -52055,7 +52055,7 @@ var rules = [
|
|
|
52055
52055
|
"diagnostics": [{
|
|
52056
52056
|
"start": 67,
|
|
52057
52057
|
"end": 77,
|
|
52058
|
-
"text": "`previewApi` is an experimental API. effect(experimentalApiUsage)"
|
|
52058
|
+
"text": "`effect-v4-tests/preview#previewApi` is an experimental API. effect(experimentalApiUsage)"
|
|
52059
52059
|
}]
|
|
52060
52060
|
}
|
|
52061
52061
|
},
|
|
@@ -52369,7 +52369,7 @@ var rules = [
|
|
|
52369
52369
|
"diagnostics": [{
|
|
52370
52370
|
"start": 63,
|
|
52371
52371
|
"end": 73,
|
|
52372
|
-
"text": "`previewApi` is an unstable API. Breaking changes may happen between versions. effect(unstableApiUsage)"
|
|
52372
|
+
"text": "`effect-v4-tests/preview#previewApi` is an unstable API. Breaking changes may happen between versions. effect(unstableApiUsage)"
|
|
52373
52373
|
}]
|
|
52374
52374
|
}
|
|
52375
52375
|
},
|
|
@@ -54040,7 +54040,7 @@ var metadata_default = {
|
|
|
54040
54040
|
var tags = {
|
|
54041
54041
|
"typescript": {
|
|
54042
54042
|
"latest": "7.0.2",
|
|
54043
|
-
"next": "7.1.0-dev.
|
|
54043
|
+
"next": "7.1.0-dev.20260929.1"
|
|
54044
54044
|
},
|
|
54045
54045
|
"oxlint": { "latest": "1.86.0" },
|
|
54046
54046
|
"oxlint-tsgolint": { "latest": "7.0.2003" }
|
|
@@ -54051,8 +54051,8 @@ var components = {
|
|
|
54051
54051
|
"gitHead": "2bd066d87f5bafd315be9f40889d0a60b9e58e0b",
|
|
54052
54052
|
"provider": "typescript-go"
|
|
54053
54053
|
},
|
|
54054
|
-
"7.1.0-dev.
|
|
54055
|
-
"gitHead": "
|
|
54054
|
+
"7.1.0-dev.20260929.1": {
|
|
54055
|
+
"gitHead": "0681ef7fa3a2378ccf49645b6d5b7463bdca74bb",
|
|
54056
54056
|
"provider": "typescript"
|
|
54057
54057
|
}
|
|
54058
54058
|
},
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"effecttsgo/class-self-mismatch": "warn",
|
|
11
11
|
"effecttsgo/duplicate-package": "warn",
|
|
12
12
|
"effecttsgo/effect-fn-implicit-any": "warn",
|
|
13
|
+
"effecttsgo/experimental-api-usage": "warn",
|
|
13
14
|
"effecttsgo/floating-effect": "warn",
|
|
14
15
|
"effecttsgo/floating-effect-in-vitest": "warn",
|
|
15
16
|
"effecttsgo/generic-effect-services": "warn",
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
"effecttsgo/promise-in-effect-success": "warn",
|
|
27
28
|
"effecttsgo/schema-literal-non-finite": "warn",
|
|
28
29
|
"effecttsgo/schema-opaque-instance-member": "warn",
|
|
29
|
-
"effecttsgo/unsafe-effect-type-assertion": "warn"
|
|
30
|
+
"effecttsgo/unsafe-effect-type-assertion": "warn",
|
|
31
|
+
"effecttsgo/unstable-api-usage": "warn"
|
|
30
32
|
}
|
|
31
33
|
}
|
package/oxlint-presets/index.js
CHANGED
|
@@ -43,6 +43,7 @@ export const correctness = {
|
|
|
43
43
|
"effecttsgo/class-self-mismatch": "warn",
|
|
44
44
|
"effecttsgo/duplicate-package": "warn",
|
|
45
45
|
"effecttsgo/effect-fn-implicit-any": "warn",
|
|
46
|
+
"effecttsgo/experimental-api-usage": "warn",
|
|
46
47
|
"effecttsgo/floating-effect": "warn",
|
|
47
48
|
"effecttsgo/floating-effect-in-vitest": "warn",
|
|
48
49
|
"effecttsgo/generic-effect-services": "warn",
|
|
@@ -59,7 +60,8 @@ export const correctness = {
|
|
|
59
60
|
"effecttsgo/promise-in-effect-success": "warn",
|
|
60
61
|
"effecttsgo/schema-literal-non-finite": "warn",
|
|
61
62
|
"effecttsgo/schema-opaque-instance-member": "warn",
|
|
62
|
-
"effecttsgo/unsafe-effect-type-assertion": "warn"
|
|
63
|
+
"effecttsgo/unsafe-effect-type-assertion": "warn",
|
|
64
|
+
"effecttsgo/unstable-api-usage": "warn"
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
67
|
|
|
@@ -129,6 +131,7 @@ export const recommended = {
|
|
|
129
131
|
"effecttsgo/effect-map-flatten": "warn",
|
|
130
132
|
"effecttsgo/effect-map-void": "warn",
|
|
131
133
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
134
|
+
"effecttsgo/experimental-api-usage": "warn",
|
|
132
135
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "warn",
|
|
133
136
|
"effecttsgo/flat-map-ignored-param-to-and-then": "warn",
|
|
134
137
|
"effecttsgo/flat-map-to-map": "warn",
|
|
@@ -183,7 +186,8 @@ export const recommended = {
|
|
|
183
186
|
"effecttsgo/unnecessary-fail-yieldable-error": "warn",
|
|
184
187
|
"effecttsgo/unnecessary-pipe": "warn",
|
|
185
188
|
"effecttsgo/unnecessary-pipe-chain": "warn",
|
|
186
|
-
"effecttsgo/unnecessary-typeof-type": "warn"
|
|
189
|
+
"effecttsgo/unnecessary-typeof-type": "warn",
|
|
190
|
+
"effecttsgo/unstable-api-usage": "warn"
|
|
187
191
|
}
|
|
188
192
|
}
|
|
189
193
|
|
|
@@ -220,6 +224,7 @@ export const strict = {
|
|
|
220
224
|
"effecttsgo/effect-map-flatten": "error",
|
|
221
225
|
"effecttsgo/effect-map-void": "error",
|
|
222
226
|
"effecttsgo/effect-succeed-with-void": "error",
|
|
227
|
+
"effecttsgo/experimental-api-usage": "error",
|
|
223
228
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "error",
|
|
224
229
|
"effecttsgo/flat-map-ignored-param-to-and-then": "error",
|
|
225
230
|
"effecttsgo/flat-map-to-map": "error",
|
|
@@ -274,7 +279,8 @@ export const strict = {
|
|
|
274
279
|
"effecttsgo/unnecessary-fail-yieldable-error": "error",
|
|
275
280
|
"effecttsgo/unnecessary-pipe": "error",
|
|
276
281
|
"effecttsgo/unnecessary-pipe-chain": "error",
|
|
277
|
-
"effecttsgo/unnecessary-typeof-type": "error"
|
|
282
|
+
"effecttsgo/unnecessary-typeof-type": "error",
|
|
283
|
+
"effecttsgo/unstable-api-usage": "error"
|
|
278
284
|
}
|
|
279
285
|
}
|
|
280
286
|
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"effecttsgo/effect-map-flatten": "warn",
|
|
32
32
|
"effecttsgo/effect-map-void": "warn",
|
|
33
33
|
"effecttsgo/effect-succeed-with-void": "warn",
|
|
34
|
+
"effecttsgo/experimental-api-usage": "warn",
|
|
34
35
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "warn",
|
|
35
36
|
"effecttsgo/flat-map-ignored-param-to-and-then": "warn",
|
|
36
37
|
"effecttsgo/flat-map-to-map": "warn",
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
"effecttsgo/unnecessary-fail-yieldable-error": "warn",
|
|
86
87
|
"effecttsgo/unnecessary-pipe": "warn",
|
|
87
88
|
"effecttsgo/unnecessary-pipe-chain": "warn",
|
|
88
|
-
"effecttsgo/unnecessary-typeof-type": "warn"
|
|
89
|
+
"effecttsgo/unnecessary-typeof-type": "warn",
|
|
90
|
+
"effecttsgo/unstable-api-usage": "warn"
|
|
89
91
|
}
|
|
90
92
|
}
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"effecttsgo/effect-map-flatten": "error",
|
|
32
32
|
"effecttsgo/effect-map-void": "error",
|
|
33
33
|
"effecttsgo/effect-succeed-with-void": "error",
|
|
34
|
+
"effecttsgo/experimental-api-usage": "error",
|
|
34
35
|
"effecttsgo/flat-map-conditional-to-filter-or-fail": "error",
|
|
35
36
|
"effecttsgo/flat-map-ignored-param-to-and-then": "error",
|
|
36
37
|
"effecttsgo/flat-map-to-map": "error",
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
"effecttsgo/unnecessary-fail-yieldable-error": "error",
|
|
86
87
|
"effecttsgo/unnecessary-pipe": "error",
|
|
87
88
|
"effecttsgo/unnecessary-pipe-chain": "error",
|
|
88
|
-
"effecttsgo/unnecessary-typeof-type": "error"
|
|
89
|
+
"effecttsgo/unnecessary-typeof-type": "error",
|
|
90
|
+
"effecttsgo/unstable-api-usage": "error"
|
|
89
91
|
}
|
|
90
92
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/tsgo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.48.0",
|
|
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.48.0",
|
|
45
|
+
"@effect/tsgo-win32-arm64": "0.48.0",
|
|
46
|
+
"@effect/tsgo-linux-x64": "0.48.0",
|
|
47
|
+
"@effect/tsgo-linux-arm64": "0.48.0",
|
|
48
|
+
"@effect/tsgo-linux-arm": "0.48.0",
|
|
49
|
+
"@effect/tsgo-darwin-x64": "0.48.0",
|
|
50
|
+
"@effect/tsgo-darwin-arm64": "0.48.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@effect/platform-node": "^4.0.0-rc.118",
|
package/schema.json
CHANGED
|
@@ -1513,6 +1513,22 @@
|
|
|
1513
1513
|
},
|
|
1514
1514
|
"type": "array"
|
|
1515
1515
|
},
|
|
1516
|
+
"allowedExperimentalApis": {
|
|
1517
|
+
"default": [],
|
|
1518
|
+
"description": "Experimental APIs allowed by package/module subtree or package/module#export name.",
|
|
1519
|
+
"items": {
|
|
1520
|
+
"type": "string"
|
|
1521
|
+
},
|
|
1522
|
+
"type": "array"
|
|
1523
|
+
},
|
|
1524
|
+
"allowedUnstableApis": {
|
|
1525
|
+
"default": [],
|
|
1526
|
+
"description": "Unstable APIs allowed by package/module subtree or package/module#export name.",
|
|
1527
|
+
"items": {
|
|
1528
|
+
"type": "string"
|
|
1529
|
+
},
|
|
1530
|
+
"type": "array"
|
|
1531
|
+
},
|
|
1516
1532
|
"barrelImportPackages": {
|
|
1517
1533
|
"default": [],
|
|
1518
1534
|
"description": "Package names that should prefer barrel named imports.",
|
|
@@ -2442,6 +2458,11 @@
|
|
|
2442
2458
|
"default": "suggestion",
|
|
2443
2459
|
"description": "Suggests using Effect.void instead of Effect.succeed(undefined) or Effect.succeed(void 0)"
|
|
2444
2460
|
},
|
|
2461
|
+
"experimentalApiUsage": {
|
|
2462
|
+
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2463
|
+
"default": "warning",
|
|
2464
|
+
"description": "Warns when using an API marked @stability experimental"
|
|
2465
|
+
},
|
|
2445
2466
|
"extendsNativeError": {
|
|
2446
2467
|
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2447
2468
|
"default": "off",
|
|
@@ -2866,6 +2887,11 @@
|
|
|
2866
2887
|
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2867
2888
|
"default": "off",
|
|
2868
2889
|
"description": "Detects unsafe type assertions that narrow Effect, Stream, or Layer error or requirements channels"
|
|
2890
|
+
},
|
|
2891
|
+
"unstableApiUsage": {
|
|
2892
|
+
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2893
|
+
"default": "warning",
|
|
2894
|
+
"description": "Warns when using an API marked @stability unstable"
|
|
2869
2895
|
}
|
|
2870
2896
|
},
|
|
2871
2897
|
"type": "object"
|
|
@@ -2917,6 +2943,22 @@
|
|
|
2917
2943
|
},
|
|
2918
2944
|
"type": "array"
|
|
2919
2945
|
},
|
|
2946
|
+
"allowedExperimentalApis": {
|
|
2947
|
+
"default": [],
|
|
2948
|
+
"description": "Experimental APIs allowed by package/module subtree or package/module#export name.",
|
|
2949
|
+
"items": {
|
|
2950
|
+
"type": "string"
|
|
2951
|
+
},
|
|
2952
|
+
"type": "array"
|
|
2953
|
+
},
|
|
2954
|
+
"allowedUnstableApis": {
|
|
2955
|
+
"default": [],
|
|
2956
|
+
"description": "Unstable APIs allowed by package/module subtree or package/module#export name.",
|
|
2957
|
+
"items": {
|
|
2958
|
+
"type": "string"
|
|
2959
|
+
},
|
|
2960
|
+
"type": "array"
|
|
2961
|
+
},
|
|
2920
2962
|
"barrelImportPackages": {
|
|
2921
2963
|
"default": [],
|
|
2922
2964
|
"description": "Package names that should prefer barrel named imports.",
|
|
@@ -3128,6 +3170,12 @@
|
|
|
3128
3170
|
"allowedDuplicatedPackages": {
|
|
3129
3171
|
"description": "Scoped allow-list for duplicatePackage."
|
|
3130
3172
|
},
|
|
3173
|
+
"allowedExperimentalApis": {
|
|
3174
|
+
"description": "Scoped allow-list for experimentalApiUsage."
|
|
3175
|
+
},
|
|
3176
|
+
"allowedUnstableApis": {
|
|
3177
|
+
"description": "Scoped allow-list for unstableApiUsage."
|
|
3178
|
+
},
|
|
3131
3179
|
"diagnosticSeverity": {
|
|
3132
3180
|
"$ref": "#/definitions/effectLanguageServicePluginDiagnosticSeverityDefinition",
|
|
3133
3181
|
"description": "Severity overrides applied when this override matches."
|