Skip to content

Bump minimum version requirements #1297

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 29 commits into
base: feat/refactor-language-service-usage
Choose a base branch
from

Conversation

thecrypticace
Copy link
Contributor

@thecrypticace thecrypticace commented Apr 3, 2025

I'm bumping the minimum Node.js and VSCode versions for the language server and the VSCode extension since Node v18 hits end-of-life on April 27th, 2025. The earliest electron version with Node v20 support is 29 which is already unsupported. I'd prefer to bump to a vscode version with a supported version of Electron but that is v1.98 which was only released 2 months ago.

As such I'm planning to bump the minimum versions for IntelliSense to these:

  • Node v20.9 (released Oct 2023)
  • VSCode v1.90 (released May 2024)
  • Electron v29.4 (released May 2024)

I'm also using this as an opportunity to bump several dependencies to ensure the project stays up to date.

This will require a 0.x+2 version bump of all affected packages as will #1271 so it is necessary to ship these two PRs together in the same release.

The currently planned release date for this change is mid June 2025

@thecrypticace thecrypticace changed the title Bump deps Bump minimum version requirements Apr 4, 2025
@thecrypticace thecrypticace force-pushed the bump-deps branch 2 times, most recently from 5452770 to 32a5490 Compare April 7, 2025 20:27
This will set us up for more direct, language-service specific testing.

This is very much a work in progress but the ultimate goal is for the majority of language server tests to be able to run against both the language service _and_ language server
Protocol v3.17 added support for pull-model diagnostics which are modeled as a “report” that is either a full set of diagnostics for a document (and related documents) or “unchanged”

We can convert these to the push model by pulling the diagnostics like we were doing before and inspecting the report before pushing diagnostics to the client
Most relevant requests are document related in some manner and this will serve a few purposes:
- It centralizes logic common to all providers
- It can help simplify the implementation of providers
- It reduces duplication by moving common actions into the document creation layer (e.g. loading settings)
This uses the new virtual document abstraction to simplify the implementation of the provider. Now it operates only on things it cares about:
- utility class names
- CSS helper functions
It makes types for Vitest work better
VSCode 1.90+ and Node v20.9+
@thecrypticace thecrypticace changed the base branch from main to feat/refactor-language-service-usage April 15, 2025 17:11
@thecrypticace thecrypticace force-pushed the feat/refactor-language-service-usage branch from 007b8e2 to 555b78d Compare June 3, 2025 21:34
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.

1 participant