
最近要新建一个项目,想把各个依赖都升到最新,结果 vite ts react 的模板项目装好 eslint 上来就报了几个错,用的 airbnb 的预设
react 插有好几条老规则早不适用了不知道为什么还不改,比如什么 jsx 文件必须引入 react ,还什么函数式组件也提示必须写 defaultProps
还是说这是 airbnb 预设的问题?
然后 prettier 和 eslint 还有冲突,比如我声明一个箭头函数,参数用的解构声明,eslint 说太长了必须换行,prettier 说解构声明的大括号后面里不能换行?
听说 fb 弄了个 all in one 的 rome ,但是我搜了下官网说现在在用 rust 重构项目,这个有人用过吗?
1 yoa1q7y 2022-03-04 22:39:52 +08:00 eslint config 部分配置 ```json { "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react/recommended", "plugin:react-hooks/recommended", "plugin:prettier/recommended" ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": "latest", "sourceType": "module" }, "settings": { "react": { "version": "detect" } } } ``` package.json ```json { "@typescript-eslint/eslint-plugin": "^5.12.1", "@typescript-eslint/parser": "^5.12.1", "eslint": "^8.10.0", "eslint-config-prettier": "^8.4.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-react": "^7.29.2", "eslint-plugin-react-hooks": "^4.3.0" } ``` 这样就足够了 |
2 seki 2022-03-04 22:46:21 +08:00 当然是自己选配啊,当年那些希望推行统一规则的项目比如 jshint 和 standard ,都已经没人用了,因为用的时候总有想法不一致的地方。airbnb 也是适合 airbnb 的情况而已,你用着不舒服也很正常 prettier 你要看 plugin-prettier 的文档,需要覆盖掉一些规则 |
3 erguotou521 2022-03-04 23:13:48 +08:00 via Android npm i -g fe-conf fe-conf |
4 TWorldIsNButThis OP |
5 noe132 2022-03-05 11:06:50 +08:00 via Android 自己配+1 或者不想自己配可以试试我的 config https://www.npmjs.com/package/@noe132/eslint-config-react eslint fix 就是 formatter ,不需要启用 prettier |
6 Charrlles 2022-03-05 15:05:43 +08:00 via iPhone 用 vite 还是需要引入 react 的吧 |
7 Jaosn 2022-03-05 23:47:25 +08:00 不要用 airbnb ,确实我也觉得前端需要一个 all in one |
8 hronro 2022-04-13 18:50:27 +08:00 via iPhone 说道 all in one ,为啥不考虑 deno ? Linter, Fomatter, Runner 全都有了,速度还特别快(因为它的 linter formatter 都是 Rust 实现的) |