UNPKG

trs-tag

Version:

a tool for easy update package.version and create git tag / push git tag

117 lines (85 loc) 3.44 kB
# trs-tag 这是一个用来自动更新版本号|打 tag|推送 tag 的命令行工具 > 由于命令与其它工具命令有冲突,所有原 trs 调用的命令全部改为 gt 调用,其它配置不变 ## 安装方法 ``` $ npm install trs-tag -g ``` ### 更新本工具 ``` $ npm update trs-tag -g ``` ## 使用方法 ### 更新版本号 ``` $ gt ver --type=updateType ``` `updateType`: 版本更新类型 - `patch`: 小版本更新(默认) - `minor`: 中版本更新 - `major`: 大版本更新 - `x.x.x`:自定义版本号,如 `1.1.1` ### 生成配置文件 ``` $gt init ``` ### 打 tag 并推送到远程仓库(origin) ``` $ gt tag --env=envType --msg=tagMessage --ver=version --push --remote=origin ``` - `envType`: 环境类型,需要在配置文件中配置类型及相应 tag 前缀,默认为‘dev’ - `tagMessage``tag`描述信息, 默认为`tag`名称 - `version: x.x.x`:自定义 tag 版本号,如 `1.1.1`, 默认为`package.json`中的`version`字段值 - `--push`: 是否推送远程,如不需要,可不传 - `origin`: 推送到的远程仓库名称,默认值为 origin 或者,您可以运行: ``` $ gt tag -s ``` 此命令将使用交互式命令完成以上各项操作。 ### 查看 git 命令大全 ``` $ gt githelp ``` #### 配置文件与格式 可预先配置不同环境的 tag 前缀 ##### 配置支持: - `package.json` 中新增名为 `'trs-tag'` 的属性 - `.trs-tagrc` 配置文件 - `.trs-tagrc.json` 或者 `.trs-tagrc.yaml` 或者 `.trs-tagrc.js``.trs-tagrc.cjs` 文件 - 遵循 `CommonJS` 模块化规范导出一个对象的 `trs-tag.config.js` 文件 或 `trs-tag.config.cjs` 文件 ##### 配置项 ``` { "envs" : { "dev": "dev-v", "test": "test-v", "prod": "prod-v", }, "beforeTag": "", "afterTag": "", "versionFile": [ { "path":"public/app.config.js", "reg":"(version:\\s+)'[\\w\\.\\d-]+'", "replace":"$1'__VERSION__'" } ], "versionCommitMsg": "全局版本号更新" } ``` - `envs`: - `dev`: 开发环境 tag 前缀 - `test`: 测试环境 tag 前缀 - `prod`: 正式环境 tag 前缀 - 用户可添加其它自定义环境与前缀 - `beforeTag`: 创建 tag 之前的钩子,可配置 shell 命令 - `afterTag`: 创建 tag 之后的钩子,可配置 shell 命令 - 例=> `"afterTag": "node changelog.js __VERSION__"`,命令中的`__VERSION__`会被替换成为已生成的 tagName(版本号) - `versionFile`: 需要全局替换版本标识的文件数组 - `path`: 需要全局替换版本标识的文件路径 - `reg`: 需要全局替换版本标识的正则匹配 - 例=> `reg:"(version:\\s+)'[\\w\\.\\d-]+'"` 需要注意的是:`\s`等字符需要改成`\\s`,否则会报错`无效的转义字符` - `replace`: 需要全局替换版本标识的正则替换格式 - 例=> `"replace":"$1'__VERSION__'"`, replace 中的`__VERSION__`会被替换成为生成的 tagName(版本号),具体参考JS中的[replace()](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace)方法 - `versionCommitMsg`: 全局版本更新后的提交信息