@hh.ru/eslint-plugin-rules v1.9.10
Настройка
- Добавляем плагин в .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Запрещает использовать импорт между собой в путях, указанных в опции
pathshh-import-orderСортирует импорты в соответствии с внутренними правилами разработки
Можно настроить паттерн определения специфичных зависимостей выделяемых в отдельный блок (
specificModulesRegexp)Если какие-то зависимости должны быть импортированы в самом начале файла — можно определить их с помощью паттерна (
shouldBeFirstRegexp)prefer-import-aliasesЗаменяет импорты подходящие под перечисленные шаблоны на более предпочтительную форму. Например может использоваться если в сервисе есть алиасы для импорта пакетов.
no-direct-spa-functionsНе позволяет импортировать функции
pushиreplaceнапрямую из пакетаconnected-react-router, предлагая импортировать наши абстракции - хукиusePushиuseReplacefetcher-signalПодсказывает, что нужно передавать
{ signal: new Abort Controller().signal}вторым аргументом, для возможности отмены запросаuse-stop-spy-returnПравило гарантирует, что в хуках useElementShown вызывается метод stopSpying для корректной отписки от событий. Это предотвращает утечки памяти.
5 months ago
5 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
9 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago