Skip to content
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

[json] NPM package for vscode-json-languageserver not sync'd with VSCode releases #117013

Open
mickaelistria opened this issue Feb 19, 2021 · 4 comments
Assignees
Labels
feature-request Request for new features or functionality json JSON support issues
Milestone

Comments

@mickaelistria
Copy link
Contributor

The NPM package for vscode-json-languageserver is not sync'd with VSCode release. It was not published for 5 months (mid-September), while the LS received several updates in VSCode source tree and releases.
There are 2 issues:

  • In vscode, the vscode-json-languageserver module version is more or less unmaintained. The vscode-json-languageserver is treated as an internal module so version concerns are secondary.
  • When VSCode releases, no new release of vscode-json-languageserver seems to happen automatically.

That makes the npm module more or less useless: we tried to adopt it in Wild Web Developer and got missing features, or unexpected older dependencies, conflicting with other LS we "extract" from VSCode. As a result, we move back to extracting this JSON Language Server from VSCode.

I think it would be in the best interest of the LSP community if this language server were extracted from VSCode source tree as a standalone NPM module, with proper versioning and published to npm.js. Then consumers (VSCode, Wild Web Developer...) could just install this module with some guarantee of it being up-to-date.
Same pattern could apply to other LS and debug adapters included in VSCode (HTML, CSS).

@aeschli
Copy link
Contributor

aeschli commented Feb 22, 2021

Would be cool to have a CI script that automatically publishes when we have new VSCode build.
But I guess It would still have to be tested.

@mickaelistria
Copy link
Contributor Author

That would still require to properly bump version between releases, which is something I don't expect anyone would think of with the current code organization with the json-ls being really first a module of VSCode more than a standalone reusable npm module.
If we have to go black or white, I think the npm package should be removed to make explicit it's not maintained; or the LS should be extracted out of VSCode as a standalone project/npm package, with its own release schedule and some standalone tests; and then VSCode would take care of consuming it just like any other IDE/editor would do. Technically, the later would be preferable, however it's probably a bit more expensive to maintain.

@aeschli
Copy link
Contributor

aeschli commented Feb 22, 2021

If we have to go black or white, I think the npm package should be removed to make explicit it's not maintained;

It is maintained, but not updated after every release. I update on demand and made fix releases if there was a problem. I still believe this has value.

@mickaelistria
Copy link
Contributor Author

For Wild Web Developer, we did face a bunch of issues (mainly in dependencies being updated in VSCode but not being propagated to the module; or linkage issues with "symbol not found" because of incorrect usage of semver) which prevented to have both vscode-json-languageserver from npm.js and eg. vscode-css-languageserver extract from VSCode included in the same node_modules, because it did cause deep recursion of node_modules leading to too long paths on Windows. Moreover, it's relatively difficult to get the right source code for the published vscode-json-languageserver, because there is no clear tag or anything about it in VSCode repo, and the 1.3.1 version was spanning over 5 months and multiple VSCode releases in the VSCode source tree (with modifications after release to npmjs).
So we stopped reporting them and finally went back to manually extracting it from VSCode source tree. While I understand the practical workflow you're currently using is best for you, it's not reliable enough for easy consumption in non-VSCode IDEs, and also making contributions to this LS not so trivial.

@aeschli aeschli changed the title NPM package for vscode-json-languageserver not sync'd with VSCode releases [json] NPM package for vscode-json-languageserver not sync'd with VSCode releases Oct 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request for new features or functionality json JSON support issues
Projects
None yet
Development

No branches or pull requests

2 participants