这是发生在某一个风和日丽的下午。
正当工作摸鱼,百无聊赖的时候,领导问我,你总说前端代码校验很严格,但你那代码都校验了个啥?
显然,这需要拖延战术,在忽悠领导后,我看了看我们的项目,进入了深思。
我们大部分人在做一个前端项目的时候,配置一个ESLint,不会一个一个的添加上去,大部分的规则,都是从标准中继承出来的,比如下面这样:
eslint.js
"plugins": ["@typescript-eslint"]
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"]
这样做的好处很明显,都懂的~
但是,如果想要了解里面的每一条规则的细节,比如,我想要知道eslint:recommend这个里面到底推荐了啥规则集。该怎么办呢?
最直接的方式,就是,在某某度上搜索下,然后,我就再也不知道我要找什么了(被瓜干扰)
呃,因为啥也找不到,还得去Google,然后,在npm官网上找到eslint-config-recommended中,然后再次看到这个:
bash
extends:
- recommended/esnext
- recommended/esnext/style-guide
- recommended/node
- recommended/node/style-guide
- recommended/react-native
- recommended/react-native/style-guide
嗯,它还有继承....
想看这种规则集,还得自己按照ESLint合并规则在脑子里过一遍吗?
No! 那是工作摸鱼该干的事?
所以,换了另外一条思路,去翻翻ESLint规则文档,看有没有直接查看当前项目已被应用的规则命令。
但.....我并没有找到这样的命令。╮(╯▽╰)╭
有兴趣的朋友,可以去看看~这里是链接
但.....我找到了另外一条命令--print-config
,官方这么解释:
arduino
--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规则集:
✿✿ヽ(°▽°)ノ✿ 完工的,剩下的就看怎么吹了!