UNPKG

uni-mini-ci

Version:

一个小程序端构建后支持 CI(持续集成)的插件,支持上传微信、企业微信、钉钉、支付宝平台的小程序。只需简单配置,即可轻松上传多个平台的小程序

54 lines (53 loc) 2.08 kB
"use strict"; 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;