问题标签 [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 回答
698 浏览

sonarqube - 如何让 SonarQube 检查 JS 代码缩进

我使用插入了 sonarJS 3.3.0.5702 的 SonarQube 5.6.6。

我正在寻找如何让我的声纳检查代码缩进,我在 JavaScript 上找不到相应的规则。

我的 sonarJS 版本是否有原因?

0 投票
1 回答
61 浏览

sonarjs - 如何在 SonarJS 中获取声纳 5.6.4 的参数

我的声纳版本是 5.6.4,它在我的代码中抛出 java.lang.NoSuchMethodError。

org.sonar.plugins.javascript.api.tree.expression.CallExpressionTree.argumentClause()Lorg/sonar/plugins/javascript/api/tree/expression/ArgumentListTree;

我的本地插件工作正常,它基于 Sonar 6.2。我在哪里可以获得有关旧版 SonarJS 的文档

0 投票
1 回答
33 浏览

sonarjs - 关于使用 SonarJS 编写自定义规则的问题

我在 SonarJS 中编写了一个自定义检查来检测 javascript 中的持久性跨站点脚本漏洞。但是,我得到了很多误报,并尝试改进代码。

我有以下两个问题:

  1. SonarJS 是否支持数据流分析?例如,跟踪某个值来自 Ajax 响应并最终打印到 HTML(如innerHtml)。

  2. SonarJS 插件中是否有任何解析器来解析“+”运算符?例如,this.name'<input value="' + this.name + '">'表达式中获取部分。

问候!杰克·姚

0 投票
1 回答
782 浏览

javascript - 如何抑制 SonarJS 中单行的错误?

我正在尝试将 Sonar 与 Javascript 一起使用,而不是在 SonarQube 中分析后忽略错误,我只想评论一些行,以便它们永远不会被标记。(类似于 Sonar for Java 中的 // NOSONAR 注释,它抑制了下一行的错误,或者 eslint 的 eslint-disable-line)。

我想在代码中记录被忽略的声纳问题,而不是在 sonarqube 数据库中。

我想要这个的部分原因是因为目前我们只是在每个开发人员机器上安装声纳(使用 brew 和 shell 脚本),所以每个开发人员都有自己的数据库。

0 投票
3 回答
1879 浏览

javascript - Sonar javascript 静态代码分析 - 缺少 javascript riport。Maven项目

请帮帮我。我不知道为什么只缺少 javascript 静态代码分析 riports。

所以,我有一个包含多个模块的 Maven 项目和前端项目中的 javascript 代码。

  • 已安装 SonarJS 插件
  • 我正在运行: mvn clean install sonar:sonar
  • 我从 pom.xml 而不是 sonar-project.properties 配置声纳
  • 声纳版本:6.7 社区版

在声纳概述中,它具有 java 静态代码分析 riport 两个模块,但没有关于 javascript 代码。

这是我在父项目中的 pom.xml 设置。

更新:

我已经使用 -X 调试运行了声纳分析。下面的日志:

但没有任何排除设置。

0 投票
1 回答
21 浏览

sonarjs - 在 SonarJS 中针对特定文件提出问题

如果在文件中找不到某个关键字,我正在编写关于提出问题的自定义规则,并且我也只想检查一个 js 文件,而不是所有 js 文件。有什么方法可以传递我想专门检查规则并提出问题的文件名?

0 投票
1 回答
19006 浏览

reactjs - React 和 Jest 的 Sonarqube 覆盖配置

我在配置 sonarqube 以与 React + Jest 正常工作时遇到问题。

我的配置:

my_moudle.sonar.projectBaseDir=front_app my_module.sonar.javascript.file.suffixes=.js,.jsx

my_module.sonar.tests=src

my_module.sonar.test.inclusions=**/__tests__/** my_module.sonar.javascript.lcov.reportPaths=coverage/lcov.info

目前我将 src 文件夹指向为测试文件夹,因为我在同一个项目文件夹的测试文件夹中为每个组件设置了一组测试。感谢 SonarJS,我的项目得到了适当的覆盖,但我不知道为什么我在覆盖度量指标中看不到单元测试的数量。任何检查的配置将不胜感激。

谢谢,倒钩

0 投票
1 回答
1849 浏览

sonarqube - SonarJS 代码覆盖率显示为 0

我正在使用 SonarQube 6.5,并尝试使用 sonar.javascript.lcov.reportPaths 属性导入 lcov.info 文件以进行代码覆盖。

我的构建是使用 Jenkins 完成的。代码在 /path/to/Deploydirectory/parent-project1/project1/ 进行部署和测试,并在 jenkins 工作区 /path/to/jenkins/workspace/BUILD_DEPLOY/parent-project1/project1/coverage 中生成报告。

我正在使用伊斯坦布尔进行代码覆盖

},

lcov.info 生成如下

在 SonarQube 上出现错误

无法解析 [/path/to/jenkins/workspace/BUILD_DEPLOY/parent-project1/project1/coverage/lcov.info、/path/to/jenkins/workspace/BUILD_DEPLOY/parent-project2/project2/coverage/ 中的 2 个文件路径lcov.info],第一个未解析的路径:/path/to/Deploydirectory/parent-project1/project1/file1.js

SonrQube 配置

0 投票
1 回答
10409 浏览

javascript - SonarQube 和 Lcov 报告无法解析文件路径

我们正在尝试为我们的 Angular 应用程序制作 SonarQube 代码覆盖率报告。我们使用 Karma 生成代码覆盖率报告并将其导入 SonarQube 分析器。

SonarQube 已经为我们的项目提供了 C# 覆盖,现在我们还想添加 JavaScript 代码覆盖。

Teamcity 调用 Karma 并创建代码覆盖率并将 lcov 文件和报告文件放入src\Planning.Spa\Coverage\report文件夹中。

LCOV 文件

Teamcity 配置了以下 MSBuild 参数以生成 C# 代码覆盖率和 JavaScript 覆盖率。

SonarQube MSBuild 配置

在运行 SonarQube 分析时,我们收到以下错误

我们没有找到任何使用 MSBuild runner 同时运行 C# 和 JavaScript 的示例。也找不到与此相关的任何答案Could not resolve file paths

我们正在努力使其在过去 2 周内正常工作,但找不到任何有用的示例或答案。类似的问题在这里这里都没有得到解答

使用更多信息更新声纳分析

更新SonarJS 实际的 java 代码

https://github.com/SonarSource/SonarJS/blob/3.2.0.5506/sonar-javascript-plugin/src/main/java/org/sonar/plugins/javascript/lcov/LCOVParser.java#L146

不知何故,sonarqube 忽略了我从其文件系统中的绝对路径并将 inputFile 设置为 null

我尝试使用 Gulp 将 absolute 修改为 relative 并\使用/. 但没有任何效果。

SonarQube 版本6.5.0.27846

SonarJs 版本3.2.0.5506

0 投票
1 回答
1100 浏览

sonarqube - 如何禁用基于 Sensor ESLint 的 SonarJS?

在我们的环境中,我们已经使用 ESLint 来生成 json 报告。从 Sonarqube 7.2 开始,SonarJS 插件可以导入这个报告文件。

但是我在分析报告中看到一些基于 Sensor ESLint 的 SonarJS也开始了。但是这个不了解我们基于 React 的项目 sysntax,并且试图做双重工作,实际上有没有办法禁用这个传感器?