Hello SonarQube, SonarCloud, and SonarLint users!
The analysis of JavaScript, TypeScript, and CSS requires that Node.js be available in the environment where analysis is performed. To continue providing you with the best code analyzers possible, we periodically update the runtime version that is required in the scanner environment.
The currently supported Node.js LTS version is 16. We urge all users not already on Node.js 16 to upgrade as soon as is practical.
For those still on Node.js 12, you should be aware that the OpenJS Foundation has considered Node.js12 EOL since April 2022 and has been deprecated in Sonar products since that time (with warnings in the analysis logs and user interfaces). We announced this back in March: Drop of Node.js 10 support and deprecation of Node.js 12 support
Today, we are letting you know that on September 15th the use of Node.js 12 will no longer be supported by SonarCloud. We have proactively reached out to the organizations still running analyses with this older runtime. Support will also be removed in SonarQube v9.7, as well as versions of SonarLint released after September 15th 2022.
We are also letting you know that the use of Node.js 14 (which will be considered EOL by the OpenJS Foundation in April 2023) is now deprecated in Sonar products, and that support for Node.js 14 will end no earlier (and likely no later) than April 2023.
Please note that this change does not have any impact outside of your analysis runtime.
No changes are required to the code you are writing or any runtime dependencies. It only means that the minimum runtime version available in your environment has changed.
Below you can find information related to each of our three products.
SonarQube and SonarCloud
The Scanner Environment documentation for SonarQube and SonarCloud has the most relevant information regarding Node.js version support. For SonarQube, this documentation will be updated when SonarQube v9.7 is released.
Outside of these recommendations, if the default node
in the PATH
on the machine where analysis is executed is not already Node.JS 16, you can either:
- Install a newer version of Node.js as the default
node
in your scanner environment - Point to another Node.js executable using the
sonar.nodejs.executable
analysis parameter
SonarLint
SonarLint for Visual Studio
SonarLint for Visual Studio will first attempt to use the version of Node.js that launches with your flavor of Visual Studio.
If no compatible version is found, SonarLint will check for Node.js installations in your PATH
until a compatible version is found.
Finally, a Node.js executable can be pointed to using the SONAR_NODEJS_PATH
environment variable
SonarLint for VSCode
If you are using a version of Node.js that is too old, a popup will appear in VSCode
You can either update the default node
in your PATH
, or point to a specific Node.js executable in your VSCode Configuration (sonarlint.pathToNodeExecutable
)
SonarLint for Eclipse, IntelliJ
- SonarLint for Eclipse and SonarLint for IntelliJ will look for the first
node
executable in yourPATH
, otherwise, you can specify the Node.js installation in your IDE settings.
Do you have any questions? Don’t hesitate to let us know.