Summary
Add ESLint Language Server Protocol support to the @pleaseai/code-lsp package, enabling real-time ESLint diagnostics for JavaScript/TypeScript files.
Approach
Download and build vscode-eslint from GitHub (following opencode reference implementation):
- Download vscode-eslint from GitHub main branch
- Run
npm install && npm run compile to build
- Install to
~/.cache/dora/eslint-lsp/vscode-eslint/
- Server path:
vscode-eslint/server/out/eslintServer.js
Technical Details
- Prerequisite check: Only start if eslint is installed in the project
- Root detection: Lock files (package-lock.json, bun.lock, yarn.lock, pnpm-lock.yaml)
- Extensions: .ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue
- Memory: Uses
--max-old-space-size=8192 for large codebases
Tasks
Reference
Based on opencode implementation: ref/opencode/packages/opencode/src/lsp/server.ts (ESLint: Info)
Summary
Add ESLint Language Server Protocol support to the @pleaseai/code-lsp package, enabling real-time ESLint diagnostics for JavaScript/TypeScript files.
Approach
Download and build vscode-eslint from GitHub (following opencode reference implementation):
npm install && npm run compileto build~/.cache/dora/eslint-lsp/vscode-eslint/vscode-eslint/server/out/eslintServer.jsTechnical Details
--max-old-space-size=8192for large codebasesTasks
Reference
Based on opencode implementation: ref/opencode/packages/opencode/src/lsp/server.ts (ESLint: Info)