@effect/tsgo 0.22.0 → 0.24.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
@@ -109,6 +109,7 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
109
109
  <tr><td><code>multipleCatchTag</code></td><td>💡</td><td></td><td>Suggests collapsing consecutive Effect.catchTag transformations into a single Effect.catchTags call when semantics stay equivalent</td><td></td><td>✓</td></tr>
110
110
  <tr><td><code>nestedEffectGenYield</code></td><td>➖</td><td></td><td>Warns when yielding a nested bare Effect.gen inside an existing Effect generator context</td><td>✓</td><td>✓</td></tr>
111
111
  <tr><td><code>newSchemaClass</code></td><td>➖</td><td>🔧</td><td>Suggests using Schema make instead of new for Schema classes</td><td></td><td>✓</td></tr>
112
+ <tr><td><code>preferSchemaTypeProperty</code></td><td>➖</td><td>🔧</td><td>Disallows Schema.Schema.Type&lt;typeof X&gt; in favor of typeof X.Type</td><td>✓</td><td>✓</td></tr>
112
113
  <tr><td><code>redundantMapError</code></td><td>💡</td><td></td><td>Suggests hoisting a repeated trailing Effect.mapError from every yield in an Effect generator</td><td>✓</td><td>✓</td></tr>
113
114
  <tr><td><code>redundantOrDie</code></td><td>💡</td><td></td><td>Suggests hoisting a repeated trailing Effect.orDie from every yield in an Effect generator</td><td>✓</td><td>✓</td></tr>
114
115
  <tr><td><code>redundantSchemaTagIdentifier</code></td><td>💡</td><td>🔧</td><td>Suggests removing redundant identifier argument when it equals the tag value in Schema.TaggedClass/TaggedError/TaggedRequest</td><td>✓</td><td>✓</td></tr>
@@ -117,6 +118,7 @@ Some diagnostics are off by default or have a default severity of suggestion, bu
117
118
  <tr><td><code>schemaUnionOfLiterals</code></td><td>➖</td><td>🔧</td><td>Suggests combining multiple Schema.Literal calls in Schema.Union into a single Schema.Literal</td><td>✓</td><td></td></tr>
118
119
  <tr><td><code>serviceNotAsClass</code></td><td>➖</td><td>🔧</td><td>Warns when Context.Service is used as a variable instead of a class declaration</td><td></td><td>✓</td></tr>
119
120
  <tr><td><code>strictBooleanExpressions</code></td><td>➖</td><td></td><td>Enforces boolean types in conditional expressions for type safety</td><td>✓</td><td>✓</td></tr>
121
+ <tr><td><code>syncToSucceed</code></td><td>💡</td><td>🔧</td><td>Suggests using Effect.succeed instead of Effect.sync when the thunk returns a constant value</td><td>✓</td><td>✓</td></tr>
120
122
  <tr><td><code>unnecessaryArrowBlock</code></td><td>➖</td><td>🔧</td><td>Suggests using a concise arrow body when the block only returns an expression</td><td>✓</td><td>✓</td></tr>
121
123
  <tr><td><code>unnecessaryEffectGen</code></td><td>💡</td><td>🔧</td><td>Suggests removing Effect.gen when it contains only a single return statement</td><td>✓</td><td>✓</td></tr>
122
124
  <tr><td><code>unnecessaryFailYieldableError</code></td><td>💡</td><td>🔧</td><td>Suggests yielding yieldable errors directly instead of wrapping with Effect.fail</td><td>✓</td><td>✓</td></tr>
@@ -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.22.0";
204854
+ var version = "0.24.0";
204855
204855
 
204856
204856
  //#endregion
204857
204857
  //#region src/setup/consts.ts
@@ -206956,6 +206956,23 @@ var rules = [
206956
206956
  }]
206957
206957
  }
206958
206958
  },
