@effect/tsgo 0.36.4 → 0.37.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
@@ -35,6 +35,18 @@ When running in `tsc` mode, the Effect diagnostics are emitted as standard TypeS
35
35
 
36
36
  When running in dedicated diagnostics mode, the Effect diagnostics can be emitted in structured formats, which can be further processed by other tools.
37
37
 
38
+ <!-- supported-components:start -->
39
+ ## Supported Package Versions
40
+
41
+ The following target package versions are supported by `@effect/tsgo@0.37.0`:
42
+
43
+ | Component | Supported versions |
44
+ |---|---|
45
+ | TypeScript | `7.0.2`, `7.1.0-dev.20260824.1` |
46
+ | Oxlint | `1.79.0`, `1.80.0` |
47
+ | oxlint-tsgolint | `7.0.2001` |
48
+ <!-- supported-components:end -->
49
+
38
50
  ## Diagnostic Status
39
51
 
40
52
  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.
@@ -48897,6 +48897,11 @@ const runWith = (command, config) => {
48897
48897
  }, catchFilter((error) => isCliError(error) && error._tag === "ShowHelp" ? succeed$6(error) : fail$5(error), (error) => andThen(showHelp(command, error, config.renderErrors !== false), fail$1(error))), catchFilter((error) => config.renderErrors !== false && isCliError(error) && error._tag === "UserError" ? succeed$6(error) : fail$5(error), (error) => andThen(showUserError(error), fail$1(error))), catchFilter((e) => isQuitError(e) ? succeed$6(e) : fail$5(e), (_) => interrupt$1));
48898
48898
  };
48899
48899
 
48900
+ //#endregion
48901
+ //#region package.json
48902
+ var name = "@effect/tsgo";
48903
+ var version = "0.37.0";
48904
+
48900
48905
  //#endregion
48901
48906
  //#region src/metadata.json
48902
48907
  var groups = [
@@ -50604,6 +50609,37 @@ var metadata_default = {
50604
50609
  rules
50605
50610
  };
50606
50611
 
50612
+ //#endregion
50613
+ //#region upstream.json
50614
+ var tags = {
50615
+ "typescript": {
50616
+ "latest": "7.0.2",
50617
+ "next": "7.1.0-dev.20260824.1"
50618
+ },
50619
+ "oxlint": { "latest": "1.80.0" },
50620
+ "oxlint-tsgolint": { "latest": "7.0.2001" }
50621
+ };
50622
+ var components = {
50623
+ "typescript": {
50624
+ "7.0.2": {
50625
+ "gitHead": "2bd066d87f5bafd315be9f40889d0a60b9e58e0b",
50626
+ "provider": "typescript-go"
50627
+ },
50628
+ "7.1.0-dev.20260824.1": {
50629
+ "gitHead": "e9e477458d7b975ed5e43117fb85f6bc87363a6a",
50630
+ "provider": "typescript"
50631
+ }
50632
+ },
50633
+ "oxlint-tsgolint": { "7.0.2001": {
50634
+ "gitHead": "482dcf70bffce7ea56f63128c74beb67dec658a2",
50635
+ "dependencies": { "typescript": "7.0.2" }
50636
+ } },
50637
+ "oxlint": {
50638
+ "1.79.0": { "gitHead": "0db127cc16d28b97d84bac4ebeb302caf1a78c7e" },
50639
+ "1.80.0": { "gitHead": "97e99b85483776a72928d675cc05b1cfc1130ba0" }
50640
+ }
50641
+ };
50642
+
50607
50643
  //#endregion
50608
50644
  //#region src/patcher/fileHash.ts
50609
50645
  const textEncoder = new TextEncoder();
@@ -50757,7 +50793,13 @@ var ReplacementUnavailableError = class extends TaggedError$1("ReplacementUnavai
50757
50793
  return this.reason;
50758
50794
  }
50759
50795
  };
50796
+ var UnsupportedTargetPackageVersionError = class extends TaggedError$1("UnsupportedTargetPackageVersionError") {
50797
+ get message() {
50798
+ return `Package ${this.target.packageName} version ${this.target.packageVersion} is not supported by @effect/tsgo version ${version}. Either change @effect/tsgo to a compatible version or set ${this.target.packageName} to one of the supported versions: ${this.supportedVersions.join(", ")}.`;
50799
+ }
50800
+ };
50760
50801
  const exists = (fs, filePath) => fs.exists(filePath).pipe(mapError((error) => new PatcherError({ reason: `Unable to inspect ${filePath}: ${error.message}` })));
