使用alert()的声纳编码规则

时间:2013-02-11 08:47:28

标签: javascript xpath code-analysis sonarqube abstract-syntax-tree

我们正在使用Sonar 3.4.1在我们的持续集成服务器上分析我们的JavaScript。

我添加了很多自定义规则;例如:如果使用任何console.*调试功能,则发出阻止违规。

示例XPath查询:

//callExpression/memberExpression[count(*) = 3 and primaryExpression[@tokenValue = "console"] and identifierName[@tokenValue = "log"]]

我想为alert(...)的使用添加规则,但我似乎无法让它正常工作。

我在XPath查询上尝试了很多变体,比如:

//callExpression/memberExpression[count(*) = 2 and primaryExpression[@tokenValue = "alert"]]

我能够获得的最好的结果是alert()被发现,但像$varName.alert()这样的东西也是,这是误报。

如何查询alert()的使用情况?

ASTs(抽象语法树)上的任何资源都会有所帮助,所以我可以在将来解决其他规则问题。 (教一个人捕鱼和所有......)

1 个答案:

答案 0 :(得分:2)

以下简单的XPath表达式适用于我:

//primaryExpression[@tokenValue = "alert"]