Плагинизация JavaScript фреймворка GlaceJS

Всем привет!

В этой статье хотел бы рассказать о значительных изменениях во фреймворке GlaceJS.

В первую очередь проведена значительная работа по преобразованию standalone-фреймворка в плагинизированную систему. А разработка выведена в отдельную группу на гитхабе - GlaceJS · GitHub.

Из прежнего фреймворка выделено микро-ядро GitHub - glacejs/glace-core: Documentation https://glacejs.github.io/glace-core. Остальные фичи разбиты по плагинам:

При этом каждый плагин может быть использован как сторонняя библиотека для других nodejs приложений, и даже выступать как самостоятельное приложение. Н-р glace-proxy с одной стороны используется как плагин для glace-core, а с другой - является самостоятельным консольным приложением для управления ответами от сервера к браузеру (н-р, в мануальном тестировании).

Само приложение glace-core и плагины реализуют STEPS-протокол, который расширяет STEPS-архитектуру и описывает, как себя должны вести компоненты, чтобы взаимодействовать как одна система. Поскольку протокол двунаправленный, не только плагины, но и glace-core и любое glace-based приложение может само выступать как плагин для другого glace-based приложения.

Все glace-компоненты взаимодействуют через общий объект, который доступен из проекта glace-utils, и при подключении плагин предоставляет steps, help, global objects & fixtures для glace-core.

Также добавлен группирующий проект glace-js, который включает glace-core и перечисленные плагины.

Каждый проект снабжен документацией:

А также основная функциональность покрыта интеграционными и юнит-тестами. В настоящее время расширяется тестовое покрытие и уточняется документация.

1 лайк