From cb03655aacb6459bbc4637d9fcb1b6c35133091b Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Mon, 25 Aug 2025 23:11:38 -0500 Subject: [PATCH] fix: eslint ENOTEMPTY (#2252) --- packages/opencode/src/lsp/index.ts | 1 + packages/opencode/src/lsp/server.ts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/lsp/index.ts b/packages/opencode/src/lsp/index.ts index 3703284e..678f6021 100644 --- a/packages/opencode/src/lsp/index.ts +++ b/packages/opencode/src/lsp/index.ts @@ -140,6 +140,7 @@ export namespace LSP { s.broken.add(root + server.id) handle.process.kill() log.error(`Failed to initialize LSP client ${server.id}`, { error: err }) + return undefined }) if (!client) continue s.clients.push(client) diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index 46c52ec4..2636df96 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -148,6 +148,7 @@ export namespace LSPServer { async spawn(app, root) { const eslint = await Bun.resolve("eslint", app.path.cwd).catch(() => {}) if (!eslint) return + log.info("spawning eslint server") const serverPath = path.join(Global.Path.bin, "vscode-eslint", "server", "out", "eslintServer.js") if (!(await Bun.file(serverPath).exists())) { if (Flag.OPENCODE_DISABLE_LSP_DOWNLOAD) return @@ -164,7 +165,9 @@ export namespace LSPServer { const extractedPath = path.join(Global.Path.bin, "vscode-eslint-main") const finalPath = path.join(Global.Path.bin, "vscode-eslint") - if (await Bun.file(finalPath).exists()) { + const stats = await fs.stat(finalPath).catch(() => undefined) + if (stats) { + log.info("removing old eslint installation", { path: finalPath }) await fs.rm(finalPath, { force: true, recursive: true }) } await fs.rename(extractedPath, finalPath)