Этот репозиторий содержит плагины, позволяющие ZenMoney получать данные о транзакциях из различных банков. Создать плагин может каждый, для этого важно знать окружение (API) и то, каким и в каком виде должен быть результат работы плагина.
Понадобятся:
-
свежая версия Node.js (>= 8.10.0)
-
пакетный менеджер yarn (альтернатива npm) (мы знаем, что npm5.x уже работает не хуже yarn, так что мы обязательно на него переедем, чтобы пререквизитов стало меньше!)
-
IDE или просто текстовый редактор для JavaScript (мы используем WebStorm)
Пример плагина, который можно скопировать и начать разработку
Вовсе необязательно идти рассматривать плагин на GitHub, можно запустить локально.
git clone git@github.com:zenmoney/ZenPlugins.git
cd ZenPlugins
yarn start example
Останется только открыть корень репозитория в IDE.
Минимальные требования к плагину - это отдельная папка, в которой присутствуют файлы:
Мы используем Jest (он клёвый).
Для запуска тестов всех плагинов нужно запустить:
yarn test
Запуск тестов, находящихся в папке src/plugins/example
:
yarn test src/plugins/example
Мы призываем вас, помимо наличия модульных тестов на части плагина, написать хотя бы один интеграционный тест (тестирующий функцию scrape, мокая сеть минимально вариативными данными).
В master
ветку изменения попадают через
pull request с fork-а.
Любые изменения (создание плагина, фикс багов) проходят code review.
Делается вручную Костей по факту мержа Pull Request
с плагином в master
ветку.
Развернуть новую версию можно и для конкретного пользователя (к примеру, для тестирования корректной работы небольшой группой бета-тестировщиков на мобильном устройстве, например, вами :) ).
Как только новая версия плагина опубликована, она автоматически обновляется и используется при следующей синхронизации мобильным приложением.
Текущую используемую на мобильном девайсе версию плагина можно увидеть в окошке настроек подключения.