50802
+ const supportedVersions = (component) => Object.keys(components[component]).sort();
50761
50803
  const toKebabCase = (value) => {
50762
50804
  let result = "";
50763
50805
  const characters = [...value];
@@ -50821,10 +50863,17 @@ const resolveReplacement = (target) => gen(function* () {
50821
50863
  if (target.component === "oxlint-dts") return yield* resolveOxlintDeclarations(target);
50822
50864
  const platform = yield* resolvePlatformPackage(target);
50823
50865
  const replacementPath = path.join(platform.packageDir, "artifacts", target.component, target.packageVersion, path.basename(target.binaryPath));
50824
- if (!(yield* exists(fs, replacementPath))) return yield* new ReplacementUnavailableError({
50825
- target,
50826
- reason: `Missing packaged artifact ${replacementPath}.`
50827
- });
50866
+ if (!(yield* exists(fs, replacementPath))) {
50867
+ const versions = supportedVersions(target.component);
50868
+ if (!versions.includes(target.packageVersion)) return yield* new UnsupportedTargetPackageVersionError({
50869
+ target,
50870
+ supportedVersions: versions
50871
+ });
50872
+ return yield* new ReplacementUnavailableError({
50873
+ target,
50874
+ reason: `Missing packaged artifact ${replacementPath}.`
50875
+ });
50876
+ }
50828
50877
  return {
50829
50878
  path: replacementPath,
50830
50879
  fileHash: yield* hashFile(replacementPath).pipe(mapError((error) => new PatcherError({ reason: `Unable to hash packaged artifact ${replacementPath}: ${error.message}` })))
@@ -50842,7 +50891,7 @@ const preparePatch = (targets, options) => gen(function* () {
50842
50891
  const targetExists = yield* exists(fs, target.binaryPath);
50843
50892
  const backupExists = yield* exists(fs, backupPath);
50844
50893
  if (!targetExists) return yield* new PatcherError({ reason: `Installed binary does not exist: ${target.binaryPath}` });
50845
- const replacement = yield* resolver(target).pipe(catchTag("ReplacementUnavailableError", (error) => {
50894
+ const onUnavailable = (error) => {
50846
50895
  if (!options.skipMissing) return fail$1(error);
50847
50896
  skipped.push({
50848
50897
  target,
@@ -50850,6 +50899,10 @@ const preparePatch = (targets, options) => gen(function* () {
50850
50899
  message: error.message
50851
50900
  });
50852
50901
  return succeed$2(void 0);
50902
+ };
50903
+ const replacement = yield* resolver(target).pipe(catchTags({
50904
+ ReplacementUnavailableError: onUnavailable,
50905
+ UnsupportedTargetPackageVersionError: onUnavailable
50853
50906
  }));
50854
50907
  if (replacement === void 0) continue;
50855
50908
  if (backupExists && target.fileHash === replacement.fileHash) {
@@ -198185,11 +198238,6 @@ var FileReadError = class extends TaggedError$1("FileReadError") {
198185
198238
  }
198186
198239
  };
198187
198240
 
198188
- //#endregion
198189
- //#region package.json
198190
- var name = "@effect/tsgo";
198191
- var version = "0.36.4";
198192
-
198193
198241
  //#endregion
198194
198242
  //#region src/cli/setup/consts.ts
198195
198243
  const LSP_PACKAGE_NAME = name;
@@ -200220,17 +200268,6 @@ const gatherTargetOptions = (assessment) => gen(function* () {
200220
200268
  };
200221
200269
  });
200222
200270
 
200223
- //#endregion
200224
- //#region upstream.json
200225
- var tags = {
200226
- "typescript": {
200227
- "latest": "7.0.2",
200228
- "next": "7.1.0-dev.20260808.1"
200229
- },
200230
- "oxlint": { "latest": "1.77.0" },
200231
- "oxlint-tsgolint": { "latest": "7.0.2001" }
200232
- };
200233
-
200234
200271
  //#endregion
200235
200272
  //#region src/cli/setup/index.ts
200236
200273
  const setupCommand = make("setup", setupFlags).pipe(withDescription("Setup @effect/tsgo for the given project."), withHandler((flags) => gen(function* () {
@@ -520,6 +520,21 @@
520
520
  },
521
521
  "type": "object"
522
522
  },
523
+ "AnchorHasContentConfig": {
524
+ "additionalProperties": false,
525
+ "properties": {
526
+ "components": {
527
+ "default": [],
528
+ "description": "Additional custom component names to treat as anchor elements.",
529
+ "items": {
530
+ "type": "string"
531
+ },
532
+ "markdownDescription": "Additional custom component names to treat as anchor elements.",
533
+ "type": "array"
534
+ }
535
+ },
536
+ "type": "object"
537
+ },
523
538
  "AnchorIsValidAspect": {
524
539
  "enum": [
525
540
  "noHref",
@@ -1882,6 +1897,15 @@
1882
1897
  },
1883
1898
  "type": "object"
1884
1899
  },
1900
+ "DescriptionFormatConfig": {
1901
+ "additionalProperties": false,
1902
+ "properties": {
1903
+ "descriptionFormat": {
1904
+ "type": "string"
1905
+ }
1906
+ },
1907
+ "type": "object"
1908
+ },
1885
1909
  "Destructure": {
1886
1910
  "oneOf": [
1887
1911
  {
@@ -1939,13 +1963,7 @@
1939
1963
  "$ref": "#/definitions/RequireDescription"
1940
1964
  },
1941
1965
  {
1942
- "additionalProperties": false,
1943
- "properties": {
1944
- "descriptionFormat": {
1945
- "type": "string"
1946
- }
1947
- },
1948
- "type": "object"
1966
+ "$ref": "#/definitions/DescriptionFormatConfig"
1949
1967
  }
1950
1968
  ]
1951
1969
  },
@@ -2683,12 +2701,9 @@
2683
2701
  "items": [
2684
2702
  {
2685
2703
  "$ref": "#/definitions/AllowWarnDeny"
2686
- },
2687
- {
2688
- "type": "string"
2689
2704
  }
2690
2705
  ],
2691
- "minItems": 2,
2706
+ "minItems": 1,
2692
2707
  "type": "array",
2693
2708
  "uniqueItems": true
2694
2709
  }
@@ -3699,6 +3714,26 @@
3699
3714
  "jsdoc/implements-on-classes": {
3700
3715
  "$ref": "#/definitions/RuleNoConfig"
3701
3716
  },
3717
+ "jsdoc/no-blank-blocks": {
3718
+ "anyOf": [
3719
+ {
3720
+ "$ref": "#/definitions/RuleNoConfig"
3721
+ },
3722
+ {
3723
+ "items": [
3724
+ {
3725
+ "$ref": "#/definitions/AllowWarnDeny"
3726
+ },
3727
+ {
3728
+ "$ref": "#/definitions/NoBlankBlocks"
3729
+ }
3730
+ ],
3731
+ "maxItems": 2,
3732
+ "minItems": 2,
3733
+ "type": "array"
3734
+ }
3735
+ ]
3736
+ },
3702
3737
  "jsdoc/no-defaults": {
3703
3738
  "anyOf": [
3704
3739
  {
@@ -3893,7 +3928,24 @@
3893
3928
  ]
3894
3929
  },
3895
3930
  "jsx-a11y/anchor-has-content": {
3896
- "$ref": "#/definitions/RuleNoConfig"
3931
+ "anyOf": [
3932
+ {
3933
+ "$ref": "#/definitions/RuleNoConfig"
3934
+ },
3935
+ {
3936
+ "items": [
3937
+ {
3938
+ "$ref": "#/definitions/AllowWarnDeny"
3939
+ },
3940
+ {
3941
+ "$ref": "#/definitions/AnchorHasContentConfig"
3942
+ }
3943
+ ],
3944
+ "maxItems": 2,
3945
+ "minItems": 2,
3946
+ "type": "array"
3947
+ }
3948
+ ]
3897
3949
  },
3898
3950
  "jsx-a11y/anchor-is-valid": {
3899
3951
  "anyOf": [
@@ -5302,12 +5354,9 @@
5302
5354
  "items": [
5303
5355
  {
5304
5356
  "$ref": "#/definitions/AllowWarnDeny"
5305
- },
5306
- {
5307
- "$ref": "#/definitions/NoRestrictedGlobalsConfigEnum"
5308
5357
  }
5309
5358
  ],
5310
- "minItems": 2
5359
+ "minItems": 1
5311
5360
  }
5312
5361
  ]
5313
5362
  },
@@ -5323,12 +5372,9 @@
5323
5372
  "items": [
5324
5373
  {
5325
5374
  "$ref": "#/definitions/AllowWarnDeny"
5326
- },
5327
- {
5328
- "$ref": "#/definitions/NoRestrictedImportsConfigEnum"
5329
5375
  }
5330
5376
  ],
5331
- "minItems": 2
5377
+ "minItems": 1
5332
5378
  }
5333
5379
  ]
5334
5380
  },
@@ -5344,12 +5390,9 @@
5344
5390
  "items": [
5345
5391
  {
5346
5392
  "$ref": "#/definitions/AllowWarnDeny"
5347
- },
5348
- {
5349
- "$ref": "#/definitions/PropertyDetails"
5350
5393
  }
5351
5394
  ],
5352
- "minItems": 2
5395
+ "minItems": 1
5353
5396
  }
5354
5397
  ]
5355
5398
  },
@@ -5986,6 +6029,26 @@
5986
6029
  }
5987
6030
  ]
5988
6031
  },
6032
+ "one-var": {
6033
+ "anyOf": [
6034
+ {
6035
+ "$ref": "#/definitions/RuleNoConfig"
6036
+ },
6037
+ {
6038
+ "items": [
6039
+ {
6040
+ "$ref": "#/definitions/AllowWarnDeny"
6041
+ },
6042
+ {
6043
+ "$ref": "#/definitions/OneVar"
6044
+ }
6045
+ ],
6046
+ "maxItems": 2,
6047
+ "minItems": 2,
6048
+ "type": "array"
6049
+ }
6050
+ ]
6051
+ },
5989
6052
  "operator-assignment": {
5990
6053
  "anyOf": [
5991
6054
  {
@@ -6623,6 +6686,9 @@
6623
6686
  }
6624
6687
  ]
6625
6688
  },
6689
+ "react/capitalized-calls": {
6690
+ "$ref": "#/definitions/RuleNoConfig"
6691
+ },
6626
6692
  "react/checked-requires-onchange-or-readonly": {
6627
6693
  "anyOf": [
6628
6694
  {
@@ -6663,6 +6729,9 @@
6663
6729
  }
6664
6730
  ]
6665
6731
  },
6732
+ "react/error-boundaries": {
6733
+ "$ref": "#/definitions/RuleNoConfig"
6734
+ },
6666
6735
  "react/exhaustive-deps": {
6667
6736
  "anyOf": [
6668
6737
  {
@@ -6683,6 +6752,9 @@
6683
6752
  }
6684
6753
  ]
6685
6754
  },
6755
+ "react/exhaustive-effect-dependencies": {
6756
+ "$ref": "#/definitions/RuleNoConfig"
6757
+ },
6686
6758
  "react/forbid-component-props": {
6687
6759
  "anyOf": [
6688
6760
  {
@@ -6766,6 +6838,9 @@
6766
6838
  }
6767
6839
  ]
6768
6840
  },
6841
+ "react/globals": {
6842
+ "$ref": "#/definitions/RuleNoConfig"
6843
+ },
6769
6844
  "react/hook-use-state": {
6770
6845
  "anyOf": [
6771
6846
  {
@@ -6786,9 +6861,21 @@
6786
6861
  }
6787
6862
  ]
6788
6863
  },
6864
+ "react/hooks": {
6865
+ "$ref": "#/definitions/RuleNoConfig"
6866
+ },
6789
6867
  "react/iframe-missing-sandbox": {
6790
6868
  "$ref": "#/definitions/RuleNoConfig"
6791
6869
  },
6870
+ "react/immutability": {
6871
+ "$ref": "#/definitions/RuleNoConfig"
6872
+ },
6873
+ "react/incompatible-library": {
6874
+ "$ref": "#/definitions/RuleNoConfig"
6875
+ },
6876
+ "react/invariant": {
6877
+ "$ref": "#/definitions/RuleNoConfig"
6878
+ },
6792
6879
  "react/jsx-boolean-value": {
6793
6880
  "anyOf": [
6794
6881
  {
@@ -7090,6 +7177,9 @@
7090
7177
  }
7091
7178
  ]
7092
7179
  },
7180
+ "react/memo-dependencies": {
7181
+ "$ref": "#/definitions/RuleNoConfig"
7182
+ },
7093
7183
  "react/no-array-index-key": {
7094
7184
  "$ref": "#/definitions/RuleNoConfig"
7095
7185
  },
@@ -7105,6 +7195,9 @@
7105
7195
  "react/no-danger-with-children": {
7106
7196
  "$ref": "#/definitions/RuleNoConfig"
7107
7197
  },
7198
+ "react/no-deriving-state-in-effects": {
7199
+ "$ref": "#/definitions/RuleNoConfig"
7200
+ },
7108
7201
  "react/no-did-mount-set-state": {
7109
7202
  "anyOf": [
7110
7203
  {
@@ -7358,32 +7451,24 @@
7358
7451
  }
7359
7452
  ]
7360
7453
  },
7361
- "react/react-compiler": {
7362
- "anyOf": [
7363
- {
7364
- "$ref": "#/definitions/RuleNoConfig"
7365
- },
7366
- {
7367
- "items": [
7368
- {
7369
- "$ref": "#/definitions/AllowWarnDeny"
7370
- },
7371
- {
7372
- "$ref": "#/definitions/ReactCompilerConfig"
7373
- }
7374
- ],
7375
- "maxItems": 2,
7376
- "minItems": 2,
7377
- "type": "array"
7378
- }
7379
- ]
7454
+ "react/preserve-manual-memoization": {
7455
+ "$ref": "#/definitions/RuleNoConfig"
7456
+ },
7457
+ "react/purity": {
7458
+ "$ref": "#/definitions/RuleNoConfig"
7380
7459
  },
7381
7460
  "react/react-in-jsx-scope": {
7382
7461
  "$ref": "#/definitions/RuleNoConfig"
7383
7462
  },
7463
+ "react/refs": {
7464
+ "$ref": "#/definitions/RuleNoConfig"
7465
+ },
7384
7466
  "react/require-render-return": {
7385
7467
  "$ref": "#/definitions/RuleNoConfig"
7386
7468
  },
7469
+ "react/rule-suppression": {
7470
+ "$ref": "#/definitions/RuleNoConfig"
7471
+ },
7387
7472
  "react/rules-of-hooks": {
7388
7473
  "$ref": "#/definitions/RuleNoConfig"
7389
7474
  },
@@ -7407,6 +7492,12 @@
7407
7492
  }
7408
7493
  ]
7409
7494
  },
