allinssl/frontend/plugin/vite-plugin-turborepo-deploy/CHANGELOG.md

5.3 KiB
Raw Permalink Blame History

更新日志

[3.1.0] - 2023-XX-XX

新增

  • 本地同步目标路径增强

    • LocalSyncConfig.target 现在支持字符串数组,可以将一个源路径同步到多个目标路径
    • 添加了文件分发功能,一次配置可以将文件复制到多个目标
    • 优化了目标路径配置验证,支持数组格式
    • 更新了相关文档和示例
  • Git项目管理增强

    • 添加了 GitProjectConfig.discardChanges 选项,允许自动丢弃未提交的更改
    • 当设置为 true 时,会在拉取前自动执行 git checkout -- .git clean -fd
    • 增强了错误处理,可以处理因未提交更改导致的拉取失败
    • 添加了相关日志,提供更清晰的操作过程

改进

  • 优化了本地同步功能的代码结构,将目标路径统一处理为数组
  • 更新了 README 文档,添加了使用 target 数组的示例和 discardChanges 选项的说明
  • 完善了类型定义,提供更好的 TypeScript 支持
  • 改进了 Git 项目管理的错误处理,提供更友好的错误信息和恢复机制

[3.0.0] - 2023-XX-XX

重大变更

  • Git 项目存储路径统一化

    • 所有 Git 项目都集中存放在工作区根目录的 .sync-git 目录下
    • GitProjectConfig.targetDir 现在相对于 .sync-git 目录,而非工作区根目录
    • AutoCommitConfig 中的项目路径也相对于 .sync-git 目录
    • 更新了相关路径计算逻辑和错误处理
    • 提供更清晰的路径解析日志
  • 智能自动提交完全分离

    • 完全移除了 GitProjectAutoCommitConfig 与 Git 项目配置的关联
    • GitProjectAutoCommitConfig 标记为废弃
    • 自动提交模块现在完全依赖 AutoCommitConfig 配置
  • 任务执行机制调整

    • 所有任务现在都在构建完成后的 closeBundle 钩子中执行
    • 移除了 buildStartbuildEnd 阶段的分离执行
    • 按固定顺序依次执行Git项目管理 → 本地文件同步 → 自动提交
    • 前一任务出错会中止后续任务执行

新增

  • 工作区根目录检测
    • 增强了工作区根目录检测功能,支持多种 monorepo 工具:
      • Turborepo (turbo.json)
      • PNPM Workspaces (pnpm-workspace.yaml)
      • Yarn/NPM Workspaces (package.json 中的 workspaces 字段)
    • 所有路径计算现在基于工作区根目录,而非 Vite 项目根目录
    • 支持 monorepo 中的子项目使用相同配置

改进

  • 配置验证增强

    • 增加了对自动提交配置中路径的验证,确保使用相对路径
    • 优化了错误消息,提供更具体的问题描述和解决建议
    • 确保 Git 项目管理必须成功,失败时会中止后续任务
  • 文档更新

    • 更新了 README详细说明 Git 项目路径和工作区检测
    • 添加了更多配置示例,突出显示路径关系
    • 更新了配置表格,明确标注任务执行顺序
    • 完善了工作原理部分,说明任务执行机制

修复

  • 修复了多个路径计算问题,确保路径解析一致性
  • 修正了自动提交模块中潜在的路径解析错误
  • 优化了 Git 项目管理错误处理逻辑

[2.1.0] - 2023-XX-XX

新增

  • 工作区根目录检测
    • 自动检测Turborepo/PNPM/Yarn/NPM工作区根目录
    • 所有路径Git项目、文件同步、日志等基于工作区根目录计算
    • 支持monorepo中的多个子项目共享配置

改进

  • 更新了日志系统,路径计算现基于工作区根目录
  • 改进了路径解析逻辑,支持绝对路径和相对路径
  • 添加了工作区检测日志,方便调试和确认

[2.0.0] - 2023-XX-XX

重大变更

  • 插件架构调整移除任务编排系统改为基于Vite构建钩子的分阶段执行

    • 移除了 taskOrder 配置字段
    • Git项目管理现在在编译前阶段 (buildStart钩子) 执行
    • 本地文件同步和自动提交在编译后阶段 (buildEnd钩子) 执行
    • 修改了插件主要流程,不再需要手动指定任务顺序
  • 智能自动提交模块独立化

    • GitProjectConfig 中移除了 autoCommit 字段
    • 创建了独立的 AutoCommitConfig 配置接口
    • 更新了配置验证逻辑,适应新的数据结构
    • 自动提交现在作为完全独立的模块运行

新增

  • 基于Vite构建周期的分阶段执行机制

    • 更合理的任务执行顺序Git项目更新 → 编译 → 文件同步 → 自动提交
    • 更明确的错误处理策略:编译前错误会终止构建,编译后错误可选择忽略
  • AutoCommitConfig 添加了新的配置选项:

    • enableSharedCommits: 控制是否启用跨项目的共享提交信息 (默认: true)
    • insertSeparator: 控制是否在提交后插入分隔符 (默认: true)
  • 自动提交项目现可独立指定分支,与 Git 项目管理分支分离

改进

  • 代码结构更加清晰,各模块职责明确
  • 更新了文档,清晰说明各任务的执行阶段
  • 优化了配置验证逻辑,提供更友好的错误信息
  • 改进了自动提交流程中的共享提交信息机制
  • 更新了配置表格,添加了执行阶段说明
  • 添加了工作流程图,帮助用户理解插件执行机制

修复

  • 修复了类型定义中的问题,确保类型安全
  • 修正了一些可能导致异常的边缘情况

[1.2.0] - 2023-XX-XX

...之前的更新日志...