SuperAPI AI 工具集

typescript-best-practices

编程与开发

查看项目

更新于 10-15 21:35

技能介绍

用途:这是一份 TypeScript 最佳实践技能,用于在编写 TypeScript 代码时提供类型优先的开发模式,核心目标是让非法状态在编译期不可表示、强制穷尽处理,并在系统边界做运行时校验。处理 React 组件(.tsx、.jsx 或 @react 导入)时,需同时加载 react-best-practices,本技能只覆盖 TypeScript 基础,React 专属模式在专门的 React 技能中。

主要能力:类型优先工作流(先定义数据模型与函数签名,再实现以满足类型,最后在边界校验);用可辨识联合表示互斥状态;用品牌类型区分领域原始值(如 UserId 与 OrderId);用 as const 保持字面量联合与数组同步;区分创建、更新与数据库行的必填/可选字段。功能模式上偏好 const、readonly、map/filter/reduce 与纯函数,隔离副作用。指令要求开启 strict 模式、每个代码路径返回值或抛错、用 never 做穷尽 switch 检查、传播带上下文的错误、显式处理边界情况、用 await 并包装外部调用、变更逻辑时补充聚焦测试。

运行时校验:使用 Zod v4,以 schema 为单一事实来源并用 z.infer 推导类型;用户输入用 safeParse,信任边界用 parse;用 .extend()/.pick()/.omit()/.merge() 组合 schema;用 .transform() 归一化数据;新代码优先使用 z.email()、z.url()、z.uuid() 等顶层校验器,错误信息用 error 而非 message。配置方面:启动时从环境变量加载并用 Zod 校验,无效配置应立即崩溃,定义类型化 config 对象,避免在代码库中直接访问 process.env。可选 type-fest 提供 Opaque、PartialDeep、ReadonlyDeep、LiteralUnion、SetRequired、Simplify 等高级类型工具。

限制:资料未提供安装命令、版本要求、收费或平台信息;示例代码仅作模式说明,未给出完整项目集成步骤。