我的配置中哪些eslint规则很慢?

时间:2016-07-19 12:05:27

标签: javascript profiling configuration-files eslint

我有一个包含大约100条规则的配置,并且在我的项目上使用所有这些规则运行eslint大约需要10秒。我想确定最慢的规则并消除其中的一些规则。我该怎么做呢?有没有用于eslint的探查器工具?

2 个答案:

答案 0 :(得分:33)

如果设置了环境变量TIMING,则eslint会显示规则的花费时间。 例如:

$ TIMING=1 eslint lib
Rule                         | Time (ms) | Relative
:----------------------------|----------:|--------:
valid-jsdoc                  |   203.798 |     6.7%
camelcase                    |   142.146 |     4.6%
no-unmodified-loop-condition |   136.811 |     4.5%
indent                       |   127.138 |     4.2%
no-undefined                 |   124.525 |     4.1%
keyword-spacing              |    85.397 |     2.8%
space-in-parens              |    76.179 |     2.5%
no-this-before-super         |    72.317 |     2.4%
no-implied-eval              |    69.945 |     2.3%
space-infix-ops              |    57.128 |     1.9%

另见Per-rule Performance上的官方文档。

答案 1 :(得分:3)

我发现删除慢速规则并没有太大帮助,因为加载eslint和解析文件需要一段时间。

可以使用--cachedocs)的eslint选项来加快速度。

在各种编辑器中使用eslint“按需输入”时,安装eslint_d可以将eslint作为守护程序运行,并保存node加载时间。

在我目前正在从事的项目中,将eslint_d--cache结合在一起,使起毛时间从4+秒增加到0.17!