UNPKG

unbag

Version:

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

93 lines 2.27 kB
import { ReleaseBumpConfigDefault, bump } from "./bump.mjs"; import { ReleaseChangelogConfigDefault, changelog } from "./changelog.mjs"; import { ReleaseCommitConfigDefault, commit } from "./commit.mjs"; import { ReleaseTagConfigDefault, tag } from "./tag.mjs"; import { ReleaseBranchConfigDefault, branch } from "./branch.mjs"; import { Command } from "./../../core/command.mjs"; import { unSafeFunctionWrapper } from "./../../utils/common.mjs"; import { useMessage } from "./../../utils/message/index.mjs"; import { useLog } from "./../../utils/log.mjs"; import { useDefaultReleasePresetPath } from "./utils.mjs"; import { push, ReleasePushConfigDefault } from "./push.mjs"; const releaseDefaultConfig = { preset: { path: useDefaultReleasePresetPath(), params: {} }, branch: ReleaseBranchConfigDefault, bump: ReleaseBumpConfigDefault, changelog: ReleaseChangelogConfigDefault, commit: ReleaseCommitConfigDefault, tag: ReleaseTagConfigDefault, push: ReleasePushConfigDefault }; const release = async params => { const { finalUserConfig } = params; const log = useLog({ finalUserConfig }); const message = useMessage({ locale: finalUserConfig.locale }); const { release: { dry, scope } } = finalUserConfig; if (dry) { log.warn(message.release.dry.tip()); } if (scope) { const { check, name } = scope; if (!check) { throw new Error(message.release.scope.undefinedCheck()); } const validName = await unSafeFunctionWrapper(check)({ name, finalUserConfig }); if (!validName) { throw new Error(message.release.scope.unValidScopeName()); } } await branch({ finalUserConfig }); const bumpRes = await bump({ finalUserConfig }); const changelogRes = await changelog({ finalUserConfig, bumpRes }); await commit({ finalUserConfig, bumpRes, changelogRes }); await tag({ finalUserConfig, bumpRes, changelogRes }); await push({ finalUserConfig }); }; class ReleaseCommand extends Command { async task() { const { finalUserConfig } = this; await release({ finalUserConfig }); } } export { ReleaseCommand, release, releaseDefaultConfig };