@effect/tsgo 0.24.1 → 0.24.3
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 +10 -18
- package/dist/effect-tsgo.js +2 -2
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -3,10 +3,6 @@
|
|
|
3
3
|
A wrapper around [TypeScript-Go](https://github.com/microsoft/TypeScript-Go) that builds the Effect Language Service, providing Effect-TS diagnostics and quick fixes.
|
|
4
4
|
This project targets **Effect V4** (codename: "smol") primarily and also Effect V3.
|
|
5
5
|
|
|
6
|
-
## Currently in Alpha
|
|
7
|
-
The TypeScript-Go version of the Effect LSP should be considered in Alpha. Expect breaking changes between releases and some missing features compared to previous version.
|
|
8
|
-
Some of them are currently on hold due to not yet complete pipeline on the upstream TypeScript repository.
|
|
9
|
-
|
|
10
6
|
## Installation
|
|
11
7
|
|
|
12
8
|
The setup of the TSGO version of the LSP can be performed via the command line interface:
|
|
@@ -24,6 +20,16 @@ This will guide you through the installation process, which includes:
|
|
|
24
20
|
> [!NOTE]
|
|
25
21
|
> At the moment, you still need a native TypeScript install alongside `@effect/tsgo`: `typescript` >= 7 (e.g. `typescript@latest` or `typescript@next`) or an alias such as `@typescript/native`. `effect-tsgo patch` tries `typescript`, then `@typescript/native`, and accepts `--typescript-package <name>` to try a custom package name first.
|
|
26
22
|
|
|
23
|
+
## LSP-based linter
|
|
24
|
+
|
|
25
|
+
The Effect LSP doubles as a tool to perform type-aware linting of Effect code.
|
|
26
|
+
|
|
27
|
+
Linting can occur either during the `tsc` typecheck phase (with the benefit of running typechecking only once and caching the output), or via a dedicated `npx @effect/tsgo diagnostics --project tsconfig.json` command (with typechecking occurring again).
|
|
28
|
+
|
|
29
|
+
When running in `tsc` mode, the Effect diagnostics are emitted as standard TypeScript diagnostics, and can be configured to affect the `tsc` exit code through the options `ignoreEffectSuggestionsInTscExitCode`, `ignoreEffectWarningsInTscExitCode`, and `ignoreEffectErrorsInTscExitCode`.
|
|
30
|
+
|
|
31
|
+
When running in dedicated diagnostics mode, the Effect diagnostics can be emitted in structured formats, which can be further processed by other tools.
|
|
32
|
+
|
|
27
33
|
## Diagnostic Status
|
|
28
34
|
|
|
29
35
|
Some diagnostics are off by default or have a default severity of suggestion, but you can always enable them or change their default severity in the plugin options.
|
|
@@ -173,20 +179,6 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
|
|
|
173
179
|
| `schemaBrand` | ✅ | ➖ | `brand("varName")` snippet when dot-accessing Schema in variable declarations (V3-only) |
|
|
174
180
|
| `serviceMapSelfInClasses` | ✅ | ✅ | Service map self-type snippets in extends clauses |
|
|
175
181
|
|
|
176
|
-
### Codegen Status
|
|
177
|
-
|
|
178
|
-
| Codegen | V3 | V4 | Notes |
|
|
179
|
-
|---------|----|----|-------|
|
|
180
|
-
| `accessors` | ❌ | ❌ | Generate Service accessor methods from comment directive |
|
|
181
|
-
| `annotate` | ❌ | ❌ | Generate type annotations from comment directive |
|
|
182
|
-
| `typeToSchema` | ❌ | ❌ | Generate Schema from type alias comment directive |
|
|
183
|
-
|
|
184
|
-
### Rename Status
|
|
185
|
-
|
|
186
|
-
| Rename | V3 | V4 | Notes |
|
|
187
|
-
|--------|----|----|-------|
|
|
188
|
-
| `keyStrings` | ❌ | ❌ | Extend rename to include key string literals in Effect classes |
|
|
189
|
-
|
|
190
182
|
## Best Practices
|
|
191
183
|
|
|
192
184
|
### Relationship to Official TypeScript-Go (`tsgo`)
|
package/dist/effect-tsgo.js
CHANGED
|
@@ -204851,7 +204851,7 @@ var FileReadError = class extends TaggedError("FileReadError") {
|
|
|
204851
204851
|
//#endregion
|
|
204852
204852
|
//#region package.json
|
|
204853
204853
|
var name = "@effect/tsgo";
|
|
204854
|
-
var version = "0.24.
|
|
204854
|
+
var version = "0.24.3";
|
|
204855
204855
|
|
|
204856
204856
|
//#endregion
|
|
204857
204857
|
//#region src/setup/consts.ts
|
|
@@ -207914,7 +207914,7 @@ const gatherTargetState = (assessment, context) => gen(function* () {
|
|
|
207914
207914
|
|
|
207915
207915
|
//#endregion
|
|
207916
207916
|
//#region upstream.json
|
|
207917
|
-
var tsVersion = "7.1.0-dev.
|
|
207917
|
+
var tsVersion = "7.1.0-dev.20260722.1";
|
|
207918
207918
|
|
|
207919
207919
|
//#endregion
|
|
207920
207920
|
//#region src/setup/index.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/tsgo",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.3",
|
|
4
4
|
"description": "Effect Language Service for TypeScript-Go — Effect-specific diagnostics and hover features.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
"schema.json"
|
|
24
24
|
],
|
|
25
25
|
"optionalDependencies": {
|
|
26
|
-
"@effect/tsgo-win32-x64": "0.24.
|
|
27
|
-
"@effect/tsgo-win32-arm64": "0.24.
|
|
28
|
-
"@effect/tsgo-linux-x64": "0.24.
|
|
29
|
-
"@effect/tsgo-linux-arm64": "0.24.
|
|
30
|
-
"@effect/tsgo-linux-arm": "0.24.
|
|
31
|
-
"@effect/tsgo-darwin-x64": "0.24.
|
|
32
|
-
"@effect/tsgo-darwin-arm64": "0.24.
|
|
26
|
+
"@effect/tsgo-win32-x64": "0.24.3",
|
|
27
|
+
"@effect/tsgo-win32-arm64": "0.24.3",
|
|
28
|
+
"@effect/tsgo-linux-x64": "0.24.3",
|
|
29
|
+
"@effect/tsgo-linux-arm64": "0.24.3",
|
|
30
|
+
"@effect/tsgo-linux-arm": "0.24.3",
|
|
31
|
+
"@effect/tsgo-darwin-x64": "0.24.3",
|
|
32
|
+
"@effect/tsgo-darwin-arm64": "0.24.3"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@effect/platform-node": "^4.0.0-beta.83",
|