5.3 KiB
eslint-config-ksv741
Конфиг eslint для JavaScript, TypeScript, React, Jest
Содержание
Установка
npm
npm install --save-dev eslint-config-ksv741
yarn
yarn add --dev eslint-config-ksv741
pnpm
pnpm add --save-dev eslint-config-ksv741
Использование
Для подключения - добавьте конфиг в файл конфигурации Eslint
// eslint.config.js
const config = require('eslint-config-ksv741');
module.exports = [
...config,
];
Доступны следующие конфиги:
js-base- содержит правила для файловJavaScriptjs-react- содержит правила для файловJavaScriptи правила дляJSXиReactts-base- содержит правила для файловJavaScriptи правила для файловTypeScriptts-react- содержит правила для файловJavaScript,TypeScript,JSXиReactjest- содержит правила дляJestdefault- содержит правила для файловJavaScript,TypeScript,JSX,React,Jest- Рекомендуется использовать
Настройка
Можно точечно переопределить для каких файлов использовать определенный конфиг
// eslint.config.js
const jsBase = require('eslint-config-ksv741/js-base');
const jsReact = require('eslint-config-ksv741/js-react');
const tsBase = require('eslint-config-ksv741/ts-base');
const tsReact = require('eslint-config-ksv741/ts-react');
const jest = require('eslint-config-ksv741/jest');
module.exports = [
{
files: ["*.js"],
...jsBase
},
{
files: ["*.jsx"],
...jsReact
},
{
files: ["*.ts"],
...tsBase
},
{
files: ["*.tsx"],
...tsReact
},
{
files: [
"**/__tests__/**/*.[jt]s?(x)",
"**/?(*.)+(spec|test).[jt]s?(x)"
],
...jest
}
]
Кастомизация
Для файлов, использующих конфигурацию ts-base или ts-react по умолчанию используется @typescript-eslint/parser и eslint-import-resolver-typescript.
Но вы можете это переопределить, используя настройки плагина eslint-plugin-import
ВНИМАНИЕ
Для проектов использующих TypeScript предустановлены @typescript-eslint/parser и eslint-import-resolver-typescript.
Алиасы путей обычно хранятся в настройке paths файла tsconfig.json
По умолчанию, для файлов .js, .jsx не предустановлен парсер и плагин для разрешения путей,
т.к. в зависимости от проекта инструменты могут значительно отличаться,
предполагается что эта настройка будет установлена самостоятельно.
Плагины:
@stylistic/eslint-plugin- Ruleseslint-plugin-importRules@typescript-eslint/eslint-pluginRuleseslint-plugin-jsx-a11yRuleseslint-plugin-reactRuleseslint-plugin-react-hooksRuleseslint-plugin-jestRuleseslint-plugin-jest-domRuleseslint-plugin-jest-formattingRuleseslint-plugin-testing-libraryRules