自定义规则检查源代码

时间:2015-10-20 09:49:27

标签: javascript abstract-syntax-tree eslint grunt-eslint

我正在使用ESLint制作自定义规则。

基本上:

module.exports = function (context) {
    var file = context.getSource();
    var fileName = context.getFilename();
    var lines = file.split(/\n/);
    lines.forEach(function(line, i){
        // [...] validation logic

        var report = {
            message: 'Code style error.'
        };

        report.loc = {
            line: i + 1,
            col: 1 // I have some logic for this working
        };

        context.report(report);
    });

    return {}; // do I need this?
};

我的代码可以找到我正在寻找的错误,但是我在向ESLint报告错误时遇到了问题。

我明白了:

  

加载规则'test-rule'时出错:无法读取未定义的属性'type'

如何配置context.report(report);并且此模块是否应该return,因为我根本不使用AST?

对我遗失的内容有任何建议吗?

1 个答案:

答案 0 :(得分:1)

截至今天,您还必须提供node密钥。但我知道文档说不然,这就是为什么我在那里开了一个问题:https://github.com/eslint/eslint/issues/4220