uni-mini-ci
Version:
一个小程序端构建后支持 CI(持续集成)的插件,支持上传微信、企业微信、钉钉、支付宝平台的小程序。只需简单配置,即可轻松上传多个平台的小程序
42 lines (41 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.wxupload = void 0;
const ci = require("miniprogram-ci");
const fs = require("fs-extra");
const path = require("path");
async function wxupload(options) {
const privateKeyPath = path.resolve(process.cwd(), options.weixin.privateKeyPath);
if (!fs.existsSync(privateKeyPath)) {
console.error(`"weixin.privateKeyPath"选项配置的路径不存在,本次上传终止:${privateKeyPath}`);
process.exit(1);
}
const project = new ci.Project({
type: 'miniProgram',
projectPath: options.weixin.projectPath,
appid: options.weixin.appid,
privateKeyPath: privateKeyPath,
ignores: options.weixin.ignores
});
try {
const uploadResult = await ci.upload({
version: options.version,
project: project,
desc: options.desc,
onProgressUpdate: undefined,
robot: options.weixin.robot,
setting: options.weixin.setting
});
if (uploadResult.subPackageInfo) {
const allPackageInfo = uploadResult.subPackageInfo.find((item) => item.name === '__FULL__');
const mainPackageInfo = uploadResult.subPackageInfo.find((item) => item.name === '__APP__');
const extInfo = `本次上传${allPackageInfo.size / 1024}kb ${mainPackageInfo ? ',其中主包' + mainPackageInfo.size + 'kb' : ''}`;
console.log(`版本 ${options.version} 上传成功 ${new Date().toLocaleString()} ${extInfo}\n`);
}
}
catch (error) {
console.error(`上传失败 ${new Date().toLocaleString()} \n${error}`);
process.exit(1);
}
}
exports.wxupload = wxupload;