vue项目前端代码扫描——eslint报告导入到sonarqube平台

一、项目根目录新建sonarqube_formatter.js

1、sonarqube_formatter.js将report.json转成sonarqube可识别的json

module.exports = function(results) {
  var summary = { issues: [] }
  results.forEach(function(result) {
    result.messages.forEach(function(msg) {
      var logMessage = {
        engineId: 'eslint',
        ruleId: msg.ruleId,
        primaryLocation: {
          message: msg.message,
          filePath: result.filePath,
          textRange: {
            startLine: msg.line,
            endLine: msg.endLine,
            endColumn: msg.endColumn
          }
        }
      }

      // The log message type and severity is up to you but you need to take in consideration SonarQube properties
      if (msg.severity === 1) {
        logMessage.type = 'CODE_SMELL'
        logMessage.severity = 'INFO'
      }
      if (msg.severity === 2) {
        logMessage.type = 'BUG'
        logMessage.severity = 'MAJOR'
      }
      summary.issues.push(logMessage)
    })
  })
  return JSON.stringify(summary)
}

二、生成sonarqube可识别的report.json

在本地项目根目录下执行npx eslint --ext .js,.vue,.css src -f ./sonarqube_formatter.js -o report.json,即可生成本地项目的eslint代码检测报告report.json

三、report.json导入到sonarqube平台

1、本地安装好sonar-sanner
2、在sonarqube平台创建项目,拿到token,在项目根目录执行以下sonar-scanner命令

sonar-scanner -Dsonar.projectKey=test-front-eslint -Dsonar.host.url=http://xxx.xxx.xxx.xxx:xxxx -Dsonar.login=tokenxxxx -Dsonar.externalIssuesReportPaths=report.json -Dsonar.projectVersion=1.0

3、执行成功后,会提示出结果展示页面的地址,访问即可查看report.json中的问题在sonarqube平台展示。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaiery

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值