7495
+ "react/set-state-in-effect": {
7496
+ "$ref": "#/definitions/RuleNoConfig"
7497
+ },
7498
+ "react/set-state-in-render": {
7499
+ "$ref": "#/definitions/RuleNoConfig"
7500
+ },
7410
7501
  "react/state-in-constructor": {
7411
7502
  "anyOf": [
7412
7503
  {
@@ -7427,6 +7518,9 @@
7427
7518
  }
7428
7519
  ]
7429
7520
  },
7521
+ "react/static-components": {
7522
+ "$ref": "#/definitions/RuleNoConfig"
7523
+ },
7430
7524
  "react/style-prop-object": {
7431
7525
  "anyOf": [
7432
7526
  {
@@ -7447,9 +7541,24 @@
7447
7541
  }
7448
7542
  ]
7449
7543
  },
7544
+ "react/syntax": {
7545
+ "$ref": "#/definitions/RuleNoConfig"
7546
+ },
7547
+ "react/todo": {
7548
+ "$ref": "#/definitions/RuleNoConfig"
7549
+ },
7550
+ "react/unsupported-syntax": {
7551
+ "$ref": "#/definitions/RuleNoConfig"
7552
+ },
7553
+ "react/use-memo": {
7554
+ "$ref": "#/definitions/RuleNoConfig"
7555
+ },
7450
7556
  "react/void-dom-elements-no-children": {
7451
7557
  "$ref": "#/definitions/RuleNoConfig"
7452
7558
  },
