Build production-ready applications in TypeScript
effectjavascriptcliopentelemetryplatformschematypescriptdependency-injectionerror-handlingobservabilityclusteringconcurrency
주요 지표
스타 성장
스타
15.9k
포크
731
주간 성장
+260
이슈
166
5k10k15k
2019년 11월2020년 12월2022년 2월2023년 4월2024년 5월2025년 7월2026년 9월
아티팩트npm
README
Effect
Effect is a library for building robust, maintainable, type-safe, and production grade applications in TypeScript. It helps you handle the hard problems at scale: typed errors, dependency injection, structured concurrency, scheduling, tracing, and unified schema validation.
Effect V4 is currently a release candidate. The
mainbranch contains v4 development.
Install V4 RC
npm install effect@rc
Requirements
- TypeScript 5.9 or newer. TypeScript 7 is recommended for the best performance and compatibility with Effect's TypeScript tooling.
- Node.js 18 or newer is the general minimum for running Effect on Node.js. Some integration packages require newer runtimes; for example,
@effect/sql-sqlite-noderequires Node.js 22.16 or newer. - Strict type-checking: the
strictflag must be enabled in yourtsconfig.json.
Effect v3
The Effect v3 source code is available on the v3 branch, which is also where issues and pull requests meant for Effect v3 should be targeted.
Packages
This monorepo contains the core effect package alongside integration packages that extend it. All v4 packages are published under the rc tag on npm.
| Package | Description | API Reference |
|---|---|---|
effect |
The core package | docs |
@effect/platform-browser |
Platform services for the browser | docs |
@effect/platform-bun |
Platform services for Bun | docs |
@effect/platform-deno |
Platform services for Deno | docs |
@effect/platform-node |
Platform services for Node.js | docs |
@effect/platform-node-shared |
Shared services for Node.js-compatible runtimes | docs |
@effect/sql-clickhouse |
SQL client for ClickHouse | docs |
@effect/sql-d1 |
SQL client for Cloudflare D1 | docs |
@effect/sql-libsql |
SQL client for libSQL | docs |
@effect/sql-mssql |
SQL client for Microsoft SQL Server | docs |
@effect/sql-mysql2 |
SQL client for MySQL | docs |
@effect/sql-pg |
SQL client for PostgreSQL | docs |
@effect/sql-pglite |
SQL client for PGlite | docs |
@effect/sql-sqlite-bun |
SQL client for SQLite via bun:sqlite |
docs |
@effect/sql-sqlite-do |
SQL client for Cloudflare Durable Objects SQLite | docs |
@effect/sql-sqlite-node |
SQL client for SQLite via node:sqlite |
docs |
@effect/sql-sqlite-react-native |
SQL client for SQLite in React Native | docs |
@effect/sql-sqlite-wasm |
SQL client for SQLite compiled to WebAssembly | docs |
@effect/ai-anthropic |
Anthropic provider for the Effect AI modules | docs |
@effect/ai-openai |
OpenAI provider for the Effect AI modules | docs |
@effect/ai-openai-compat |
OpenAI-compatible API provider for the Effect AI modules | docs |
@effect/ai-openrouter |
OpenRouter provider for the Effect AI modules | docs |
@effect/atom-react |
React bindings for Effect Atom | docs |
@effect/atom-solid |
SolidJS bindings for Effect Atom | docs |
@effect/atom-vue |
Vue bindings for Effect Atom | docs |
@effect/opentelemetry |
OpenTelemetry integration | docs |
@effect/vitest |
Helpers for testing with Vitest | docs |
@effect/docgen |
Documentation generator for Effect projects | docs |
@effect/doctest |
Runs JSDoc examples as Vitest tests | docs |
@effect/openapi-generator |
Generate Effect code from OpenAPI specifications | docs |
Resources
- Documentation (https://effect.website)
- Discord (https://discord.gg/effect-ts)
- Effect v3 source (https://github.com/Effect-TS/effect/tree/v3)
- Effect v4 source (https://github.com/Effect-TS/effect/tree/main)
License
MIT
관련 저장소