Node version support for > 16

I have been using Theia for a while as my daily development ide. I use the browser version in the master repository. Because my life is so boring I run the latest version of Theia to add a little risk and excitement. I update every time a new release is created. This has only been a problem the one time back when the main branch was deleting changes when changes were staged using git.

So I have also been using version 19 of node. This was not a problem as the version of node was > 14.xxx.xxx . Now Theia requires >= 16.14 < 17. I installed the current version of 16 and built and ran theia. Not a big deal, but was wondering if there was a specific reason to limit to 16? I also modified the package.json to allow for 19 and built and ran of course did not test much of anything but it did work and I have been running like this with previous versions for a while. Obviously running it at my own risk on version 19.

I really enjoy using Theia. Thanks so much for creating such a great product.

Thanks,
Mark

I believe some of our native dependencies don’t compile on node > 16 for Electron, which is why we added the upper limit. @vince-fugnitto Can you confirm?

Note that you can always skip this check using --ignore-engines when running yarn.

The upper limit was added to follow the expectations in runtime when targeting the 1.70.2 version of VS Code for our plugins. I’m surprised it works with Node 19 as we have the following issue tracking Node 18 support future: support Node 18 · Issue #11220 · eclipse-theia/theia · GitHub.

could be. I am not using electron just the browser version. I run it as a shortcut with open as a window so no browser menu or tabs etc.

The --ignore-engines seem to require you to add it to any subsequent yarn calls within the packages.json. I added it the base and was still getting errors. Also tried
yarn global add --ignore-engines so finally just added sed -i “s/<17/<20/” ./package.json to my script. Really no noticeable difference running in 16 vs 19.

I am using the browser example 1.35 with a few plugins, redhat java and gitlens running on node 19.7.0. The server is ubuntu 20.04. Doing mostly java, javascript and typescript. Have not had any trouble so far.