@effect/tsgo 0.44.0 → 0.45.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 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.44.0`:
41
+ The following target package versions are supported by `@effect/tsgo@0.45.0`:
42
42
 
43
43
  | Component | Supported versions |
44
44
  |---|---|
45
- | TypeScript | `7.0.2`, `7.1.0-dev.20260908.1` |
45
+ | TypeScript | `7.0.2`, `7.1.0-dev.20260909.1` |
46
46
  | Oxlint | `1.81.0`, `1.82.0` |
47
47
  | oxlint-tsgolint | `7.0.2001` |
48
48
  <!-- supported-components:end -->
@@ -122,6 +122,7 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
122
122
  <tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/prefer-schema-over-json.md"><code>preferSchemaOverJson</code></a></td><td>Suggests using Effect Schema for JSON operations instead of JSON.parse/JSON.stringify</td></tr>
123
123
  <tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/process-env.md"><code>processEnv</code></a></td><td>Warns when reading process.env outside Effect generators instead of using Effect Config</td></tr>
124
124
  <tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/process-env-in-effect.md"><code>processEnvInEffect</code></a></td><td>Warns when reading process.env inside Effect generators instead of using Effect Config</td></tr>
125
+ <tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/schema-sync.md"><code>schemaSync</code></a></td><td>Suggests Effect-based Schema decoding and encoding instead of synchronous methods</td></tr>
125
126
  <tr><td colspan="2"><strong>Style</strong> <em>Cleanup, consistency, and idiomatic Effect code.</em></td></tr>
126
127
  <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&#39;s disposal protocol</td></tr>
127
128
  <tr><td><a href="https://github.com/Effect-TS/tsgo/blob/main/docs/rules/all-of-map-to-for-each.md"><code>allOfMapToForEach</code></a></td><td>Suggests using Effect.forEach instead of Effect.all over an effectful Array#map</td></tr>
@@ -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.44.0";
48903
+ var version = "0.45.0";
48904
48904
 
48905
48905
  //#endregion
48906
48906
  //#region src/metadata.json
@@ -48950,7 +48950,8 @@ var presets$1 = [{
48950
48950
  "nodeBuiltinImport": "warning",
48951
48951
  "preferSchemaOverJson": "warning",
48952
48952
  "processEnv": "warning",
48953
- "processEnvInEffect": "warning"
48953
+ "processEnvInEffect": "warning",
48954
+ "schemaSync": "warning"
48954
48955
  }
48955
48956
  }];
48956
48957
  var rules = [
@@ -50036,6 +50037,23 @@ var rules = [
50036
50037
  }]
50037
50038
  }
50038
50039
  },
50040
+ {
50041
+ "name": "schemaSync",
50042
+ "group": "effectNative",
50043
+ "description": "Suggests Effect-based Schema decoding and encoding instead of synchronous methods",
50044
+ "defaultSeverity": "off",
50045
+ "fixable": false,
50046
+ "supportedEffect": ["v3", "v4"],
50047
+ "codes": [377130],
50048
+ "preview": {
50049
+ "sourceText": "import * as Schema from \"effect/Schema\"\n\nconst Person = Schema.Struct({ name: Schema.String })\n\nexport const person = Schema.decodeUnknownSync(Person)({ name: \"Ada\" })\n",
50050
+ "diagnostics": [{
50051
+ "start": 118,
50052
+ "end": 142,
50053
+ "text": "`Schema.decodeUnknownSync` executes synchronously. Use `Schema.decodeUnknownEffect` to compose this operation through Effect without throwing. effect(schemaSync)"
50054
+ }]
50055
+ }
50056
+ },
50039
50057
  {
50040
50058
  "name": "acquireReleaseDisposable",
50041
50059
  "group": "style",
@@ -50926,7 +50944,7 @@ var metadata_default = {
50926
50944
  var tags = {
50927
50945
  "typescript": {
50928
50946
  "latest": "7.0.2",
50929
- "next": "7.1.0-dev.20260908.1"
50947
+ "next": "7.1.0-dev.20260909.1"
50930
50948
  },
50931
50949
  "oxlint": { "latest": "1.82.0" },
50932
50950
  "oxlint-tsgolint": { "latest": "7.0.2001" }
@@ -50937,8 +50955,8 @@ var components = {
50937
50955
  "gitHead": "2bd066d87f5bafd315be9f40889d0a60b9e58e0b",
50938
50956
  "provider": "typescript-go"
50939
50957
  },
50940
- "7.1.0-dev.20260908.1": {
50941
- "gitHead": "1f70213d4922b434345f639b441681e470c7cfc1",
50958
+ "7.1.0-dev.20260909.1": {
50959
+ "gitHead": "f3b04fe05642d53b4ff126a4af05fe2587b43748",
50942
50960
  "provider": "typescript"
50943
50961
  }
50944
50962
  },
@@ -19,6 +19,8 @@
19
19
  "effecttsgo/missing-return-yield-star": "warn",
20
20
  "effecttsgo/missing-star-in-yield-effect-gen": "warn",
21
21
  "effecttsgo/non-object-effect-service-type": "warn",
22
+ "effecttsgo/obsolete-match-import": "warn",
23
+ "effecttsgo/obsolete-schema-import": "warn",
22
24
  "effecttsgo/outdated-api": "warn",
23
25
  "effecttsgo/overridden-schema-constructor": "warn",
24
26
  "effecttsgo/promise-in-effect-success": "warn",
@@ -26,6 +26,7 @@
26
26
  "effecttsgo/node-builtin-import": "warn",
27
27
  "effecttsgo/prefer-schema-over-json": "warn",
28
28
  "effecttsgo/process-env": "warn",
29
- "effecttsgo/process-env-in-effect": "warn"
29
+ "effecttsgo/process-env-in-effect": "warn",
30
+ "effecttsgo/schema-sync": "warn"
30
31
  }
31
32
  }
@@ -52,6 +52,8 @@ export const correctness = {
52
52
  "effecttsgo/missing-return-yield-star": "warn",
53
53
  "effecttsgo/missing-star-in-yield-effect-gen": "warn",
54
54
  "effecttsgo/non-object-effect-service-type": "warn",
55
+ "effecttsgo/obsolete-match-import": "warn",
56
+ "effecttsgo/obsolete-schema-import": "warn",
55
57
  "effecttsgo/outdated-api": "warn",
56
58
  "effecttsgo/overridden-schema-constructor": "warn",
57
59
  "effecttsgo/promise-in-effect-success": "warn",
@@ -89,7 +91,8 @@ export const effectNative = {
89
91
  "effecttsgo/node-builtin-import": "warn",
90
92
  "effecttsgo/prefer-schema-over-json": "warn",
91
93
  "effecttsgo/process-env": "warn",
92
- "effecttsgo/process-env-in-effect": "warn"
94
+ "effecttsgo/process-env-in-effect": "warn",
95
+ "effecttsgo/schema-sync": "warn"
93
96
  }
94
97
  }
95
98
 
@@ -163,6 +166,8 @@ export const recommended = {
163
166
  "effecttsgo/new-promise": "warn",
164
167
  "effecttsgo/node-builtin-import": "warn",
165
168
  "effecttsgo/non-object-effect-service-type": "error",
169
+ "effecttsgo/obsolete-match-import": "warn",
170
+ "effecttsgo/obsolete-schema-import": "warn",
166
171
  "effecttsgo/option-match-to-from-option": "warn",
167
172
  "effecttsgo/outdated-api": "warn",
168
173
  "effecttsgo/overridden-schema-constructor": "error",
@@ -185,6 +190,7 @@ export const recommended = {
185
190
  "effecttsgo/schema-number": "warn",
186
191
  "effecttsgo/schema-opaque-instance-member": "error",
187
192
  "effecttsgo/schema-struct-with-tag": "warn",
193
+ "effecttsgo/schema-sync": "warn",
188
194
  "effecttsgo/schema-sync-in-effect": "warn",
189
195
  "effecttsgo/scope-in-layer-effect": "warn",
190
196
  "effecttsgo/sync-to-succeed": "warn",
@@ -68,6 +68,8 @@
68
68
  "effecttsgo/new-promise": "warn",
69
69
  "effecttsgo/node-builtin-import": "warn",
70
70
  "effecttsgo/non-object-effect-service-type": "error",
71
+ "effecttsgo/obsolete-match-import": "warn",
72
+ "effecttsgo/obsolete-schema-import": "warn",
71
73
  "effecttsgo/option-match-to-from-option": "warn",
72
74
  "effecttsgo/outdated-api": "warn",
73
75
  "effecttsgo/overridden-schema-constructor": "error",
@@ -90,6 +92,7 @@
90
92
  "effecttsgo/schema-number": "warn",
91
93
  "effecttsgo/schema-opaque-instance-member": "error",
92
94
  "effecttsgo/schema-struct-with-tag": "warn",
95
+ "effecttsgo/schema-sync": "warn",
93
96
  "effecttsgo/schema-sync-in-effect": "warn",
94
97
  "effecttsgo/scope-in-layer-effect": "warn",
95
98
  "effecttsgo/sync-to-succeed": "warn",
@@ -2443,6 +2443,12 @@
2443
2443
  "effecttsgo/non-object-effect-service-type": {
2444
2444
  "$ref": "#/definitions/RuleNoConfig"
2445
2445
  },
2446
+ "effecttsgo/obsolete-match-import": {
2447
+ "$ref": "#/definitions/RuleNoConfig"
2448
+ },
2449
+ "effecttsgo/obsolete-schema-import": {
2450
+ "$ref": "#/definitions/RuleNoConfig"
2451
+ },
2446
2452
  "effecttsgo/option-match-to-from-option": {
2447
2453
  "$ref": "#/definitions/RuleNoConfig"
2448
2454
  },
@@ -2512,6 +2518,9 @@
2512
2518
  "effecttsgo/schema-struct-with-tag": {
2513
2519
  "$ref": "#/definitions/RuleNoConfig"
2514
2520
  },
2521
+ "effecttsgo/schema-sync": {
2522
+ "$ref": "#/definitions/RuleNoConfig"
2523
+ },
2515
2524
  "effecttsgo/schema-sync-in-effect": {
2516
2525
  "$ref": "#/definitions/RuleNoConfig"
2517
2526
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/tsgo",
3
- "version": "0.44.0",
3
+ "version": "0.45.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.44.0",
45
- "@effect/tsgo-win32-arm64": "0.44.0",
46
- "@effect/tsgo-linux-x64": "0.44.0",
47
- "@effect/tsgo-linux-arm64": "0.44.0",
48
- "@effect/tsgo-linux-arm": "0.44.0",
49
- "@effect/tsgo-darwin-x64": "0.44.0",
50
- "@effect/tsgo-darwin-arm64": "0.44.0"
44
+ "@effect/tsgo-win32-x64": "0.45.0",
45
+ "@effect/tsgo-win32-arm64": "0.45.0",
46
+ "@effect/tsgo-linux-x64": "0.45.0",
47
+ "@effect/tsgo-linux-arm64": "0.45.0",
48
+ "@effect/tsgo-linux-arm": "0.45.0",
49
+ "@effect/tsgo-darwin-x64": "0.45.0",
50
+ "@effect/tsgo-darwin-arm64": "0.45.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@effect/platform-node": "^4.0.0-beta.107",
package/schema.json CHANGED
@@ -2365,12 +2365,12 @@
2365
2365
  "cryptoRandomUUID": {
2366
2366
  "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2367
2367
  "default": "off",
2368
- "description": "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"
2368
+ "description": "Warns when using crypto.randomUUID() outside Effect generators instead of the Effect Crypto module"
2369
2369
  },
2370
2370
  "cryptoRandomUUIDInEffect": {
2371
2371
  "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2372
2372
  "default": "off",
2373
- "description": "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"
2373
+ "description": "Warns when using crypto.randomUUID() inside Effect generators instead of the Effect Crypto module"
2374
2374
  },
2375
2375
  "deterministicKeys": {
2376
2376
  "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
@@ -2637,6 +2637,16 @@
2637
2637
  "default": "error",
2638
2638
  "description": "Ensures Effect.Service types are objects, not primitives"
2639
2639
  },
2640
+ "obsoleteMatchImport": {
2641
+ "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2642
+ "default": "warning",
2643
+ "description": "Warns when importing @effect/match in projects targeting Effect v4, where Match is included directly in the effect package"
2644
+ },
2645
+ "obsoleteSchemaImport": {
2646
+ "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2647
+ "default": "warning",
2648
+ "description": "Warns when importing @effect/schema in projects targeting Effect v4, where Schema is included directly in the effect package"
2649
+ },
2640
2650
  "optionMatchToFromOption": {
2641
2651
  "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2642
2652
  "default": "suggestion",
@@ -2752,6 +2762,11 @@
2752
2762
  "default": "suggestion",
2753
2763
  "description": "Suggests using Schema.TaggedStruct instead of Schema.Struct with _tag field"
2754
2764
  },
2765
+ "schemaSync": {
2766
+ "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2767
+ "default": "off",
2768
+ "description": "Suggests Effect-based Schema decoding and encoding instead of synchronous methods"
2769
+ },
2755
2770
  "schemaSyncInEffect": {
2756
2771
  "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2757
2772
  "default": "suggestion",