@elora-cloud/elora-cli
Version:
elora build cli 前端打包脚手架
55 lines (48 loc) • 2.24 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var node_child_process = require('node:child_process');
var process = require('node:process');
var prompts = require('prompts');
var releaseIt = require('release-it');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
var process__default = /*#__PURE__*/_interopDefaultCompat(process);
var prompts__default = /*#__PURE__*/_interopDefaultCompat(prompts);
class EloraCliReleasePlugin extends releaseIt.Plugin {
async beforeRelease() {
// log an empty line
console.log('building.....');
node_child_process.execSync('pnpm build', { stdio: 'inherit' });
node_child_process.execSync('elora changelog', { stdio: 'inherit' });
}
async afterRelease() {
// 发布完成后,进行版本的最终发布
let registry = 'https://registry.npmjs.org/';
if (process__default.default.env.ELORA_CLI_PUBLISH_REGISTRY) {
registry = process__default.default.env.ELORA_CLI_PUBLISH_REGISTRY;
}
const response = await prompts__default.default({
type: 'confirm',
name: 'confirm',
message: '需要二次确认吗?',
});
let authCodeOpt = '';
// 如果需要二次确认,询问输入确认码
if (response.confirm) {
const confirmationCodeResponse = await prompts__default.default({
type: 'text',
name: 'confirmationCode',
message: '请输入二次确认码',
});
// 输出二次确认码,可以在这里添加校验或逻辑
authCodeOpt = ` --otp=${confirmationCodeResponse.confirmationCode}`;
}
if (process__default.default.env.ELORA_CLI_PUBLISH_TAG) {
node_child_process.execSync(`pnpm publish --registry=${registry}${authCodeOpt}--tag=${process__default.default.env.ELORA_CLI_PUBLISH_TAG}`);
}
else {
node_child_process.execSync(`pnpm publish --registry=${registry}${authCodeOpt}`);
}
}
}
exports.EloraCliReleasePlugin = EloraCliReleasePlugin;
exports.default = EloraCliReleasePlugin;