@youngjuning/eslint-config
v1.4.0
Published
a powerful esLint config
Downloads
23
Maintainers
Readme
@youngjuning/eslint-config
a powerful esLint config based on airbnb
Please remove your eslint、prettier plugin first. All in @youngjuning/eslint-config
Prettier
Dependencies:
$ yarn add @youngjuning/prettier-config -D
Config:
// .prettierrc.js
module.exports = require('@youngjuning/prettier-config');
Base
support .js、.ts
Dependencies:
$ yarn add -D @youngjuning/eslint-config
Config:
// .eslintrc.js
module.exports = {
extends: ['@youngjuning/eslint-config']
}
React
support .js、.ts、.jsx、.tsx、.html
Dependencies:
$ yarn add -D eslint-plugin-react \
eslint-plugin-react-hooks \
eslint-plugin-jsx-a11y \
eslint-plugin-import
Config:
// .eslintrc.js
module.exports = {
extends: ['@youngjuning/eslint-config/react']
}
React Native
support .js、.ts、.jsx、.tsx
Dependencies:
$ yarn add -D eslint-plugin-react \
eslint-plugin-react-hooks \
eslint-plugin-jsx-a11y \
eslint-plugin-import \
eslint-plugin-react-native
Config:
// .eslintrc.js
module.exports = {
extends: ['@youngjuning/eslint-config/react-native']
}
Vue
support .js、.ts、.vue
Dependencies:
$ yarn add -D @vue/cli-service eslint-plugin-vue @vue/eslint-config-airbnb
Config:
// .eslintrc.js
module.exports = {
extends: ['@youngjuning/eslint-config/vue']
}
miniprogram
support .js、.ts
Config:
// .eslintrc.js
module.exports = {
extends: ['@youngjuning/eslint-config/miniprogram']
}
html
support .js、.ts、.html
Dependencies:
$ yarn add -D eslint-plugin-html
Config:
// .eslintrc.js
module.exports = {
extends: [...,'@youngjuning/eslint-config/html']
}
More Config
.eslintignore
!.eslintrc.js
!.prettierrc.js
.editorconfig
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
[*.gradle]
indent_size = 4
[BUCK]
indent_size = 4
husky & lint-staged
$ yarn add -D husky lint-staged
{
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"**/*.{js,jsx,ts,tsx}": [
"eslint --fix",
"git add"
],
// you can add wxml/html...
"**/*.{less,md,json}": [
"prettier --write",
"git add"
]
},
}
vscode eslint 配置
禁用 formatOnSave,开启 source.fixAll.eslint
{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
// 建议直接删掉 Prettier 插件
"prettier.disableLanguages": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue"
],
}
git autocrlf
为了解决换行符冲突的问题,强烈建议设置 core.autocrlf
为 input
。为什么这么做请读一下 Git 多平台换行符问题(LF or CRLF)
$ git config --global core.autocrlf input