Javascript 创建过梁时,预期的输出格式是什么?

Javascript 创建过梁时,预期的输出格式是什么?,javascript,parsing,command-line-interface,Javascript,Parsing,Command Line Interface,在编写代码时,Linting是一种非常宝贵的技术。然而,我发现我自己想要更多地理解皮棉的过程。为此,我正在使用node构建一个基本的静态代码分析工具 linter应该做的是执行正则表达式检查,如果正则表达式匹配,则抛出错误(或警告,具体取决于用户的配置) 我知道Linter传统上解析代码,有些甚至在AST上执行检查,但我想完全避免这种情况。我还了解到,我的方法通过完全避免解析语法绕过了linting的几乎所有重要部分 我们的目标是能够写一些简单的检查,并将其作为快速原型制作的附件。(示例:将^

在编写代码时,Linting是一种非常宝贵的技术。然而,我发现我自己想要更多地理解皮棉的过程。为此,我正在使用node构建一个基本的静态代码分析工具

linter应该做的是执行正则表达式检查,如果正则表达式匹配,则抛出错误(或警告,具体取决于用户的配置)

我知道Linter传统上解析代码,有些甚至在AST上执行检查,但我想完全避免这种情况。我还了解到,我的方法通过完全避免解析语法绕过了linting的几乎所有重要部分


我们的目标是能够写一些简单的检查,并将其作为快速原型制作的附件。(示例:将
^$\n^$
放入我的linter配置,两个连续的空行将抛出一个错误)

过程中似乎没有记录的部分是命令行预期的输出类型。以下是以下示例输出:

和eslint示例输出:

/Users/dawsonbotsford/code/regexLinter/cli.js
  3:1  error  Parsing error: The keyword 'const' is reserved

我如何用正确类型的shell错误/警告来模拟此输出,从而使其可插入sublime contrib插件、CI服务器等?

将linter开发人员从此类工作中解放出来是我们的目标之一。我还没有通过他们的框架实现任何东西,但他们似乎非常活跃,已经支持多种语言和输出格式。关于“框架”的讨论很多,但似乎都毫无意义;基本上不支持进行分析,这是最困难的部分。在我看来,似乎有人声称他们有一个实现AI的理想方案,并向您提供了LISP。是的,LISP可以非常好,但被忽略的是任何实际的人工智能机器。有关其他视图,请参见
/Users/dawsonbotsford/code/regexLinter/cli.js
  3:1  error  Parsing error: The keyword 'const' is reserved