如何获得项目中,ESLint所有的校验规则?

236 阅读2分钟

这是发生在某一个风和日丽的下午。

正当工作摸鱼,百无聊赖的时候,领导问我,你总说前端代码校验很严格,但你那代码都校验了个啥?

显然,这需要拖延战术,在忽悠领导后,我看了看我们的项目,进入了深思。

我们大部分人在做一个前端项目的时候,配置一个ESLint,不会一个一个的添加上去,大部分的规则,都是从标准中继承出来的,比如下面这样:

"plugins": ["@typescript-eslint"]
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"]

这样做的好处很明显,都懂的~

但是,如果想要了解里面的每一条规则的细节,比如,我想要知道eslint:recommend这个里面到底推荐了啥规则集。该怎么办呢?

最直接的方式,就是,在某某度上搜索下,然后,我就再也不知道我要找什么了(被瓜干扰

image.png

呃,因为啥也找不到,还得去Google,然后,在npm官网上找到eslint-config-recommended中,然后再次看到这个:

extends:
  - recommended/esnext
  - recommended/esnext/style-guide
  - recommended/node
  - recommended/node/style-guide
  - recommended/react-native
  - recommended/react-native/style-guide

嗯,它还有继承....

image.png

想看这种规则集,还得自己按照ESLint合并规则在脑子里过一遍吗?

No! 那是工作摸鱼该干的事?

所以,换了另外一条思路,去翻翻ESLint规则文档,看有没有直接查看当前项目已被应用的规则命令。

但.....我并没有找到这样的命令。╮(╯▽╰)╭

有兴趣的朋友,可以去看看~这里是链接

但.....我找到了另外一条命令--print-config,官方这么解释:

--print-config path::String   Print the configuration for the given file

然后又想到ESLint对所有校验文件都是应用同样的规则的,所以就突发奇想,是不是将项目中main.js中的规则打印出来,就可以了?

npx eslint --print-config ./src/main.js > rules-config.json

然后我就得到了一个json文件,里面有所有的ESLint规则集:

image.png

✿✿ヽ(°▽°)ノ✿ 完工的,剩下的就看怎么吹了!