Raypx

包参考

各内部包的详细文档。

Raypx 的 monorepo 包含 11 个内部包,由 Turborepo 统一管理。所有包均通过 @raypx/{name} 导入,仅在仓库内部使用,不会发布到 npm。

包概览

分类包名说明
基础设施@raypx/env基于 Zod 的类型安全环境变量校验
@raypx/logger基于 Pino 的结构化日志
@raypx/databaseDrizzle ORM 与 PostgreSQL 连接管理
功能@raypx/authBetter Auth 集成,支持懒加载初始化
@raypx/rpc基于 oRPC 的类型安全 API 层
@raypx/storage基于 unstorage 的对象存储抽象
@raypx/emailResend + React Email 邮件发送
@raypx/otp一次性密码服务
@raypx/billing套餐限额与计费逻辑
应用层@raypx/i18n基于 use-intl 的国际化
@raypx/ui基于 shadcn/ui 的共享 UI 组件库

依赖关系

@raypx/env          <- 所有包的基础依赖
@raypx/logger       <- auth, rpc
@raypx/database     <- auth, rpc
@raypx/auth         <- rpc (context)
@raypx/i18n         <- 应用层
@raypx/ui           <- 应用层

基础设施包不依赖功能包,功能包可以依赖基础设施包,应用层包仅供应用代码使用。

环境变量约定

每个功能包都通过 @raypx/env 定义自己的环境变量 Preset,使用 createViteEnv() 进行校验。

  • 服务端变量:直接定义在 server 字段中
  • 客户端变量:必须以 VITE_PUBLIC_ 前缀定义在 client 字段中
  • 共享变量:定义在 shared 字段中,服务端和客户端均可访问

详细的 Preset 组合模式请参阅 @raypx/env 文档。

On this page