@ruan-cat/vercel-deploy-tool 更新日志
1.2.3
Patch Changes
- Updated dependencies [
6423c34]:- @ruan-cat/utils@4.20.0
1.2.2
Patch Changes
- Updated dependencies [
bbaba45]:- @ruan-cat/utils@4.19.0
1.2.1
Patch Changes
- 修复包导出:恢复 main/types 指向构建产物并为 require/default 提供入口,避免
No "exports" main defined导致的部署失败。 (8318c8a)
1.2.0
Minor Changes
- 调整包入口 main/types 指向源码
src/index.ts,与类型定义保持一致。 (4ca3723)
1.1.0
Minor Changes
- 恢复 deploy 命令
--env-path支持,允许显式指定 dotenv 文件并通过VERCEL_DEPLOY_TOOL_ENV_PATH参与配置加载。 (3a43560) - 在配置加载流程中整合 dotenvx 与 c12 的优先级,完善多环境变量合并策略。
- 新增/完善架构与运行流程文档(含 mermaid 流程与引用图),指导使用与环境变量策略。
- 恢复 deploy 命令
统一 Vercel CLI 调用配置,抽取公共 spawn 选项(含 Windows shell/编码/stdout 管理),并将 link 命令改用
--project参数,提升跨平台和 CLI 兼容性。 (eb875f9)
1.0.0
Major Changes
@ruan-cat/vercel-deploy-tool v1.0.0 - 重大重构更新 (
4a533ff) 🎉 重大更新
这是一个 破坏性更新,将工具从简单的部署脚本升级为功能完善的 CLI 工具和 API 库。
✨ 新功能
CLI 命令支持
- 🔧 提供
deploy命令用于执行部署 - 🎨 提供
init命令用于初始化配置文件 - 🚀 支持三个命令别名:
vercel-deploy-tool、vdt、@ruan-cat/vercel-deploy-tool
API 导出
- 📦 导出
defineConfig函数,提供类型安全的配置 - 🔌 导出
executeDeploymentWorkflow支持编程式调用 - 🎯 导出完整的 TypeScript 类型定义
- 🛠️ 导出命令工厂函数用于高级集成
构建系统升级
- 🏗️ 从 Vite 切换到 tsup 构建
- 📤 输出 ESM 格式,提供类型声明文件
- ⚡ 更快的构建速度和更小的包体积
任务调度升级
- 🎨 从
definePromiseTasks迁移到tasuku - 📊 提供可视化的任务执行进度
- ⚡ 更好的并行任务调度性能
配置系统增强
- 🔧 基于 c12 的配置加载系统
- 📝 支持多种配置文件格式(
.ts、.js、.mjs、.json) - 🌍 自动读取环境变量(
VERCEL_TOKEN、VERCEL_ORG_ID、VERCEL_PROJECT_ID) - 💡
defineConfig提供完整的 TypeScript 类型提示
代码架构优化
- 📁 模块化目录结构(
commands/、core/、config/、utils/、types/) - 🧩 清晰的职责分离和代码组织
- 🔄 更易于维护和扩展
💥 破坏性变更
1. 使用方式变更
旧版本:
bashtsx ./bin/vercel-deploy-tool.ts新版本:
bashvercel-deploy-tool deploy2. 配置文件格式变更
- 配置文件位置:从
.config/vercel-deploy-tool.ts改为根目录的vercel-deploy-tool.config.ts - 字段名修正:
vercelProjetName→vercelProjectName(修正拼写错误) - 导入路径:从
@ruan-cat/vercel-deploy-tool/src/config.ts改为@ruan-cat/vercel-deploy-tool - 配置包裹:使用
defineConfig()函数包裹配置对象
3. API 导入路径变更
旧版本:
typescriptimport { type Config } from "@ruan-cat/vercel-deploy-tool/src/config.ts"; import "@ruan-cat/vercel-deploy-tool/src/index.ts";新版本:
typescriptimport { defineConfig, executeDeploymentWorkflow } from "@ruan-cat/vercel-deploy-tool"; import type { VercelDeployConfig } from "@ruan-cat/vercel-deploy-tool";4. 移除的功能
- ❌ 不再支持直接运行 TypeScript 脚本
- ❌ 移除
--env-path参数(改用标准.env文件)
5. 类型定义变更
Config→VercelDeployConfig- 新增
DeployTarget、DeployTargetBase、DeployTargetWithUserCommands等类型
🛠️ 内部改进
模块化重构
- 将 590 行的
index.ts拆分为多个职责清晰的模块 - 创建独立的任务模块(link、build、after-build、user-commands、copy-dist、deploy、alias)
- 统一的任务编排入口(
core/tasks/index.ts)
工具函数封装
- Vercel 命令参数生成器(
core/vercel.ts) - 类型守卫工具(
utils/type-guards.ts) - 任务执行器封装(
core/executor.ts)
代码质量提升
- 完整的 TypeScript 类型定义
- 更好的错误处理
- 清晰的代码注释和文档
📚 文档更新
新增文档
- 📖 完整重写的 README.md
- 🔄 详细的迁移指南(
src/docs/migration-guide.md) - 📝 配置模板文件(
src/templates/vercel-deploy-tool.config.ts)
文档内容
- CLI 使用说明和示例
- API 使用说明和示例
- 完整的配置说明
- 环境变量配置指南
- GitHub Actions 集成示例
- 常见问题解答
🔗 迁移指南
详细的迁移步骤请参考:
快速迁移
更新依赖:
bashpnpm add -D @ruan-cat/vercel-deploy-tool@latest生成配置:
bashnpx vercel-deploy-tool init迁移配置内容:
- 复制
deployTargets配置 - 修正
vercelProjetName→vercelProjectName - 使用
defineConfig()包裹配置
- 复制
更新脚本:
json{ "scripts": { "deploy-vercel": "vercel-deploy-tool deploy" } }删除旧文件:
- 删除
bin/vercel-deploy-tool.ts或scripts/vercel-deploy-tool.ts - 删除
.config/vercel-deploy-tool.ts
- 删除
测试部署:
bashpnpm run deploy-vercel
🎯 升级建议
- ✅ 推荐所有用户升级到 v1.0 以获得更好的开发体验
- ✅ CLI 模式更简洁,无需维护额外的脚本文件
- ✅ 类型安全的配置减少配置错误
- ✅ 可视化的任务执行进度提供更好的反馈
- ✅ 模块化架构便于未来功能扩展
🔧 技术栈
- 构建工具: tsup
- 任务调度: tasuku
- 配置加载: c12
- CLI 框架: commander
- 日志输出: consola
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
- 🔧 提供
0.12.2
Patch Changes
- Updated dependencies [
787361f]:- @ruan-cat/utils@4.18.0
0.12.1
Patch Changes
- Updated dependencies [
0d708cc]:- @ruan-cat/utils@4.17.0
0.12.0
Minor Changes
全面调整全部包的 files 构建输出配置,统一排除规则,避免错误发布冗余文件 (
a0004e3)主要改进
- 优化
files字段配置,更精确地控制发布到 npm 的文件列表 - 统一排除不必要的构建产物和缓存文件(如
.vitepress/cache、.vitepress/dist等),统一排除掉.vitepress文件夹 - 排除测试文件和文档文件(
**/tests/**、**/docs/**等) - 使用
dist/**替代dist/*以确保包含所有构建输出子目录 - 统一各包的文件排除规则格式
这些改动仅影响 npm 包的发布内容,不影响包的功能和 API,减少了包的体积并提升了发布质量。
- 优化
Patch Changes
- Updated dependencies [
a0004e3]:- @ruan-cat/utils@4.16.0
0.11.3
Patch Changes
- Updated dependencies [
32c6493]:- @ruan-cat/utils@4.15.0
0.11.2
Patch Changes
0.11.1
Patch Changes
- Updated dependencies [
896d2eb]:- @ruan-cat/utils@4.13.0
0.11.0
Minor Changes
- 增加发包配置
!**/.vercel/**避免出现不小心把部署信息一起打包的情况。减少打包体积。 (b5b8d38)
Patch Changes
- Updated dependencies [
b5b8d38]:- @ruan-cat/utils@4.10.0
0.10.1
Patch Changes
- 更新依赖。 (
208f061) - 首页 README.md 增加了来自 automd 提供的标签,优化显示效果。
- 更新依赖。 (
- Updated dependencies [
208f061]:- @ruan-cat/utils@4.9.2
0.10.0
Minor Changes
- 不再从
--env-path配置内获取环境变量。 (ca5d41d) - 不再从
dotenvConfig函数内获取环境变量,一律从process.env内获取环境变量
- 不再从
Patch Changes
0.9.4
Patch Changes
- 更新 package.json 的 home 首页,改成对应包的 url 可访问地址。 (
76117bd)
0.9.3
Patch Changes
杂项变更,发包仓库地址改名。
发包时,其
repository.url从git+https://github.com/ruan-cat/vercel-monorepo-test.git更改成git+https://github.com/ruan-cat/monorepo.git。以便适应仓库名称改名的需求。现在发包的 package.json 内,其 url 地址如下:
json{ "repository": { "url": "git+https://github.com/ruan-cat/monorepo.git" } }Updated dependencies []:
- @ruan-cat/utils@4.8.1
0.9.2
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.8.0
0.9.1
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.7.0
0.9.0
Minor Changes
- 每一个部署任务,都可以根据
isNeedVercelBuild配置来决定要不要跳过 vercel 的默认 build 命令。在某些特殊情况下,用户会自动提供满足 vercel 部署的目录结构,故不需要额外运行
vercel build命令。
0.8.18
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.6.0
0.8.17
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.5.0
0.8.16
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.4.0
0.8.15
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.3.2
0.8.14
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.3.1
0.8.13
Patch Changes
- Updated dependencies []:
- @ruan-cat/utils@4.3.0
0.8.12
Patch Changes
- 删除不需要的 shx 依赖。
0.8.11
Patch Changes
- github 仓库改名了。不再使用
/vercel-monorepo-test/字符串,全部改成/monorepo/。对外不再称呼为测试性质项目,而是正式的工程项目。 - Updated dependencies
- @ruan-cat/utils@4.2.2
0.8.10
Patch Changes
- Updated dependencies
- @ruan-cat/utils@4.2.1
0.8.9
Patch Changes
- Updated dependencies
- @ruan-cat/utils@4.2.0
0.8.8
Patch Changes
- Updated dependencies
- @ruan-cat/utils@4.1.1
0.8.7
Patch Changes
- Updated dependencies
- @ruan-cat/utils@4.1.0
0.8.6
Patch Changes
- Updated dependencies
- @ruan-cat/utils@4.0.0
0.8.5
Patch Changes
- Updated dependencies
- @ruan-cat/utils@3.3.0
0.8.4
Patch Changes
- Updated dependencies
- @ruan-cat/utils@3.2.0
0.8.3
Patch Changes
- Updated dependencies
- @ruan-cat/utils@3.1.0
0.8.2
Patch Changes
- Updated dependencies
- @ruan-cat/utils@3.0.1
0.8.1
Patch Changes
- 处理读取环境变量失败的 bug。
0.8.0
Minor Changes
- 修复链接别名时,无法查询自定义域名的错误。
在 vercel 的 alias 命令内指定 --scope 参数,传参为组织 id 即可。
0.7.5
Patch Changes
- Updated dependencies
- @ruan-cat/utils@3.0.0
0.7.4
Patch Changes
- Updated dependencies
- @ruan-cat/utils@2.0.1
0.7.3
Patch Changes
- Updated dependencies
- @ruan-cat/utils@2.0.0
0.7.2
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.8.0
0.7.1
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.7.0
0.7.0
Minor Changes
- 移除输出命令的控制变量。现在部署工具默认总是将执行的命令输出出来。
0.6.4
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.6.1
0.6.3
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.6.0
0.6.2
Patch Changes
- 处理 bug。部署任务不需要流式输出。
0.6.1
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.5.0
0.6.0
Minor Changes
- 实现流式输出内容。现在运行部署命令时,各个子命令的输出结果会流式地展示出来。
0.5.9
Patch Changes
- 提供 keywords ,便于查找信息。
- Updated dependencies
- @ruan-cat/utils@1.4.2
0.5.8
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.4.1
0.5.7
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.4.0
0.5.6
Patch Changes
- 锁死内部依赖 vercel 的版本号,尝试处理 vercel@39.4.2 安装失败的错误。
- @ruan-cat/utils@1.3.5
0.5.5
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.3.5
0.5.4
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.3.4
0.5.3
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.3.3
0.5.2
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.3.2
0.5.1
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.3.1
0.5.0
Minor Changes
- 增加 isShowCommand 命令。控制是否显示出目前正在运行的命令。
- 显示的命令为渐变彩色。使用和 turborepo 相同的渐变色。rgb(0, 153, 247) 到 rgb(241, 23, 18)。
0.4.2
Patch Changes
- 输出部署信息。
0.4.1
Patch Changes
- 输出部署任务的错误日志。
0.4.0
Minor Changes
优化了 outputDirectory 的填写,不需要填写匹配语法了。
之前的写法是:
json{ "outputDirectory": "dist/**/*" }现在的写法是:
json{ "outputDirectory": "dist" }不需要写额外的 glob 匹配语法了。
优化了包体积。
0.3.1
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.3.0
0.3.0
Minor Changes
- 增加了 --env-path 环境变量地址配置。使用命令行运行项目时,可以手动传递环境变量的值。传递命令行的值即可。
举例如下:
tsx ./tests/config.test.ts --env-path=.env.test传递 --env-path 变量,并提供地址即可。
0.2.0
Minor Changes
- 提供 vercelJsonPath 配置。允许用户上传自定义的 vercel.json 文件。
0.1.1
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.2.0
0.1.0
Minor Changes
- 优化文件移动的算法,加快执行效率。
0.0.13
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.1.1
0.0.12
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.1.0
0.0.11
Patch Changes
- 优化控制台输出。
0.0.10
Patch Changes
- Updated dependencies
- @ruan-cat/utils@1.0.5
0.0.9
Patch Changes
- 提供包索引,提供 readme 文档。
- Updated dependencies
- @ruan-cat/utils@1.0.4
0.0.8
Patch Changes
- 修复输出命令为 undefined 的错误。
0.0.7
Patch Changes
- 更新路径别名。
- Updated dependencies
- @ruan-cat/utils@1.0.3
0.0.6
Patch Changes
- pnpm dlx 子命令安装依赖。
0.0.5
Patch Changes
- 补充子依赖包。
0.0.4
Patch Changes
- 补全依赖。
0.0.3
Patch Changes
- 修复缺少依赖的 bug。
0.0.2
Patch Changes
- 初始化部署工具。