uni-mini-ci
Version:
一个小程序端构建后支持 CI(持续集成)的插件,支持上传微信、企业微信、钉钉、支付宝平台的小程序。只需简单配置,即可轻松上传多个平台的小程序
54 lines (53 loc) • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.aliupload = void 0;
const minidev_1 = require("minidev");
const path = require("path");
const fs = require("fs-extra");
const compareVersion_1 = require("./utils/compareVersion");
async function aliupload(options) {
let { toolId, privateKey, privateKeyPath } = options.alipay;
if (!privateKey) {
privateKeyPath = path.resolve(process.cwd(), options.alipay.privateKeyPath);
if (!fs.existsSync(privateKeyPath)) {
console.error(`"alipay.privateKeyPath"选项配置的路径不存在,本次上传终止:${privateKeyPath}`);
process.exit(1);
}
else {
privateKey = fs.readFileSync(privateKeyPath, 'utf-8');
}
}
(0, minidev_1.useDefaults)({
config: {
defaults: {
'alipay.authentication.privateKey': privateKey,
'alipay.authentication.toolId': toolId
}
}
});
const { clientType = 'alipay', appid: appId } = options.alipay;
console.log('上传代码到阿里小程序后台', clientType);
try {
const lasterVersion = await minidev_1.minidev.app.getUploadedVersion({
appId,
clientType
});
if ((0, compareVersion_1.compareVersion)(options.version, lasterVersion) <= 0 && !options.alipay.autoincrement) {
console.warn(`上传版本号 "${options.version}" 必须大于最新上传版本 "${lasterVersion}"`);
process.exit(1);
}
const result = await minidev_1.minidev.upload({
project: options.alipay.projectPath,
appId,
version: options.alipay.autoincrement ? '' : options.version,
clientType,
experience: true
});
console.log(`上传成功 ${new Date().toLocaleString()} ${result.version}\n`);
}
catch (error) {
console.error(`上传失败 ${new Date().toLocaleString()} \n${error}`);
process.exit(1);
}
}
exports.aliupload = aliupload;