unbag
Version:
一个专门用来开发npm工具的包
45 lines • 1.04 kB
JavaScript
import { $ } from "execa";
import { useLog } from "./../../utils/log.mjs";
import { useMessage } from "./../../utils/message/index.mjs";
const ReleasePushConfigDefault = {};
const push = async params => {
const {
finalUserConfig
} = params;
const log = useLog({
finalUserConfig
});
const message = useMessage({
locale: finalUserConfig.locale
});
const {
release: {
dry,
push: {
disable,
force
}
}
} = finalUserConfig;
log.info(message.release.push.processing());
let _disable = disable;
if (dry) {
_disable = true;
log.warn(message.release.dry.push.disable());
}
if (_disable) {
log.warn(message.release.push.disable());
return;
}
try {
if (force) {
log.warn(message.release.push.disable());
}
await $`git push --follow-tags ${force ? ["-f"] : []}`;
} catch (err) {
log.warn(message.release.push.fail());
throw err;
}
log.info(message.release.push.success());
};
export { ReleasePushConfigDefault, push };