- 新增版本同步脚本 sync-versions.js,实现自动同步 package.json 版本号到指定文件 - 更新 package.json,添加 version:sync 和 version 脚本 - 修改 App.vue 文件,添加 GitHub按钮 - 更新国际化文件,明确模板占位符格式 - 新增 version-sync.md 文档,说明版本同步机制的使用和管理
2.2 KiB
2.2 KiB
版本同步机制
概述
为了确保项目中所有组件的版本号保持一致,我们建立了自动版本同步机制。该机制会自动将根目录 package.json 中的版本号同步到其他需要版本号的文件中。
自动同步的文件
目前自动同步版本号的文件包括:
packages/extension/public/manifest.json- 浏览器扩展清单文件
使用方法
方法1: 使用 pnpm version 命令(推荐)
使用标准的 pnpm 版本管理命令,版本号会自动同步:
# 升级补丁版本 (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 中的版本号,可以手动运行同步命令:
pnpm run version:sync
工作原理
- pnpm version 命令: 更新
package.json中的版本号 - version 钩子: 在创建 commit 前运行同步脚本并暂存变更
- 执行
pnpm run version:sync同步其他文件的版本号 - 执行
git add -A将所有变更添加到暂存区
- 执行
- 同步脚本:
scripts/sync-versions.js读取新的版本号并更新其他文件 - git commit: pnpm 创建包含所有版本号变更的提交和标签
添加新的同步文件
如需添加更多文件的版本同步,编辑 scripts/sync-versions.js 文件中的 versionFiles 数组:
const versionFiles = [
{
path: 'packages/extension/public/manifest.json',
field: 'version',
description: '浏览器扩展清单文件'
},
{
path: 'path/to/your/file.json',
field: 'version',
description: '你的文件描述'
}
];
注意事项
- 确保目标文件是有效的 JSON 格式
- 版本字段必须存在于目标文件中
- 脚本会在出现错误时退出并显示错误信息
- 所有版本号变更都会被记录到控制台
故障排除
如果同步失败,请检查:
- 目标文件是否存在且格式正确
- 版本字段是否存在于目标文件中
- 是否有文件权限问题
- Node.js 版本是否兼容
如有问题,可以直接运行同步脚本进行调试:
node scripts/sync-versions.js