2016-02-18 50 views
1

它说在这里(http://docs.sonarqube.org/display/PLUG/JavaScript+Plugin)SonarQube JS插件自2.0版以来支持ES6(我相信它也被称为ES2015)。SonarQube分析在ES2015语法上失败 - 但它显然支持?

我已经安装在SonarQube 4.5.6版本2.8,但我看到了这样的错误在我的分析日志 -

17:54:58.185 ERROR - Parse error at line 21 column 17: 

    'individualIndex': -1, 
    'individualName': {}, 
    'individualSearchResults': [], 
    'individualEmail': '', 
    'individualMobile': '', 
    'dunsNumberRequired': false, 
    'allDone': false 
    }); 
    } 

    static actions = { 
       ^

...这在我看来就像是SonarRunner在static关键字跳闸。

所以 - SonarQube 真的吗支持ES2015?或者我需要以不同的方式配置它,也许?我的配置如下 -

sonar.projectKey=my-project 
sonar.projectName=My Project 
sonar.projectVersion=$BUILD_NUMBER 
sonar.exclusions=node_modules/**,tests/**,bin/**,config/**,docs/ 
sonar.sources=. 
sonar.javascript.lcov.reportPath=coverage/lcov.info 

谢谢。

+0

该代码不是ES2015。 ES2015不支持(静态)类属性。 – zeroflagL

+0

@zeroflagL啊,这可能是我为什么感到困惑,谢谢。那么这个代码是ES2016呢? – Jez

+0

编号ES2016将是一个小的更新。类属性仍然是一个建议,它可能需要一段时间才能进入标准。如果它曾经到达那里。 – zeroflagL

回答

2
static actions = { 

这是一个静态类属性,它们不是ES 2015规范的一部分。所以SonarQube JS插件是正确的抱怨它。课堂属性目前处于提案阶段,因此目前还不清楚他们何时(或如果)将其纳入该语言。

ECMAScript语言的状态和发展有时会令人困惑。 transpilers支持大多数提案(即不属于任何规范的功能)的事实使情况更糟。

如果您想要定位特定版本的ECMAScript,但不确定支持的功能,那么您当然可以参考language sepecification。我也可以推荐this compatibility table

+0

太好了,谢谢。 – Jez

相关问题