@bpa-dev/eslint-config
v1.7.1
Published
Набор конфигураций для ESLint, Prettier и Stylelint для проектов BPA
Readme
@bpa-dev/eslint-config
Универсальная конфигурация ESLint, Prettier и Stylelint для проектов BPA. Поддерживает JavaScript, TypeScript и React.
🚀 Особенности
- ✅ Современный ESLint 9+ Flat Config
- ✅ Поддержка JavaScript (ES2022) и TypeScript
- ✅ Конфигурация для React с хуками и доступностью
- ✅ Единый стиль кода с Prettier
- ✅ Правила для импортов и сортировки
- ✅ Готово к использованию из коробки
📦 Установка
npm install --save-dev @bpa-dev/eslint-config eslint prettier typescript stylelint⚙️ Использование
ESLint
Для обычных JS/TS проектов
Создайте файл eslint.config.js в корне проекта:
export { default } from '@bpa-dev/eslint-config'Для React проектов
export { default } from '@bpa-dev/eslint-config/react'Расширение конфигурации
Вы можете добавить свои правила:
import bpaConfig from '@bpa-dev/eslint-config'
export default [
...bpaConfig,
{
rules: {
// Ваши дополнительные правила
'no-console': 'off'
}
}
]Prettier
Создайте файл prettier.config.js в корне проекта:
export { default } from '@bpa-dev/eslint-config/prettier'Или расширьте конфигурацию:
import bpaPrettierConfig from '@bpa-dev/eslint-config/prettier'
export default {
...bpaPrettierConfig,
printWidth: 120 // переопределение настроек
}Stylelint
Создайте файл stylelint.config.js в корне проекта:
export { default } from '@bpa-dev/eslint-config/stylelint'Или расширьте конфигурацию:
import bpaStylelintConfig from '@bpa-dev/eslint-config/stylelint'
/** @type {import('stylelint').Config} */
export default {
...bpaStylelintConfig,
rules: {
...bpaStylelintConfig.rules,
'media-feature-range-notation': 'context'
}
}package.json скрипты
Добавьте в package.json:
{
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"",
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\""
}
}🎯 VS Code интеграция
Установите расширения:
Создайте .vscode/settings.json:
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
"stylelint.validate": ["css"]
}