Рубрики
Без рубрики

Как создать свой собственный конфигурационный пакет ESLINT

ESLINT – это мощный инструмент, который поможет вам обеспечить обеспечение обеспечения постоянных конвенций кодирования и обеспечить качество в вашей кодовой базе JavaScript. Условности кодирования иногда трудно принять решение и иметь инструмент, который автоматизирует свое правоприменение, помогает избежать ненужных обсуждений. Обеспечение качества также является приветственной особенностью: Linters – отличные инструменты

Автор оригинала: FreeCodeCamp Community Member.

ESLINT – это мощный инструмент, который поможет вам обеспечить обеспечение обеспечения постоянных конвенций кодирования и обеспечить качество в вашей кодовой базе JavaScript.

Условности кодирования иногда трудно принять решение и иметь инструмент, который автоматизирует свое правоприменение, помогает избежать ненужных обсуждений. Обеспечение качества также является приветственной особенностью: Linters – отличные инструменты для ловушек, таких как те, которые связаны с переменной областью.

ESLINT предназначен для того, чтобы быть полностью настраиваемым, предоставляя вам возможность включения/отключения каждого правила или смешивания правил, соответствующих вашим потребностям.

С учетом этого сообщество JavaScript и компании, которые используют JavaScript, могут продлить оригинальную конфигурацию ESLINT. Есть несколько примеров В реестре NPM: Eslint-config-airbnb является одним из самых известных.

В вашей ежедневной рутине вы, вероятно, будете комбинировать более одного конфигурации, поскольку нет ни одного конфигурации – все. Этот пост покажет, как создать свой собственный репозиторий конфигураций, предоставляя вам возможность централизовать все определения вашего правила.

Создать проект

Сначала вам нужно создать новую папку и проект NPM. По Конвенции Имя модуля начинается с Eslint-config- , например Eslint-config-test Отказ

mkdir eslint-config-test
cd eslint-config-test
npm init

У вас будет файл package.json, который будет выглядеть как следующий фрагмент:

{
  "name": "eslint-config-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

Далее пришло время добавить ваши зависимости Eslint:

npm install -D eslint eslint-config-airbnb eslint-config-prettier eslint-plugin-import eslint-plugin-jsx eslint-plugin-prettier eslint-plugin-react eslint-plugin-react-hooks prettier

Пакеты изменится в соответствии с вашими потребностями. В этом случае я работаю с кодовыми базами RACT, и я использую Прекраснее Чтобы отформатировать мой код. Документация упоминается, что если ваш разделяемый конфиг зависит от плагина, вы также должны указать его как Peerdependency Отказ

Далее я создадим .eslintrc.js С моей конфигурацией – это похоже на то, что вы уже делаете в своих приложениях:

module.exports = {
  extends: [
    'airbnb',
    'eslint:recommended',
    'plugin:import/errors',
    'plugin:react/recommended',
    'plugin:jsx-a11y/recommended',
    'plugin:prettier/recommended',
    'prettier/react',
  ],
  plugins: [
    'react-hooks',
  ],
  rules: {
  },
};

правила Объект хранит любое правило, которое вы хотите переопределить. В фрагменте выше правила пусто, но не стесняйтесь проверять Мои переопределения Отказ В репозитории Airbnb/JavaScript вы можете Найти список переопределенных правил по сообществу.

Создавать пользовательские правила

Время создать .Prettierrc С вашими пользовательскими правилами – это сложная часть, поскольку красивее и эсвет могут конфликты по нескольким правилам:

{
  "tabWidth": 2
}

Важно отметить, что .Prettierrc Файл должен жить в корне проекта, который использует ваш пакет. Прямо сейчас я вручную копирую это.

Следующий шаг – экспортировать свой конфиг в index.js файл:

const eslintrc = require('./.eslintrc.js');

module.exports = eslintrc;

Это технически возможно создать все конфигурации в index.js файл. Но если вы сделаете это, вы не получите теклье Config Object (вставьте свой Perception шутка здесь).

Вы закончили!

Воила! Это все, что вам нужно запустить свой собственный пакет конфигураций. Вы можете проверить локально ваш конфигурационный пакет, выполнив следующие в проекте JavaScript:

npm install /Users/leonardo/path/to/eslint-config-test

Имейте в виду, что зависимости вашего пакета конфигурации также могут быть установлены.

Если все выглядит хорошо, вы можете публиковать в реестре NPM:

npm publish

Полный пример

У меня есть функциональный проект GitHub, показывающий настройку этого поста: Eslint-config-leozera Отказ Вы также можете увидеть его ниже:

Подробнее о проекте

Также опубликовано на мой блог Отказ Если вам нравится этот контент, следуй за мной на Twitter и Github Отказ Обложка фото Сьюзен Холт Симпсон/Unsplash Отказ