206959
+ {
206960
+ "name": "preferSchemaTypeProperty",
206961
+ "group": "style",
206962
+ "description": "Disallows Schema.Schema.Type<typeof X> in favor of typeof X.Type",
206963
+ "defaultSeverity": "off",
206964
+ "fixable": true,
206965
+ "supportedEffect": ["v3", "v4"],
206966
+ "codes": [377104],
206967
+ "preview": {
206968
+ "sourceText": "import { Schema } from \"effect\"\n\nconst User = Schema.Struct({ name: Schema.String })\ntype User = Schema.Schema.Type<typeof User>\n",
206969
+ "diagnostics": [{
206970
+ "start": 97,
206971
+ "end": 128,
206972
+ "text": "Do not use `Schema.Schema.Type<typeof X>` to extract a schema's type. Use `typeof X.Type` instead. effect(preferSchemaTypeProperty)"
206973
+ }]
206974
+ }
206975
+ },
206959
206976
  {
206960
206977
  "name": "redundantMapError",
206961
206978
  "group": "style",
@@ -207100,6 +207117,23 @@ var rules = [
207100
207117
  }]
207101
207118
  }
207102
207119
  },
207120
+ {
207121
+ "name": "syncToSucceed",
207122
+ "group": "style",
207123
+ "description": "Suggests using Effect.succeed instead of Effect.sync when the thunk returns a constant value",
207124
+ "defaultSeverity": "suggestion",
207125
+ "fixable": true,
207126
+ "supportedEffect": ["v3", "v4"],
207127
+ "codes": [377103],
207128
+ "preview": {
207129
+ "sourceText": "import { Effect } from \"effect\"\n\nexport const preview = Effect.sync(() => \"constant\")\n",
207130
+ "diagnostics": [{
207131
+ "start": 56,
207132
+ "end": 67,
207133
+ "text": "`Effect.succeed` expresses this constant value more directly than `Effect.sync`. effect(syncToSucceed)"
207134
+ }]
207135
+ }
207136
+ },
207103
207137
  {
207104
207138
  "name": "unnecessaryArrowBlock",
207105
207139
  "group": "style",
@@ -207880,7 +207914,7 @@ const gatherTargetState = (assessment, context) => gen(function* () {
207880
207914
 
207881
207915
  //#endregion
207882
207916
  //#region upstream.json
207883
- var tsVersion = "7.1.0-dev.20260714.1";
207917
+ var tsVersion = "7.1.0-dev.20260715.1";
207884
207918
 
207885
207919
  //#endregion
207886
207920
  //#region src/setup/index.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/tsgo",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
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.22.0",
27
- "@effect/tsgo-win32-arm64": "0.22.0",
28
- "@effect/tsgo-linux-arm64": "0.22.0",
29
- "@effect/tsgo-linux-arm": "0.22.0",
30
- "@effect/tsgo-linux-x64": "0.22.0",
31
- "@effect/tsgo-darwin-x64": "0.22.0",
32
- "@effect/tsgo-darwin-arm64": "0.22.0"
26
+ "@effect/tsgo-win32-x64": "0.24.0",
27
+ "@effect/tsgo-win32-arm64": "0.24.0",
28
+ "@effect/tsgo-linux-x64": "0.24.0",
29
+ "@effect/tsgo-linux-arm64": "0.24.0",
30
+ "@effect/tsgo-linux-arm": "0.24.0",
31
+ "@effect/tsgo-darwin-x64": "0.24.0",
32
+ "@effect/tsgo-darwin-arm64": "0.24.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@effect/platform-node": "^4.0.0-beta.83",
package/schema.json CHANGED
@@ -2004,6 +2004,11 @@
2004
2004
  "default": "suggestion",
2005
2005
  "description": "Suggests Schema.Finite and Schema.FiniteFromString instead of Schema.Number APIs when describing domain numbers"
2006
2006
  },
2007
+ "schemaOpaqueInstanceMember": {
2008
+ "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2009
+ "default": "error",
2010
+ "description": "Disallows instance members in classes extending Schema.Opaque"
2011
+ },
2007
2012
  "schemaStructWithTag": {
2008
2013
  "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2009
2014
  "default": "suggestion",
@@ -2039,6 +2044,11 @@
2039
2044
  "default": "off",
2040
2045
  "description": "Warns when using Effect.provide with layers outside of application entry points"
2041
2046
  },
2047
+ "syncToSucceed": {
2048
+ "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2049
+ "default": "suggestion",
2050
+ "description": "Suggests using Effect.succeed instead of Effect.sync when the thunk returns a constant value"
2051
+ },
2042
2052
  "tryCatchInEffectGen": {
2043
2053
  "$ref": "#/definitions/effectLanguageServicePluginSeverityDefinition",
2044
2054
  "default": "suggestion",