@effect-guard/lsp-plugin (0.3.0)
Installation
@effect-guard:registry=https://git-old.adawynn.dev/api/packages/ada/npm/npm install @effect-guard/lsp-plugin@0.3.0"@effect-guard/lsp-plugin": "0.3.0"About this package
@effect-guard/lsp-plugin
Thin ESM-only wrapper around @effect/language-service for workspace consumers.
This package does not implement a custom TypeScript server plugin. It simply re-exports the upstream language-service package and gives you a tiny, stable surface for wiring it into a workspace.
Installation
pnpm add -D @effect-guard/lsp-plugin @effect/language-service typescript
Public contract
This package intentionally exposes only a small setup surface:
languageServicePlugin- default re-export of@effect/language-serviceeffectLanguageServicePluginName- the plugin name to use intsconfig.jsoneffectLanguageServiceTsPlugin- tiny helper object for config generationEffectLanguageServiceTsConfig- minimal TS config shape for consumers
tsconfig plugin wiring
Add the plugin to the TypeScript project that should use Effect language service features:
{
"compilerOptions": {
"plugins": [
{ "name": "@effect/language-service" }
]
}
}
If you generate config in code, you can use the exported constant:
import {
effectLanguageServiceTsPlugin,
type EffectLanguageServiceTsConfig,
} from "@effect-guard/lsp-plugin";
const config: EffectLanguageServiceTsConfig = {
plugins: [effectLanguageServiceTsPlugin],
};
Workspace TypeScript requirement
The plugin is meant to run against the workspace TypeScript version used by your
editor or repo. Keep typescript installed at the workspace root so the editor
and the package see the same compiler APIs.
Build-time patch workflow
When you need the language service features in a repo that already owns its TypeScript configuration, patch the workspace package instead of forking the plugin:
- add this package as a dev dependency in the workspace
- add the plugin entry to the target
tsconfig.json - rebuild or reload the editor so TypeScript picks up the plugin
For generated or layered configs, keep the patch small: only add the plugin
entry and keep all analysis logic in @effect/language-service itself.
Dependencies
Dependencies
| ID | Version |
|---|---|
| @effect/language-service | ^0.33.0 |