Об этом проекте

JSVision — это проект с открытым исходным кодом, представляющий собой TypeScript SDK для разработки терминальных пользовательских интерфейсов (TUI) с современной реактивной архитектурой. Он предоставляет фреймворк для сохранения виджетов с тонкой реактивностью, построенный на основе чистого, не зависящего от других библиотек движка рендеринга. SDK позволяет разработчикам создавать сложные, интерактивные терминальные приложения, которые также могут работать в браузере через xterm.js. Ключевые возможности и особенности включают: - **Движок рендеринга без зависимостей**: Чистое, легкое ядро, отвечающее за размещение терминала, декодирование ввода, определение возможностей и управление цветом. - **Фреймворк для сохранения виджетов**: Пакет пользовательского интерфейса, управляющий деревом виджетов, макетом, циклом событий и оболочкой приложения, с тонкими сигналами для реактивности. - **Богатая библиотека элементов управления**: Готовые компоненты, такие как меню, модальные диалоги, формы, таблицы данных и терминальный редактор кода с подсветкой синтаксиса и поддержкой LSP UI. - **Формы и валидация**: Безголовая реактивная система форм с синхронной валидацией Zod. - **Интернационализация**: Встроенная поддержка i18n без зависимостей для приложений и пакетов. - **Управление файлами**: Элементы управления для открытия/сохранения файлов, выбора директорий и списков файлов. JSVision организован как монорепозиторий с несколькими опубликованными пакетами npm, включая `@jsvision/core`, `@jsvision/ui`, `@jsvision/i18n`, `@jsvision/forms`, `@jsvision/files`, `@jsvision/datagrid` и `@jsvision/code-editor`. Для работы требуется Node.js версии 22 или выше, и он использует только ESM. Проект следует семантическому версионированию и распространяется под лицензией MIT.