unbag
Version:
一个专门用来开发npm工具的包
100 lines (99 loc) • 2.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.releaseDefaultConfig = exports.release = exports.ReleaseCommand = void 0;
var _bump = require("./bump.cjs");
var _changelog = require("./changelog.cjs");
var _commit = require("./commit.cjs");
var _tag = require("./tag.cjs");
var _branch = require("./branch.cjs");
var _command = require("./../../core/command.cjs");
var _common = require("./../../utils/common.cjs");
var _index = require("./../../utils/message/index.cjs");
var _log = require("./../../utils/log.cjs");
var _utils = require("./utils.cjs");
var _push = require("./push.cjs");
const releaseDefaultConfig = exports.releaseDefaultConfig = {
preset: {
path: (0, _utils.useDefaultReleasePresetPath)(),
params: {}
},
branch: _branch.ReleaseBranchConfigDefault,
bump: _bump.ReleaseBumpConfigDefault,
changelog: _changelog.ReleaseChangelogConfigDefault,
commit: _commit.ReleaseCommitConfigDefault,
tag: _tag.ReleaseTagConfigDefault,
push: _push.ReleasePushConfigDefault
};
const release = async params => {
const {
finalUserConfig
} = params;
const log = (0, _log.useLog)({
finalUserConfig
});
const message = (0, _index.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 (0, _common.unSafeFunctionWrapper)(check)({
name,
finalUserConfig
});
if (!validName) {
throw new Error(message.release.scope.unValidScopeName());
}
}
await (0, _branch.branch)({
finalUserConfig
});
const bumpRes = await (0, _bump.bump)({
finalUserConfig
});
const changelogRes = await (0, _changelog.changelog)({
finalUserConfig,
bumpRes
});
await (0, _commit.commit)({
finalUserConfig,
bumpRes,
changelogRes
});
await (0, _tag.tag)({
finalUserConfig,
bumpRes,
changelogRes
});
await (0, _push.push)({
finalUserConfig
});
};
exports.release = release;
class ReleaseCommand extends _command.Command {
async task() {
const {
finalUserConfig
} = this;
await release({
finalUserConfig
});
}
}
exports.ReleaseCommand = ReleaseCommand;