{"_id":"@ai-app-base/bump-version-js","name":"@ai-app-base/bump-version-js","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@ai-app-base/bump-version-js","version":"0.1.1","description":"A CLI tool for semantic version management","main":"dist/bump-version.js","type":"module","bin":{"bump-version-js":"dist/bump-version.js","bvj":"dist/bump-version.js"},"scripts":{"build":"tsc","postbuild":"chmod +x dist/bump-version.js","dev":"tsx src/bump-version.ts","test":"vitest run","test:ui":"vitest --ui","coverage":"vitest run --coverage","prebuild":"rimraf dist","prepublishOnly":"npm run build","prepare":"husky","lint":"eslint .","lint:fix":"eslint . --fix","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/ai-app-base/bump-version-js.git"},"author":"","license":"ISC","bugs":{"url":"https://github.com/ai-app-base/bump-version-js/issues"},"homepage":"https://github.com/ai-app-base/bump-version-js#readme","devDependencies":{"@eslint/js":"^9.30.1","@types/node":"^24.0.10","@types/prompts":"^2.4.9","@vitest/ui":"^3.2.4","eslint":"^9.30.1","execa":"^9.6.0","husky":"^9.1.7","prettier":"^3.6.2","rimraf":"^6.0.1","tsx":"^4.20.3","typescript":"^5.8.3","typescript-eslint":"^8.35.1","vitest":"^3.2.4"},"dependencies":{"@types/semver":"^7.7.0","chalk":"^5.4.1","prompts":"^2.4.2","semver":"^7.7.2"},"_id":"@ai-app-base/bump-version-js@0.1.1","gitHead":"8c953703fc76ade1040786b713c3fdb2ff9abf78","types":"./dist/bump-version.d.ts","_nodeVersion":"20.19.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-6nmnK+7OMNXOEtqSmsxWvsPU0gX9TkuAKMtK5VQ9tEqs5cP/fhV8Vw4WVFJDsvaX41Mt+1g9YjgL78xKpWkdPA==","shasum":"860ec143cf9202a1adec839b60e748cc27447e07","tarball":"https://registry.npmjs.org/@ai-app-base/bump-version-js/-/bump-version-js-0.1.1.tgz","fileCount":6,"unpackedSize":44978,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIF15s6s3tTOieGTG33X5ULPOoFn/2zkjz3vMt4kKu0JsAiEAziFenYDRKAkDFvrE8FgNbMb0RdLsko5OQytYrfapLRI="}]},"_npmUser":{"name":"yarnovo","email":"yarnb@qq.com","actor":{"name":"yarnovo","email":"yarnb@qq.com","type":"user"}},"directories":{},"maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bump-version-js_0.1.1_1751545230412_0.4336982357631838"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-03T12:20:30.334Z","0.1.1":"2025-07-03T12:20:30.586Z","modified":"2025-07-03T12:20:30.830Z"},"maintainers":[{"name":"yarnovo","email":"yarnb@qq.com"}],"description":"A CLI tool for semantic version management","homepage":"https://github.com/ai-app-base/bump-version-js#readme","repository":{"type":"git","url":"git+https://github.com/ai-app-base/bump-version-js.git"},"bugs":{"url":"https://github.com/ai-app-base/bump-version-js/issues"},"license":"ISC","readme":"# bump-version-js\n\n一个智能的语义化版本管理命令行工具，专为现代 JavaScript/TypeScript 项目设计。\n\n## 简介\n\n`bump-version-js` 是一个交互式的版本管理工具，它遵循[语义化版本规范](https://semver.org/)，支持正式版本和预发布版本的管理。该工具通过友好的命令行界面，自动化处理版本号更新、Git 提交和标签创建等繁琐的发布流程。\n\n## 职责\n\n本工具负责以下核心任务：\n\n- **版本号管理**：自动计算和更新符合语义化版本规范的版本号\n- **版本号验证**：验证版本号是否符合语义化版本规范\n- **Git 集成**：自动创建规范的提交信息和标签\n- **发布流程自动化**：一键完成版本更新、提交、标签创建和推送\n- **预发布版本支持**：管理 dev、alpha、beta、rc 等预发布版本的迭代\n\n## 功能特性\n\n### 🎯 版本管理功能\n\n- **交互式界面**：通过友好的命令行交互界面选择版本类型和更新方式\n- **智能版本计算**：自动根据当前版本和选择的类型计算下一个版本号\n- **预发布版本管理**：\n  - 支持 dev、alpha、beta、rc 四种预发布类型\n  - 自动处理预发布版本间的升级路径\n  - 支持预发布版本转正式版本\n- **Git 工作流集成**：\n  - 自动提交 package.json 和 package-lock.json\n  - 创建带注释的 Git 标签\n  - 一键推送到远程仓库\n- **安全保护**：\n  - 检查工作区是否有未提交的更改\n  - 警告非主分支发布（可选择继续）\n  - 执行前显示详细的执行计划\n\n### 🔍 版本验证功能\n\n- **版本号格式验证**：检查版本号是否符合语义化版本规范\n- **详细信息展示**：显示版本号的各个组成部分\n- **预发布类型识别**：自动识别并展示预发布版本类型\n\n### 📦 支持的版本类型\n\n1. **正式版本**\n   - Patch (修订号): 错误修复 (1.0.0 → 1.0.1)\n   - Minor (次版本号): 新功能，向后兼容 (1.0.0 → 1.1.0)\n   - Major (主版本号): 重大更新，可能不兼容 (1.0.0 → 2.0.0)\n\n2. **预发布版本**\n   - Dev: 开发版本，用于开发过程中的版本管理\n   - Alpha: 内部测试版本，功能可能不完整\n   - Beta: 公开测试版本，功能基本完整\n   - RC: 候选发布版本，即将成为正式版\n\n## 安装\n\n### 全局安装\n\n```bash\nnpm install -g @ai-app-base/bump-version-js\n```\n\n### 项目内安装\n\n```bash\nnpm install --save-dev @ai-app-base/bump-version-js\n```\n\n## 使用方法\n\n### 命令语法\n\n```bash\nbump-version-js [command] [options]\n# 或使用别名\nbvj [command] [options]\n```\n\n### 可用命令\n\n- **无命令**（默认）: 交互式版本管理\n- **validate <version>**: 验证版本号是否符合语义化版本规范\n\n### 选项\n\n- `-h, --help`: 显示帮助信息\n- `-v, --version`: 显示工具版本号\n\n### 版本管理（默认模式）\n\n当不带任何命令运行时，进入交互式版本管理模式：\n\n```bash\nbump-version-js\n# 或\nbvj\n```\n\n#### 使用流程\n\n1. **启动工具**\n   ```bash\n   bvj\n   ```\n\n2. **选择发布类型**\n   - 正式版本 (Production)\n   - Dev 版本\n   - Alpha 版本\n   - Beta 版本\n   - RC 版本\n\n3. **选择版本递增类型**（仅在需要时）\n   - Patch: 修复 bug\n   - Minor: 新增功能（向后兼容）\n   - Major: 重大更改（可能不兼容）\n\n4. **确认执行计划**\n   - 查看版本变更详情\n   - 确认执行步骤\n   - 输入 y 确认或 n 取消\n\n### 版本验证\n\n验证版本号是否符合语义化版本规范：\n\n```bash\nbump-version-js validate <version>\n# 或\nbvj validate <version>\n```\n\n#### 示例\n\n```bash\n# 验证正式版本\nbvj validate 1.0.0\n# ✅ 版本号 \"1.0.0\" 符合语义化版本规范\n\n# 验证预发布版本\nbvj validate 2.1.0-alpha.3\n# ✅ 版本号 \"2.1.0-alpha.3\" 符合语义化版本规范\n# 显示详细信息包括预发布类型\n\n# 验证无效版本\nbvj validate invalid-version\n# ❌ 版本号 \"invalid-version\" 不符合语义化版本规范\n```\n\n## API 参考\n\n### bump-version-js / bvj\n\n统一的命令行工具，支持版本管理和版本验证功能。\n\n#### 默认模式（版本管理）\n\n**语法**：\n```bash\nbump-version-js [options]\nbvj [options]\n```\n\n**功能**：\n- 自动检测当前版本\n- 提供版本升级选项\n- 执行 Git 操作\n- 推送到远程仓库\n\n**环境变量**：\n- `BUMP_VERSION_SKIP_PUSH`: 设置后跳过 Git 推送步骤（用于测试）\n- `BUMP_VERSION_DEFAULTS`: JSON 格式的默认选项（用于测试）\n\n#### validate 子命令\n\n**语法**：\n```bash\nbump-version-js validate <version>\nbvj validate <version>\n```\n\n**参数**：\n- `version`: 要验证的版本号字符串\n\n**返回值**：\n- 成功：退出码 0\n- 失败：退出码 1\n\n#### 通用选项\n\n- `-h, --help`: 显示帮助信息\n- `-v, --version`: 显示工具版本号\n\n## 注意事项\n\n1. **工作目录**：必须在包含 `package.json` 的项目根目录运行\n2. **Git 状态**：执行版本更新前确保工作区干净（无未提交的更改）\n3. **分支管理**：建议在 main 分支上进行版本发布\n4. **网络连接**：推送操作需要网络连接和远程仓库访问权限\n5. **版本回退**：版本号只能递增，不支持回退操作\n6. **标签管理**：自动创建的标签格式为 `v{version}`（如 v1.0.0）\n\n## 许可证\n\n[ISC](LICENSE)\n\n## 相关链接\n\n- [语义化版本规范](https://semver.org/)\n- [npm 包主页](https://www.npmjs.com/package/@ai-app-base/bump-version-js)\n- [GitHub 仓库](https://github.com/ai-app-base/bump-version-js)\n- [问题反馈](https://github.com/ai-app-base/bump-version-js/issues)","readmeFilename":"README.md","_rev":"1-ce78bf6ccbc07cc5e760e2e0f044f7c4"}