@hh.ru/eslint-plugin-rules
v1.8.4
Published
HH.ru eslint custom rules
Downloads
304
Readme
Настройка
- Добавляем плагин в .eslintrc
- Включаем необходимые правила
.eslintrc
{
// ...
plugins: ['@hh.ru/rules'],
rules: {
'@hh.ru/rules/no-internal-modules': [ "warn", {
"paths": [
'(?:lux\/pages\/[^\/]*)'
],
"exclusions": [
'(?:lux/modules/routes.js)'
],
}],
'@hh.ru/rules/hh-import-order': [ "error" ],
'@hh.ru/rules/prefer-import-aliases': [ "error", {
"importPaths": [
{ "matchPattern": "^@hh\\.ru/bloko/build", "replaceBy": "bloko" }
]
}],
'@hh.ru/rules/no-direct-spa-functions': [ "error" ],
},
// ...
};
Правила
no-internal-modules
Запрещает использовать импорт между собой в путях, указанных в опции
paths
hh-import-order
Сортирует импорты в соответствии с внутренними правилами разработки
Можно настроить паттерн определения специфичных зависимостей выделяемых в отдельный блок (
specificModulesRegexp
)Если какие-то зависимости должны быть импортированы в самом начале файла — можно определить их с помощью паттерна (
shouldBeFirstRegexp
)prefer-import-aliases
Заменяет импорты подходящие под перечисленные шаблоны на более предпочтительную форму. Например может использоваться если в сервисе есть алиасы для импорта пакетов.
no-direct-spa-functions
Не позволяет импортировать функции
push
иreplace
напрямую из пакетаconnected-react-router
, предлагая импортировать наши абстракции - хукиusePush
иuseReplace
fetcher-signal
Подсказывает, что нужно передавать
{ signal: new Abort Controller().signal}
вторым аргументом, для возможности отмены запроса