该技能提供把 TypeScript SDK 作为独立 npm 包、从 pnpm monorepo 中发布出去的端到端工作流,共分七个阶段。
用途:从既有 CLI 或应用中抽出核心库(如 packages/core、packages/sdk);为会被外部使用者消费的 TypeScript 库设计公开 API;并在 Turborepo 中发布与维护。
主要能力与阶段: 一、工作区与包骨架:采用 apps/ + packages/ 布局,SDK 放 packages/<sdk-name>/,使用作用域名 @<org>/<sdk-name>,内部依赖用 workspace:*。 二、公开 API 面:src/ 分为 api/(对外契约)与 internal/(不可外部导入),用 exports 字段做边界约束;类型设计涉及品牌类型、泛型客户端、可辨识联合、Builder 模式,接口类型便于声明合并。 三、构建配置:库用 tsconfig 关键项含 declaration、declarationMap、verbatimModuleSyntax、isolatedDeclarations、composite;构建工具选择上以 tsdown 为主,备选 tsc-only/zshy、unbuild、tsup。 四、分发形态:package.json exports 需满足 types 在前、default 在后、双格式需独立 .d.mts/.d.cts、包含 "./package.json"、module 在 require 前;可加子路径入口与 browser/workerd/react-native/deno 等运行时条件。 五、单仓流水线:turbo.json 中 build 依赖 ^build,配置 inputs/outputs;常用命令如 pnpm turbo run build --filter=...@acme/sdk。 六、发布前校验:pnpm exec publint --strict、pnpm exec attw --pack .,并打包后在沙箱目录做 CJS/ESM 冒烟测试;三者接入 prepublishOnly。 七、发布生命周期:semver 与预发布标识(alpha/beta/rc),dist-tags 区分 latest、next、beta、rc、canary;changeset pre enter/exit 管理版本推进;publishConfig 开启 provenance。
限制:资料未提供具体价格或收费信息;实际构建工具选型与命令执行结果需以各项目实际环境为准。