7559
+ "react/void-use-memo": {
7560
+ "$ref": "#/definitions/RuleNoConfig"
7561
+ },
7453
7562
  "require-await": {
7454
7563
  "$ref": "#/definitions/RuleNoConfig"
7455
7564
  },
@@ -13849,6 +13958,18 @@
13849
13958
  },
13850
13959
  "type": "object"
13851
13960
  },
13961
+ "NoBlankBlocks": {
13962
+ "additionalProperties": false,
13963
+ "properties": {
13964
+ "enableFixer": {
13965
+ "default": false,
13966
+ "description": "Whether to automatically remove blank JSDoc blocks.",
13967
+ "markdownDescription": "Whether to automatically remove blank JSDoc blocks.",
13968
+ "type": "boolean"
13969
+ }
13970
+ },
13971
+ "type": "object"
13972
+ },
13852
13973
  "NoCallbackInPromiseConfig": {
13853
13974
  "additionalProperties": false,
13854
13975
  "properties": {
@@ -14263,7 +14384,7 @@
14263
14384
  "additionalProperties": false,
14264
14385
  "properties": {
14265
14386
  "allowIndirect": {
14266
- "default": true,
14387
+ "default": false,
14267
14388
  "description": "This `allowIndirect` option allows indirect `eval()` calls.\n\nIndirect calls to `eval`(e.g., `window['eval']`) are less dangerous\nthan direct calls because they cannot dynamically change the scope.\nIndirect `eval()` calls also typically have less impact on performance\ncompared to direct calls, as they do not invoke JavaScript's scope chain.",
14268
14389
  "markdownDescription": "This `allowIndirect` option allows indirect `eval()` calls.\n\nIndirect calls to `eval`(e.g., `window['eval']`) are less dangerous\nthan direct calls because they cannot dynamically change the scope.\nIndirect `eval()` calls also typically have less impact on performance\ncompared to direct calls, as they do not invoke JavaScript's scope chain.",
14269
14390
  "type": "boolean"
@@ -14694,7 +14815,7 @@
14694
14815
  "additionalProperties": false,
14695
14816
  "properties": {
14696
14817
  "skipComments": {
14697
- "default": true,
14818
+ "default": false,
14698
14819
  "description": "Whether to skip irregular whitespace in comments.",
14699
14820
  "markdownDescription": "Whether to skip irregular whitespace in comments.",
14700
14821
  "type": "boolean"
@@ -14755,12 +14876,12 @@
14755
14876
  "type": "array"
14756
14877
  },
14757
14878
  "default": {},
14758
- "description": "A map of snapshot file paths to arrays of snapshot names that are allowed to exceed the size limit.\nSnapshot names can be specified as regular expressions.",
14759
- "markdownDescription": "A map of snapshot file paths to arrays of snapshot names that are allowed to exceed the size limit.\nSnapshot names can be specified as regular expressions.",
14879
+ "description": "A map of snapshot file paths to arrays of snapshot names that are allowed to exceed the size limit.\nEach snapshot name is interpreted as a Rust regular expression. If it is not a valid regular\nexpression, it is matched as an exact literal string instead.",
14880
+ "markdownDescription": "A map of snapshot file paths to arrays of snapshot names that are allowed to exceed the size limit.\nEach snapshot name is interpreted as a Rust regular expression. If it is not a valid regular\nexpression, it is matched as an exact literal string instead.",
14760
14881
  "type": "object"
14761
14882
  },
14762
14883
  "inlineMaxSize": {
14763
- "default": 50,
14884
+ "default": null,
14764
14885
  "description": "Maximum number of lines allowed for inline snapshots.",
14765
14886
  "format": "uint32",
14766
14887
  "markdownDescription": "Maximum number of lines allowed for inline snapshots.",
@@ -16180,8 +16301,8 @@
16180
16301
  "$ref": "#/definitions/IgnorePattern_for_String"
16181
16302
  }
16182
16303
  ],
16183
- "description": "Specifies exceptions to this rule for unused arguments. Arguments whose\nnames match this pattern will be ignored.\n\nBy default, this pattern is `^_` unless options are configured with an\nobject. In this case it will default to [`None`]. Note that this\nbehavior deviates from both ESLint and TypeScript-ESLint, which never\nprovide a default pattern.\n\n#### Example\n\nExamples of **correct** code for this option when the pattern is `^_`:\n\n```javascript\nfunction foo(_a, b) {\nconsole.log(b);\n}\nfoo(1, 2);\n```",
16184
- "markdownDescription": "Specifies exceptions to this rule for unused arguments. Arguments whose\nnames match this pattern will be ignored.\n\nBy default, this pattern is `^_` unless options are configured with an\nobject. In this case it will default to [`None`]. Note that this\nbehavior deviates from both ESLint and TypeScript-ESLint, which never\nprovide a default pattern.\n\n#### Example\n\nExamples of **correct** code for this option when the pattern is `^_`:\n\n```javascript\nfunction foo(_a, b) {\nconsole.log(b);\n}\nfoo(1, 2);\n```"
16304
+ "description": "Specifies exceptions to this rule for unused arguments. Arguments whose\nnames match this pattern will be ignored.\n\nBy default, names starting with `_` are ignored, except for the bare `_`\nparameter. If options are configured with an object, this will default\nto [`None`]. Note that this behavior deviates from both ESLint and\nTypeScript-ESLint, which never provide a default pattern.\n\n#### Example\n\nExamples of **correct** code for this option when the pattern is `^_`:\n\n```javascript\nfunction foo(_a, b) {\nconsole.log(b);\n}\nfoo(1, 2);\n```",
16305
+ "markdownDescription": "Specifies exceptions to this rule for unused arguments. Arguments whose\nnames match this pattern will be ignored.\n\nBy default, names starting with `_` are ignored, except for the bare `_`\nparameter. If options are configured with an object, this will default\nto [`None`]. Note that this behavior deviates from both ESLint and\nTypeScript-ESLint, which never provide a default pattern.\n\n#### Example\n\nExamples of **correct** code for this option when the pattern is `^_`:\n\n```javascript\nfunction foo(_a, b) {\nconsole.log(b);\n}\nfoo(1, 2);\n```"
16185
16306
  },
16186
16307
  "caughtErrors": {
16187
16308
  "allOf": [
@@ -16718,6 +16839,153 @@
16718
16839
  }
16719
16840
  ]
16720
16841
  },
16842
+ "OneVar": {
16843
+ "allOf": [
16844
+ {
16845
+ "$ref": "#/definitions/OneVarConfig"
16846
+ }
16847
+ ],
16848
+ "description": "Enforces consistent grouping of variable declarations.",
16849
+ "markdownDescription": "Enforces consistent grouping of variable declarations."
16850
+ },
16851
+ "OneVarConfig": {
16852
+ "anyOf": [
16853
+ {
16854
+ "allOf": [
16855
+ {
16856
+ "$ref": "#/definitions/OneVarMode"
16857
+ }
16858
+ ],
16859
+ "description": "Applies one grouping mode to every declaration kind and initialization state.",
16860
+ "markdownDescription": "Applies one grouping mode to every declaration kind and initialization state."
16861
+ },
16862
+ {
16863
+ "allOf": [
16864
+ {
16865
+ "$ref": "#/definitions/OneVarOptions"
16866
+ }
16867
+ ],
16868
+ "description": "Configures grouping by declaration kind or initialization state.",
16869
+ "markdownDescription": "Configures grouping by declaration kind or initialization state."
16870
+ }
16871
+ ],
16872
+ "description": "Configuration accepted by the `one-var` rule.",
16873
+ "markdownDescription": "Configuration accepted by the `one-var` rule."
16874
+ },
16875
+ "OneVarMode": {
16876
+ "description": "Controls how variable declarators are grouped into declarations.",
16877
+ "markdownDescription": "Controls how variable declarators are grouped into declarations.",
16878
+ "oneOf": [
16879
+ {
16880
+ "description": "Requires one declaration per variable kind in each applicable scope.",
16881
+ "enum": [
16882
+ "always"
16883
+ ],
16884
+ "markdownDescription": "Requires one declaration per variable kind in each applicable scope.",
16885
+ "type": "string"
16886
+ },
16887
+ {
16888
+ "description": "Requires each declarator to have its own declaration statement.",
16889
+ "enum": [
16890
+ "never"
16891
+ ],
16892
+ "markdownDescription": "Requires each declarator to have its own declaration statement.",
16893
+ "type": "string"
16894
+ },
16895
+ {
16896
+ "description": "Requires adjacent declarations of the same kind to be combined.",
16897
+ "enum": [
16898
+ "consecutive"
16899
+ ],
16900
+ "markdownDescription": "Requires adjacent declarations of the same kind to be combined.",
16901
+ "type": "string"
16902
+ }
16903
+ ]
16904
+ },
16905
+ "OneVarOptions": {
16906
+ "additionalProperties": false,
16907
+ "description": "Options for configuring declaration grouping by kind or initialization state.\n\n`initialized` and `uninitialized` take precedence over the per-kind option for the\ncorresponding declarators.",
16908
+ "markdownDescription": "Options for configuring declaration grouping by kind or initialization state.\n\n`initialized` and `uninitialized` take precedence over the per-kind option for the\ncorresponding declarators.",
16909
+ "properties": {
16910
+ "awaitUsing": {
16911
+ "allOf": [
16912
+ {
16913
+ "$ref": "#/definitions/OneVarMode"
16914
+ }
16915
+ ],
16916
+ "default": null,
16917
+ "description": "Controls grouping for `await using` declarations.",
16918
+ "markdownDescription": "Controls grouping for `await using` declarations."
16919
+ },
16920
+ "const": {
16921
+ "allOf": [
16922
+ {
16923
+ "$ref": "#/definitions/OneVarMode"
16924
+ }
16925
+ ],
16926
+ "default": null,
16927
+ "description": "Controls grouping for `const` declarations.",
16928
+ "markdownDescription": "Controls grouping for `const` declarations."
16929
+ },
16930
+ "initialized": {
16931
+ "allOf": [
16932
+ {
16933
+ "$ref": "#/definitions/OneVarMode"
16934
+ }
16935
+ ],
16936
+ "default": null,
16937
+ "description": "Controls grouping for initialized declarators, overriding per-kind options.",
16938
+ "markdownDescription": "Controls grouping for initialized declarators, overriding per-kind options."
16939
+ },
16940
+ "let": {
16941
+ "allOf": [
16942
+ {
16943
+ "$ref": "#/definitions/OneVarMode"
16944
+ }
16945
+ ],
16946
+ "default": null,
16947
+ "description": "Controls grouping for `let` declarations.",
16948
+ "markdownDescription": "Controls grouping for `let` declarations."
16949
+ },
16950
+ "separateRequires": {
16951
+ "default": false,
16952
+ "description": "Keeps direct `require(...)` initializers separate from other initialized declarations.",
16953
+ "markdownDescription": "Keeps direct `require(...)` initializers separate from other initialized declarations.",
16954
+ "type": "boolean"
16955
+ },
16956
+ "uninitialized": {
16957
+ "allOf": [
16958
+ {
16959
+ "$ref": "#/definitions/OneVarMode"
16960
+ }
16961
+ ],
16962
+ "default": null,
16963
+ "description": "Controls grouping for uninitialized declarators, overriding per-kind options.",
16964
+ "markdownDescription": "Controls grouping for uninitialized declarators, overriding per-kind options."
16965
+ },
16966
+ "using": {
16967
+ "allOf": [
16968
+ {
16969
+ "$ref": "#/definitions/OneVarMode"
16970
+ }
16971
+ ],
16972
+ "default": null,
16973
+ "description": "Controls grouping for `using` declarations.",
16974
+ "markdownDescription": "Controls grouping for `using` declarations."
16975
+ },
16976
+ "var": {
16977
+ "allOf": [
16978
+ {
16979
+ "$ref": "#/definitions/OneVarMode"
16980
+ }
16981
+ ],
16982
+ "default": null,
16983
+ "description": "Controls grouping for `var` declarations.",
16984
+ "markdownDescription": "Controls grouping for `var` declarations."
16985
+ }
16986
+ },
16987
+ "type": "object"
16988
+ },
16721
16989
  "OnlyExportComponentsConfig": {
16722
16990
  "additionalProperties": false,
16723
16991
  "properties": {
@@ -18124,18 +18392,6 @@
18124
18392
  }
18125
18393
  ]
18126
18394
  },
