问题标签 [sonarjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2671 浏览

node.js - 单元测试结果未显示在 Nodejs 的 SonarQube 仪表板上

SonarQube 版本:6.0.0 SonarJS:2.17.0.3154

问题

主要目的是在 SonarQube 仪表板中显示覆盖率报告和单元测试结果。虽然我能够获得覆盖率报告,但无法在 SonarQube 仪表板中获得单元测试结果。我一直在使用 mocha 进行单元测试,使用 istanbul nyc 进行代码覆盖。mocha 使用包 mocha-sonar-reporter 生成的报告是 xml 格式,覆盖率报告是 lcov 格式。

声纳仪表板

Sonar.Property 文件

SonarQube 日志

0 投票
1 回答
474 浏览

javascript - SonarQube Javascript 移除未使用的函数参数 XYZ

在分析我的项目时,我得到了很多类型的误报

删除未使用的函数参数 XYZ

对于父类具有带参数的方法但子类不需要任何参数但在运行时我不知道也不想知道对象是什么实例的情况,因此我想传递一个参数,即使它由于方法签名而被忽略

是否有机会从声纳报告中排除此类情况?

然后我在代码中的某个位置创建任何 edgeHelper 类的实例,然后我执行这些方法,所以我当时不知道是什么 - 或者至少我不想再关心了 - 我知道它是我只关心 EdgeHelper 的一个子类。

0 投票
2 回答
1450 浏览

angularjs - 将 AngularJS 单元测试结果导入 Sonarqube

我正在尝试使用 Jasmine 框架和 Karma 将单元测试结果导入到 Sonarqube 的 AngularJS 代码中。

我曾尝试使用多个记者,如 karma-junit-reporter、karma-sonarqube-unit-reporter 并能够产生结果。

但是,我无法使用“声纳扫描仪”将单元测试结果导入 Sonarqube。其他报告,如 Bug、Code Smell、Coverage 正在仪表板中显示,但单元测试报告没有。

有人可以指导我如何在 Sonarqube 中导入和显示单元测试结果。

Sonarqube 6.5
SonarQube 扫描仪 3.0.3.778
Java 1.8.0_121 Oracle Corporation(64 位)
Windows 7 6.1 amd64

声纳扫描仪属性

sonar.projectKey=unit_test
sonar.projectName=js
sonar.projectVersion=1.0
sonar.sources=public/js
sonar.javascript.lcov.reportPaths=reports/coverage/lcov.info
sonar.javascript.karmajstestdriver.reportsPath=reports/junit/

0 投票
1 回答
179 浏览

sonarjs - 如何指定插件的版本,例如 sonarcloud 中的 sonarjs?

我想在声纳云上使用最新版本的 sonarjs(目前为 3.2),但 travis 工作向我展示了正在使用的 3.1.1 版本。似乎 sonarcloud 版本的插件可能会在几个月后过时。3.1.1 对我来说没用,因为我的项目使用流程,它是在 3.2 版本中添加到 sonarjs 中的。如何手动指定要使用的 sonarjs 版本?

0 投票
1 回答
720 浏览

sonarqube - 安装 sonar-js 插件后无法重新启动声纳服务器

  1. 从github克隆的 sonarjs 插件| 声纳插件

  2. 通过 mvn install 命令创建 jar 文件

  3. 将 jar 文件复制到 sonarqube-5.6.6/extensions/plugins/

  4. 现在,当尝试启动声纳服务器时,它会停止并显示以下消息:

运行 SonarQube
... --> 包装器作为控制台
包装器启动 | 启动 JVM...
jvm 1 | 包装器(版本 3.2.3)http://wrapper.tanukisoftware.org
jvm 1 | 版权所有 1999-2006 Tanuki Software, Inc. 保留所有权利。
虚拟机 1 |
虚拟机 1 | 2017.11.29 22:17:20 INFO app[osaAppFileSystem] 清理或创建临时目录 /home/sd2labs/mycomputer/sonarqube-5.6.6/temp
虚拟机 1 | 2017.11.29 22:17:20 INFO app[ospmJavaProcessLauncher] 启动进程[es]:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Xmx1G - Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/home/sd2labs/mycomputer /sonarqube-5.6.6/temp -javaagent:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management-agent.jar -cp ./lib/common/ :./lib/search/ org.sonar.search.SearchServer /home/sd2labs/mycomputer/sonarqube-5.6.6/temp/ sq-process8688307264383931251properties
jvm 1 | 2017.11.29 22:17:28 INFO app[ospmMonitor] Process[es] is up
虚拟机 1 | 2017.11.29 22:17:28 INFO app[ospmJavaProcessLauncher] 启动进程[web]:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Dfile。 encoding=UTF-8 -Djruby.management.enabled=false -Djruby.compile.invokedynamic=false -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/home/sd2labs/ mycomputer/sonarqube-5.6.6/temp -javaagent:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management-agent.jar -cp ./lib/common/ :./lib/server / :/home/sd2labs/mycomputer/sonarqube-5.6.6/lib/jdbc/mysql/mysql-connector-java-5.1.35.jar org.sonar.server.app.WebServer /home/sd2labs/mycomputer/sonarqube- 5.6.6/temp/ sq-process1772881744825311451properties
jvm 1 | 2017.11.29 22:17:33 INFO app[ospmMonitor] Process[es] 正在停止
虚拟机 1 | 2017.11.29 22:17:34 INFO app[ospmMonitor] Process[es] 已停止
包装 | <-- 包装器停止

我究竟做错了什么?

0 投票
1 回答
68 浏览

sonarjs - 如何使用 SONARJS 的 npm 包

我想知道如何为我的 JS 函数获取复杂度指标。我试图针对我的应用程序运行该包,但只有几个代码样式警告。我非常有信心在某些情况下应该警告我复杂性。此功能是否有特殊标志?

0 投票
1 回答
585 浏览

javascript - 如何在 sonarjs 中设置 javascript ecmascript 版本?

我目前正在使用 sonarqube for codecovergae.Karma 和 jasmine 作为测试工具。由于项目的复杂性和依赖性,我使用 babel transpiler 将 ts 转换为 es5。

我能够配置声纳-qube。但是,我得到的代码气味类似于Replace "var" with "let" 或 "const"。我检查声纳配置。我没有找到任何可以设置 ecmascript 版本的东西,就像“sonar.java.source=1.6”我当前的配置:

请帮忙。

0 投票
1 回答
170 浏览

sonarqube - 如果存在来自标准库的 FlowType 类型注释,SonarJS 会标记问题

SonarJS 4.0 忽略了 FlowType 注释,但在 SonarJS 4.1 中它们被标记为参考错误(规则:javascript:S3827)。

我只想澄清这是否是预期的行为,以及与此相关的预期“工作流程”是什么。

如果它不是错误,我是否需要将所有这些引用添加到全局变量,或者处理这种行为的最佳实践是什么?

在此处输入图像描述

谢谢

0 投票
0 回答
1042 浏览

sonarqube - SonarJS 不尊重 sonar.javascript.globals

我已经为所有 js 项目在服务器端(SonarQube)配置了一个长列表sonar.javascript.globals,但是当使用 sonar-maven-plugin 从 CI 触发声纳检查时,我得到了 known S3827 (ReferenceErrorCheck). 当我将 mvn 命令扩展为 includeDsonar.javascript.globals=CustomFunc时,此 CustomFunc 被视为已知。

有没有办法解决这个问题,或者我误解了全局设置的使用?谢谢。

0 投票
1 回答
68 浏览

javascript - SonarQube 无法识别 String.prototype 方法

SonarQube 抱怨以下 JS 代码有错误

删除对“包含”属性的访问,它作为内置的字符串不存在。

在此处输入图像描述 虽然我创建了这个方法是另一个 JS 文件

使用原型创建的其他方法也存在同样的问题。如何在不从规则检查中排除文件的情况下解决此问题?