Ошибка SonarLint Analysis при использовании расширения VS Code для файлов JavaScript

Я попытался настроить Расширение SonarLint для Код Visual Studio в Windows и выполнил инструкции по использованию режима Connected. Я думаю, что настроил его правильно, потому что в выходных журналах SonarLint отображается около 200 кодов состояния для подключения к серверу моей организации (к вашему сведению, я изменил URL-адрес в журнале ниже):

Connected SonarLint engine started for example-project
GET 200 http://example.com/sonar/api/qualityprofiles/search.protobuf?projectKey=example-project | time=152ms
GET 200 http://example.com/sonar/api/properties?format=json&resource=example-project | time=70ms
GET 200 http://example.com/sonar/api/components/tree.protobuf?qualifiers=BRC&baseComponentKey=example-project&ps=500&p=1 | time=78ms
GET 200 example.com/sonar/batch/issues?key=example-project | time=74ms

Затем он показывает, что пытается проанализировать файл, который я открыл:

Analysis triggered on file:///c%3A/Users/example/src/example/src/js/example.js with configuration: 
[
  moduleKey: example
  baseDir: c:\Users\example\src\example
  workDir: c:\Users\example\src\example\.sonarlint
  extraProperties: {}
  inputFiles: [
    c:\Users\example\src\example\src\js\example.js (UTF-8)
  ]
]

Однако затем отображаются следующие сообщения об ошибках:

Available languages:
  * JavaScript => "js"
  * Java => "java"
Start analysis
Declared extensions of language JavaScript were converted to js: **/*.js
Declared extensions of language Java were converted to java: **/*.java,**/*.jav
Quality profiles:
  * java: java-sonar-way-77058 (251 rules)
  * js: js-sonar-way-33138 (86 rules)
[Info  - 10:43:48 AM] Index files
Language of file 'file:///c:\Users\example\src\example\src\js\example.js' is set to 'js'
Setting filesystem encoding: UTF-8
[Info  - 10:43:48 AM] 1 files indexed
'JavaSquidSensor' skipped because there is no related file in current project
Execute Sensor: JavaScript Squid Sensor
[Info  - 10:43:49 AM] 1 source files to be analyzed
Initializing metadata of file file:///c:\Users\example\src\example\src\js\example.js
[Error - 10:43:50 AM] Analysis failed.
org.sonar.squidbridge.api.AnalysisException: Unable to analyse file: c:\Users\example\src\example\src\js\example.js
    at org.sonar.plugins.javascript.JavaScriptSquidSensor.analyse(JavaScriptSquidSensor.java:174)
    at org.sonar.plugins.javascript.JavaScriptSquidSensor.analyseFiles(JavaScriptSquidSensor.java:133)
    at org.sonar.plugins.javascript.JavaScriptSquidSensor.execute(JavaScriptSquidSensor.java:349)
    at org.sonarsource.sonarlint.core.analyzer.sensor.SensorWrapper.analyse(SensorWrapper.java:52)
    at org.sonarsource.sonarlint.core.analyzer.sensor.AllSensorsExecutor.executeSensor(AllSensorsExecutor.java:79)
    at org.sonarsource.sonarlint.core.analyzer.sensor.AllSensorsExecutor.execute(AllSensorsExecutor.java:67)
    at org.sonarsource.sonarlint.core.analyzer.sensor.PhaseExecutor.execute(PhaseExecutor.java:36)
    at org.sonarsource.sonarlint.core.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:141)
    at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
    at org.sonarsource.sonarlint.core.container.ComponentContainer.execute(ComponentContainer.java:110)
    at org.sonarsource.sonarlint.core.container.storage.StorageAnalyzer.analyze(StorageAnalyzer.java:75)
    at org.sonarsource.sonarlint.core.container.storage.StorageContainerHandler.analyze(StorageContainerHandler.java:76)
    at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.lambda$analyze$0(ConnectedSonarLintEngineImpl.java:152)
    at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:339)
    at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.withReadLock(ConnectedSonarLintEngineImpl.java:329)
    at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:150)
    at org.sonarlint.languageserver.SonarLintLanguageServer$ConnectedAnalysisWrapper.analyze(SonarLintLanguageServer.java:718)
    at org.sonarlint.languageserver.SonarLintLanguageServer$ConnectedAnalysisWrapper.analyze(SonarLintLanguageServer.java:699)
    at org.sonarlint.languageserver.SonarLintLanguageServer.analyze(SonarLintLanguageServer.java:605)
    at org.sonarlint.languageserver.SonarLintLanguageServer.didOpen(SonarLintLanguageServer.java:539)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.lambda$null$0(GenericEndpoint.java:61)
    at org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint.notify(GenericEndpoint.java:148)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleNotification(RemoteEndpoint.java:216)
    at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:183)
    at org.eclipse.lsp4j.jsonrpc.Launcher$Builder.lambda$wrapMessageConsumer$0(Launcher.java:308)
    at org.eclipse.lsp4j.jsonrpc.validation.ReflectiveMessageValidator.consume(ReflectiveMessageValidator.java:71)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:188)
    at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:90)
    at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:95)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: 12 is not a valid line offset for pointer. File [path=c:\Users\example\src\example\src\js\example.js] has 1 character(s) at line 105
    at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
    at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:312)
    at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:246)
    at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:261)
    at org.sonar.javascript.cpd.CpdVisitor.visitNode(CpdVisitor.java:80)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:74)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visitChildren(SubscriptionVisitor.java:94)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.visit(SubscriptionVisitor.java:76)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:68)
    at org.sonar.plugins.javascript.api.visitors.SubscriptionVisitor.scanTree(SubscriptionVisitor.java:62)
    at org.sonar.plugins.javascript.JavaScriptSquidSensor.scanFile(JavaScriptSquidSensor.java:235)
    at org.sonar.plugins.javascript.JavaScriptSquidSensor.analyse(JavaScriptSquidSensor.java:163)
    ... 37 more

Привет. вы можете поделиться файлом, который не работает? Также какая версия SonarJS на сервере SonarQube, к которому вы подключаетесь? Не работает ли он с тем же файлом, когда вы не в подключенном режиме?

Tibor Blenessy 26.10.2018 10:26

@TiborBlenessy, спасибо за ответ, версия SonarJS на сервере SonarQube - 2.19.0.3866. Эта проблема возникает на каждом JS, и это происходит только в подключенном режиме, она отлично работает, когда не в подключенном режиме.

shrewdbeans 15.11.2018 11:56

Можете попробовать обновить SonarJS на стороне сервера? Версия, которую вы используете, очень старая.

Tibor Blenessy 15.11.2018 13:22

@TiborBlenessy мы обновились до SonarJS: 5.0 Build 6962, и теперь он работает. Спасибо

shrewdbeans 26.11.2018 15:22
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
2 103
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как указано в комментариях, проблема заключалась в том, что сервер, к которому он пытался подключиться, был на старой версии SonarJS. Мы обновили его до SonarJS: 5.0 Build 6962, и теперь расширение SonarLint для VS Code отлично работает в подключенном режиме.

Другие вопросы по теме