18127
- "ReactCompilerConfig": {
18128
- "additionalProperties": false,
18129
- "properties": {
18130
- "reportAllBailouts": {
18131
- "default": false,
18132
- "description": "Also report compiler bail-outs — places where React Compiler skipped a\ncomponent or hook (for example because of unsupported syntax) without\nfinding a rule violation. These do not indicate incorrect code, only\ncode that the compiler declined to optimize.",
18133
- "markdownDescription": "Also report compiler bail-outs — places where React Compiler skipped a\ncomponent or hook (for example because of unsupported syntax) without\nfinding a rule violation. These do not indicate incorrect code, only\ncode that the compiler declined to optimize.",
18134
- "type": "boolean"
18135
- }
18136
- },
18137
- "type": "object"
18138
- },
18139
18395
  "ReactPerfConfig": {
18140
18396
  "additionalProperties": false,
18141
18397
  "properties": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/tsgo",
3
- "version": "0.36.4",
3
+ "version": "0.37.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.36.4",
45
- "@effect/tsgo-win32-arm64": "0.36.4",
46
- "@effect/tsgo-linux-x64": "0.36.4",
47
- "@effect/tsgo-linux-arm64": "0.36.4",
48
- "@effect/tsgo-linux-arm": "0.36.4",
49
- "@effect/tsgo-darwin-x64": "0.36.4",
50
- "@effect/tsgo-darwin-arm64": "0.36.4"
44
+ "@effect/tsgo-win32-x64": "0.37.0",
45
+ "@effect/tsgo-win32-arm64": "0.37.0",
46
+ "@effect/tsgo-linux-x64": "0.37.0",
47
+ "@effect/tsgo-linux-arm64": "0.37.0",
48
+ "@effect/tsgo-linux-arm": "0.37.0",
49
+ "@effect/tsgo-darwin-x64": "0.37.0",
50
+ "@effect/tsgo-darwin-arm64": "0.37.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@effect/platform-node": "^4.0.0-beta.107",