UNPKG

unbag

Version:

一个专门用来开发npm工具的包

98 lines (97 loc) 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.tag = exports.ReleaseTagConfigDefault = void 0; var _log = require("./../../utils/log.cjs"); var _index = require("./../../utils/message/index.cjs"); var _execa = require("execa"); var _utils = require("./utils.cjs"); const ReleaseTagConfigDefault = exports.ReleaseTagConfigDefault = { genPrefix: ({ finalUserConfig }) => { const { release: { scope } } = finalUserConfig; if (scope?.name) { return `${scope.name}@`; } return "v"; }, messageFormat: ({ finalUserConfig, changelogRes, bumpRes }) => { const { release } = finalUserConfig; const { scope } = release; return `release${scope?.name ? `(${scope.name})` : ``}: ${bumpRes?.version}`; } }; const tag = async params => { const { finalUserConfig, bumpRes, changelogRes } = params; const log = (0, _log.useLog)({ finalUserConfig }); const message = (0, _index.useMessage)({ locale: finalUserConfig.locale }); log.info(message.release.tag.processing()); const { release: { dry, tag: { force, messageFormat, disable } } } = finalUserConfig; const prefix = await (0, _utils.useTagPrefix)({ finalUserConfig }); log.info(message.release.tag.prefix({ prefix })); const tagName = `${prefix}${bumpRes.version}`; log.info(message.release.tag.name({ name: tagName })); const tagMessage = await messageFormat({ finalUserConfig, changelogRes, bumpRes }); log.info(message.release.tag.message({ message: tagMessage })); let _disable = disable; if (dry) { _disable = true; log.warn(message.release.dry.tag.disable()); } if (_disable) { log.warn(message.releaseTagDisable()); return; } if (force) { log.warn(message.release.tag.force()); } await (0, _execa.$)`git tag -a ${tagName} ${force ? ["-f"] : []} -m ${tagMessage}`; log.info(message.releaseTagAddSuccess({ tagMessage, tagName })); }; exports.tag = tag;