power-linter
v0.1.3
Published
power-linter — пакет пресетов конфигураций для ESLint и Prettier, кастомных правил линтирования и скриптов.
Readme
power-linter
Описание
power-linter — пакет пресетов конфигураций для ESLint и Prettier, кастомных правил линтирования и codemode-скриптов. Позволяет переносить одни и те же пресеты конфигураций для EsLint и Prettier, скрипты и правила , не дублируя их в репозиториях проектов.
Содержит правила из плагинов: "eslint-config-airbnb", "eslint-config-prettier", "eslint-plugin-import", "eslint-plugin-jsx-a11y", "eslint-plugin-power-esrules", "eslint-plugin-react", "eslint-plugin-react-hooks".
Содержит codemod-скрипты:
- Для добавления data-аттрибута "data-testid" (add-data-testid.js).
- Для преобразования классовых React-компонентов в функциональные (class-to-functional.js).
Статус: в разработке.
Содержание
Технологии
- JavaScript
- ...
Требования
Eslint требуется не ниже версии 8.0.0. Prettier требуется не ниже версии 2.6.2.
Интеграция
Для интеграции в проект предварительно необходимо:
- Установить EsLint и Prettier.
$ npm i eslint
$ npm i prettier- Установите npm-пакет с помощью команды:
$ npm install power-linter --save-dev- Добавьте экспорт конфигурации eslint
// .eslintrc.js
module.exports = require('power-linter/src/eslint/config');- Добавьте экспорт конфигурации Prettier
// .prettierrc.js
module.exports = require('power-linter/src/prettier/config');- Для портирования настроек vscode (если необходимо) в каталоге .vscode создайте файл settings.json и добавьте в него следующие настройки:
// settings.json
`{
"eslint.enable": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"eslint.run": "onType",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"editor.formatOnSave": true,
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true
},
"[javascriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
"editor.formatOnSave": true
},
"eslint.lintTask.enable": true,
"eslint.workingDirectories": [
{
"mode": "auto"
}
]
}`
---
