• Joined on 2026-03-14

@effect-guard/lsp-plugin (0.3.0)

Published 2026-06-11 00:19:02 +00:00 by ada

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-service
  • effectLanguageServicePluginName - the plugin name to use in tsconfig.json
  • effectLanguageServiceTsPlugin - tiny helper object for config generation
  • EffectLanguageServiceTsConfig - 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:

  1. add this package as a dev dependency in the workspace
  2. add the plugin entry to the target tsconfig.json
  3. 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
Details
npm
2026-06-11 00:19:02 +00:00
1
latest
1.4 KiB
Assets (1)
Versions (1) View all
0.3.0 2026-06-11