All Projects → alfa-laboratory → Arui Feather

alfa-laboratory / Arui Feather

Licence: other
Alfa-Bank UI library

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Arui Feather

ml-stack-nav
Customizable, responsive, accessible, easy-to-use multi-level stack navigation menu with slide effect.
Stars: ✭ 20 (-96.5%)
Mutual labels:  bem
Project Stub
deps
Stars: ✭ 300 (-47.46%)
Mutual labels:  bem
Tentcss
🌿 A CSS survival kit. Includes only the essentials to make camp.
Stars: ✭ 400 (-29.95%)
Mutual labels:  bem
stat-counters
The library, which provides statistics counters, e.g. Google analytics, Yandex metrica, etc
Stars: ✭ 16 (-97.2%)
Mutual labels:  bem
Frontend Boilerplates
Collection of Boilerplates with ES6, Vue, React, Nuxt, TypeScript, SCSS, Nodejs. Using good practices and file structures to inspire your real projects.
Stars: ✭ 269 (-52.89%)
Mutual labels:  bem
Pug Starter
Simple pug (jade) starter [framework] enabling faster delivery of HTML & CSS projects to a private server and/or automatic deployment of GitHub pages.
Stars: ✭ 328 (-42.56%)
Mutual labels:  bem
all-digital
Comcast All Digital CSS
Stars: ✭ 14 (-97.55%)
Mutual labels:  bem
Postcss Bem Linter
A BEM linter for postcss
Stars: ✭ 505 (-11.56%)
Mutual labels:  bem
Bem Core
BEM Core Library
Stars: ✭ 275 (-51.84%)
Mutual labels:  bem
Mam mol
$mol - fastest reactive micro-modular compact flexible lazy ui web framework.
Stars: ✭ 385 (-32.57%)
Mutual labels:  bem
bh-php
PHP port of https://github.com/bem/bh. It's cool thing but better use this:
Stars: ✭ 33 (-94.22%)
Mutual labels:  bem
zeus
A novel mobile first flexbox BEM css grid.
Stars: ✭ 14 (-97.55%)
Mutual labels:  bem
Gulp Scss Starter
Frontend development with pleasure. SCSS version
Stars: ✭ 339 (-40.63%)
Mutual labels:  bem
pointcss
A lightweight and flexible CSS Framework for building modern responsive web apps
Stars: ✭ 33 (-94.22%)
Mutual labels:  bem
Augur Ui
Augur UI
Stars: ✭ 412 (-27.85%)
Mutual labels:  bem
bemer
Template engine. BEMJSON to HTML processor.
Stars: ✭ 33 (-94.22%)
Mutual labels:  bem
Bem Components
Set of components for sites development
Stars: ✭ 318 (-44.31%)
Mutual labels:  bem
Getbem.com
Get BEM to all people in simplest way
Stars: ✭ 5,186 (+808.23%)
Mutual labels:  bem
Bemto
Smart mixins for writing BEM in Pug
Stars: ✭ 429 (-24.87%)
Mutual labels:  bem
Bem React
A set of tools for developing user interfaces using the BEM methodology in React
Stars: ✭ 382 (-33.1%)
Mutual labels:  bem

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].