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

node 14 support #135

Closed
duncdrum opened this issue Aug 9, 2021 · 10 comments
Closed

node 14 support #135

duncdrum opened this issue Aug 9, 2021 · 10 comments

Comments

@duncdrum
Copy link
Contributor

duncdrum commented Aug 9, 2021

Feature Description:

sticking with node 12 means that the blueprint is incompatible with theia version 1.15.0+. To allign the two, the blueprint should support and require node 14.

see eclipse-theia/dugite-extra#49

this requires the fixes from #131 to be merged, and additional updates to:

  • ci config
  • dockerfile
  • readme documentation
  • dependency upgrades
@vince-fugnitto
Copy link
Member

vince-fugnitto commented Aug 9, 2021

@duncdrum a couple of notes:

sticking with node 12 means that the blueprint is incompatible with theia version 1.15.0+

This is untrue, the framework currently supports node versions of >=12.14.1 <13 when building:

When the framework supports node 14, then we can think about bumping the version for downstream applications such as blueprint.

In addition, dugite-extra is for our custom @theia/git extension which many applications have moved away from, and instead use the builtin vscode-git. Using the vscode builtin permits the use of other git-related extensions which rely on it such as the popular gitlens.

@duncdrum
Copy link
Contributor Author

duncdrum commented Aug 9, 2021

yes and theia 1.15.0 and 1.16.0 requires node version 14 or greater. So not sure what is untrue about what i said, you can bump the dependencies and then run yarn to see the result

@vince-fugnitto
Copy link
Member

yes and theia 1.15.0 and 1.16.0 requires node version 14 or greater.

@duncdrum where did you get this information?
I linked master which states that node: >=12.14.1 <13, and also the framework's prerequisites?

@duncdrum
Copy link
Contributor Author

duncdrum commented Aug 9, 2021

@vince-fugnitto e.g. here 1.14.0 is node 12, latest stable feature release as of today is 1.16.0 which requires node 14. Note that the version does imply no breaking changes between 0.14.0 and 0.16.0 where in fact the node 14 dependency started with 0.15.0

@vince-fugnitto
Copy link
Member

@duncdrum I'm asking where do you see that node 14 is required as of 1.15.0, when its not supported by the framework itself?

@duncdrum
Copy link
Contributor Author

duncdrum commented Aug 9, 2021

nvm use 12
yarn upgrade --latest

=> error app-builder-lib@22.11.11: The engine "node" is incompatible with this module. Expected version ">=14.0.0". Got "12.22.1"

nvm use 12
yarn upgrade --latest --ignore-engines

=>

error /Users/halalpha/Documents/gits/theia-blueprint/node_modules/electron: Command failed.
Exit code: 1
Command: node install.js
Arguments: 

nvm use 14
yarn upgrade --latest --ignore-engines
yarn

=> theia-blueprint: error theia-blueprint@1.14.0: The engine "node" is incompatible with this module. Expected version ">=12.14.1 <13". Got "14.15.5"

@vince-fugnitto
Copy link
Member

vince-fugnitto commented Aug 9, 2021

@duncdrum you'll need to use a node version which is supported by the framework, including dependencies such as app-builder-lib. Using the --latest flag is also not recommended, as you'll pull versions of dependencies which are out of range as defined in the package.json and may result in incompatibilities like you've seen:

@duncdrum
Copy link
Contributor Author

duncdrum commented Aug 9, 2021

my point exactly, not sure what we are arguing about, there is a number of open issues across multiple theia repos reporting incompatibilities between transient dependencies requiring minimum node 14 while other components specify max node 13.

given that node 14 is the current LTS i d assume that is the version to shoot for? I also don't see why the blueprint should trail the current stable release by two versions, without at least making that clear up what the policy is for which version of theia blueprint apps are targeting, if it's not the latest stable release?

@vince-fugnitto
Copy link
Member

my point exactly, not sure what we are arguing about...

I'm only trying to clarify and explain that previous statements regarding "theia 1.15.0 and 1.16.0 requires node version 14 or greater" is untrue given the project's defined prerequisites which I referenced multiple times already. Even master CI uses 12:

When building your custom application you'll need to respect the project's prerequisites as to not potentially run into incompatibilities, until the framework itself supports node 14. Using flags such as --latest and --ignore-engines is not recommended as you'll get incompatibilities.

given that node 14 is the current LTS i d assume that is the version to shoot for?

When it is supported by the framework yes.

I also don't see why the blueprint should trail the current stable release by two versions

Due to the framework's current prerequisites.

@jfaltermeier jfaltermeier added this to the Upcoming milestone Dec 20, 2021
@jfaltermeier
Copy link
Contributor

With PR #211 the node requirement of >=12.14.1 <13 was changed to >=12.14.1.
The electron version used ("electron": "^15.5.1") uses node 16.5.0 +
So I think that we may close this. Please feel free to reopen if anything is missing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants