arui-feather

Alfa-Bank UI library

Github星跟蹤圖

Alfa-Bank UI Library

npm
license
travis
appveyor

coveralls

arui-feather — это библиотека React компонентов для создания веб-интерфейсов.

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

Ждём тебя в команду

Команда дизайн-системы Альфа-Банка ищет разработчика интерфейсов: https://hr.alfabank.ru/vacancies/ui-dev. Присоединяйся!

Установка

arui-feather доступен как npm-пакет.

npm install arui-feather --save

Поддерживаемые браузеры

Desktop

  • Chrome (две последние стабильные версии)
  • Edge (две последние стабильные версии)
  • Firefox (две последние стабильные версии)
  • IE 10+
  • Opera (две последние стабильные версии)
  • Safari (две последние стабильные версии)
  • Yandex (две последние стабильные версии)

Mobile

  • Android 4.1+
  • iOS (две последние стабильные версии)

Вёрстка

Использование в адаптивной/мобильной среде

Цветовая схема

Использование цветовой схемы

Разработка

Необходимые внешние зависимости системы:

node 8 и npm

Шаги запуска демо:

  1. npm i
  2. npm run demo

Запустить demo на произвольном порту:

PORT=8888 npm run demo

Использовать только для обновления нескольких компонентов. Иначе не хватает памяти.

Автоматические проверки кода

Перед каждым коммитом js код проверяется через eslint, css через stylelint.

Запуск unit-тестов npm run test.

Запуск unit-тестов для определенных компонентов TESTS=amount,calendar npm run test.

Запуск unit-тестов используя Chrome npm run test -- --browser=Chrome

Запуск линтера для css npm run lint-css.

Запуск линтера для js npm run lint-js.

Запуск тестов на мобильных устройствах

Регрессионное тестирование

Для тестирования деградаций в вёрстке используется gemini.

Тесты для каждого компонента хранятся в gemini/<component>.gemini.js.

Запуск тестов производится командой npm run gemini.

Обновление или создание новых эталонных скриншотов: npm run gemini-update.

Для запуска тестов или обновления скриншотов необходимы следующие шаги:

  • export SAUCE_USERNAME=alfalab.js SAUCE_ACCESS_KEY={ ключ взять у мейнтейнеров }
  • npm run sauce-connect
  • npm run gemini или npm run gemini-update

Запуск gemini на выборочное число тестов (используется опция --grep): npm run gemini -- --grep="button, select".

Во время тестирования рендер каждого сьюта доступен по URL, например: http://localhost:8668/popup/popup_theme_alfa-on-color.popup_size_m.popup_prop-set_1

Минификация svg

Для оптимизация svg используется svgo.

npm install svgo -g
find src -name *.svg -print0, xargs -0 -L 1 svgo

Правила контрибуции

Подробнее о том, как контрибьютить в проект

Публикация

Для выпуска новой версии используйте следущие команды:

  • Выпуск патч-версии 1.0.0 -> 1.0.1 npm run release-patch
  • Выпуск минорной версии 1.0.0 -> 1.1.0 npm run release-minor
  • Выпуск мажорной версии 1.0.0 -> 2.0.0 npm run release-major

Запуск этих команд автоматически сформирует changelog, сделает новый git tag,
запустит сборку и публикацию.

Deprecation policy

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

  1. Обновление документации для уведомления пользователей.
  2. Выпуск минорного релиза с deprecations.
  3. Дополнительное оповещение о deprecation в Slack-канал библиотеки.

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

Лицензия

© 2016-2019 Alfa-Bank. Код лицензирован Mozilla Public License 2.0.

主要指標

概覽
名稱與所有者alfa-laboratory/arui-feather
主編程語言TypeScript
編程語言JavaScript (語言數: 5)
平台
許可證Other
所有者活动
創建於2017-04-11 14:14:05
推送於2022-04-12 23:30:33
最后一次提交2021-12-13 15:54:40
發布數240
最新版本名稱v19.2.2 (發布於 )
第一版名稱v4.0.0 (發布於 2017-04-12 00:02:33)
用户参与
星數559
關注者數68
派生數108
提交數1.2k
已啟用問題?
問題數184
打開的問題數27
拉請求數885
打開的拉請求數24
關閉的拉請求數217
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?