effect (Effect-TS/effect)
Searching Database…
What is this?
Effect is a TypeScript library for building robust, maintainable, type-safe, production-grade applications. It tackles the hard problems at scale: typed errors, dependency injection, structured concurrency, scheduling, tracing, and schema validation.
Is it a single library or a whole ecosystem of packages?
An ecosystem: the monorepo holds a core effect package plus integration packages that extend it — platform services, SQL clients, AI providers, UI bindings, OpenTelemetry, and testing helpers.
What does my project need before adding Effect?
TypeScript 5.9 or newer with the strict flag enabled in tsconfig.json — TypeScript 7 is recommended for the best performance with Effect's tooling. On Node.js, version 18 or newer is the general minimum.
Will it run on my Node version?
Probably — Node.js 18+ is the general minimum, but some integration packages need newer runtimes; for example @effect/sql-sqlite-node requires Node.js 22.16 or newer.
Where can Effect run — is it Node-only?
No. Besides Node.js there are platform packages for Bun, Deno, and the browser, and the SQL clients even target Cloudflare D1, Cloudflare Durable Objects, React Native, and SQLite compiled to WebAssembly.
Which databases does it ship clients for?
PostgreSQL, MySQL, Microsoft SQL Server, ClickHouse, libSQL, PGlite, Cloudflare D1, and SQLite in several flavors (node, Bun, WASM, React Native, Durable Objects), all via the @effect/sql-* client packages.
Does it integrate with AI providers like OpenAI or Anthropic?
Yes — the Effect AI modules have providers for Anthropic, OpenAI, any OpenAI-compatible API, and OpenRouter: @effect/ai-anthropic, @effect/ai-openai, @effect/ai-openai-compat, and @effect/ai-openrouter.
Does it play well with React, Vue, or SolidJS?
Yes — Effect Atom ships official bindings for React, SolidJS, and Vue. For testing there are Vitest helpers (@effect/vitest), a runner that turns JSDoc examples into tests (@effect/doctest), and an OpenTelemetry integration.
Which topics is it in?
error-handling, clustering, platform, workflows, deno, dependency-injection, schema, opentelemetry, functional-programming, concurrency, sql, observability