SuperAPI AI 工具集

tanstack-cli

通用与其它

查看项目

更新于 10-16 02:35

技能介绍

用途:TanStack Config 为 JavaScript/TypeScript 包提供一套约定式工具,用于构建、版本管理与发布,减少配置并保持结果一致。适用于构建遵循 TanStack 约定的库或包、参与 TanStack 开源项目、用 Vite 搭建双 ESM/CJS 库构建、以约定式提交自动化发布。不适用于应用构建、非库项目、不使用 pnpm 的项目,以及需要非 Vite 构建管线的项目。

主要能力:使用 Vite 进行库构建,自动生成 ESM 与 CJS 双输出及类型声明;通过 @tanstack/vite-config 的 tanstackViteConfig() 配置入口 entry、源码目录 srcDir、CJS 输出 cjs、外部依赖 externalDeps、打包依赖 bundledDeps、类型排除 exclude、自定义 tsconfigPath 及声明文件写入钩子 beforeWriteDeclarationFile;通过 @tanstack/publish-config 的 publish() 结合约定式提交驱动版本,支持 main/beta/alpha 分支配置与 monorepo 包列表。

使用方式:需 Node.js v18.17+、pnpm v8+、Git CLI、GitHub CLI(GitHub Actions 已预装)、Vite(构建配置的 peer 依赖),推荐 publint。构建脚本通常为 vite build && publint --strict。配置时用 mergeConfig(defineConfig({...}), tanstackViteConfig({...})) 合并,entry 与 srcDir 为必填;package.json 需设置 "type": "module" 并定义含 types 的 import/require 导出条件。发布时需处理 publish() 返回的 Promise(.then()/.catch())。

限制与常见错误:仅支持 pnpm,不支持 npm 或 yarn;手动版本标签必须以 v 开头;提交类型决定发布级别(fix/refactor/perf 为 patch,feat 为 minor,BREAKING CHANGE 为 major);缺少 entry 或 srcDir、未用 mergeConfig、缺少 exports 字段、未加 publint --strict 均会导致问题。其他细节暂未提供。