From e0fc0b616c158fc9230c3e8d18e4573415dc1074 Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Tue, 21 Apr 2026 08:19:29 -0600 Subject: [PATCH 1/3] chore: add-lsp-plugin \r https://github.com/microsoft/typescript-go --- package.json | 2 ++ pnpm-lock.yaml | 81 ++++++++++++++++++++++++++++++++++++++++++++++ tsconfig.base.json | 81 +++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 163 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 276cd4db39..60c84894f0 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@commitlint/config-conventional": "^20.0.0", "@commitlint/prompt": "^20.0.0", "@effect/cli": "catalog:effect", + "@effect/tsgo": "^0.5.1", "@eslint/eslintrc": "^3.0.0", "@eslint/js": "~9.39.0", "@evilmartians/lefthook": "^2.1.4", @@ -102,6 +103,7 @@ "pkg-pr-new": "^0.0.67", "playwright": "^1.47.2", "prettier": "^3.2.5", + "setup": "^0.0.3", "shx": "^0.4.0", "swc-loader": "0.2.7", "syncpack": "^15.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddf957384f..18d3f6bf0e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,6 +92,9 @@ importers: '@effect/cli': specifier: catalog:effect version: 0.69.2(@effect/platform@0.90.10(effect@3.21.0))(@effect/printer-ansi@0.45.0(@effect/typeclass@0.36.0(effect@3.21.0))(effect@3.21.0))(@effect/printer@0.45.0(@effect/typeclass@0.36.0(effect@3.21.0))(effect@3.21.0))(effect@3.21.0) + '@effect/tsgo': + specifier: ^0.5.1 + version: 0.5.1 '@eslint/eslintrc': specifier: ^3.0.0 version: 3.3.5 @@ -236,6 +239,9 @@ importers: prettier: specifier: ^3.2.5 version: 3.8.3 + setup: + specifier: ^0.0.3 + version: 0.0.3 shx: specifier: ^0.4.0 version: 0.4.0 @@ -1609,6 +1615,45 @@ packages: '@effect/platform': ^0.90.4 effect: ^3.17.7 + '@effect/tsgo-darwin-arm64@0.5.1': + resolution: {integrity: sha512-sJFjIPbfKTB9jLsUcMCmIZCOdTOQQqpKa2Ah7kP+8jXTqNvmIFZg4IzZQIPjHDSCKfU8f3JfOEEdhwktCdQ57Q==} + cpu: [arm64] + os: [darwin] + + '@effect/tsgo-darwin-x64@0.5.1': + resolution: {integrity: sha512-2b4WtHHddhUl846ZJOPhv3C/3JRwocwUer65vsxkb0ixS76ly3z1BOWwdL7naAsrtaUJ0n9FaN9WI4tbwxa5OA==} + cpu: [x64] + os: [darwin] + + '@effect/tsgo-linux-arm64@0.5.1': + resolution: {integrity: sha512-tgBW2rGLSewvnE61EYU31tmH6mdrrwHpNmbnYiNgU2rjs35gVYin2WZ7aM9r71hjUYbS2p9i4OcwRvSbyyVq/Q==} + cpu: [arm64] + os: [linux] + + '@effect/tsgo-linux-arm@0.5.1': + resolution: {integrity: sha512-xs7+sx71e+lhRgl6R0ZfCxFXzTwhO00BcpPs5CtfNS4EEhNQc9EfRvGYtx3D4l9+5KwPr5VWJbYJz99Y5e2H9w==} + cpu: [arm] + os: [linux] + + '@effect/tsgo-linux-x64@0.5.1': + resolution: {integrity: sha512-70dMv3/H+P3KDNWb31qPXJiJh6s78k3+J+QXN8RatKiQYrJw2HhREYL6ToVx9y5WOV7XFvC0eCIIa4/AMwQLTw==} + cpu: [x64] + os: [linux] + + '@effect/tsgo-win32-arm64@0.5.1': + resolution: {integrity: sha512-v4lSFoPLYmVFBJbtOseSd0T0Vij5Vdk6IAUKpQwMiy0gSDPJnE+M6Esj3tY9IpFD3LxcdqhTxBl73pEcf+ihYg==} + cpu: [arm64] + os: [win32] + + '@effect/tsgo-win32-x64@0.5.1': + resolution: {integrity: sha512-dfyXhmVQkxncSnujjSXsOMwzqFIBNDViXiD3Uj9DPDNLSxyg0ybBNxYJTpvJhqHxqseA9wE2aCIMu/pfpac+0Q==} + cpu: [x64] + os: [win32] + + '@effect/tsgo@0.5.1': + resolution: {integrity: sha512-INANZ/NK9akOwSQVWpQgSDLjlegrs4gui21nuQsgN7zCjCmj4m/ixUDuVgtW2C0UfqhPWWabyFWCDntu7ryCZQ==} + hasBin: true + '@effect/typeclass@0.36.0': resolution: {integrity: sha512-+8xYvX4tjD7gKwGYzOyFh90I+ptdXzoNHLQTSa8kGh/xOVZMIGYb0VgLoNHE02UsuVrB+JJJuBmKLdd5TeDTPg==} peerDependencies: @@ -7325,6 +7370,9 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + setup@0.0.3: + resolution: {integrity: sha512-NcuGT1k9V3jdwcNdZzpnO6h2WtLMieaIVRMWeQvlSVRMB6b51T3jeUBSeBzP5Mmqy50viW5y7LRaMaTm/MZ4CA==} + shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -9688,6 +9736,37 @@ snapshots: effect: 3.21.0 uuid: 11.1.1 + '@effect/tsgo-darwin-arm64@0.5.1': + optional: true + + '@effect/tsgo-darwin-x64@0.5.1': + optional: true + + '@effect/tsgo-linux-arm64@0.5.1': + optional: true + + '@effect/tsgo-linux-arm@0.5.1': + optional: true + + '@effect/tsgo-linux-x64@0.5.1': + optional: true + + '@effect/tsgo-win32-arm64@0.5.1': + optional: true + + '@effect/tsgo-win32-x64@0.5.1': + optional: true + + '@effect/tsgo@0.5.1': + optionalDependencies: + '@effect/tsgo-darwin-arm64': 0.5.1 + '@effect/tsgo-darwin-x64': 0.5.1 + '@effect/tsgo-linux-arm': 0.5.1 + '@effect/tsgo-linux-arm64': 0.5.1 + '@effect/tsgo-linux-x64': 0.5.1 + '@effect/tsgo-win32-arm64': 0.5.1 + '@effect/tsgo-win32-x64': 0.5.1 + '@effect/typeclass@0.36.0(effect@3.21.0)': dependencies: effect: 3.21.0 @@ -16299,6 +16378,8 @@ snapshots: setprototypeof@1.2.0: {} + setup@0.0.3: {} + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 diff --git a/tsconfig.base.json b/tsconfig.base.json index fc5c643230..d3a8f8dff1 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -4,6 +4,85 @@ "declaration": true, "declarationMap": true, "skipLibCheck": true, - "baseUrl": "." + "baseUrl": ".", + "plugins": [ + { + "name": "@effect/language-service", + // Controls Effect refactors. (default: true) + "refactors": true, + // Controls Effect diagnostics. (default: true) + "diagnostics": true, + // When false, suggestion-level Effect diagnostics are omitted from tsc CLI output. (default: true) + "includeSuggestionsInTsc": true, + // Controls Effect quickinfo. (default: true) + "quickinfo": true, + // Controls Effect completions. (default: true) + "completions": true, + // Enables additional debug-only Effect language service output. (default: false) + "debug": false, + // Controls Effect goto references support. (default: true) + "goto": true, + // Controls Effect rename helpers. (default: true) + "renames": true, + // When true, suggestion diagnostics do not affect the tsc exit code. (default: true) + "ignoreEffectSuggestionsInTscExitCode": true, + // When true, warning diagnostics do not affect the tsc exit code. (default: false) + "ignoreEffectWarningsInTscExitCode": false, + // When true, error diagnostics do not affect the tsc exit code. (default: false) + "ignoreEffectErrorsInTscExitCode": false, + // When true, disabled diagnostics are still processed so directives can re-enable them. (default: false) + "skipDisabledOptimization": false, + // Mermaid rendering service for layer graph links. Accepts mermaid.live, mermaid.com, or a custom URL. (default: "mermaid.live") + "mermaidProvider": "mermaid.live", + // When true, suppresses external Mermaid links in hover output. (default: false) + "noExternal": false, + // How many levels deep the layer graph extraction follows symbol references. (default: 0) + "layerGraphFollowDepth": 0, + // When true, suppresses redundant return-type inlay hints on supported Effect generator functions. (default: false) + "inlays": false, + // Package names that should prefer namespace imports. (default: []) + "namespaceImportPackages": [], + // Package names that should prefer barrel named imports. (default: []) + "barrelImportPackages": [], + // Package-level import aliases keyed by package name. (default: {}) + "importAliases": {}, + // Controls whether named reexports are followed at package top-level. (default: "ignore") + "topLevelNamedReexports": "ignore", + // Configures key pattern formulas for the deterministicKeys rule. (default: [{"target":"service","pattern":"default","skipLeadingPath":["src/"]},{"target":"custom","pattern":"default","skipLeadingPath":["src/"]}]) + "keyPatterns": [ + { + "target": "service", + "pattern": "default", + "skipLeadingPath": ["src/"] + }, + { + "target": "custom", + "pattern": "default", + "skipLeadingPath": ["src/"] + } + ], + // Enables matching constructors with @effect-identifier annotations. (default: false) + "extendedKeyDetection": false, + // Minimum number of contiguous pipeable transformations to trigger missedPipeableOpportunity. (default: 2) + "pipeableMinArgCount": 2, + // Package names allowed to have multiple versions without triggering duplicatePackage. (default: []) + "allowedDuplicatedPackages": [], + // Controls which effectFnOpportunity quickfix variants are offered. (default: ["span"]) + "effectFn": ["span"], + // Maps rule names to severity levels. Use {} to enable diagnostics with rule defaults. (default: {}) + "diagnosticSeverity": {}, + // Ordered per-file diagnostic option overrides. (default: [{"include":["src/**/*.ts"],"options":{"diagnosticSeverity":{"floatingEffect":"error"}}}]) + "overrides": [ + { + "include": ["src/**/*.ts"], + "options": { + "diagnosticSeverity": { + "floatingEffect": "error" + } + } + } + ] + } + ] } } From ab11424c517eb87edbbe4ce559e7d35ed6215fab Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Tue, 5 May 2026 08:25:59 -0600 Subject: [PATCH 2/3] chore: remove-package --- package.json | 1 - pnpm-lock.yaml | 8 -------- 2 files changed, 9 deletions(-) diff --git a/package.json b/package.json index 60c84894f0..e46ac7d0f5 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,6 @@ "pkg-pr-new": "^0.0.67", "playwright": "^1.47.2", "prettier": "^3.2.5", - "setup": "^0.0.3", "shx": "^0.4.0", "swc-loader": "0.2.7", "syncpack": "^15.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 18d3f6bf0e..b62c2850b8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -239,9 +239,6 @@ importers: prettier: specifier: ^3.2.5 version: 3.8.3 - setup: - specifier: ^0.0.3 - version: 0.0.3 shx: specifier: ^0.4.0 version: 0.4.0 @@ -7370,9 +7367,6 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - setup@0.0.3: - resolution: {integrity: sha512-NcuGT1k9V3jdwcNdZzpnO6h2WtLMieaIVRMWeQvlSVRMB6b51T3jeUBSeBzP5Mmqy50viW5y7LRaMaTm/MZ4CA==} - shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -16378,8 +16372,6 @@ snapshots: setprototypeof@1.2.0: {} - setup@0.0.3: {} - shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 From ac7bd0e1dddf4dd32d5044fb6d054ed432a41a87 Mon Sep 17 00:00:00 2001 From: Ryan Bas Date: Thu, 7 May 2026 15:29:25 -0600 Subject: [PATCH 3/3] chore: pr-comments --- package.json | 1 + pnpm-lock.yaml | 3 +++ tsconfig.base.json | 27 --------------------------- 3 files changed, 4 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index e46ac7d0f5..6d055c337b 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "@commitlint/config-conventional": "^20.0.0", "@commitlint/prompt": "^20.0.0", "@effect/cli": "catalog:effect", + "@effect/language-service": "catalog:effect", "@effect/tsgo": "^0.5.1", "@eslint/eslintrc": "^3.0.0", "@eslint/js": "~9.39.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b62c2850b8..03d2e201b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,6 +92,9 @@ importers: '@effect/cli': specifier: catalog:effect version: 0.69.2(@effect/platform@0.90.10(effect@3.21.0))(@effect/printer-ansi@0.45.0(@effect/typeclass@0.36.0(effect@3.21.0))(effect@3.21.0))(@effect/printer@0.45.0(@effect/typeclass@0.36.0(effect@3.21.0))(effect@3.21.0))(effect@3.21.0) + '@effect/language-service': + specifier: catalog:effect + version: 0.35.2 '@effect/tsgo': specifier: ^0.5.1 version: 0.5.1 diff --git a/tsconfig.base.json b/tsconfig.base.json index d3a8f8dff1..a5698c6302 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -8,47 +8,26 @@ "plugins": [ { "name": "@effect/language-service", - // Controls Effect refactors. (default: true) "refactors": true, - // Controls Effect diagnostics. (default: true) "diagnostics": true, - // When false, suggestion-level Effect diagnostics are omitted from tsc CLI output. (default: true) "includeSuggestionsInTsc": true, - // Controls Effect quickinfo. (default: true) "quickinfo": true, - // Controls Effect completions. (default: true) "completions": true, - // Enables additional debug-only Effect language service output. (default: false) "debug": false, - // Controls Effect goto references support. (default: true) "goto": true, - // Controls Effect rename helpers. (default: true) "renames": true, - // When true, suggestion diagnostics do not affect the tsc exit code. (default: true) "ignoreEffectSuggestionsInTscExitCode": true, - // When true, warning diagnostics do not affect the tsc exit code. (default: false) "ignoreEffectWarningsInTscExitCode": false, - // When true, error diagnostics do not affect the tsc exit code. (default: false) "ignoreEffectErrorsInTscExitCode": false, - // When true, disabled diagnostics are still processed so directives can re-enable them. (default: false) "skipDisabledOptimization": false, - // Mermaid rendering service for layer graph links. Accepts mermaid.live, mermaid.com, or a custom URL. (default: "mermaid.live") "mermaidProvider": "mermaid.live", - // When true, suppresses external Mermaid links in hover output. (default: false) "noExternal": false, - // How many levels deep the layer graph extraction follows symbol references. (default: 0) "layerGraphFollowDepth": 0, - // When true, suppresses redundant return-type inlay hints on supported Effect generator functions. (default: false) "inlays": false, - // Package names that should prefer namespace imports. (default: []) "namespaceImportPackages": [], - // Package names that should prefer barrel named imports. (default: []) "barrelImportPackages": [], - // Package-level import aliases keyed by package name. (default: {}) "importAliases": {}, - // Controls whether named reexports are followed at package top-level. (default: "ignore") "topLevelNamedReexports": "ignore", - // Configures key pattern formulas for the deterministicKeys rule. (default: [{"target":"service","pattern":"default","skipLeadingPath":["src/"]},{"target":"custom","pattern":"default","skipLeadingPath":["src/"]}]) "keyPatterns": [ { "target": "service", @@ -61,17 +40,11 @@ "skipLeadingPath": ["src/"] } ], - // Enables matching constructors with @effect-identifier annotations. (default: false) "extendedKeyDetection": false, - // Minimum number of contiguous pipeable transformations to trigger missedPipeableOpportunity. (default: 2) "pipeableMinArgCount": 2, - // Package names allowed to have multiple versions without triggering duplicatePackage. (default: []) "allowedDuplicatedPackages": [], - // Controls which effectFnOpportunity quickfix variants are offered. (default: ["span"]) "effectFn": ["span"], - // Maps rule names to severity levels. Use {} to enable diagnostics with rule defaults. (default: {}) "diagnosticSeverity": {}, - // Ordered per-file diagnostic option overrides. (default: [{"include":["src/**/*.ts"],"options":{"diagnosticSeverity":{"floatingEffect":"error"}}}]) "overrides": [ { "include": ["src/**/*.ts"],