OPEN SOURCE · TYPESCRIPT · NESTJS

EBCA: событийный runtime для TypeScript и NestJS

Автор и разработчик EBCA

Развиваю Event-Based Component Architecture — набор TypeScript-пакетов для приложений, в которых важно понимать владельца состояния и последовательность изменений. Вместо поиска поведения по разрозненным обработчикам модель приложения описывает сущности, компоненты и системы явно.

  1. 01Входная команда
  2. 02Менеджер компонентов
  3. 03Обработчик системы
  4. 04Компонент результата

Что я сделал

Явная модель состояния

Ядро задаёт компоненты и их жизненный цикл. ComponentManager служит общей границей работы с ними, а системы подписываются на события через декораторы NestJS.

Инспекция и контракты

CLI читает метаданные runtime, строит отчёты и генерирует типизированные контракты для WebSocket и GraphQL. Транспортные пакеты подключаются отдельно от ядра.

Пример, который можно разобрать

В публичном репозитории есть NestJS-пример счётчика: входная команда, проверка параметра, обновление сохраняемого компонента и чтение результата. Исходный код показывает весь переход состояния.

Результат

  • Публичный репозиторий с лицензией Apache-2.0.
  • Ядро, CLI и отдельные транспортные адаптеры в одном TypeScript-монорепозитории.
  • Исходники отчётов runtime, генераторов контрактов и рабочего примера доступны для изучения.

EBCA — развивающийся framework. В кейсе описаны доступные исходники и архитектурные решения; сравнительные показатели производительности и число production-внедрений не заявляются.

Где пригодится этот опыт

Этот подход полезен для workflow, симуляций и AI-инструментов, где нужно явно определить команды, владельца состояния и доступные действия. Решение о применении framework начинается с ограничений конкретного продукта.

Разбор написал . Опубликовано .

Другие кейсы