0.0.1 • Published 2 years ago

gpb-uikit-pack v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

Commitizen friendly

UIKit pack

Данный проект - это новый современный UI-Kit банка.

Для запуска проекта достаточно установить зависимости и запустить команду старт из package.json Для установки зависимостей используем пакетный менеджер yarn

yarn
yarn start

Для генерации темплейта нового компонента и линкования с навигацией сторибука, используйте следующую команду:

yarn generate componentName

где:
componentName - название компонента, который вы создаете;

Важные особенности проекта:

Стек:

React - (базовая библиотека проекта)
React-router - (модуль управления урлами в проекте)
Typescript - (модуль типизации проекта)
@reduxjs/toolkit - (модуль для создания управления глобальным стором в проекте)
Styled-components - (модуль для написания стилей в проекте)
Prettier - (модуль бьютифаер кода)
Eslint - (модуль проверки качества кода и соблюдения код-стайл проекта на этапе разработки)
Husky - (модуль для проверки качества кода перед коммитом)
Commitizen - (модуль для унификации коммитов)
Standard-version - (модуль для ведения CHANGELOG)

Доступные элиасы:

 @app: src/,
 @assets: src/assets/,
 @components: src/components/,
 @site: src/site/,
 @pages: src/site/pages/,
 @palette: src/palette/,
 @store: src/store/,
 @systemComponents: src/site/systemComponents/,
 @utils: src/utils/
 
 
 Для добавления новых элиасов достаточно обновить alias.json в корне проекта, после чего пересобрать проект

Workflow разработки:

- создание ветки от develop по шаблону;
- выполнение поставленной задачи;
- коммиты в течение разработки задачи не ограничиваются;
- пуш в репозиторий;
- создание МР по шаблону;
- прохождение ревью;
- исправление выявленных недочетов на этапе ревью;
- финальный коммит с помощью команды yarn commit;
- сквош всех коммитов задачи в 1 финальный, выполненный в рамках соглашения о коммитах;
- пуш в репо;
- мерж в develop;

Шаблон названия ветки:

${taskType}/${taskNumberInJira}-${componentName}-${shortDescription}

Где:

taskType - тип выполняемой задачи;
taskNumberInJira - номер задачи в джире;
componentName - компонент, над которым ведется работа;
shortDescription - краткое описание 1 - 2 слова; 

При чем taskType может принимать следующие значения:

chore - остальное;
revert - откат;
feat - фича;
fix - баг фикс;
improvement - улучшение;
docs - документация;
style - стиллизация;
refactor - рефакторинг;
perf - оптимизация;
test - тестирование;
build - изменения, влияющие на систему сборки или внешние зависимости;
ci - изменения в наших файлах конфигурации и скриптах CI;

Пример созданной ветки:

feat/2309-input-add-validation