Skip to content
Alfa-Bank UI library
TypeScript CSS JavaScript Other
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore(*): use typescript in contribution examples (#1049) Feb 15, 2020
__mocks__ test(*): jest tests Aug 13, 2018
__tests__ test(*): jest tests Aug 13, 2018
gemini-utils chore(*): deleted config for js (#1143) May 25, 2020
gemini fix(*): fixed popup radius (#1158) Jun 3, 2020
src fix(money-input): fix currency overlapping (#1167) Jun 3, 2020
tools feat(icons): latest icons from alfa-ui-primitives (#1126) Apr 4, 2020
.babelrc use typescript in amount (#949) Jan 23, 2020
.editorconfig feat(calendar): fix calendar height (#1146) Apr 30, 2020
.eslintignore refactor(*): remove modernizr, see issue #883 (#892) Dec 11, 2019
.eslintrc.js chore(*): up arui-presets-lint, autofix, ignore errors (#1137) Apr 28, 2020
.eslintrc.styleguide.js feat(eslint) migration from arui-presets/eslint to arui-presets-lint/… Dec 10, 2019
.gemini.js calendar screens update Apr 30, 2020
.gitattributes style(.gitattributes): switch off git line endings checking for ttf (#12 Apr 18, 2017
.gitignore refactor(*): remove modernizr, see issue #883 (#892) Dec 11, 2019
.npmignore chore(*): add issue & pull request templates (#10) Apr 21, 2017
.svgo.yml feat(icons): latest optimized icons from alfa-ui-primitives 1.6.5 (#711) Aug 24, 2018
.travis.yml chore(*): up node version (#1069) Feb 21, 2020
CHANGELOG.md chore(*): minor version Jun 3, 2020
COLORS.md typo fix Aug 15, 2019
GUIDE.md Актуализирована документация (#789) Feb 21, 2019
LICENSE.md chore(*): update license view (#744) Nov 1, 2018
README.md Update README.md May 22, 2020
appveyor.yml chore(*): up node version (#1069) Feb 21, 2020
gemini-ci.js
gulpfile.js chore(*): up arui-presets-lint, autofix, ignore errors (#1137) Apr 28, 2020
jest.config.js chore(*): up arui-presets-lint, autofix, ignore errors (#1137) Apr 28, 2020
logo.svg docs(*): add logo to readme Apr 21, 2017
netlify.toml chore(*): daring add netlify config Sep 20, 2018
package-lock.json chore(*): minor version Jun 3, 2020
package.json chore(*): minor version Jun 3, 2020
postcss.config.js refactor(*): fixed eslint warnings (#891) Dec 11, 2019
styleguide.config.js
stylelint.config.js chore(*): up arui-presets-lint, autofix, ignore errors (#1137) Apr 28, 2020
tsconfig.json chore(*): up arui-presets-lint, autofix, ignore errors (#1137) Apr 28, 2020
webpack.base.js webpack.base.js revert May 25, 2020

README.md

Alfa-Bank UI Library

npm license travis appveyor
coveralls


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

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

Установка

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

npm install arui-feather --save

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

Desktop

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

Mobile

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

Вёрстка

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

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

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

Разработка

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

node 12 и npm

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

  1. npm i
  2. npm run start

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

PORT=8888 npm run start

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

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

Перед каждым коммитом 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

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

Мы ведём задачи в issues. Для обсуждения есть чат мейнтейнеров (#arui-maintainers).

  • Уважаем тех, кто видит проблему и кидает PR.
  • Не знаете что делать — можно брать любую задачу без Assignee, назначив её на себя.
  • Знаете что делать и есть возможность — кидайте PR.
  • Знаете что делать, но нет времени — добавьте задачу (issue).

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

Публикация

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

  • Выпуск патч-версии 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-2020 Alfa-Bank. Код лицензирован Mozilla Public License 2.0.

You can’t perform that action at this time.