监视管道输出到eslint

时间:2015-05-03 23:55:17

标签: javascript browserify watchify eslint

有谁知道我如何将Watchify的输出管道传输到eslint - 并且在构建输出的JS时让它在CLI中报告linting问题?

Watchify表示您可以使用-o管道输入命令。

watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'

Eslint表示您可以使用--stdin标志从标准输入读取。

因此,凭借这些知识,我使用以下命令:

watchify main.js -o 'eslint --stdin > static/bundle.js'

这实际上做的是向static/bundle.js输出eslint警告。 我仍然喜欢向CLI报告,但在linting传递时构建JS。这可能吗?

我正在寻找直接使用这些模块的CLI解决方案。我不打算使用Gulp / Grunt或同等产品。

1 个答案:

答案 0 :(得分:0)

遗憾的是,Watchify要求您指定一个输出文件,这意味着您将无法从eslint流式传输/管道--stdin标志以监视输出。

为了使用--stdin标志,输入必须采用前一个命令的形式,导致输出到shell的stdout。然后,eslint将获取该数据,并将其仅仅发送到eslint命令的输出lint到系统stdout ...这就是当eslint响应任何问题或成功时所看到的。

由于watchify正在捆绑您的源文件,因此首先提示lint可能更好,然后然后执行watchify。或者,您可以同时执行这两项操作。以下是各自的例子:

首先

eslint:

eslint /path/to/src && watchify watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'

<强>同时

eslint /path/to/src & watchify watchify main.js -o 'uglifyjs -cm > static/bundle.min.js'