За основу взят стиль Airbnb.
Для форматирования кода используется Prettier.
Для проверки кода используется ESLint.
$ npm install --save-dev eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks @babel/eslint-parser @babel/preset-react
Файлы с настройками находятся в репозитории в директории js
.
Их надо скопировать в каталог проекта под именами
.eslintrc
.prettierrc
Для wb-rules правил используйте js/eslintrc-es5
, так как правила пишутся на ECMAScript 5.
В раздел scripts
файла package.json
можно добавить строку
"lint": "eslint \"**/*.{js,jsx}\""
$ npx eslint FILE.js
$ npx prettier
- устанавливаем расширение ESlint:
Ctrl-Shift-X
(открывает Marketplace), в строке поиска вводимeslint
, устанавливаем первое расширение из списка (от Microsoft); - устанавливаем расширение Prettier:
Ctrl-Shift-X
(открывает Marketplace), в строке поиска вводимprettier
; - открываем редактор настроек VSCode:
Ctrl-Shift-P
, в поиске вводимsettings json
, выбираемPreferences: Open Settings (JSON)
; - в открывшемся редакторе вводим (или добавляем опции в существующий объект);
{
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
}
- если файлы настройки
prettier
расположены не в каталоге проекта, то надо указать параметрprettier.configPath
; - если файлы настройки
eslint
расположены не в каталоге проекта, то надо добавить параметр:
{
"eslint.options": {
"overrideConfigFile": "PATH/.eslintrc"
}
}