Skip to content

feat(oxlint/lsp): add vite plus version to server info#21587

Merged
graphite-app[bot] merged 1 commit intomainfrom
04-20-feat_oxlnt_lsp_add_vite_plus_version_to_server_info
Apr 21, 2026
Merged

feat(oxlint/lsp): add vite plus version to server info#21587
graphite-app[bot] merged 1 commit intomainfrom
04-20-feat_oxlnt_lsp_add_vite_plus_version_to_server_info

Conversation

@Sysix
Copy link
Copy Markdown
Member

@Sysix Sysix commented Apr 20, 2026

closes #21561

Copy link
Copy Markdown
Member Author

Sysix commented Apr 20, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Sysix Sysix changed the title feat(oxlnt/lsp): add vite plus version to server info feat(oxlint/lsp): add vite plus version to server info Apr 20, 2026
@Sysix Sysix requested a review from Copilot April 20, 2026 17:13
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds support for surfacing the Vite+ (VP) version in the LSP serverInfo.version when VP_VERSION is set, and updates the LSP test harness to validate this behavior.

Changes:

  • Allow passing extra environment variables into the spawned LSP process in tests.
  • Append VP_VERSION to the LSP server version string when present.
  • Add an initialization test asserting the VP version suffix appears in serverInfo.version.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
apps/oxlint/test/lsp/utils.ts Extends LSP test connection helper to accept additional env vars for the spawned server process.
apps/oxlint/test/lsp/init/init.test.ts Adds a test ensuring serverInfo.version includes the VP version suffix when VP_VERSION is set.
apps/oxlint/src/lsp/mod.rs Builds the server version string dynamically, appending VP_VERSION when present before starting the LSP server.

Comment thread apps/oxlint/test/lsp/utils.ts
Comment thread apps/oxlint/test/lsp/init/init.test.ts
@Sysix Sysix force-pushed the 04-20-feat_oxlnt_lsp_add_vite_plus_version_to_server_info branch from b0819dd to 4b20ee3 Compare April 20, 2026 17:24
@Sysix Sysix force-pushed the 04-20-feat_oxfmt_lsp_add_vite_plus_version_server_info branch from 3664e2e to 33953a0 Compare April 20, 2026 17:24
@Sysix Sysix marked this pull request as ready for review April 20, 2026 17:46
@leaysgur leaysgur added the 0-merge Merge with Graphite Merge Queue label Apr 21, 2026
Copy link
Copy Markdown
Member

leaysgur commented Apr 21, 2026

Merge activity

@graphite-app graphite-app Bot force-pushed the 04-20-feat_oxfmt_lsp_add_vite_plus_version_server_info branch from 33953a0 to 81c7ae4 Compare April 21, 2026 01:16
@graphite-app graphite-app Bot requested a review from leaysgur as a code owner April 21, 2026 01:16
@graphite-app graphite-app Bot force-pushed the 04-20-feat_oxlnt_lsp_add_vite_plus_version_to_server_info branch from 4b20ee3 to a0c883c Compare April 21, 2026 01:17
Base automatically changed from 04-20-feat_oxfmt_lsp_add_vite_plus_version_server_info to main April 21, 2026 01:26
@graphite-app graphite-app Bot removed the 0-merge Merge with Graphite Merge Queue label Apr 21, 2026
@graphite-app graphite-app Bot merged commit a0c883c into main Apr 21, 2026
26 checks passed
@graphite-app graphite-app Bot deleted the 04-20-feat_oxlnt_lsp_add_vite_plus_version_to_server_info branch April 21, 2026 01:27
graphite-app Bot pushed a commit that referenced this pull request Apr 21, 2026
Copy link
Copy Markdown
Contributor

@camc314 camc314 left a comment

Choose a reason for hiding this comment

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

Looks good!

camc314 added a commit that referenced this pull request Apr 27, 2026
# Oxlint
### 💥 BREAKING CHANGES

