TypeScript库开发Skill ts-library

这个技能专注于TypeScript库的高质量开发,提供从项目初始化到发布的完整指南,包括双格式支持、构建工具配置、API设计模式和测试策略。关键词:TypeScript、库开发、ESM、CJS、tsdown、unbuild、API设计、类型安全、vitest、CI/CD。

前端开发 0 次安装 1 次浏览 更新于 3/9/2026

name: ts-library description: 用于编写TypeScript库时的技能 - 涵盖项目设置、包导出、构建工具(tsdown/unbuild)、API设计模式、类型推断技巧、测试和发布工作流程。从20多个高质量生态库中提取的模式。 license: MIT

TypeScript库开发

从研究unocss、shiki、unplugin、vite、vitest、vueuse、zod、trpc、drizzle-orm等库中提取的编写高质量TypeScript库的模式。

何时使用

  • 开始一个新的TypeScript库(单仓库或monorepo)
  • 设置package.json导出以支持双CJS/ESM格式
  • 配置tsconfig进行库开发
  • 选择构建工具(tsdown、unbuild)
  • 设计类型安全的API(构建器、工厂、插件模式)
  • 编写高级TypeScript类型
  • 设置vitest进行库测试
  • 配置发布工作流程和CI

对于Nuxt模块开发: 使用nuxt-modules技能

快速参考

处理… 加载文件
新项目设置 references/project-setup.md
包导出 references/package-exports.md
tsconfig选项 references/typescript-config.md
构建配置 references/build-tooling.md
ESLint配置 references/eslint-config.md
API设计模式 references/api-design.md
类型推断技巧 references/type-patterns.md
测试设置 references/testing.md
发布工作流程 references/release.md
CI/CD设置 references/ci-workflows.md

加载文件

根据您的任务考虑加载这些参考文件:

不要一次性加载所有文件。 只加载与您当前任务相关的文件。

关键原则

  • ESM优先:使用"type": "module".mjs输出
  • 双格式:始终支持CJS和ESM消费者
  • 现代TypeScript使用moduleResolution: "Bundler"
  • 大多数构建使用tsdown,复杂情况使用unbuild
  • 智能默认值:检测环境,不强制配置
  • 可树摇动:延迟获取器,正确的sideEffects: false

令牌效率:主技能约300令牌,每个参考约800-1200令牌