@sima-land/linters
v7.1.1
Published
Code style linter configuration presets
Readme
Frontend linters
Пакет с пресетами конфигураций линтеров.
Использование
Установка
# npm
$ npm i -D @sima-land/linters eslint stylelint prettier
# или yarn
yarn add -D @sima-land/linters eslint stylelint prettierКонфигурация
С помощью package.json
{
"prettier": "@sima-land/linters/prettier",
"eslintConfig": {
"extends": "./node_modules/@sima-land/linters/eslint/index.js"
},
"stylelint": {
"extends": "@sima-land/linters/stylelint"
}
}С помощью отдельных конфигурационных файлов
ESLint
Создать в корне проекта файл eslint.config.mjs со следующим содержимым:
import simaland from '@sima-land/linters/eslint';
export default [
// используем все правила из пакета, собранные вместе
...simaland,
// ...опционально переопределяем правила
];или eslint.config.ts
import tseslint from 'typescript-eslint';
import simaland from '@sima-land/linters/eslint';
export default tseslint.config(
// используем все правила из пакета, собранные вместе
simaland,
// ...опционально переопределяем правила
);Правила разбиты по модулям:
./linters/eslint/base- базовые правила JS./linters/eslint/typescript- базовые правила TS./linters/eslint/react- правила React/JSX./linters/eslint/lodash- правила работы с Lodash./linters/eslint/jest- правила работы с Jest./linters/eslint/testing-library- правила работы с Testing Library./linters/eslint/jsdoc- правила оформления JSDoc./linters/eslint/jsdoc-ts- правила оформления JSDoc в TS./linters/eslint/jsdoc-jest- правила оформления JSDoc в тестах Jest./linters/eslint- все правила вместе
Stylelint
Создать в корне проекта файл stylelint.config.mjs со следующим содержимым:
export default {
extends: '@sima-land/linters/stylelint',
};Prettier
Создать в корне проекта файл .prettierrc со следующим содержимым:
"@sima-land/linters/prettier"Настройка git-хуков
Удобно использовать husky в связке с lint-staged, для этого необходимо:
Установить пакеты
npm i -D husky lint-stagedСоздать в корне проекта файл
lint-staged.config.jsсо следующим содержимым:{ '*.{mjs,js,jsx,ts,tsx}': ['eslint --fix'], '*.{css,scss}': ['stylelint --fix'], '*': ['prettier --write --ignore-unknown'], };Добавить pre-commit хук согласно документации husky:
npx lint-staged
Конфигурация текстовых редакторов и IDE
Актуальная информация в официальных документациях:
