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

[VsCoq1] Housekeeping: yarn berry, all possible upgrades #276

Closed
wants to merge 6 commits into from
Closed

[VsCoq1] Housekeeping: yarn berry, all possible upgrades #276

wants to merge 6 commits into from

Conversation

artagnon
Copy link

@artagnon artagnon commented Feb 20, 2022

Yarn is a great package manager; it's fast, modern, and overall, much better than npm. I've switched the package manager, done a bunch of package upgrades, and tested that everything still works on a very complex codebase. The only change for package maintainers is to use yarn vsce in place of vsce, when publishing. A couple of unfortunate things, to be tackled in future PRs:

  1. We're not yet ready for the Yarn linker, ala Plug n' Play. We continue using the npm linker in this PR.
  2. We couldn't upgrade vscode-langaugeserver, vscode-languageclient, and typescript. Quite a few modernization changes are required.

The final patch is a formatting patch, whence the entire codebase is formatted using prettier. This should significantly ease development. It is recommended to use the prettier plugin in vscode in all future development.

@fakusb
Copy link

fakusb commented Feb 23, 2022

I have some refactoring in-progress regarding webpacking the whole extension (#226), I don't have time to check compability in the next few weeks.

I'm a bit sceptical on changing npm to yarn; why change something that's not broken?

@artagnon
Copy link
Author

I think you meant #266. I had a look at it, and we can consider postponing the prettier patch until that lands.

While I agree that npm is not broken per-se, switching to yarn makes it easier for us to upgrade packages and maintain VSCoq. The dependency resolver in yarn is much better than the one in npm, and a simple yarn upgrade-interactive displays a ncurses window showing the safe and unsafe upgrades. In particular, the versions of typescript, vscode-languageserver and vscode-languageclient are very outdated in VSCoq, and we ought to upgrade them if the available documentation on VSCode is to be useful to us. The LSP protocol keeps evolving, and it's really quite irksome to find the documentation available on it to be newer than what we use.

Please consider switching to yarn, so I can attempt to upgrade the three aforementioned packages in a manner that is safe and pleasant; I will drop the formatting changes in view of #266.

Signed-off-by: Ramkumar Ramachandra <r@artagnon.com>
While at it, add the sdk for vscode and the interactive-tools plugin.

Signed-off-by: Ramkumar Ramachandra <r@artagnon.com>
Signed-off-by: Ramkumar Ramachandra <r@artagnon.com>
This is so we're consistent with @types/vscode 1.64.0.

Signed-off-by: Ramkumar Ramachandra <r@artagnon.com>
vsce-yarn-patch is required to support this. While at it, upgrade the
version of yarn.

Signed-off-by: Ramkumar Ramachandra <r@artagnon.com>
@artagnon artagnon changed the title Housekeeping: yarn berry, consistent codebase formatting, all possible upgrades Housekeeping: yarn berry, all possible upgrades Feb 23, 2022
@maximedenes maximedenes changed the title Housekeeping: yarn berry, all possible upgrades [VsCoq1] Housekeeping: yarn berry, all possible upgrades Feb 14, 2023
@thery thery closed this Mar 3, 2023
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.

3 participants