- 502e804 ast: [**BREAKING**] Reduce size of `TSTypePredicateName`
(#21711) (overlookmotel)
- 5651539 ast: [**BREAKING**] Reduce size of `JSXExpression` (#21710)
(overlookmotel)
- c44e280 ast: [**BREAKING**] Reduce size of `ArrayExpressionElement`
(#21709) (overlookmotel)

### 🚀 Features

- b4acdbd linter/vue: Implement no-deprecated-delete-set rule (#21766)
(bab)
- 613bfef linter: Split jest/prefer-to-contain into a jest and a vitest
rule. (#21821) (connorshea)
- c629719 linter/vue: Implement no-deprecated-events-api rule (#21793)
(Alex Peshkov)
- f2a8528 linter: Split jest/require-top-level-describe rule into a Jest
and a Vitest rule. (#21822) (connorshea)
- ea4b358 linter: Split jest/prefer-todo into a shared rule and a
vitest-specific rule. (#21820) (connorshea)
- 3a66819 linter: Split jest/no-mocks-import into vitest/no-mocks-import
(#21818) (camchenry)
- 0b3ffce linter: Split jest/no-large-snapshots into
vitest/no-large-snapshots (#21814) (camchenry)
- d1cf22e linter: Split jest/no-interpolation-in-snapshots into
vitest/no-interpolation-in-snapshots (#21812) (camchenry)
- bb0c359 linter: Split jest/no-identical-title into
vitest/no-identical-title (#21810) (camchenry)
- c26ea41 linter: Split jest/no-hooks into vitest/no-hooks (#21809)
(camchenry)
- 46b32f2 linter: Split jest/no-focused-tests into
vitest/no-focused-tests (#21804) (camchenry)
- acf41a8 linter: Split jest/no-duplicate-hooks into
vitest/no-duplicate-hooks (#21803) (camchenry)
- 54d787f linter: Split jest/no-disabled-tests into
vitest/no-disabled-tests (#21802) (camchenry)
- 9c9a676 linter/vue: Implement no-deprecated-data-object-declaration
rule (#21764) (bab)
- 4445855 linter: Split `jest/no-conditional-in-test` into
`vitest/no-conditional-in-test` (#21763) (camchenry)
- b8604de linter: Split `jest/no-conditional-expect` into
`vitest/no-conditional-expect` (#21762) (camchenry)
- 0dbd650 linter: Split `jest/no-commented-out-tests` into
`vitest/no-commented-out-tests` (#21761) (camchenry)
- 7f1a97c linter: Split `jest/no-alias-methods` into
`vitest/no-alias-methods` (#21760) (camchenry)
- eb97c49 linter: Split `jest/max-nested-describe` into
`vitest/max-nested-describe` (#21759) (camchenry)
- d870cad linter: Split `jest/max-expects` into `vitest/max-expects`
(#21758) (camchenry)
- 1b97124 linter/vue: Implement no-deprecated-vue-config-keycodes rule
(#21699) (bab)
- 5f81883 linter/eslint: Implement `func-name-matching` rule (#21708)
(Mikhail Baev)
- 348f46c linter: Add `respectEslintDisableDirectives` option (#21384)
(Christian Vuerings)
- 63ec351 linter: Support nested vite+ config discovery (#21638)
(camc314)
- 560feb4 linter: Introduce `Vite` variant to `DiscoveredConfigFile`
(#21637) (camc314)
- 07dc41e linter/eslint: Implement `no-underscore-dangle` rule (#21630)
(Paul-Arthur THIERY)
- e270d54 linter/react: Impl react/no-did-update-set-state (#17322)
(Kenzo Wada)
- ca81199 linter/react: Implement `forbid-component-props` rule (#20005)
(Mikhail Baev)
- 6776403 linter/branches-sharing-code: Move rule from nursery to
pedantic (#21621) (camc314)
- ce7a4dc linter/no-unreachable: Move rule from nursery to correctness
(#21618) (camc314)
- e3b5e78 linter/getter-return: Move rule from nursery to correctness
(#21617) (camc314)
- d3a7e9a linter/unicorn: Implement suggestion for
`no-useless-iterator-to-array` rule (#21610) (Mikhail Baev)
- a0c883c oxlint/lsp: Add vite plus version to server info (#21587)
(Sysix)
- 67ff860 linter/no-unknown-property: Support React 19 `precedence` prop
(#21590) (João Pedro Schmitz)

### 🐛 Bug Fixes

- aace797 linter: Detect Svelte TS and module scripts correctly (#20819)
(mustafa0x)
- 3612db1 linter/prefer-default-parameters: Skip reporting on
object/class setters (#21836) (camc314)
- 28c3521 oxlint/lsp: Remove overlapping edits for
`source.fixAllDangerous.oxc` code action (#21785) (Sysix)
- 705a82c linter/no-non-null-asserted-nullish-coalescing: Add fixer
(#21827) (yyh)
- 33f5535 linter: Add checks that `Program` is in current allocator
chunk before JS plugins linting (#21774) (overlookmotel)
- d122877 linter/no-extra-non-null-assertions: Add fixer (#21744) (yyh)
- 37f0731 linter: `with_plugin_vitest(true)` working realiable in test
mode (#21769) (Said Atrahouch)
- e42e6a6 linter/role-supports-aria-props: False positive with
`combobox` and `haspopup` (#21725) (Leonabcd123)
- e24324f linter: Iframe-has-title false positive for template literals
(#21714) (Leonabcd123)
- 41a6510 linter/vitest/hoisted-apis-on-top: Only check first member
(#20068) (Sidharth Vinod)
- 98ed888 linter: Check initializer for allowConstantExport in
only-export-components (#20608) (Eyüp Can Akman)
- 1946e8b linter: Avoid applying override plugin categories to eslint
rules (#21521) (bab)
- 3d1e83a linter: Parse `<script>` tag attributes with curly braces in
Svelte files (#21089) (bab)
- bc6ade5 linter: Report actual disable directive prefix (#21682)
(camc314)
- bf84466 linter: Respect category settings in overrides (#19411)
(Connor Shea)
- 52ecb45 linter/vitest: Don't treat `test.extend` or `it.extend` as
test functions (#21668) (Said Atrahouch)
- aa1a00c linter: Support jsx-a11y attributes setting in anchor-is-valid
rule (#21665) (camchenry)
- 30e0ad3 linter/prefer-default-parameters: Preserve TS annotations in
fixer (#21655) (camc314)
- 8c425db linter: Allow string for jest version in config schema
(#21649) (camc314)
- 3617864 linter/react/display-name: Fix false positive for named
default class (#21643) (Mikhail Baev)
- f3a02cc linter/no-non-null-assertion: Improve diagnostic message
(#21616) (Cameron)
- c2ada2c linter: Make `--fix-dangerously` fix dangerous fixes and
suggestions as documented (#13366) (Ulrich Stark)
- 8265ed9 linter/sort-keys: Handle CRLF separated groups (#21608)
(camc314)
- 96c559e linter/no-shadow: Add note explaining enum member shadowing
(#21607) (camc314)
- 3b49389 linter: No-irregular-whitespace: add config options (#21559)
(camchenry)

### ⚡ Performance

- cdc9eae oxlint/lsp: Avoid clones on lsp options deserializion (#21748)
(Sysix)
- be2db80 linter/sort-keys: Reduce allocations (#21560) (camchenry)

### 📚 Documentation

- 453d647 linter: Remove now-unnecessary compatibility notes from shared
Jest/Vitest rules. (#21826) (connorshea)
- b1574a2 linter: Fix the configuration docs for no-underscore-dangle
rule. (#21801) (connorshea)
- 6946aee linter: Remove no-longer-relevant documentation about vitest
compatibility from shared Jest/Vitest rules. (#21799) (connorshea)
- 0652ea2 linter: Misc grammar cleanup for Vitest rules. (#21755)
(connorshea)
- 99f0b68 linter: Improve docs for `vitest/require-mock-type-parameters`
rule. (#21754) (connorshea)
- 9e2796b linter: Improve the docs for the `vitest/hoisted-apis-on-top`
rule. (#21753) (connorshea)
- 2ccede2 linter: Improve function usage examples in doc comments
(#21718) (overlookmotel)
- 43adae9 linter: Add version section to rules page (#21601) (camchenry)
- d15dad2 linter: Export rule version metadata (#21588) (Old Autumn)
# Oxfmt
### 💥 BREAKING CHANGES

- 502e804 ast: [**BREAKING**] Reduce size of `TSTypePredicateName`
(#21711) (overlookmotel)
- 5651539 ast: [**BREAKING**] Reduce size of `JSXExpression` (#21710)
(overlookmotel)
- c44e280 ast: [**BREAKING**] Reduce size of `ArrayExpressionElement`
(#21709) (overlookmotel)

### 🚀 Features

- 3bc54a9 oxfmt: Respect nested config for `--stdin-filepath` (#21627)
(leaysgur)
- 144f27a oxfmt: Respect ignore settings for `--stdin-filepath` (#21625)
(leaysgur)
- 81c7ae4 oxfmt/lsp: Add vite plus version to server info (#21586)
(Sysix)

### 🐛 Bug Fixes

- 477435b formatter/sort_imports: Keep leading blank line when
decreasing group transitions (#21835) (leaysgur)
- 38d1e82 oxfmt/lsp: Format non `file://` URIs without a authority
(#21647) (Sysix)
- 5eb8e2b formatter/sort_imports: Preserve blank lines around ignored
side-effect imports (#21692) (leaysgur)
- 0dce3c6 oxfmt: Handle invalid `overrides` config without panic
(#21661) (Yuji Sugiura)
- 9f82ed4 formatter: Escape backticks in JSDoc inline code spans
(#21577) (bab)

### ⚡ Performance

- db6c603 oxfmt/lsp: Avoid clones on lsp options deserializion (#21749)
(Sysix)
- 6a96c76 formatter: Avoid heap alloc for jsdoc delimiter (#21597)
(leaysgur)

---------

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
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.

oxlint,oxfmt: Show Vite+ version with LSP version

4 participants