Skip to content

fix(oxlint): support Vite+ via vp lint - #4549

Merged
justinmk merged 1 commit into
neovim:masterfrom
UfukUstali:fix/oxlint-vp-fallback
Oct 13, 2026
Merged

justinmk merged 1 commit into
neovim:masterfrom
UfukUstali:fix/oxlint-vp-fallback

Conversation

@UfukUstali

Copy link
Copy Markdown
Contributor

Vite+ exposes vp but no longer provides a standalone oxlint binary. The oxlint config already recognizes Vite+ projects, but it only looks for oxlint, so the language server fails to start when a project uses Vite+ without a separate oxlint installation.

Look for oxlint and vp in the project's node_modules/.bin before checking PATH. Keep oxlint preferred within each location, and start vp with lint --lsp when selected.

Related discussion: voidzero-dev/vite-plus#3016. That PR proposed restoring the editor binaries; the discussion explains that the wrappers were removed because they could conflict with the upstream packages during installation.

Validation: 48 executable-discovery cases in headless Neovim using temporary executable files, StyLua, LuaLS diagnostics, and the repository lint script all pass.

@UfukUstali
UfukUstali force-pushed the fix/oxlint-vp-fallback branch from 4418300 to 86ea5b4 Compare October 13, 2026 12:46
@UfukUstali
UfukUstali marked this pull request as ready for review October 13, 2026 12:47
@justinmk

Copy link
Copy Markdown
Member

Vite+ exposes vp but no longer provides a standalone oxlint binary

This all sounds like gibberish to me. Is oxlint a separate project or is oxlint deprecated entirely?

If oxlint is a separate project, and "vite" was shipping oxlint as some sort of convenience, then it sounds like this change should be in a vite-specific config?

@UfukUstali

UfukUstali commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

oxlint is the actual linter. vite+ embeds oxlint and some other tools to provide complete js/ts ecosystem tooling. when using vite+ you don't need to seperatly install oxlint as it is already embeded and exposed as the vp lint command. the problem is oxlint is then not in the node_modules/.bin and only vp is. so this pr makes lspconfig look for vp as well as oxlint.

@justinmk

justinmk commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

glancing at https://github.com/voidzero-dev/vite-plus , it looks like "vite plus" some sort of distro for "vite", and has nothing to do with vite itself.

This PR starts by casually mentioning "Vite+" as if that is just an obvious thing. Without explaining that Vite+ is a third-party wrapper around Vite.

So "vite plus" is doing random things and now expects the entire ecosystem (such as these lsp configs) to bend over for it?

@UfukUstali

Copy link
Copy Markdown
Contributor Author

both oxlint and vite plus is developed by the same team. they just provide the option to use the linter however you see fit or as a part of a more complete toolset being vite+.

@justinmk

Copy link
Copy Markdown
Member

I see... well, good luck out there.

@justinmk
justinmk merged commit 92ba120 into neovim:master Oct 13, 2026
5 checks passed
@UfukUstali
UfukUstali deleted the fix/oxlint-vp-fallback branch October 13, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants