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

136 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 更新日志
## [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` 钩子中执行
- 移除了 `buildStart``buildEnd` 阶段的分离执行
- 按固定顺序依次执行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
...之前的更新日志...