Пакеты lite-fsm
lite-fsm распространяется как набор npm-пакетов. @lite-fsm/core содержит независимый runtime для описания и запуска автоматов. Остальные пакеты добавляют React-интеграцию, middleware, persist-сценарии, анализ графа и CLI.
Базовый пакет — @lite-fsm/core. Остальные пакеты подключаются по необходимости, чтобы не добавлять в приложение лишние зависимости.
Карта пакетов
| Пакет | Роль | Когда нужен |
|---|---|---|
@lite-fsm/core | Runtime без привязки к UI | Автоматы, MachineManager, эффекты, акторы, snapshots |
@lite-fsm/react | Интеграция с React | Context provider, хуки, hydration boundary |
@lite-fsm/middleware | Middleware для менеджера | Immer reducers, Redux DevTools, пользовательские middleware |
@lite-fsm/persist | Сохранение состояния | Storage adapters, восстановление, синхронизация между вкладками |
@lite-fsm/graph | Анализ графа автоматов | Alpha: graph IR, diagnostics, simulator, модель для visualizer-а |
@lite-fsm/cli | Командная строка | Alpha: создание starter-а, add-machine, graph export и Visualizer |
Установка по сценариям
Минимальный runtime:
npm install @lite-fsm/coreRuntime с Immer reducer-ами:
npm install @lite-fsm/core @lite-fsm/middleware immerReact-приложение:
npm install @lite-fsm/core @lite-fsm/react @lite-fsm/middleware immerReact + сохранение состояния:
npm install @lite-fsm/core @lite-fsm/react @lite-fsm/persistCLI для старта React-проекта, добавления автоматов, анализа и визуализации графа:
npm install --save-dev @lite-fsm/cliВыбор пакетов
Начинайте с @lite-fsm/core: он содержит модель автомата, MachineManager, эффекты, акторы и snapshot API. Подключайте @lite-fsm/react, когда состояние нужно читать из React-компонентов через provider и хуки.
@lite-fsm/middleware нужен для reducer-ов в стиле Immer, Redux DevTools и собственных middleware. @lite-fsm/persist используйте, когда состояние нужно сохранять между перезагрузками, восстанавливать из внешнего хранилища или синхронизировать между вкладками.
@lite-fsm/graph предназначен для анализа и визуализации. @lite-fsm/cli добавляет терминальные сценарии: создать starter, добавить автомат в generated store, экспортировать graph JSON или открыть локальный Visualizer. Эти пакеты находятся в alpha-версии. Graph-команды строят статическое представление автоматов и не выполняют пользовательские reducer-ы или effects.
Связанные разделы
- API: карта публичных точек входа по пакетам.
- Руководство: концепции FSM, actors, effects и hydration.
- Практика: TypeScript и Next.js сценарии.
- Инструменты: visualizer, CLI create/add-machine/export/visualize и
@lite-fsm/graph.