TypeScript 专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/typescript-expert。
技能介绍
这类问题为什么难缠
TypeScript 在业务代码里「能跑」和「类型系统不拖后腿」往往是两件事:paths 只在编译期生效、推断类型无法命名、递归条件类型触发栈深度错误、monorepo 里 moduleResolution 与打包器不一致——症状分散在 tsconfig、导入路径和库边界上,单靠搜报错字符串很难一次改对。
技能如何协助你
被调用后,技能会先对照现有工程(优先用 Read/Grep/Glob 看配置与导入风格),再归类问题复杂度并选用对应策略,而不是默认跑一整套通用命令。
核心能力包括:
- 高级类型:品牌类型做领域原语、条件类型与推断技巧,并留意实例化深度约 10 层的限制
- 性能:
skipLibCheck、incremental、精确的include/exclude,以及在 monorepo 中用composite与 project references - 疑难错误 playbook:从显式导出、
ReturnType、仅类型导入破循环,到模块解析与缓存清理(如node_modules/.cache、.tsbuildinfo) - 迁移与工具选型:JS→TS、Biome vs ESLint、Nx vs Turborepo 等决策表与成本预期
- 验证:用一次性诊断确认改动;避免长期
watch/serve进程干扰判断
超出本技能范围时,会明确建议切换到更专的子方向(打包器内部、ESM/CJS 迁移、类型性能剖析等)并停止,避免在错误层级上硬改。
适用边界
- 深度 webpack/vite/rollup 机制、复杂 ESM/CJS 迁移、编译器内部类型性能剖析——应交给对应的专项子智能体。
paths的运行时映射需要ts-node/loader 或预编译方案,技能会按你的 Node/ESM 场景说明取舍,而不是假设「改 tsconfig 就能在运行时生效」。
使用场景
- 维护对外发布的 TypeScript 库时,CI 报「推断类型无法命名」,需要梳理显式导出、`ReturnType` 与仅类型导入以打断循环依赖。
- Monorepo 里全量类型检查耗时过长,要在不掩盖应用层问题的前提下配置 `incremental`、`.tsbuildinfo` 与 `composite` 项目引用。
- 源码路径存在却持续 `Cannot find module`,需核对 `moduleResolution` 是否与 Vite/Webpack 一致,并校验 `baseUrl`/`paths` 与 workspace 协议。
- 从 JavaScript 渐进迁入 TypeScript,要确定默认 strict、ESM 优先策略,并在 Biome 与 ESLint(类型感知规则)之间做可接受的取舍。
适合人员
- 维护对外 TypeScript SDK 的工程师,希望在 API 边界用品牌类型约束金额、单位等关键领域原语。
- 负责数十个子包 monorepo 的平台工程师,典型诉求是缩短 CI 类型检查时间并正确使用 project references。
- 编写复杂泛型与条件类型的库作者,需要化解「比较类型时栈深度过大」并控制递归深度。
- 计划在 Node 18+ 上将遗留 CJS 服务迁到 ESM 的后端负责人,要理清 `paths` 编译期映射与运行时解析的差异。