SonarLint stops detecting issues after binding to a server

WebStorm 2019.3, SonarLint 4.3.0.3495, SonarQube 8.0 CE (and SonarCloud too).

After I bind a project to SonarQube / SonarCloud, SonarLint stops detecting issues in JS files.
The issue can be as primitive as “a = 10;” expression in an otherwise empty file.
When I run sonar-scanner, the issue is displayed in SonarQube UI.

Could someone please point what could be wrong here?

Logs:

Bound to a SonarQube server:

Trigger: ACTION
[Action] 1 file(s) submitted
No analysis configurator found
Using configuration of 'orm' in server 'Local'
Analysing 'tmp.js'...
Starting analysis with configuration:
[
  projectKey: orm
  baseDir: /srv/node/orm
  extraProperties: {}
  inputFiles: [
    file:///srv/node/orm/tmp.js (UTF-8)
  ]
]

TypeScript sensor excluded
Available languages:
  * HTML => "web"
  * JSP => "jsp"
  * XML => "xml"
  * JavaScript => "js"
  * TypeScript => "ts"
Start analysis
Declared extensions of language HTML were converted to web: **/*.html,**/*.xhtml,**/*.cshtml,**/*.vbhtml,**/*.aspx,**/*.ascx,**/*.rhtml,**/*.erb,**/*.shtm,**/*.shtml
Declared extensions of language JSP were converted to jsp: **/*.jsp,**/*.jspf,**/*.jspx
Declared extensions of language XML were converted to xml: **/*.xml,**/*.xsd,**/*.xsl
Declared extensions of language JavaScript were converted to js: **/*.js,**/*.jsx,**/*.vue
Declared extensions of language TypeScript were converted to ts: **/*.ts,**/*.tsx
Index files
Language of file 'file:///srv/node/orm/tmp.js' is detected to be 'js'
1 file indexed
Quality profiles:
  * js: 'Sonar way Recommended' (137 rules)
  * jsp: 'Sonar way' (0 rules)
  * ts: 'Sonar way' (55 rules)
  * web: 'Sonar way' (28 rules)
  * xml: 'Sonar way' (4 rules)
Execute Sensor: HTML
'XML Sensor' skipped because there is no related file in current project
Execute Sensor: JavaScript analysis
Skipping start of eslint-bridge server due to the failure during first analysis
Skipping execution of eslint-based rules due to the problems with eslint-bridge server
Done in 19ms

Processed 0 issues in 0 ms
Found 0 issues

Unbound:

Trigger: ACTION
[Action] 1 file(s) submitted
No analysis configurator found
Analysing 'tmp.js'...
Starting analysis with configuration:
[
  baseDir: /srv/node/orm
  extraProperties: {}
  excludedRules: [ ]
  includedRules: []
  inputFiles: [
    file:///srv/node/orm/tmp.js (UTF-8)
  ]
]

Available languages:
  * Python => "py"
  * Java => "java"
  * HTML => "web"
  * JSP => "jsp"
  * Kotlin => "kotlin"
  * PHP => "php"
  * JavaScript => "js"
  * Ruby => "ruby"
Start analysis
Declared extensions of language Python were converted to py: **/*.py
Declared extensions of language Java were converted to java: **/*.java,**/*.jav
Declared extensions of language HTML were converted to web: **/*.html,**/*.xhtml,**/*.cshtml,**/*.vbhtml,**/*.aspx,**/*.ascx,**/*.rhtml,**/*.erb,**/*.shtm,**/*.shtml
Declared extensions of language JSP were converted to jsp: **/*.jsp,**/*.jspf,**/*.jspx
Declared extensions of language Kotlin were converted to kotlin: **/*.kt
Declared extensions of language PHP were converted to php: **/*.php,**/*.php3,**/*.php4,**/*.php5,**/*.phtml,**/*.inc
Declared extensions of language JavaScript were converted to js: **/*.js,**/*.jsx,**/*.vue
Declared extensions of language Ruby were converted to ruby: **/*.rb
Index files
Language of file 'file:///srv/node/orm/tmp.js' is detected to be 'js'
1 file indexed
'JavaSquidSensor' skipped because there is no related file in current project
'Python Squid Sensor' skipped because there is no related file in current project
Execute Sensor: JavaXmlSensor
Execute Sensor: HTML
'Kotlin Sensor' skipped because there is no related file in current project
'PHP sensor' skipped because there is no related file in current project
'Analyzer for "php.ini" files' skipped because there is no related file in current project
Execute Sensor: SonarJS
1 source files to be analyzed
Initializing metadata of file file:///srv/node/orm/tmp.js
Execute Sensor: ESLint-based SonarJS
1/1 source files have been analyzed
Skipping start of eslint-bridge server due to the failure during first analysis
Skipping execution of eslint-based rules due to the problems with eslint-bridge server
'Ruby Sensor' skipped because there is no related file in current project
Done in 20ms

Processed 1 issue in 1 ms
Found 1 issue

Hello, thank you for your feedback.

I find the following line disturbing:

Skipping start of eslint-bridge server due to the failure during first analysis

Could you please post the SonarLint logs at the time of IDE startup and/or after a project binding update?

This could give us information about the actual version of SonarJS and whether there is something that prevents it from being loaded correctly.

When unbound, a fixed embedded version of SonarJS is used instead (5.2.1.7778 as of SonarLint IntelliJ 4.3), which can explain the difference in behavior.

Hi Jean-Baptiste,

Thanks for the tip! Looking at the logs, the initial analysis failed because Node.js executable was not available to the tool. I use NVS to switch between Node.js versions, and node was only present in bash shells. I’m not sure why it was working in the unbound mode, but either specifying sonar.nodejs.executable in plugin configuration or adjusting system-wide PATH makes it work properly in the bound mode.

Hey Dmitry, glad that you found a solution - and thank you for posting back!