diff --git a/package.json b/package.json index 276cd4db39..6d055c337b 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,8 @@ "@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", "@evilmartians/lefthook": "^2.1.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddf957384f..03d2e201b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -92,6 +92,12 @@ 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 '@eslint/eslintrc': specifier: ^3.0.0 version: 3.3.5 @@ -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: @@ -9688,6 +9733,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 diff --git a/tsconfig.base.json b/tsconfig.base.json index fc5c643230..a5698c6302 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -4,6 +4,58 @@ "declaration": true, "declarationMap": true, "skipLibCheck": true, - "baseUrl": "." + "baseUrl": ".", + "plugins": [ + { + "name": "@effect/language-service", + "refactors": true, + "diagnostics": true, + "includeSuggestionsInTsc": true, + "quickinfo": true, + "completions": true, + "debug": false, + "goto": true, + "renames": true, + "ignoreEffectSuggestionsInTscExitCode": true, + "ignoreEffectWarningsInTscExitCode": false, + "ignoreEffectErrorsInTscExitCode": false, + "skipDisabledOptimization": false, + "mermaidProvider": "mermaid.live", + "noExternal": false, + "layerGraphFollowDepth": 0, + "inlays": false, + "namespaceImportPackages": [], + "barrelImportPackages": [], + "importAliases": {}, + "topLevelNamedReexports": "ignore", + "keyPatterns": [ + { + "target": "service", + "pattern": "default", + "skipLeadingPath": ["src/"] + }, + { + "target": "custom", + "pattern": "default", + "skipLeadingPath": ["src/"] + } + ], + "extendedKeyDetection": false, + "pipeableMinArgCount": 2, + "allowedDuplicatedPackages": [], + "effectFn": ["span"], + "diagnosticSeverity": {}, + "overrides": [ + { + "include": ["src/**/*.ts"], + "options": { + "diagnosticSeverity": { + "floatingEffect": "error" + } + } + } + ] + } + ] } }