├── .prettierrc.json └── README.md /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "tabWidth": 2, 4 | "useTabs": false, 5 | "semi": true, 6 | "singleQuote": true, 7 | "trailingComma": "all", 8 | "bracketSpacing": true, 9 | "jsxBracketSameLine": false, 10 | "arrowParens": "avoid", 11 | "proseWrap": "always" 12 | } 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Настройка pre-commit хуков 2 | 3 | ## 1 - Установка зависимостей 4 | 5 | Установить в проект следующие пакеты. 6 | 7 | ```bash 8 | npm install --save-dev prettier eslint 9 | ``` 10 | 11 | ## 2 - Инициализация lint-staged и husky 12 | 13 | Пользователям **MacOS** и **Linux** систем необходимо выполнить в терминале следующую команду. Она установит и настроит `husky` и 14 | `lint-staged` в зависимости от инструментов качества кода из зависимостей 15 | проекта в `package.json`. 16 | 17 | ```bash 18 | npx mrm lint-staged 19 | ``` 20 | 21 | Пользователям **Windows** необходимо выполнить следующую команду. Она делает тоже самое. 22 | 23 | ```bash 24 | npx mrm@2 lint-staged 25 | ``` 26 | 27 | ## 3 - Интерграция плагинов 28 | 29 | Ссылки на документацию по интеграции плагинов в популярные редакторы. 30 | 31 | - [Prettier editor integration](https://prettier.io/docs/en/editors.html) 32 | - [ESLint editor integration](https://eslint.org/docs/user-guide/integrations) 33 | 34 | ## 4 - Настройки VSCode 35 | 36 | Для комфортной работы, после установки плагинов, нужно добавить несколько 37 | настроек редактора для автосохранения и форматирования файлов. 38 | 39 | ```json 40 | { 41 | "files.autoSave": "onFocusChange", 42 | "editor.formatOnSave": true, 43 | "editor.codeActionsOnSave": { 44 | "source.fixAll.eslint": true 45 | } 46 | } 47 | ``` 48 | --------------------------------------------------------------------------------