问题标签 [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 投票
2 回答
6025 浏览

reactjs - 对 JSX 文件的 SonarQube 分析

我需要对 .jsx 文件运行 SonarQube 分析。有什么方法可以让我们运行 sonar-runner 来分析 JSX 文件的性能问题吗?

0 投票
2 回答
1260 浏览

javascript - SonarJS - 如何避免“不应引用不存在的变量”问题

我有一个由几个源文件组成的 JavaScript 项目。这些文件在页面的<script>标签中被引用。index.html这些源文件中定义了函数和变量,并在其他源文件中使用。问题是声纳将这些文件视为独立的,我得到了

不应引用不存在的变量 (javascript:S3827)

问题。任何人都可以帮助如何避免这种情况?

谢谢

帕维尔

0 投票
1 回答
614 浏览

sonarqube - SonarQube 扫描仪中 lcov.info 路径的通配符?

我似乎无法使用通配符lcov.info在 SonarQube MSBuild Scanner 中指定我的文件的路径。例如:

但如果我指定完整路径,它可以工作:

这将根据构建代理上的浏览器而有所不同!

知道如何解决这个问题吗?

0 投票
1 回答
440 浏览

sonarqube - 如何使用 SonarJS 测量“测试计数”?

有没有办法衡量 SonarQube JavaScript 项目中的测试数量?

我们目前只有覆盖率指标,SonarQube 甚至将测试文件标识为“单元测试”,但我无法在任何地方找到测试计数的衡量标准。

相比之下,在我的 Java 项目中,我确实有一个测试计数度量。

0 投票
1 回答
458 浏览

sonarqube - 当我的代码使用 Microsoft Asp.Net Ajax 代码时,如何最好地抑制 javascript:S3827?

问题:我们想要使用 SonarJS,但我们的许多旧 Javascript 代码使用来自 Microsoft ASP.Net 框架(和 MS AjaxToolkit)的函数。因此,我们有几百次出现错误"XXX" does not exist. Change its name or declare it so that its usage doesn't result in a "ReferenceError".(其中 XXX 是 Sys、Type、$get 等)。

我很感激我可以通过在属性中指定它们来抑制这些sonar.javascript.globals(根据 Elena Vilchik 对这个问题的回答),但感觉我真正想做的是添加我自己的定制条目sonar.javascript.environments(称为 msajax 和 msajaxtoolkit 说) . 然后我可以更准确地了解何时包含/排除这些全局变量。

所以我想我想知道是否environment支持定义我自己的,或者是否有更优雅的解决方案。

提前致谢。

0 投票
1 回答
658 浏览

sonarqube - 如何禁用变量的规则

我是 sonarQube 的新用户。我安装了 6.3 版本并分析了我们组中使用的旧项目。我们有一个名为的变量ourProduct存在于所有项目中(我们仍将用于未来的项目。

但是当我在本地机器上分析项目时,我得到了这个错误

“我们的产品”不存在。更改其名称或声明它,以便其使用不会导致“ReferenceError”。

是否有解决方案可以为所有项目(以前和将来的项目)禁用此变量的此规则?

我应该排除这个变量还是编写新规则?我该怎么做?

0 投票
1 回答
212 浏览

sonarqube-4.5 - 添加新插件后 SonarQube 不启动

在 Sonar\sonarqube-4.5.1\extensions\plugins 添加“sonar-javascript-plugin-2.9.jar”后,我重新启动不启动的 SonarQube。

经过搜索,我发现将禁止杀死所有已激活的进程(elasticsearch.....)。和其他人建议在 sonar.properties 中将 (#sonar.search.port=9001) 更改为 (sonar.search.port=0) 但没有结果。

拜托,你能给我你的建议吗?

提前致谢,

0 投票
1 回答
3072 浏览

sonarjs - 忽略块上的规则

与 sonar-java 和注释 @SuppressWarnings("squid:S2078") 一样,
sonar-js 有什么方法可以忽略代码块上的一条规则?
git repo 没有任何例子。

我开发了一个 react-redux ES6 应用程序,我有默认值的减速器:

和声纳抱怨“具有默认值的函数参数应该是最后一个”。
但是我不能改变减速器参数的顺序,我需要一个默认值。

0 投票
1 回答
1510 浏览

jenkins - SonarQube JS UT 覆盖率始终为零。但是,jscoverage.xml 导入看起来不错

我正在使用 SonarQube 6.3.1 并且正在运行 jenkins 来创建 SonarQube 仪表板。因此,我需要运行 jenkins 作业来创建 js 覆盖率报告并导入到 SonarQube 以创建 UT 覆盖率。

通过在 Jenkins 中设置 SonarQube Scanner,以下是属性:

在 Jenkins 中,这里是报告路径和报告上下文: 报告路径和上下文

这是 SonarQube 报告: 这是 SonarQube 报告

但是,SonarQube 仪表板显示 JS UT 覆盖率为 0

我想知道 sonar.javascript.lcov.reportPaths 设置是否错误,所以我尝试了很多方法:

我也试过:

但 UT 覆盖率始终为零

由于我可以看到正确创建的报告,我怀疑导入 SonarQube 是否失败,但 Jenkins 控制台中没有显示错误日志。


6/29 从我的调查中添加新的更新,来自 Jenkins 日志,

从日志中,我们可以看到没有错误消息,所以我在 Jenkins Job 的 Post Steps 中添加了 shell 脚本:

和詹金斯日志显示:

从 2 条日志我们可以看到报告看起来不错,SonarQube 成功读取报告,我们可以在 xml 报告中逐个文件看到 UT 覆盖率,但 UT 覆盖率仍然为零。


7/3 我添加了依赖项

并改变了

从 jscoverage.xml 到 jscoverage。lcov 但仍然无法正常工作

0 投票
0 回答
594 浏览

sonarqube - 关于 PHP/JS 项目的声纳扫描仪分析的 VisitException 和 UnsupportedOperationException

sonar-scanner 3.0.3我在使用和分析 PHP/JS 项目时遇到了一些问题SonarQube 6.3.1

大多数情况下,分析会失败,但有时会通过(相同的配置)。

第一个错误发生在声纳扫描仪分析期间,如下所示:

它可以发生在 JS 和 PHP 文件上。但有时声纳扫描仪的分析是成功的,当 SonarQube 尝试导入结果时,我会收到以下类型的错误。

有人知道这些错误是否相关,它们是什么意思?(我想我理解但我觉得很奇怪,不知道如何解决它)

编辑 1 [21/07/2017]

SonarJS 的版本是 3.1.1(内部版本 5128)。

SonarPHP 的版本是 2.10.0.2087。

SonarXML 的版本是 1.4.3(内部版本 1027)。

我认为文件的内容无关紧要,因为这次我得到了与以下 XML 文件完全相同的异常:

例外是一样的: