Repolode
Effect-TS

Effect-TS/effect

一个用于构建生产级 TypeScript 应用的库,提供类型化错误、依赖注入、结构化并发和 Schema 校验。

Star
17,376
Fork
875
未关闭 Issue
82
最近提交
22小时前

这是什么?

Effect 是一个用于构建健壮、可维护、类型安全应用的 TypeScript 库,主要解决大规模项目中的常见难题,包括在类型系统中追踪的错误处理、依赖注入、结构化并发、调度、链路追踪和统一的 Schema 校验。

核心包为 `effect`,仓库中还配有一组配套包:覆盖 Node.js、Bun、Deno 和浏览器的平台服务;支持 PostgreSQL、MySQL、多种 SQLite 运行时和 ClickHouse 等数据库的 SQL 客户端;对接 OpenAI、Anthropic、OpenRouter 的 AI 提供方集成;OpenTelemetry 集成;Vitest 测试辅助工具;以及根据 OpenAPI 和 GraphQL 生成代码的工具。

当前 4.x 版本为长期支持版本,需要 TypeScript 5.9 及以上并开启 `strict` 模式。从 3.x 升级可参考迁移指南,v3 源码保存在独立分支上。

核心功能

  • 01类型系统中可追踪的类型化错误处理
  • 02用于组合服务的依赖注入
  • 03结构化并发与调度
  • 04链路追踪与 OpenTelemetry 集成
  • 05统一的 Schema 校验
  • 06覆盖多种运行时的 SQL 客户端与平台服务

适用场景

  • 构建需要显式错误处理和依赖管理的大型 TypeScript 后端
  • 在 PostgreSQL、MySQL 或 SQLite 上编写类型安全的数据库访问代码
  • 为现有 TypeScript 服务添加 OpenTelemetry 链路追踪
  • 根据 OpenAPI 或 GraphQL 规范生成类型化的 Effect 代码

快速上手

  1. 1

    使用 npm 安装核心包

    npm install effect

使用前须知

  • 需要 TypeScript 5.9 或更高版本,并在 tsconfig.json 中启用 strict 标志。
  • Effect 4.x 为长期支持版本,从 Effect 3.x 升级需要遵循迁移指南。

收录于专题

标签

常见问题

effect 是什么?
一个用于构建生产级 TypeScript 应用的库,提供类型化错误、依赖注入、结构化并发和 Schema 校验。 Effect 是一个用于构建健壮、可维护、类型安全应用的 TypeScript 库,主要解决大规模项目中的常见难题,包括在类型系统中追踪的错误处理、依赖注入、结构化并发、调度、链路追踪和统一的 Schema 校验。
effect 可以免费使用吗?用的什么许可证?
effect 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
effect 还在维护吗?
活跃维护中。effect 最近一次提交是在 2026年10月24日。
effect 适合用来做什么?
构建需要显式错误处理和依赖管理的大型 TypeScript 后端 在 PostgreSQL、MySQL 或 SQLite 上编写类型安全的数据库访问代码 为现有 TypeScript 服务添加 OpenTelemetry 链路追踪 根据 OpenAPI 或 GraphQL 规范生成类型化的 Effect 代码
effect 怎么安装和运行?
使用 npm 安装核心包: npm install effect
在哪里获取 effect?
源代码和安装说明在 GitHub 上:https://github.com/Effect-TS/effect

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目