1.0.0 • Published 1 year ago
@jianhunxia/eslint-config v1.0.0
eslint-config
ESLint 规则配置集。支持原生 js、Vue、React、TypeScript。
Install
js
yarn add eslint @babel/core @babel/eslint-parser -D
yarn add @jianhunxia/eslint-config -Dvue
yarn add\
eslint\
@babel/core @babel/eslint-parser\
eslint-plugin-vue\
vue-eslint-parser\
-D
yarn add @jianhunxia/eslint-config -Dreact
yarn add\
eslint\
@babel/core @babel/eslint-parser\
eslint-plugin-react\
-D
yarn add @jianhunxia/eslint-config -Dtypescript
yarn add\
eslint\
@babel/core @babel/eslint-parser\
@typescript-eslint/parser\
@typescript-eslint/eslint-plugin\
-D
yarn add @jianhunxia/eslint-config -DUsage
通过 .eslintrc 相关文件里的 extends 字段引入。
js
{
extends: ["@jianhunxia/eslint-config"]
}vue
{
extends: ["@jianhunxia/eslint-config/vue"]
}react
{
extends: ["@jianhunxia/eslint-config/react"]
}typescript
{
extends: ["@jianhunxia/eslint-config/typescript"]
}Integrating with Prettier
// 1. 安装 Prettier
yarn add prettier --dev --exact
yarn add eslint-plugin-prettier eslint-config-prettier --dev
// 2. 配置 .eslintrc 相关文件
{
extends: [
"@jianhunxia/eslint-config",
"plugin:prettier/recommended"
]
}
// 3. 配置 .prettierrc 相关文件
// semi、singleQuote、trailingComma、endOfLine 这四项规则保持和 eslint 一致
{
"semi": false,
"singleQuote": true,
"trailingComma": "none",
"arrowParens": "avoid",
"endOfLine": "auto"
}
// 4. 例子:react + typescript 项目
// 安装
yarn add\
eslint\
@babel/core @babel/eslint-parser\
eslint-plugin-react\
@typescript-eslint/parser\
@typescript-eslint/eslint-plugin\
eslint-plugin-prettier\
eslint-config-prettier\
-D
yarn add @jianhunxia/eslint-config -D
yarn add prettier --dev --exact
// .eslintrc
{
"extends": [
"@jianhunxia/eslint-config/react",
"@jianhunxia/eslint-config/typescript",
"plugin:prettier/recommended"
]
}推荐插件
eslint-plugin-import // import/no-duplicates 禁止重复引入 但是与引入type不冲突
eslint-plugin-simple-import-sort // simple-import-sort/imports import排序Refers
https://github.com/ElemeFE/eslint-config-elemefe
https://github.com/AlloyTeam/eslint-config-alloy
https://github.com/vuejs/eslint-plugin-vue
https://github.com/yannickcr/eslint-plugin-react
https://github.com/typescript-eslint/typescript-eslint
https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin
Environment
Node.js >= 8, TypeScript >=3.3.1
1.0.0
1 year ago