antiage-ui-kit v4.22.1
Anti-Age UI-Kit
Краткое описание
Проект создан по шаблону библиотеки tsdx. В нём используется семантическое версионирование semantic-release.
Собирается проект с помощью Rollup.
Установка проекта
- Настроить git для избежания конфликта
LFиCRLF(опционально)
git config --global core.autocrlf 'input'- Склонировать репозиторий
- Установить зависимости
npm installАрхитектура
src/
index.ts // корень UI-Kit, реэкспорты компонентов и их стилей
ui-kit.css // CSS-переменным по Opium.Fill
components/ // компоненты UI-Kit
NameComponent // шаблон компонента
NameComponent.tsx // компонент
NameComponent.css // стили
NameComponent.test.ts // тесты
NameComponent.stories.tsx // storybook компонента
NameComponent.types.ts // типы компонента
index.ts // реэкспорт компонента по дефолту
assets // компоненты svg
NameAsset.tsx // компонент svg
SvgAssets.stories.tsx // список svg, которые можно использовать
index.ts // реэкспорт компонентовNpm Scripts
npm run prepare- Установить Huskynpm run build- Сборка проектаnpm run test- Запуск тестовnpm run size- Проверка собранного проекта на ограничение по весуnpm run lint- Выявление несоответствий и авто-исправление кодового стиля в.js/.tsфайлахnpm run stylelint- Выявление несоответствий и авто-исправление кодового стиля в.cssфайлахnpm run semantic-release- Выпуск новой версии проекта в релизnpm run storybook- ЗапускStorybookвdevelopmentрежимеnpm run build-storybook- ВыпускStorybookпроекта черезGitHub Pagesnpm run generate NameComponent- Создание шаблона компонента UI-Kit компонентаnpm run svgr- Создание svg-компонентов из .svg. Файлы нужно класть в папкуassets
Git Branching
Наименования веток:
feat/name-feat- новая фичаfix/name-fix- исправление багаdocs/name-docs- добавление или изменение документацииstyle/name-style- изменения, которые не влияют на работу кодаrefactor/name-refactor- изменения без новой функциональности, без исправления багаperf/name-perf- изменения повышающее производительностьtest/name-test- добавление или изменение тестовchore/name-chore- изменения процесса сборки, вспомогательных инструментов, библиотек
Commits Naming
В проекте используется semantic-release, поэтому у коммитов должно быть оформленное по всем правилам название.
Это нужно для определения следующего номера версии проекта. Все правила взяты
из "Соглашение о коммитах" К прочтению ОБЯЗАТЕЛЬНО!
Сообщение коммита должно быть следующей структуры:
<тип>[необязательный контекст]: <описание>
[необязательное тело]
[необязательная(ые) сноска(и)]- Тип должен браться из классификации разрешённых типов, например
feat. - Контекст берётся исходя над чем велась работа, например
(Button). - Описание должно быть в повелительном наклонении, например
add secondary color.
Классификация типов:
feat- новая фичаfix- исправление багаdocs- добавление или изменение документацииstyle- изменения, которые не влияют на работу кодаrefactor- изменения без новой функциональности, без исправления багаperf- изменения повышающее производительностьtest- добавление или изменение тестовchore- изменения процесса сборки, вспомогательных инструментов, библиотек
GitHub Actions
main- Запуск проекта на 14 и 16 версияхNode.js(Выполняется автоматически при каждомpushв удалённый репозиторий)release- Выпуск новой версии (Выполняется автоматически приpushилиmergeвmaster)size- Проверка проекта на лимит по весу (Выполняется автоматически при каждомPullRequest)storybook- ОбновлениеStorybookнаGitHub Pages
Workflow
- Каждый компонент должен быть выполнен по шаблону. Команда для создания шаблона описана в разделе
Npm Scripts - Каждый
svgдолжен быть превращён в svg-компонент. Команда для превращения описана в разделеNpm Scripts - Каждый svg-компонент должен отображаться в
SvgAssets. - В конце разработки задача должна пройти
Сode Reviewот любого разработчика из команды - После успешного релиза новой версии, разработчик должен запустить
GitHub Actionstorybook
Code Review
- Ревью проводится для каждого участника команды, вне зависимости от уровня
- Время на ревью должно быть не больше 20 минут
- У ревью самый высокий приоритет, должно быть выполнено в течение 30 минут
Список проверок на ревью:
- Архитектура
- Реализация компонента (функциональности, дизайн и т.д)
- Наименование функций, переменных, типов и т.д.
- Наличие тестов и Storybook-документации
Приоритеты:
- 🔥 - важно, нужно исправить в первую очередь
- ❓ - нужно обсудить и принять решение
- 💬 - править необязательно, принимай решение сам
- 👍 - всё правильно, ревью завершено
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago