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

Enable using user PNPM version outside of Vaadin range #8889

Closed
probert94 opened this issue Aug 25, 2020 · 5 comments · Fixed by #8971
Closed

Enable using user PNPM version outside of Vaadin range #8889

probert94 opened this issue Aug 25, 2020 · 5 comments · Fixed by #8971

Comments

@probert94
Copy link

Description of the bug

On our build server we occasionally get this error:
Unable to update lock within the stale threshold
The issue seems to be related to node-proper-lockfile which is used by pnpm.
Our workaround until now was to install pnpm version 5 on our build-server, since they solved this issue in that version.
However, Vaadin is now forcing a pnpm version between 4.4.0 and 4.6.0, as newer pnpm version have some other issues, and our workaround doesn't work anymore.

Minimal reproducible example

Not applicable, it only happens occasionally on slow hardware.

Expected behavior

We would like to be able to use newer pnpm-version, at least on our build server.
The other issue is less of a problem in our case, as an update doesn't happen that often and we can fix it manually.
So we would like to be able to bypass the forced version of vaadin.

Actual behavior

Vaadin forces a pnpm Version < 4.6.0, which doesn't work in our case.

Versions:

- Vaadin / Flow version: 14.3.0
- Java version: 11
- OS version: Windows 10 1903
@caalador caalador changed the title PNPM - Unable to update lock within the stale threshold Enable using user PNPM version outside of Vaadin range Aug 26, 2020
@joheriks joheriks self-assigned this Sep 7, 2020
@joheriks joheriks moved this from Ready To Go to In progress in OLD Vaadin Flow ongoing work (Vaadin 10+) Sep 7, 2020
@joheriks joheriks added the bug label Sep 8, 2020
@joheriks
Copy link
Contributor

joheriks commented Sep 8, 2020

There is an existing system property, vaadin.ignoreVersionChecks, which if set to true skips version validation of frontend tools (node, npm, pnpm). However, it was not taken into account when checking globally installed pnpm to determine if a compatible pnpm version should be installed into .vaadin. The above PR fixes this bug.

@Springrbua Would setting vaadin.ignoreVersionChecks=true handle your use case?

@probert94
Copy link
Author

@joheriks how can I set this property? If I am able to set it only on our build machine, I guess it should work for our case.
As much as I understand this is only a temporary workaround, as you are waiting for pnpm to fix the other issue.

@joheriks
Copy link
Contributor

joheriks commented Sep 8, 2020

@Springrbua You'll only need to be able to modify Java system properties, for instance by passing -Dvaadin.ignoreVersionChecks=true to the JVM. So it should fit CI as it doesn't require changes to project configuration. And yes, the default behavior of forcing a pnpm in the version range 4.4 to 4.5 is due to the issue you linked.§

@probert94
Copy link
Author

Thank you.
So I guess the referenced PR should fix this issue.

@joheriks
Copy link
Contributor

joheriks commented Sep 8, 2020

Correct. After the fix is merged and released, setting -Dvaadin.ignoreVersionChecks=true will cause the forced installation of pnpm 4.5 to be skipped. There will still be a warning in the logs about it.

OLD Vaadin Flow ongoing work (Vaadin 10+) automation moved this from In progress to Done - pending release Sep 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
OLD Vaadin Flow ongoing work (Vaadin ...
  
Done - pending release
3 participants