Вы давно страдаете от ESlint, как и я? Просто настройте инструмент форматирования кода с 10 или более зависимостями на каждом шагу. Зависимости зависят друг от друга, и неправильная версия и неправильная последовательность конфигурации приведут к сбою.
Даже если вы хорошо разбираетесь в настройке ESLint, вам потребуется перенастроить, если вы измените проект. Если вы переключаетесь с проектов React на Vue, ситуация еще хуже, и вам приходится выполнять дополнительную бессмысленную работу по настройке. И что я принес сегодня@youngjuning/eslint-config-airbnbЭто плагин, который избавит вас от утомительной работы по настройке ESLint.
вводить
Мощный плагин конфигурации eslint, основанный на airbnb, поддерживает vue, jsx, js, ts, tsx, html, jest и призван освободить вас от утомительной работы по настройке ESLint.
Установить
Во-первых, во избежание конфликтов, пожалуйста, удалите существующую конфигурацию в проекте, вы можете сохранить правила.
$ yarn add -D @youngjuning/eslint-config-airbnb
настроить
Add to your eslint config (.eslintrc.js
):
module.exports = {
root: true,
extends: '@youngjuning/airbnb',
}
react native
module.exports = {
root: true,
extends: '@youngjuning/airbnb',
env: {
'react-native/react-native': true,
},
}
vue with typescript
module.exports = {
root: true,
extends: '@youngjuning/airbnb',
parserOptions: {
parser: '@typescript-eslint/parser',
},
}
Более
.eslintignore
!.eslintrc.js
!.prettierrc.js
.prettierrc.js
module.exports = {
...require('@youngjuning/eslint-config-airbnb/.prettierrc.js'),
}
.prettierignore
**/node_modules/*
.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
yorkie & lint-staged
$ yarn add -D yorkie lint-staged
{
"gitHooks": {
"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"
]
},
}
Эта статья была впервые опубликована вБлог Ян Цзюньнина, это не легко создать, ваш лайк 👍 мотивирует меня продолжать