Skip to content

Conversation

@ALX99
Copy link

@ALX99 ALX99 commented Dec 19, 2025

Description

Adds a new formula for vscode-eslint-language-server

Verification

  • Followed contribution guidelines
  • No duplicate pull requests
  • Built formula locally: brew install --build-from-source vscode-eslint-language-server.rb
  • Passed brew audit --strict --new vscode-eslint-language-server.rb
  • Passed brew test vscode-eslint-language-server.rb

Details

@github-actions github-actions bot added nodejs Node or npm use is a significant feature of the PR or issue new formula PR adds a new formula to Homebrew/homebrew-core labels Dec 19, 2025
@ALX99 ALX99 force-pushed the eslint-language-server branch from 9ed8f94 to 8872123 Compare December 19, 2025 16:37
@ALX99 ALX99 changed the title eslint-language-server: add formula for ESLint Language Server vscode-eslint-language-server: add formula for VSCode ESLint Language Server Dec 19, 2025
@ALX99 ALX99 force-pushed the eslint-language-server branch from 8872123 to 569b1a5 Compare December 19, 2025 16:40
@ALX99 ALX99 changed the title vscode-eslint-language-server: add formula for VSCode ESLint Language Server vscode-eslint-language-server (new formula) Dec 19, 2025
@ALX99 ALX99 changed the title vscode-eslint-language-server (new formula) vscode-eslint-language-server v3.0.20 (new formula) Dec 19, 2025
@ALX99 ALX99 force-pushed the eslint-language-server branch 5 times, most recently from de89d10 to 75f7b49 Compare December 19, 2025 17:36
class VscodeEslintLanguageServer < Formula
desc "ESLint language server from VSCode"
homepage "https://github.com/microsoft/vscode-eslint"
url "https://github.com/microsoft/vscode-eslint/archive/refs/tags/release/3.0.20.tar.gz"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using npm registery?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, please clarify. There is no NPM package

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah, I thought it should have some npm package for this to install, let me run another check

system "npm", "ci"
system "npm", "run", "compile:server"

libexec.install Dir["*"]

# Create a wrapper script that explicitly invokes node with the server script
(bin/"vscode-eslint-language-server").write <<~EOS
#!/usr/bin/env bash
exec "#{Formula["node"].opt_bin}/node" "#{libexec}/server/out/eslintServer.js" "$@"
EOS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check out other node formulae

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please elaborate a bit more, vscode-eslint does not provide a binary by default so I think we have to create a wrapper script like this

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you provide the current upstream installation methods?

Copy link
Author

@ALX99 ALX99 Dec 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than than of what is mentioned in the README there are none I believe. The language server is bundled together with the vscode plugin and not provided separately and majority of people just click the install button in vscode.

There is another brew package here that also tries to address this issue by repackaging the language servers from vscode as a separate NPM package. However, ideally I would not like to have to rely on this one as already it seems like it's not being updated and is not controlled by the vscode maintainers.

What I'm trying to do for this formula is the same way the Arch package maintainers are doing here. (Cloning the official repo, compiling the server and providing it as a standalone binary for editors other than vscode which rely on LSPs)

@chenrui333 chenrui333 marked this pull request as draft December 19, 2025 18:01
@github-actions github-actions bot added the autosquash Automatically squash pull request commits according to Homebrew style. label Dec 20, 2025
@ALX99 ALX99 force-pushed the eslint-language-server branch 9 times, most recently from a5a0a79 to b1a71fe Compare December 23, 2025 03:57
@github-actions github-actions bot removed the autosquash Automatically squash pull request commits according to Homebrew style. label Dec 23, 2025
@ALX99 ALX99 requested a review from chenrui333 December 23, 2025 03:57
… Server

Add a new formula to provide the Language Server Protocol implementation
for ESLint from the official vscode-eslint repository. This allows
editor integration with ESLint through LSP-compatible editors.

Co-authored-by: Rui Chen <rui@chenrui.dev>
@ALX99 ALX99 force-pushed the eslint-language-server branch from b1a71fe to ddda1e2 Compare December 23, 2025 04:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new formula PR adds a new formula to Homebrew/homebrew-core nodejs Node or npm use is a significant feature of the PR or issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants