effect (Effect-TS/effect)
Searching Database…
Что это такое?
Effect — это TypeScript-библиотека для создания надёжных, удобных в сопровождении, типобезопасных приложений промышленного уровня. Она решает сложные задачи масштабирования: типизированные ошибки, внедрение зависимостей, структурную конкурентность, планирование, трассировку и валидацию схем.
Это одна библиотека или целая экосистема пакетов?
Это экосистема: в монорепозитории лежит основной пакет effect плюс пакеты интеграции, которые его расширяют — платформенные сервисы, SQL-клиенты, провайдеры AI, привязки для UI, OpenTelemetry и вспомогательные инструменты для тестирования.
Что нужно в проекте, прежде чем добавлять Effect?
TypeScript 5.9 или новее с включённым флагом strict в tsconfig.json — для лучшей производительности с инструментами Effect рекомендуется TypeScript 7. На Node.js минимальная версия — 18 или новее.
Заработает ли это на моей версии Node?
Скорее всего да — минимальная версия обычно Node.js 18+, но некоторым пакетам интеграции нужны более новые рантаймы; например, @effect/sql-sqlite-node требует Node.js 22.16 или новее.
Где может работать Effect — только на Node?
Нет. Кроме Node.js есть платформенные пакеты для Bun, Deno и браузера, а SQL-клиенты поддерживают даже Cloudflare D1, Cloudflare Durable Objects, React Native и SQLite, скомпилированный в WebAssembly.
Для каких баз данных там есть клиенты?
PostgreSQL, MySQL, Microsoft SQL Server, ClickHouse, libSQL, PGlite, Cloudflare D1 и SQLite в нескольких вариантах (node, Bun, WASM, React Native, Durable Objects) — всё через клиентские пакеты @effect/sql-*.
Интегрируется ли он с AI-провайдерами вроде OpenAI или Anthropic?
Да — модули Effect AI имеют провайдеры для Anthropic, OpenAI, любого OpenAI-совместимого API и OpenRouter: @effect/ai-anthropic, @effect/ai-openai, @effect/ai-openai-compat и @effect/ai-openrouter.
Хорошо ли он работает с React, Vue или SolidJS?
Да — Effect Atom поставляется с официальными привязками для React, SolidJS и Vue. Для тестирования есть хелперы для Vitest (@effect/vitest), раннер, превращающий примеры из JSDoc в тесты (@effect/doctest), и интеграция с OpenTelemetry.
Which topics is it in?
error-handling, clustering, platform, workflows, deno, schema, dependency-injection, opentelemetry, functional-programming, concurrency, sql, observability