Простой способ поддерживать код в чистоте и понятности — следить за тем, чтобы соблюдалось как можно больше правил кодирования вашего проекта. Я делаю это со своими проектами, настраивая хук предварительной фиксации Husky с помощью ESLint, Prettier, lint-staged и SonarJS.
Что такое Хаски?
Husky: это инструмент, который позволяет нам запускать сценарии специально при использовании контроля версий, такого как git. В нашем примере мы будем использовать husky для создания сценариев перед фиксацией для запуска Prettier и Eslint при каждой фиксации.
Что такое ESLint?
Используя правила ESLint, программа под названием ESLint может исследовать наш код и обнаруживать ошибки. Некоторые ошибки могут быть исправлены им даже самостоятельно.
Что такое красивее?
Prettier — это средство форматирования кода, которое может форматировать наш код, используя параметры по умолчанию или определенные вами правила.
Что такое lint-stage?
lint-staged может запускать несколько линтеров для поэтапных git-файлов, в нашем случае это ESLint и Prettier.
Что такое сонарJS?
Правила SonarJS для ESLint для обнаружения ошибок и подозрительных шаблонов в вашем коде. Подробности смотрите здесь.
Начиная
Установите некоторые dev-зависимости
yarn add --dev husky lint-staged eslint eslint-config-airbnb prettier
Настройка ESLint
Для вашего eslintrc.js вы можете использовать свои собственные правила. Возможно, вам придется установить несколько зависимостей для разработки, чтобы использовать ту, которую я поддерживаю для своих проектов, но она обеспечивает чертовски чистый код реакции. Отметьте здесь, чтобы скопировать и вставить eslintrc.js.
Настройка красивее
Опять же, вы можете создавать свои собственные правила для своего prettier.js. Вот некоторые из моих.
Настройка SonarJS
Добавьте правила в eslintrc.js после установки пакета.
yarn add eslint-plugin-sonarjs
Настройка Хаски
Хук перед фиксацией необходимо создать и добавить после включения Git Hooks в самых последних версиях Husky. Чтобы настроить это, используйте следующие инструкции в терминале.
npx husky install
npx husky add .husky/pre-commit "npx --no-install lint-staged"
скрипты предписывают lint-staged выполнить определенную команду для набора файлов.
Как бежать?
- git добавить . или файлы, которые вы хотите поставить
- git commit -m «здесь ваше сообщение о коммите»
- В терминале вы можете найти это:
Загляните на мой github react-native-codeQuality-template, если вам нужен простой способ скопировать и вставить любой из этих кодов или вам нужен шаблон, в котором все это уже есть.