Ответ 1
Настройки JetBrains (Idea, Webstorm)
Файл > Настройки > Плагины > Обзор репозиториев... > Поиск: eslint > Установить > Перезапустить WebStorm
Файл > Настройки > Языки и фреймворки > JavaScript > Инструменты качества кодa > ESLint
После этого он должен работать следующим образом:
Конфигурация ESLint
ESLint не поставляется с конфигурацией. Вы должны создать свой собственный или использовать пресет:
npm install --save-dev eslint-config-airbnb eslint
Затем в вашем .eslintrc
{
"extends": "airbnb"
}
Вы также можете выборочно отключить/изменить некоторые правила из пресета (0 - отключить правило, 1 - предупреждение, 2 - ошибка):
{
'extends': 'airbnb',
'rules': {
'indent': [2, 'tab', { 'SwitchCase': 1, 'VariableDeclarator': 1 }],
'react/prop-types': 0,
'react/jsx-indent-props': [2, 'tab'],
}
}
Читайте: Отключение правила eslint для определенной строки.
Если вы не хотите использовать конфигурацию airbnb (самый популярный справочник по стилю javascript), вы можете создать свой собственный. Вот инструкция для реакции: Как настроить ESLint для React на редакторе Atom.
Чтобы создать свой собственный пресет, вам нужно создать пакет npm с именем eslint-config-myname, а затем использовать 'extends': 'myname',
http://eslint.org/docs/developer-guide/shareable-configs
Вы можете использовать командную строку для проверки работы eslint:
./node_modules/.bin/eslint .
Вы можете исключить некоторые файлы из eslinting (node_modules исключены по умолчанию) в .eslintignore:
bundle.js
Существует также переключатель --fix
для eslint.
.editorconfig
Хорошим компаньоном для ESLint является editorconfig. Вот пример, который работает в продуктах JetBrains:
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,jsx,html,sass}]
charset = utf-8
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
# don't use {} for single extension. This won't work: [*.{css}]
[*.css]
indent_style = space
indent_size = 2
У меня также есть репозиторий github, у которого уже установлены эти файлы https://github.com/rofrol/react-starter-kit/
Основываясь на этом https://www.themarketingtechnologist.co/how-to-get-airbnbs-javascript-code-style-working-in-webstorm/
Подробнее здесь https://www.jetbrains.com/webstorm/help/using-javascript-code-quality-tools.html