- 添加模板管理故障排除清单,以帮助用户解决模板管理中遇到的常见问题。 - 统一服务注入逻辑,移除不必要的props定义,增强错误处理机制。 - 优化模板管理,统一服务注入与存储键管理。 - 更新 `TemplateSelect.vue`,移除 `services` prop,改用 `inject` 注入服务。 - 整合 `useTemplateManager`,统一模板选择保存逻辑及存储键管理。 - 新增 `storage-keys.ts`,集中管理存储键常量,避免重复定义,便于维护与遍历。 - 更新相关组件以适配新的模板管理方式,确保模板选择状态正确保存和恢复。 - 修正了模板类型错误的问题,确保在管理界面切换分类后添加的模板类型与当前显示的分类一致。 - 修复了模板管理器打开位置错误的问题,确保从不同入口打开模板管理器时,定位到正确的分类。 - 优化了模板保存和导入逻辑,增加了错误处理和提示。 - 确保所有异步模板操作都使用了 `await` 关键字,避免潜在的时序问题。 - 移除了 `usePromptOptimizer` 中 `selectedOptimizationMode` 的默认值,强制传入该参数。 - 优化了 `TemplateSelect` 组件中 `optimizationMode` prop 的处理,设为 `required`。
86 lines
2.2 KiB
Markdown
86 lines
2.2 KiB
Markdown
# 版本同步机制
|
|
|
|
## 概述
|
|
|
|
为了确保项目中所有组件的版本号保持一致,我们建立了自动版本同步机制。该机制会自动将根目录 `package.json` 中的版本号同步到其他需要版本号的文件中。
|
|
|
|
## 自动同步的文件
|
|
|
|
目前自动同步版本号的文件包括:
|
|
|
|
- `packages/extension/public/manifest.json` - 浏览器扩展清单文件
|
|
|
|
## 使用方法
|
|
|
|
### 方法1: 使用 pnpm version 命令(推荐)
|
|
|
|
使用标准的 pnpm 版本管理命令,版本号会自动同步:
|
|
|
|
```bash
|
|
# 升级补丁版本 (1.0.7 -> 1.0.8)
|
|
pnpm version patch
|
|
|
|
# 升级次版本 (1.0.7 -> 1.1.0)
|
|
pnpm version minor
|
|
|
|
# 升级主版本 (1.0.7 -> 2.0.0)
|
|
pnpm version major
|
|
```
|
|
|
|
### 方法2: 手动同步
|
|
|
|
如果直接修改了 `package.json` 中的版本号,可以手动运行同步命令:
|
|
|
|
```bash
|
|
pnpm run version:sync
|
|
```
|
|
|
|
## 工作原理
|
|
|
|
1. **pnpm version 命令**: 更新 `package.json` 中的版本号
|
|
2. **version 钩子**: 在创建 commit 前运行同步脚本并暂存变更
|
|
- 执行 `pnpm run version:sync` 同步其他文件的版本号
|
|
- 执行 `git add -A` 将所有变更添加到暂存区
|
|
3. **同步脚本**: `scripts/sync-versions.js` 读取新的版本号并更新其他文件
|
|
4. **git commit**: pnpm 创建包含所有版本号变更的提交和标签
|
|
|
|
## 添加新的同步文件
|
|
|
|
如需添加更多文件的版本同步,编辑 `scripts/sync-versions.js` 文件中的 `versionFiles` 数组:
|
|
|
|
```javascript
|
|
const versionFiles = [
|
|
{
|
|
path: 'packages/extension/public/manifest.json',
|
|
field: 'version',
|
|
description: '浏览器扩展清单文件'
|
|
},
|
|
{
|
|
path: 'path/to/your/file.json',
|
|
field: 'version',
|
|
description: '你的文件描述'
|
|
}
|
|
];
|
|
```
|
|
|
|
## 注意事项
|
|
|
|
- 确保目标文件是有效的 JSON 格式
|
|
- 版本字段必须存在于目标文件中
|
|
- 脚本会在出现错误时退出并显示错误信息
|
|
- 所有版本号变更都会被记录到控制台
|
|
|
|
## 故障排除
|
|
|
|
如果同步失败,请检查:
|
|
|
|
1. 目标文件是否存在且格式正确
|
|
2. 版本字段是否存在于目标文件中
|
|
3. 是否有文件权限问题
|
|
4. Node.js 版本是否兼容
|
|
|
|
如有问题,可以直接运行同步脚本进行调试:
|
|
|
|
```bash
|
|
node scripts/sync-versions.js
|
|
``` |