miniprogram-ci 2.1.18 → 2.1.26-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -0
- package/README.md +5 -2
- package/dist/@types/ci/upload.d.ts +1 -0
- package/dist/@types/config/config.d.ts +1 -1
- package/dist/@types/index.d.ts +2 -1
- package/dist/@types/modules/corecompiler/summerCompiler.d.ts +2 -0
- package/dist/@types/schema/@types/appjson.d.ts +1 -1
- package/dist/@types/schema/@types/pagejson.d.ts +1 -0
- package/dist/@types/utils/miniappJson.d.ts +1 -0
- package/dist/ci/android-miniapp-toolkit/dist/index.js +1 -1
- package/dist/ci/miniapp/miniappPlugin.js +1 -1
- package/dist/ci/upload.js +1 -1
- package/dist/common/code-analyse/index.js +1 -1
- package/dist/config/config.js +1 -1
- package/dist/index.js +1 -1
- package/dist/modules/corecompiler/summer/plugins/base/wxss.js +1 -1
- package/dist/modules/corecompiler/summerCompiler.js +1 -1
- package/dist/modules/nativecompiler/ios/index.js +1 -1
- package/dist/schema/dist/app.js +2 -1
- package/dist/schema/dist/ext.js +4 -1
- package/dist/schema/dist/game.js +1 -1
- package/dist/schema/dist/page.js +4 -1
- package/dist/schema/dist/plugin.js +1 -1
- package/dist/schema/dist/pluginpage.js +1 -1
- package/dist/schema/dist/projectconfig.js +3 -3
- package/dist/schema/dist/projectprivateconfig.js +1 -1
- package/dist/schema/dist/sitemap.js +1 -1
- package/dist/schema/dist/theme.js +1 -1
- package/dist/static/scripts/resignIpa +10 -2
- package/dist/utils/miniappJson.js +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMiniappPluginManager=exports.OS_TYPE_ENUM=void 0;const tslib_1=require("tslib"),miniappJson_1=require("../../utils/miniappJson"),urlConfig=tslib_1.__importStar(require("../../config/url.config")),ciRequest_1=require("../utils/ciRequest"),log=tslib_1.__importStar(require("../../utils/log")),fs_extra_1=tslib_1.__importDefault(require("fs-extra")),path_1=tslib_1.__importDefault(require("path")),unpack_1=tslib_1.__importDefault(require("../utils/unpack")),sign_1=require("../../utils/sign"),jsonParse_1=require("../../utils/jsonParse"),request=require("request");var OS_TYPE_ENUM;!function(i){i.IOS="1",i.ANDROID="2"}(OS_TYPE_ENUM=exports.OS_TYPE_ENUM||(exports.OS_TYPE_ENUM={}));class MiniappPluginManager{constructor(i){this.WeappMiniApp="",this.project=i.project,this.ciOpts=i,this.WeappMiniApp=i.resourceDir}async getUsedPluginVersionInfo(i){const{osType:e,pluginList:n}=i;return await(0,ciRequest_1.ciSimpleRequest)({privateKey:this.project.privateKey,appid:this.project.appid,robot:this.ciOpts.robot,cgi:`${urlConfig.getUsedPluginVersionInfo}?os_type=${e}`},{plugin_list:n})}async downloadMiniAppPlugin(i){const{pluginList:e,osType:n}=i,t=this.project.appid,r=this.project.privateKey,s=await(0,sign_1.getSignature)(r,t),o=`${urlConfig.downloadMiniAppPlugin}?os_type=${n}`;return new Promise((i,n)=>{request({url:o,method:"post",body:JSON.stringify({appid:t,signature:s,robot:this.ciOpts.robot,plugin_list:e}),headers:{"content-type":"application/json"}},i=>{i&&n(i)}).on("response",e=>{var t;const r=null===(t=e.headers["content-type"])||void 0===t?void 0:t.toLocaleLowerCase();if((null==r?void 0:r.includes("text/plain"))||(null==r?void 0:r.includes("application/json"))){let t="";e.on("data",i=>{t+=i}),e.on("end",()=>{try{t=(0,jsonParse_1.jsonRespParse)(t,o),i(t.data)}catch(i){n((i.message||i)+" at downloadMiniAppPlugin")}})}else{const n=[];e.setEncoding("binary"),e.on("data",i=>{n.push(Buffer.from(i,"binary"))}),e.on("end",()=>{const e=Buffer.concat(n);i(e)})}e.on("error",i=>{n((i.message||i)+" at downloadMiniAppPlugin")})})})}async removePluginDir(i,e){var n;const t=path_1.default.join(this.WeappMiniApp,"miniapp-plugin/"+(i===OS_TYPE_ENUM.ANDROID?"android":"ios")),r=null===(n=fs_extra_1.default.readdirSync(t,{withFileTypes:!0}).find(i=>i.name.startsWith(e)))||void 0===n?void 0:n.name;r&&fs_extra_1.default.removeSync(path_1.default.join(t,r))}async downloadPlugin(i){var e;const n=this.project,t=(0,miniappJson_1.tryGetPluginMiniappJson)(n.projectPath),r=(null===(e=null==t?void 0:t[i===OS_TYPE_ENUM.ANDROID?"android":"ios"])||void 0===e?void 0:e.filter(i=>i.open&&i.pluginId&&i.pluginVersion&&!i.isFromLocal))||[];if(!r.length)return;const{baseresponse:s,info_list:o}=await this.getUsedPluginVersionInfo({pluginList:r.map(i=>({plugin_id:i.pluginId,version:i.pluginVersion})),osType:i});if(0!==s.errcode)throw new Error("获取插件信息失败 "+s.errmsg);const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMiniappPluginManager=exports.OS_TYPE_ENUM=void 0;const tslib_1=require("tslib"),miniappJson_1=require("../../utils/miniappJson"),urlConfig=tslib_1.__importStar(require("../../config/url.config")),ciRequest_1=require("../utils/ciRequest"),log=tslib_1.__importStar(require("../../utils/log")),fs_extra_1=tslib_1.__importDefault(require("fs-extra")),path_1=tslib_1.__importDefault(require("path")),unpack_1=tslib_1.__importDefault(require("../utils/unpack")),sign_1=require("../../utils/sign"),jsonParse_1=require("../../utils/jsonParse"),request=require("request");var OS_TYPE_ENUM;!function(i){i.IOS="1",i.ANDROID="2"}(OS_TYPE_ENUM=exports.OS_TYPE_ENUM||(exports.OS_TYPE_ENUM={}));class MiniappPluginManager{constructor(i){this.WeappMiniApp="",this.project=i.project,this.ciOpts=i,this.WeappMiniApp=i.resourceDir}async getUsedPluginVersionInfo(i){const{osType:e,pluginList:n}=i;return await(0,ciRequest_1.ciSimpleRequest)({privateKey:this.project.privateKey,appid:this.project.appid,robot:this.ciOpts.robot,cgi:`${urlConfig.getUsedPluginVersionInfo}?os_type=${e}`},{plugin_list:n})}async downloadMiniAppPlugin(i){const{pluginList:e,osType:n}=i,t=this.project.appid,r=this.project.privateKey,s=await(0,sign_1.getSignature)(r,t),o=`${urlConfig.downloadMiniAppPlugin}?os_type=${n}`;return new Promise((i,n)=>{request({url:o,method:"post",body:JSON.stringify({appid:t,signature:s,robot:this.ciOpts.robot,plugin_list:e}),headers:{"content-type":"application/json"}},i=>{i&&n(i)}).on("response",e=>{var t;const r=null===(t=e.headers["content-type"])||void 0===t?void 0:t.toLocaleLowerCase();if((null==r?void 0:r.includes("text/plain"))||(null==r?void 0:r.includes("application/json"))){let t="";e.on("data",i=>{t+=i}),e.on("end",()=>{try{t=(0,jsonParse_1.jsonRespParse)(t,o),i(t.data)}catch(i){n((i.message||i)+" at downloadMiniAppPlugin")}})}else{const n=[];e.setEncoding("binary"),e.on("data",i=>{n.push(Buffer.from(i,"binary"))}),e.on("end",()=>{const e=Buffer.concat(n);i(e)})}e.on("error",i=>{n((i.message||i)+" at downloadMiniAppPlugin")})})})}async removePluginDir(i,e){var n;const t=path_1.default.join(this.WeappMiniApp,"miniapp-plugin/"+(i===OS_TYPE_ENUM.ANDROID?"android":"ios")),r=null===(n=fs_extra_1.default.readdirSync(t,{withFileTypes:!0}).find(i=>i.name.startsWith(e)))||void 0===n?void 0:n.name;r&&fs_extra_1.default.removeSync(path_1.default.join(t,r))}async downloadPlugin(i){var e;const n=this.project,t=(0,miniappJson_1.tryGetPluginMiniappJson)(n.projectPath),r=(null===(e=null==t?void 0:t[i===OS_TYPE_ENUM.ANDROID?"android":"ios"])||void 0===e?void 0:e.filter(i=>i.open&&i.pluginId&&i.pluginVersion&&!i.isFromLocal))||[];if(!r.length)return;const{baseresponse:s,info_list:o}=await this.getUsedPluginVersionInfo({pluginList:r.map(i=>({plugin_id:i.pluginId,version:i.pluginVersion})),osType:i});if(0!==s.errcode)throw new Error("获取插件信息失败 "+s.errmsg);const p=[],a=path_1.default.join(this.ciOpts.resourceDir,"miniapp-plugin/"+(i===OS_TYPE_ENUM.ANDROID?"android":"ios"));fs_extra_1.default.ensureDirSync(a);const l=fs_extra_1.default.readdirSync(a,{withFileTypes:!0});if(o.forEach(e=>{e.is_released||log.info(`使用的多端插件 ${e.plugin_id} 为开发版本,上线前请替换为发布版本`);const n=`${e.plugin_id}-${e.user_version}-`,t=l.find(i=>i.name.startsWith(n));t?e.is_released?t.name!==n+e.release_time&&(this.removePluginDir(i,e.plugin_id),p.push({plugin_id:e.plugin_id,version:e.user_version})):t.name!==n+e.commit_time&&(this.removePluginDir(i,e.plugin_id),p.push({plugin_id:e.plugin_id,version:e.user_version})):p.push({plugin_id:e.plugin_id,version:e.user_version})}),!p.length)return;log.info("多端插件下载中...");const u=await this.downloadMiniAppPlugin({pluginList:p,osType:i});if(u.baseresponse)throw new Error(`多端插件下载失败,错误代码:${u.baseresponse.errcode}, 错误描述: ${u.baseresponse.errmsg}`);log.info("多端插件下载完成");const d=(0,unpack_1.default)(u),g=Object.keys(d);for(const i of g)(0,unpack_1.default)(d[i],path_1.default.join(a,i.replace(".wxapkg","")))}async getPluginDirList(i){var e;const n=this.project,t=(0,miniappJson_1.tryGetPluginMiniappJson)(n.projectPath),r=(null===(e=null==t?void 0:t[i===OS_TYPE_ENUM.ANDROID?"android":"ios"])||void 0===e?void 0:e.filter(i=>i.open))||[];if(!r.length)return[];const s=r.filter(i=>!i.isFromLocal&&i.pluginId&&i.pluginVersion),o=r.filter(i=>i.isFromLocal);if(o.length>0){const i=o.map(i=>i.pluginId).join(",");throw new Error(`CI 构建下,多端插件 ${i} 不支持使用本地插件`)}const p=path_1.default.join(this.WeappMiniApp,"miniapp-plugin/"+(i===OS_TYPE_ENUM.ANDROID?"android":"ios"));fs_extra_1.default.ensureDirSync(p);const a=fs_extra_1.default.readdirSync(p,{withFileTypes:!0}).filter(i=>{const e=i.name.split("-");return i.isDirectory()&&3===e.length&&s.find(i=>i.pluginId===e[0]&&i.pluginVersion===e[1])}).map(i=>({dir:path_1.default.join(p,i.name),pluginId:i.name.split("-")[0]}));if(s.length!=a.length)throw new Error("多端插件下载列表失败,请重新构建");return a}}const getMiniappPluginManager=i=>new MiniappPluginManager(i);exports.getMiniappPluginManager=getMiniappPluginManager;
|
package/dist/ci/upload.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.innerUpload=exports.upload=void 0;const tslib_1=require("tslib"),log=tslib_1.__importStar(require("../utils/log")),request_1=require("../utils/request"),pack_1=require("./utils/pack"),zlib_1=tslib_1.__importDefault(require("zlib")),sign_1=require("../utils/sign"),tools_1=require("../utils/tools"),config_1=require("../config/config"),taskstatus_1=require("../utils/taskstatus"),error_1=require("../utils/error"),locales_1=tslib_1.__importDefault(require("../utils/locales/locales")),querystring_1=tslib_1.__importDefault(require("querystring")),progressupdate_1=require("./utils/progressupdate"),url_config_1=require("../config/url.config"),jsonParse_1=require("../utils/jsonParse"),cache_1=require("../utils/cache"),cos_upload_1=require("./cos-upload"),getcompiler_1=require("./getcompiler"),tools_2=require("./utils/tools"),index_1=require("../utils/asyncTask/index"),MIN_COS_UPLOAD_SIZE=5242880;async function upload(e){var o;const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.innerUpload=exports.upload=void 0;const tslib_1=require("tslib"),log=tslib_1.__importStar(require("../utils/log")),request_1=require("../utils/request"),pack_1=require("./utils/pack"),zlib_1=tslib_1.__importDefault(require("zlib")),sign_1=require("../utils/sign"),tools_1=require("../utils/tools"),config_1=require("../config/config"),taskstatus_1=require("../utils/taskstatus"),error_1=require("../utils/error"),locales_1=tslib_1.__importDefault(require("../utils/locales/locales")),querystring_1=tslib_1.__importDefault(require("querystring")),progressupdate_1=require("./utils/progressupdate"),url_config_1=require("../config/url.config"),jsonParse_1=require("../utils/jsonParse"),cache_1=require("../utils/cache"),cos_upload_1=require("./cos-upload"),getcompiler_1=require("./getcompiler"),tools_2=require("./utils/tools"),index_1=require("../utils/asyncTask/index"),MIN_COS_UPLOAD_SIZE=5242880;async function upload(e){var o,r;const t=await innerUpload(e);(null===(o=t.respBody)||void 0===o?void 0:o.dev_plugin_id)&&(log.log("Development Version Plugin ID: "+t.respBody.dev_plugin_id),t.devPluginId=t.respBody.dev_plugin_id);const i={subPackageInfo:t.subPackageInfo,pluginInfo:t.pluginInfo,devPluginId:t.devPluginId};return(null===(r=t.respBody)||void 0===r?void 0:r.str_uint64version)&&(i.strUint64Version=t.respBody.str_uint64version),i}async function innerUpload(e){const{project:o,setting:r={useProjectConfig:!1},desc:t=`robot ${e.robot||"1"} use miniprogram-ci to upload at ${(0,tools_1.formatTime)(new Date)}`,version:i="",robot:s="1",test:n,pagePath:a,searchQuery:l,threads:u=0,bigPackageSizeSupport:p}=e,d=(0,progressupdate_1.transProgressUpdate)(e.onProgressUpdate||(e=>{if("object"==typeof e)try{const o=JSON.stringify(e);console.log(o)}catch(e){}console.log(""+e)}));let{useCOS:c}=e;if(process.env.COMPILE_THREADS=u.toString(),!i)throw new error_1.CodeError(locales_1.default.config.PARAM_ERROR.format("upload","version"),config_1.PARAM_ERROR);if(!o)throw new error_1.CodeError(locales_1.default.config.PARAM_ERROR.format("upload","project"),config_1.PARAM_ERROR);cache_1.cacheManager.clean();const _=await(0,getcompiler_1.getCompiler)(o,r),g=(0,tools_2.formatCISetting)(o,r),f=await _.compile({setting:g,onProgressUpdate:d,resultType:"prod",disableSpreadingUsingComponents:!0}),y=config_1.CI_VERSION,b={codeprotect:r.codeProtect?1:0,type:o.type,appid:o.appid,version:i,desc:t,robot:s},S={scene:e.scene||1011};let q;a&&(S.path=a,b.path=a),l&&(S.query=querystring_1.default.parse(l)),b.debugLaunchInfo=JSON.stringify(S),a&&l&&(b.path+="?"+l),n&&p&&(b.bigPackageSizeSupport=1);let P={};try{q=await o.getFile(o.miniprogramRoot,"ext.json"),P=JSON.parse(q.toString("utf-8"))}catch(e){}if(P&&(P.extEnable&&(b.extAppId=P.extAppid),P.directCommit)){let e="";e=P.extEnable?"The code will be uploaded into the waiting list of extAppid.":"The code will be uploaded into the draft box of the third-party platform.",log.warn(e)}try{const e=new taskstatus_1.TaskStatus(locales_1.default.config.UPLOAD.toString());d(e);const r=`${n?url_config_1.TEST_SOURCE_URL:url_config_1.UPLOAD_URL}?${querystring_1.default.stringify(b)}`;let t,i=!1,a=0;const l=(0,pack_1.pack)(f),u=zlib_1.default.gzipSync(l.buffer);if(log.info("useCOS parameter: ",c),log.info("upload zip buffer size: ",u.length),void 0===c&&(c=u.length>5242880),c){log.info("upload by COS: ",c);const e=await(0,cos_upload_1.uploadByCosSafely)(u,r,o,s);e.fallback?(i=e.fallback,log.info("upload by COS failed, fallback to http way")):(t={body:e.body},a=e.uploadCOSCostTime)}if(!c||i){const e=await(0,sign_1.getSignature)(o.privateKey,o.appid);f[index_1.SIGNATURE_FILE_NAME]=JSON.stringify({signature:e,version:y});const i=(0,pack_1.pack)(f),s=zlib_1.default.gzipSync(i.buffer);log.info("request url:",r);const n=(await(0,request_1.request)({url:r,method:"post",body:s})).body.toString();if(t=(0,jsonParse_1.jsonRespParse)(n,r),0!==t.errCode)throw new Error(n)}e.done(),d(e);const p={respBody:t.body};if(Array.isArray(t.body.subpackage_info)){const e=t.body.subpackage_info;p.subPackageInfo=e}if(Array.isArray(t.body.ext_plugin_info)){const e=t.body.ext_plugin_info;p.pluginInfo=e.map(e=>({pluginProviderAppid:e.provider,version:e.version,size:e.size}))}return _.destroy(),p}catch(e){throw new error_1.CodeError(e.toString(),config_1.UPLOAD_CGI_ERR)}}exports.upload=upload,exports.innerUpload=innerUpload;
|