Добавление хуков перед фиксацией в проекты SFDX

Вы когда-нибудь форматировали свой код вручную? Вы тратите время на то, чтобы ваша команда поддерживала однородный код? Прекрати прямо здесь! Вы должны тратить свое время на более продуктивные дела, а не вручную добавлять пробелы в свой код.

Если вы когда-либо работали с несколькими разработчиками над одной кодовой базой, вы, скорее всего, сталкивались с разными стилями кодирования и форматирования. Я знаю, да, и хотя изучение различных подходов может быть полезным, с этим может быть очень сложно справиться по мере роста команды.

У меня была возможность работать с кучей людей, которые любят автоматизировать вещи. Именно с одним из них я узнал о хуках для git и о том, как облегчить себе жизнь при управлении проектами, где каждый разработчик привносит свой собственный стиль кодирования. Хотя хорошо иметь разнообразие и разные способы делать вещи, мы также любим однородность, когда имеем дело с большими командами. Это облегчает нашу жизнь при просмотре кода и гарантирует, что мы все соблюдаем одни и те же правила. Так что в этом уроке я привожу немного этого, я покажу, как мы можем автоматизировать формат нашего кода при фиксации новых функций или исправлений и как сделать его беспрепятственным для вашей команды.

Жизнь слишком коротка, чтобы вручную удалять все эти пробелы.

Как я уже говорил ранее, мы можем автоматически автоматизировать форматирование нашего кода. Для этого мы можем использовать крючки. Не цитируйте меня здесь, но я бы описал их как небольшие скрипты, которые запускаются и выполняются, когда происходит определенное событие. Это может показаться общим, но потерпите меня, это будет иметь смысл, как только вы увидите вариант использования.

В нашем примере я буду использовать git-хук — или действие git — которое срабатывает, когда мы фиксируем некоторый код в нашем репозитории.

Во-первых, мы должны убедиться, что мы инициализировали наш проект как репозиторий git, если вы еще этого не сделали, вы можете запустить следующую команду.

#initialize your project as a git repository 
git init

После завершения выполнения вы должны увидеть новую папку с именем .git в своем проекте. Теперь мы будем использовать хаски, инструмент, который позволяет нам легко разбираться с git-хуками и запускать скрипты. Он работает путем включения объекта прямо в наш файл package.json, который настраивает Husky для запуска указанных нами сценариев. Актуальную документацию можно найти здесь. Мы установим и выполним настройку рекомендуемым способом, используя следующую команду.

# installing husky and npm
npx husky-init && npm install

Он настроит хаски, изменит package.json и создаст образец pre-commit хука, который вы сможете отредактировать. По умолчанию он будет запускаться npm test при фиксации.

Вы увидите зависимости хаски в package.json и только что созданный хук предварительной фиксации в папке хаски.

Добавьте в файл команду, которую вы хотите запустить в предварительной фиксации. Я буду запускать готовый более красивый скрипт, который вы можете найти при создании нового проекта sfdx, но вы также можете определить свой собственный скрипт в package.json.

Теперь каждый раз, когда вы фиксируете какой-то новый код, вы будете видеть выполнение хука предварительной фиксации. Он покажет файлы, измененные более красивым скриптом, а также зафиксированные файлы.

Вы готовы идти! Не стесняйтесь добавлять другие сценарии или действия, которые вы, возможно, захотите включить при фиксации нового кода, такие как форматирование, тесты или все, что вы можете придумать!

Здесь вы можете найти пример проекта, где я выполнил те же шаги, что и в статье.