We aim to support Node.js current Active LTS version.
See https://nodejs.org/en/about/releases/ to see the status of Node.js versions.
We recommend setting up your environment to run Theia using the Node.js Active LTS, but any supported version should work as well. File an issue otherwise: https://github.com/eclipse-theia/theia/issues/new/choose.
Note that the Node.js version you should use depends on your own project's dependencies: packages other than Theia might have their own requirements, so we try to support a reasonable range for adopters to be able to satisfy such constraints.
- Follow Node.js LTS cadence and initiate the update when a new Node.js version becomes Active LTS.
- Use
@types/node
for the oldest supported Node version (backward compatibility). - Update the CI matrix to include the new Node.js versions to support.
- Update the documentation referencing recommended Node versions.
- Update the CHANGELOG.
We aim to use Electron's latest Stable Release.
See https://www.electronjs.org/releases/stable to see the latest Electron stable releases.
Note that clearing new Electron releases IP-wise is a lot of work and may cause us to lag behind a bit.
Adopters will benefit from Electron versions upgrades simply by upgrading their version of Theia.
- Follow Electron stable release cadence and initiate the update when a new Electron Stable Release is published.
- Check the new Electron version for potential IP problems.
- Update the framework dependencies to target the new Electron version.
- Update the codebase to replace/use the new Electron APIs.
- Update the CHANGELOG.
If you plan on supporting VS Code Extensions then it is recommended to make sure that both Node and/or Electron match with VS Code's Node runtime, which depends on the Electron version that they end up using.
You should look for this information in the VS Code repository.
VS Code Extensions being meant to run in VS Code, developers may use any API available in the runtime in which their extension runs. So if they expect to run in Node 16, then they may use Node 16 APIs. Running your Theia application on Node 14 then means that some plugin features might not work because of missing APIs from the Node runtime.