@effect/tsgo 0.48.1 → 0.50.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 +16 -11
- package/dist/effect-tsgo.cjs +34 -7
- package/oxlint-presets/index.d.ts +2 -0
- package/oxlint-presets/index.js +13 -0
- package/oxlint-presets/maintainers.json +11 -0
- package/oxlint-schema.json +3 -0
- package/package.json +8 -8
- package/schema.json +5 -0
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.50.0`:
|
|
42
42
|
|
|
43
43
|
| Component | Supported versions |
|
|
44
44
|
|---|---|
|
|
45
|
-
| TypeScript | `7.0.2`, `7.1.0-dev.
|
|
46
|
-
| Oxlint | `1.82.0`, `1.83.0`, `1.
|
|
45
|
+
| TypeScript | `7.0.2`, `7.1.0-dev.20261005.1` |
|
|
46
|
+
| Oxlint | `1.82.0`, `1.83.0`, `1.85.0`, `1.86.0`, `1.87.0` |
|
|
47
47
|
| oxlint-tsgolint | `7.0.2001`, `7.0.2003` |
|
|
48
48
|
<!-- supported-components:end -->
|
|
49
49
|
|
|
@@ -179,6 +179,8 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
|
|
|
179
179
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/unnecessary-pipe.md"><code>unnecessaryPipe</code></a></td><td>Removes pipe calls with no arguments</td></tr>
|
|
180
180
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/unnecessary-pipe-chain.md"><code>unnecessaryPipeChain</code></a></td><td>Simplifies chained pipe calls into a single pipe call</td></tr>
|
|
181
181
|
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/unnecessary-typeof-type.md"><code>unnecessaryTypeofType</code></a></td><td>Suggests replacing typeof Schema.Type style annotations with the matching named type when available</td></tr>
|
|
182
|
+
<tr><td colspan="2"><strong>Maintainers</strong> <em>Guard the public API surface and release hygiene of a package.</em></td></tr>
|
|
183
|
+
<tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/api-stability-leak.md"><code>apiStabilityLeak</code></a></td><td>Reports exported APIs whose public surface exposes a less stable type</td></tr>
|
|
182
184
|
</tbody>
|
|
183
185
|
</table>
|
|
184
186
|
<!-- diagnostics-table:end -->
|
|
@@ -366,11 +368,14 @@ while `effect/http/HttpClient#get` permits only its exported `get` API.
|
|
|
366
368
|
Matching is case-sensitive and respects path segments: `effect/http` does not
|
|
367
369
|
permit `effect/http-api`. Per-file `overrides` replace the base list.
|
|
368
370
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
does not
|
|
371
|
+
`apiStabilityLeak` ignores exports marked `@internal`. The tag is the compiler's
|
|
372
|
+
`stripInternal` declaration-emit marker, and it is honoured wherever it is
|
|
373
|
+
written: on an exported declaration, on a named, star or namespace forwarding
|
|
374
|
+
declaration, or on a namespace member. An untagged re-export of an internal
|
|
375
|
+
target is ignored as well, because the forwarded target is not public API. A
|
|
376
|
+
declaration that is not tagged keeps the export checked, so a public overload is
|
|
377
|
+
still reported when only its implementation is marked `@internal`. Tagging a
|
|
378
|
+
type does not hide it from public signatures: a public export that exposes an
|
|
379
|
+
`@internal` type is still reported when that type is less stable. The skip is
|
|
380
|
+
export-level only: an ordinary `@internal` property, overload or dependency type
|
|
381
|
+
does not exempt the export that exposes it.
|
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.50.0";
|
|
51623
51623
|
|
|
51624
51624
|
//#endregion
|
|
51625
51625
|
//#region src/metadata.json
|
|
@@ -51643,6 +51643,11 @@ var groups = [
|
|
|
51643
51643
|
"id": "style",
|
|
51644
51644
|
"name": "Style",
|
|
51645
51645
|
"description": "Cleanup, consistency, and idiomatic Effect code."
|
|
51646
|
+
},
|
|
51647
|
+
{
|
|
51648
|
+
"id": "maintainers",
|
|
51649
|
+
"name": "Maintainers",
|
|
51650
|
+
"description": "Guard the public API surface and release hygiene of a package."
|
|
51646
51651
|
}
|
|
51647
51652
|
];
|
|
51648
51653
|
var presets$1 = [
|
|
@@ -51963,6 +51968,11 @@ var presets$1 = [
|
|
|
51963
51968
|
"unnecessaryPipeChain": "warning",
|
|
51964
51969
|
"unnecessaryTypeofType": "warning"
|
|
51965
51970
|
}
|
|
51971
|
+
},
|
|
51972
|
+
{
|
|
51973
|
+
"name": "maintainers",
|
|
51974
|
+
"description": "Enable all maintainer diagnostics at warning level.",
|
|
51975
|
+
"diagnosticSeverity": { "apiStabilityLeak": "warning" }
|
|
51966
51976
|
}
|
|
51967
51977
|
];
|
|
51968
51978
|
var rules = [
|
|
@@ -54027,6 +54037,23 @@ var rules = [
|
|
|
54027
54037
|
"text": "This `typeof ... .Type` query can be replaced with `UsersRepo.User`. effect(unnecessaryTypeofType)"
|
|
54028
54038
|
}]
|
|
54029
54039
|
}
|
|
54040
|
+
},
|
|
54041
|
+
{
|
|
54042
|
+
"name": "apiStabilityLeak",
|
|
54043
|
+
"group": "maintainers",
|
|
54044
|
+
"description": "Reports exported APIs whose public surface exposes a less stable type",
|
|
54045
|
+
"defaultSeverity": "off",
|
|
54046
|
+
"fixable": false,
|
|
54047
|
+
"supportedEffect": ["v4"],
|
|
54048
|
+
"codes": [377137],
|
|
54049
|
+
"preview": {
|
|
54050
|
+
"sourceText": "\n/** @stability experimental */\nexport interface PreviewExperimental {\n value: string\n}\n\nexport interface PreviewStable {\n leaked: PreviewExperimental\n}\n",
|
|
54051
|
+
"diagnostics": [{
|
|
54052
|
+
"start": 107,
|
|
54053
|
+
"end": 120,
|
|
54054
|
+
"text": "`effect-v4-tests/preview#PreviewStable` exposes `PreviewExperimental`, an experimental API. effect(apiStabilityLeak)"
|
|
54055
|
+
}]
|
|
54056
|
+
}
|
|
54030
54057
|
}
|
|
54031
54058
|
];
|
|
54032
54059
|
var metadata_default = {
|
|
@@ -54040,9 +54067,9 @@ var metadata_default = {
|
|
|
54040
54067
|
var tags = {
|
|
54041
54068
|
"typescript": {
|
|
54042
54069
|
"latest": "7.0.2",
|
|
54043
|
-
"next": "7.1.0-dev.
|
|
54070
|
+
"next": "7.1.0-dev.20261005.1"
|
|
54044
54071
|
},
|
|
54045
|
-
"oxlint": { "latest": "1.
|
|
54072
|
+
"oxlint": { "latest": "1.87.0" },
|
|
54046
54073
|
"oxlint-tsgolint": { "latest": "7.0.2003" }
|
|
54047
54074
|
};
|
|
54048
54075
|
var components = {
|
|
@@ -54051,8 +54078,8 @@ var components = {
|
|
|
54051
54078
|
"gitHead": "2bd066d87f5bafd315be9f40889d0a60b9e58e0b",
|
|
54052
54079
|
"provider": "typescript-go"
|
|
54053
54080
|
},
|
|
54054
|
-
"7.1.0-dev.
|
|
54055
|
-
"gitHead": "
|
|
54081
|
+
"7.1.0-dev.20261005.1": {
|
|
54082
|
+
"gitHead": "50d70a3f5f453a79a4323b263165da51f656a4e3",
|
|
54056
54083
|
"provider": "typescript"
|
|
54057
54084
|
}
|
|
54058
54085
|
},
|
|
@@ -54069,9 +54096,9 @@ var components = {
|
|
|
54069
54096
|
"oxlint": {
|
|
54070
54097
|
"1.82.0": { "gitHead": "b4da00b621ec2f6f67ed218f5366c45ed325331b" },
|
|
54071
54098
|
"1.83.0": { "gitHead": "7bf68f70c20f5329251f19be95076f6eab4fe396" },
|
|
54072
|
-
"1.84.0": { "gitHead": "f02a64a517a69a4eaa4ef83b722a3f10cf633f10" },
|
|
54073
54099
|
"1.85.0": { "gitHead": "288d8cc77984b0a3851c58c423ffe9e6edc79f2e" },
|
|
54074
|
-
"1.86.0": { "gitHead": "2ae2939bb2fd98796393658b21556b2a2467e047" }
|
|
54100
|
+
"1.86.0": { "gitHead": "2ae2939bb2fd98796393658b21556b2a2467e047" },
|
|
54101
|
+
"1.87.0": { "gitHead": "2bd08ebe8f36fcf1954a675ffdeb4c6d0129f609" }
|
|
54075
54102
|
}
|
|
54076
54103
|
};
|
|
54077
54104
|
|
|
@@ -5,6 +5,7 @@ import type { OxlintConfig } from "oxlint"
|
|
|
5
5
|
export declare const antipattern: OxlintConfig
|
|
6
6
|
export declare const correctness: OxlintConfig
|
|
7
7
|
export declare const effectNative: OxlintConfig
|
|
8
|
+
export declare const maintainers: OxlintConfig
|
|
8
9
|
export declare const recommended: OxlintConfig
|
|
9
10
|
export declare const strict: OxlintConfig
|
|
10
11
|
export declare const style: OxlintConfig
|
|
@@ -13,6 +14,7 @@ export declare const presets: Readonly<{
|
|
|
13
14
|
antipattern: OxlintConfig
|
|
14
15
|
correctness: OxlintConfig
|
|
15
16
|
effectNative: OxlintConfig
|
|
17
|
+
maintainers: OxlintConfig
|
|
16
18
|
recommended: OxlintConfig
|
|
17
19
|
strict: OxlintConfig
|
|
18
20
|
style: OxlintConfig
|
package/oxlint-presets/index.js
CHANGED
|
@@ -98,6 +98,18 @@ export const effectNative = {
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
export const maintainers = {
|
|
102
|
+
"options": {
|
|
103
|
+
"typeAware": true
|
|
104
|
+
},
|
|
105
|
+
"plugins": [
|
|
106
|
+
"effecttsgo"
|
|
107
|
+
],
|
|
108
|
+
"rules": {
|
|
109
|
+
"effecttsgo/api-stability-leak": "warn"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
101
113
|
export const recommended = {
|
|
102
114
|
"options": {
|
|
103
115
|
"typeAware": true
|
|
@@ -352,6 +364,7 @@ export const presets = {
|
|
|
352
364
|
antipattern,
|
|
353
365
|
correctness,
|
|
354
366
|
effectNative,
|
|
367
|
+
maintainers,
|
|
355
368
|
recommended,
|
|
356
369
|
strict,
|
|
357
370
|
style,
|
package/oxlint-schema.json
CHANGED
|
@@ -2245,6 +2245,9 @@
|
|
|
2245
2245
|
"effecttsgo/any-unknown-in-error-context": {
|
|
2246
2246
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2247
2247
|
},
|
|
2248
|
+
"effecttsgo/api-stability-leak": {
|
|
2249
|
+
"$ref": "#/definitions/RuleNoConfig"
|
|
2250
|
+
},
|
|
2248
2251
|
"effecttsgo/async-function": {
|
|
2249
2252
|
"$ref": "#/definitions/RuleNoConfig"
|
|
2250
2253
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/tsgo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.50.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.50.0",
|
|
45
|
+
"@effect/tsgo-win32-arm64": "0.50.0",
|
|
46
|
+
"@effect/tsgo-linux-x64": "0.50.0",
|
|
47
|
+
"@effect/tsgo-linux-arm64": "0.50.0",
|
|
48
|
+
"@effect/tsgo-linux-arm": "0.50.0",
|
|
49
|
+
"@effect/tsgo-darwin-x64": "0.50.0",
|
|
50
|
+
"@effect/tsgo-darwin-arm64": "0.50.0"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@effect/platform-node": "^4.0.0-rc.118",
|
package/schema.json
CHANGED
|
@@ -2323,6 +2323,11 @@
|
|
|
2323
2323
|
"default": "off",
|
|
2324
2324
|
"description": "Detects 'any' or 'unknown' types in Effect error or requirements channels"
|
|
2325
2325
|
},
|
|
2326
|
+
"apiStabilityLeak": {
|
|
2327
|
+
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2328
|
+
"default": "off",
|
|
2329
|
+
"description": "Reports exported APIs whose public surface exposes a less stable type"
|
|
2330
|
+
},
|
|
2326
2331
|
"asyncFunction": {
|
|
2327
2332
|
"$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
|
|
2328
2333
|
"default": "off",
|