Установите его | Никогда больше не беспокойтесь о конфигурации ESLint

ESLint
Установите его | Никогда больше не беспокойтесь о конфигурации ESLint

Вы давно страдаете от 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"
    ]
  },
}

Эта статья была впервые опубликована вБлог Ян Цзюньнина, это не легко создать, ваш лайк 👍 мотивирует меня продолжать