@alipay-inc/mpaas-ide-openapi-common 1.0.50-alpha.0 → 1.0.51-alpha.0

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.
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.remoteFileToLocal=exports.pollBuildStatusPrivate=exports.pollBuildStatusAlipay=exports.getFile=exports.getCloudBuildData=exports.cloudBuildPrivate=exports.cloudBuildAlipay=exports.cloudBuild=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")),_regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),_superagent=_interopRequireDefault(require("superagent")),_path3=_interopRequireDefault(require("path")),_fsExtra=_interopRequireDefault(require("fs-extra")),_=require("./"),_archiver=_interopRequireDefault(require("archiver")),_chalk=_interopRequireDefault(require("chalk")),_i18next=_interopRequireDefault(require("i18next")),_excluded=["file","game"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var crypto=require("crypto"),POLL_DELAY_TIME=4e3,IGNORE_DIR=[".idea",".vscode",".git",".DS_Store",".umi",".umi-production",".miniu",".node",".tea"],PRIVATE_KEY=null,SUBPACAKGES_ARR=[],_pollGetPackageFile=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function c(a,b){var d,e,f,g,h,j;return _regenerator["default"].wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(a--,!(0<=a)){c.next=11;break}return d=b[a],e=d.path,f=d.tarFilePath,g=e.split("/").join("_"),c.next=6,remoteFileToLocal({originFile:f,h5Id:g});case 6:return h=c.sent,j=h.file,SUBPACAKGES_ARR.push({file:j,name:g,path:e}),c.next=11,_pollGetPackageFile(a,b);case 11:case"end":return c.stop()}},c)}));return function(){return a.apply(this,arguments)}}(),mergePackageFile=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.zipFile,d=a.subPackages,e=a.h5Id,f=a.plugin,g=void 0===f?"":f,h=(0,_.getTmpDir)(),i=_path3["default"].join(h,"".concat(e)),j=_path3["default"].join(i,"".concat(e)),k=_path3["default"].join(j,"subpackages"),l=_path3["default"].join(k,"subpackage.json"),_fsExtra["default"].existsSync(j)&&_fsExtra["default"].removeSync(j),_fsExtra["default"].ensureDirSync(j),_fsExtra["default"].ensureDirSync(k),b.prev=9,b.next=12,remoteFileToLocal({originFile:c,h5Id:e});case 12:if(m=b.sent,n=m.file,o=_path3["default"].join(j,_path3["default"].basename(n)),p={subpackageFlag:!1},q="",!g){b.next=25;break}return b.next=20,(0,_.downloadFile)({url:g});case 20:r=b.sent,s=r.data,t=r.success,u=void 0===t||t,u&&(q=s);case 25:if(!(d&&d.length)){b.next=43;break}return _fsExtra["default"].moveSync(n,o),p.subpackageFlag=!0,v=d.length,b.next=31,_pollGetPackageFile(v,d);case 31:return w={},SUBPACAKGES_ARR.forEach(function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:c=a.file,d=a.name,e=a.path,"main"!=d&&(w[d]=e),f=_path3["default"].join(k,_path3["default"].basename(c)),_fsExtra["default"].moveSync(c,f);case 4:case"end":return b.stop()}},b)}));return function(){return a.apply(this,arguments)}}()),_fsExtra["default"].writeJSONSync(l,w),x=_path3["default"].join(h,"".concat(e,".zip")),b.next=37,compressFile({resourceFile:i,targetFile:x,type:"directory"});case 37:console.log("SUBPACAKGES_ARR",SUBPACAKGES_ARR,w,l),g&&(p.pluginFile=q,p.pluginOriginFile=g),p.file=x,p.originFile="",b.next=46;break;case 43:g&&(p.pluginFile=q,p.pluginOriginFile=g),p.file=n,p.originFile=c;case 46:return console.log("get result:",p),SUBPACAKGES_ARR=[],b.abrupt("return",p);case 51:throw b.prev=51,b.t0=b["catch"](9),new Error(b.t0.message);case 54:case"end":return b.stop()}},b,null,[[9,51]])}));return function(){return a.apply(this,arguments)}}(),EXEC_PATH="/miniApp/buildIdeMiniApp",POLL_PATH="/miniApp/queryMiniAppBuildResult",getCloudBuildData=exports.getCloudBuildData=function(a){var b=a.build_url,c=void 0===b?null:b;return c?{type:"private",CLOUD_BUILD_EXEC_URL:"".concat(c).concat(EXEC_PATH),CLOUD_BUILD_POLL_URL:"".concat(c).concat(POLL_PATH),PRIVATE_KEY_URL:"".concat(c,"/miniApp/getOpenApiKey")}:{type:"alipay",CLOUD_BUILD_EXEC_URL:"https://hpmweb.alipay.com/tinyApp/cloudBuild/execute",CLOUD_BUILD_POLL_URL:"https://hpmweb.alipay.com/tinyApp/cloudBuild/result"}},cloudBuild=exports.cloudBuild=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(_.logger.info("cloudBuild req",a),b.prev=1,c=a.config,d=a.file,e=a.game,f=(0,_objectWithoutProperties2["default"])(a,_excluded),g={},!e){b.next=22;break}if(h=c.build_url,i=void 0===h?null:h,i){b.next=11;break}throw new Error(_i18next["default"].t("mpaas-ide-openapi-common.cloudBuild.gameBuildNoConfig","\u914D\u7F6E\u6587\u4EF6\u7F3A\u5C11 build_url \u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6784\u5EFA\u5C0F\u6E38\u620F\uFF01"));case 11:return j=getCloudBuildData(c),b.next=14,getFile({file:d,type:j.type});case 14:return d=b.sent,k=_objectSpread(_objectSpread({},f),{},{file:d,game:e}),_.logger.info("cloudBuild: private(game)"),b.next=19,cloudBuildPrivate(k,a);case 19:g=b.sent;case 20:b.next=38;break;case 22:return l=getCloudBuildData(c),b.next=25,getFile({file:d,type:l.type});case 25:if(d=b.sent,m=_objectSpread(_objectSpread({},f),{},{file:d}),"private"!==l.type){b.next=34;break}return _.logger.info("cloudBuild: private"),b.next=31,cloudBuildPrivate(m,a);case 31:g=b.sent,b.next=38;break;case 34:return _.logger.info("cloudBuild: alipay"),b.next=37,cloudBuildAlipay(m);case 37:g=b.sent;case 38:return _.logger.info("cloudBuild res",g),console.log(_chalk["default"].green("cloudBuild done")),b.abrupt("return",g);case 43:return b.prev=43,b.t0=b["catch"](1),_.logger.error("cloudBuild error",b.t0.message),b.next=48,(0,_.delay)(0);case 48:throw new Error(b.t0.message);case 49:case"end":return b.stop()}},b,null,[[1,43]])}));return function(){return a.apply(this,arguments)}}(),compressFile=function(a){var b=a.resourceFile,c=a.targetFile,d=a.type;return new Promise(function(a,e){var f=_fsExtra["default"].createWriteStream(c),g=(0,_archiver["default"])("zip",{zlib:{level:9}});g.pipe(f),f.on("close",function(){a(c)}),g.on("error",function(a){e(a)}),"directory"===d?g.directory("".concat(b),""):g.file("".concat(b),{name:_path3["default"].basename(b)}),g.finalize()})},getFile=exports.getFile=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=a.file,d=a.type,b.prev=1,_fsExtra["default"].existsSync(c)){b.next=4;break}throw new Error(_i18next["default"].t("mpaas-ide-openapi-common.cloudBuild.FileNotExist","\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01"));case 4:if(!_fsExtra["default"].lstatSync(c).isFile()){b.next=8;break}if(".amr"===_path3["default"].extname(c)){b.next=7;break}throw new Error(_i18next["default"].t("mpaas-ide-openapi-common.cloudBuild.FileFormatIncorrect","\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF\uFF01"));case 7:return b.abrupt("return",c);case 8:if(!_fsExtra["default"].lstatSync(c).isDirectory()){b.next=22;break}return e=(0,_.getTmpDir)(),f=(0,_.getTmpDir)(),_fsExtra["default"].copySync(c,e),b.next=14,compressFile({resourceFile:e,targetFile:_path3["default"].join(f,"dist.tar"),type:"directory"});case 14:if(g=b.sent,"alipay"!==d){b.next=17;break}return b.abrupt("return",g);case 17:return h=(0,_.getTmpDir)(),b.next=20,compressFile({resourceFile:_path3["default"].join(f,"dist.tar"),targetFile:_path3["default"].join(h,"dist.amr")});case 20:return i=b.sent,b.abrupt("return",i);case 22:return b.abrupt("return",c);case 25:throw b.prev=25,b.t0=b["catch"](1),new Error(b.t0.message);case 28:case"end":return b.stop()}},b,null,[[1,25]])}));return function(){return a.apply(this,arguments)}}(),cloudBuildAlipay=exports.cloudBuildAlipay=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return b.prev=0,d=a.file,e=a.config,f=void 0===e?{}:e,g=a.adaptorId,h=void 0===g?"mPaaS":g,i=a.h5Id,j=a.isCube,k=void 0!==j&&j,l=a.extraInfo,m=f.appId,n=getCloudBuildData(f),o=n.CLOUD_BUILD_EXEC_URL,p=n.CLOUD_BUILD_POLL_URL,q={params:"[\n \"--scriptName\",\n \"buildpack\",\n \"--ADAPTOR_NAME\",\n \"adaptor-mpaas-".concat(h,"\",\n \"--limitation\",\n \"--debug\"\n ]"),env:"{}",operationType:"build",extraInfo:JSON.stringify(_objectSpread({appId:i,doneCommand:"pack",client:"IDE",scene:"IDE",fileFormat:"tar"},l))},k&&(q.extraBuildConfig=JSON.stringify({allowCube:!0})),r={value:_fsExtra["default"].readFileSync(d),options:{filename:"".concat(i,".tar"),contentType:"application/zip"}},_.logger.info("cloudBuild req",q),b.next=10,_superagent["default"].post(o).set("Cookie","LOCALE=".concat(null===(c=process)||void 0===c||null===(c=c.env)||void 0===c?void 0:c.VOL_NLS_CONFIG)).field(q).attach("file",r.value,r.options);case 10:if(s=b.sent,t=s.body,u=void 0===t?{}:t,_.logger.info("cloudBuild res",u),u.success){b.next=16;break}throw new Error(u.msg);case 16:return v=u.data.taskId,b.next=19,_pollBuildStatusAlipay({CLOUD_BUILD_POLL_URL:p,taskId:v});case 19:return w=b.sent,x=w.data,y=void 0===x?{}:x,z=y.zipFile,A=y.subPackages,B=void 0===A?[]:A,C=y.plugin,D=void 0===C?{}:C,E=D.artifactUrl,F=y.uploadParams,G=void 0===F?{}:F,H=G.extendInfo,I=z,J=E,b.next=25,mergePackageFile({zipFile:I,subPackages:B,h5Id:i,plugin:J});case 25:return K=b.sent,_.logger.info("get mergePackageFileJSON:",K),b.abrupt("return",{data:_objectSpread(_objectSpread({},K),{},{appxVersion:(0,_.getAppxVersion)({extendInfo:H}),originData:w}),succes:!0});case 30:throw b.prev=30,b.t0=b["catch"](0),new Error(b.t0.message);case 33:case"end":return b.stop()}},b,null,[[0,30]])}));return function(){return a.apply(this,arguments)}}(),_pollBuildStatusAlipay=exports.pollBuildStatusAlipay=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.CLOUD_BUILD_POLL_URL,d=a.taskId,b.prev=1,_.logger.info("pollBuildStatus req",d),b.next=5,_superagent["default"].get(c).set("Cookie","LOCALE=".concat(null===(e=process)||void 0===e||null===(e=e.env)||void 0===e?void 0:e.VOL_NLS_CONFIG)).query({taskId:d});case 5:if(f=b.sent,g=f.body,h=void 0===g?{}:g,_.logger.info("pollBuildStatus res",h),h.success){b.next=11;break}throw new Error(h.msg);case 11:if("COMPLETE"!==h.status){b.next=13;break}return b.abrupt("return",h);case 13:;return b.next=16,(0,_.delay)(POLL_DELAY_TIME);case 16:return b.next=18,_pollBuildStatusAlipay({CLOUD_BUILD_POLL_URL:c,taskId:d});case 18:return b.abrupt("return",b.sent);case 21:throw b.prev=21,b.t0=b["catch"](1),new Error(b.t0.message);case 24:case"end":return b.stop()}},b,null,[[1,21]])}));return function(){return a.apply(this,arguments)}}(),cloudBuildPrivate=exports.cloudBuildPrivate=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return b.prev=0,e=a.file,f=a.config,g=void 0===f?{}:f,h=a.h5Id,i=a.game,j=g.appId,k=g.workspaceId,l=g.tenantId,m=getCloudBuildData(g),n=m.CLOUD_BUILD_EXEC_URL,o=m.CLOUD_BUILD_POLL_URL,p=m.PRIVATE_KEY_URL,q={value:_fsExtra["default"].readFileSync(e),options:{filename:"".concat(j,".amr"),contentType:"application/zip"}},b.next=7,getSignedUrl({appId:j,workspaceId:k,path:EXEC_PATH,url:n,keyUrl:p});case 7:return r=b.sent,s=r.signedUrl,t=s||n,_.logger.info("cloudBuild private req",t,{appId:j,workspaceId:k,tenantId:l,h5Id:h,game:!!i}),b.next=13,_superagent["default"].post(t).set("Cookie","LOCALE=".concat(null===(c=process)||void 0===c||null===(c=c.env)||void 0===c?void 0:c.VOL_NLS_CONFIG)).field({appId:j,workspaceId:k,tenantId:l,h5Id:h,game:!!i}).attach("file",q.value,q.options);case 13:if(u=b.sent,v=u.body,w=void 0===v?{}:v,_.logger.info("cloudBuild res",w),w.success){b.next=19;break}throw new Error(w.message);case 19:return b.next=21,_pollBuildStatusPrivate({CLOUD_BUILD_POLL_URL:o,PRIVATE_KEY_URL:p,buildId:w.data,appId:j,workspaceId:k});case 21:return x=b.sent,y=x.data,z=y.downloadUrl,A=y.pluginDownloadUrl,B=y.subPackages,C=void 0===B?[]:B,D=y.cubePackage,E=(null===D||void 0===D?void 0:D.downloadUrl)||z,F=A,b.next=28,mergePackageFile({zipFile:E,subPackages:C,h5Id:h,plugin:F});case 28:return G=b.sent,b.abrupt("return",{data:_objectSpread(_objectSpread({},G),{},{appxVersion:(0,_.getAppxVersion)({extendInfo:(null===y||void 0===y||null===(d=y.miniBuiltInfoContent)||void 0===d||null===(d=d.packageInfo)||void 0===d?void 0:d.extendInfo)||"{}"}),originData:x}),succes:!0});case 32:throw b.prev=32,b.t0=b["catch"](0),new Error(b.t0.message);case 35:case"end":return b.stop()}},b,null,[[0,32]])}));return function(){return a.apply(this,arguments)}}(),_pollBuildStatusPrivate=exports.pollBuildStatusPrivate=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.CLOUD_BUILD_POLL_URL,d=a.PRIVATE_KEY_URL,e=a.buildId,f=a.appId,g=a.workspaceId,b.prev=1,b.next=4,getSignedUrl({appId:f,workspaceId:g,path:POLL_PATH,url:c,keyUrl:d});case 4:return k=b.sent,l=k.signedUrl,m=l||c,_.logger.info("pollBuildStatus req",m,{buildId:e}),b.next=10,_superagent["default"].get(m).set("Cookie","LOCALE=".concat(null===(h=process)||void 0===h||null===(h=h.env)||void 0===h?void 0:h.VOL_NLS_CONFIG)).query({buildId:e});case 10:if(n=b.sent,o=n.body,p=void 0===o?{}:o,_.logger.info("pollBuildStatus res",{body:p}),p.success){b.next=16;break}throw new Error(p.message);case 16:if("FAILURE"!==(null===p||void 0===p||null===(i=p.data)||void 0===i?void 0:i.result)){b.next=18;break}throw new Error("Build failed: Detailed log at "+(null===p||void 0===p||null===(q=p.data)||void 0===q?void 0:q.logUrl));case 18:;if("SUCCESS"!==(null===p||void 0===p||null===(j=p.data)||void 0===j?void 0:j.result)){b.next=21;break}return b.abrupt("return",p);case 21:;return b.next=24,(0,_.delay)(POLL_DELAY_TIME);case 24:return b.next=26,_pollBuildStatusPrivate({CLOUD_BUILD_POLL_URL:c,PRIVATE_KEY_URL:d,buildId:e,appId:f,workspaceId:g});case 26:return b.abrupt("return",b.sent);case 29:throw b.prev=29,b.t0=b["catch"](1),new Error(b.t0.message);case 32:case"end":return b.stop()}},b,null,[[1,29]])}));return function(){return a.apply(this,arguments)}}(),remoteFileToLocal=exports.remoteFileToLocal=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.originFile,d=a.h5Id,b.prev=1,b.next=4,(0,_.downloadFile)({url:c});case 4:return e=b.sent,f=e.data,b.next=8,(0,_.getZipFromTar)({tarFilePath:f,h5Id:d});case 8:return g=b.sent,h=g.data,b.abrupt("return",{file:h,originFile:c});case 13:throw b.prev=13,b.t0=b["catch"](1),new Error(b.t0.message);case 16:case"end":return b.stop()}},b,null,[[1,13]])}));return function(){return a.apply(this,arguments)}}(),getOpenApiKeyForSignature=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.appId,d=a.workspaceId,e=a.keyUrl,b.prev=1,_.logger.info("get private key for build_url req",e),g=e,b.next=6,_superagent["default"].get(g).set("Cookie","LOCALE=".concat(null===(f=process)||void 0===f||null===(f=f.env)||void 0===f?void 0:f.VOL_NLS_CONFIG)).query({appId:c,workspaceId:d});case 6:if(h=b.sent,i=h.body,j=void 0===i?{}:i,k=j.data,l=void 0===k?{}:k,_.logger.info("get private key for build_url res",l),l.success){b.next=16;break}return _.logger.info("get private key for build_url error",l.message),b.abrupt("return","");case 16:return b.abrupt("return","-----BEGIN RSA PRIVATE KEY-----\n".concat(l.data,"\n-----END RSA PRIVATE KEY-----"));case 17:b.next=22;break;case 19:throw b.prev=19,b.t0=b["catch"](1),new Error(b.t0.message);case 22:case"end":return b.stop()}},b,null,[[1,19]])}));return function(){return a.apply(this,arguments)}}(),getSignedUrl=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(b.prev=0,c=a.appId,d=a.workspaceId,e=a.url,f=a.keyUrl,g=a.path,null!==PRIVATE_KEY){b.next=6;break}return b.next=5,getOpenApiKeyForSignature({appId:c,workspaceId:d,keyUrl:f});case 5:PRIVATE_KEY=b.sent;case 6:if(!PRIVATE_KEY){b.next=15;break}return h="appId=".concat(c,"&workspaceId=").concat(d,"&timestamp=").concat(new Date().valueOf(),"&url=").concat(encodeURI(g)),i=Buffer.from(h),j=crypto.sign("RSA-SHA256",i,PRIVATE_KEY).toString("hex"),k="".concat(e,"?").concat(h,"&sign=").concat(j),_.logger.info("Get signed url: ",k),b.abrupt("return",{queryString:h,signature:j,signedUrl:k});case 15:return b.abrupt("return",{queryString:"",signature:"",signedUrl:e});case 16:b.next=21;break;case 18:throw b.prev=18,b.t0=b["catch"](0),new Error(b.t0.message);case 21:case"end":return b.stop()}},b,null,[[0,18]])}));return function(){return a.apply(this,arguments)}}();
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports.remoteFileToLocal=exports.pollBuildStatusPrivate=exports.pollBuildStatusAlipay=exports.getFile=exports.getCloudBuildData=exports.cloudBuildPrivate=exports.cloudBuildAlipay=exports.cloudBuild=void 0;var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")),_regenerator=_interopRequireDefault(require("@babel/runtime/regenerator")),_asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")),_superagent=_interopRequireDefault(require("superagent")),_path3=_interopRequireDefault(require("path")),_fsExtra=_interopRequireDefault(require("fs-extra")),_=require("./"),_archiver=_interopRequireDefault(require("archiver")),_chalk=_interopRequireDefault(require("chalk")),_i18next=_interopRequireDefault(require("i18next")),_excluded=["file","game"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var crypto=require("crypto"),POLL_DELAY_TIME=4e3,IGNORE_DIR=[".idea",".vscode",".git",".DS_Store",".umi",".umi-production",".miniu",".node",".tea"],PRIVATE_KEY=null,SUBPACAKGES_ARR=[],_pollGetPackageFile=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function c(a,b){var d,e,f,g,h,j;return _regenerator["default"].wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(a--,!(0<=a)){c.next=11;break}return d=b[a],e=d.path,f=d.tarFilePath,g=e.split("/").join("_"),c.next=6,remoteFileToLocal({originFile:f,h5Id:g});case 6:return h=c.sent,j=h.file,SUBPACAKGES_ARR.push({file:j,name:g,path:e}),c.next=11,_pollGetPackageFile(a,b);case 11:case"end":return c.stop()}},c)}));return function(){return a.apply(this,arguments)}}(),mergePackageFile=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.zipFile,d=a.subPackages,e=a.h5Id,f=a.plugin,g=void 0===f?"":f,h=(0,_.getTmpDir)(),i=_path3["default"].join(h,"".concat(e)),j=_path3["default"].join(i,"".concat(e)),k=_path3["default"].join(j,"subpackages"),l=_path3["default"].join(k,"subpackage.json"),_fsExtra["default"].existsSync(j)&&_fsExtra["default"].removeSync(j),_fsExtra["default"].ensureDirSync(j),_fsExtra["default"].ensureDirSync(k),b.prev=9,b.next=12,remoteFileToLocal({originFile:c,h5Id:e});case 12:if(m=b.sent,n=m.file,o=_path3["default"].join(j,_path3["default"].basename(n)),p={subpackageFlag:!1},q="",!g){b.next=25;break}return b.next=20,(0,_.downloadFile)({url:g});case 20:r=b.sent,s=r.data,t=r.success,u=void 0===t||t,u&&(q=s);case 25:if(!(d&&d.length)){b.next=43;break}return _fsExtra["default"].moveSync(n,o),p.subpackageFlag=!0,v=d.length,b.next=31,_pollGetPackageFile(v,d);case 31:return w={},SUBPACAKGES_ARR.forEach(function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:c=a.file,d=a.name,e=a.path,"main"!=d&&(w[d]=e),f=_path3["default"].join(k,_path3["default"].basename(c)),_fsExtra["default"].moveSync(c,f);case 4:case"end":return b.stop()}},b)}));return function(){return a.apply(this,arguments)}}()),_fsExtra["default"].writeJSONSync(l,w),x=_path3["default"].join(h,"".concat(e,".zip")),b.next=37,compressFile({resourceFile:i,targetFile:x,type:"directory"});case 37:console.log("SUBPACAKGES_ARR",SUBPACAKGES_ARR,w,l),g&&(p.pluginFile=q,p.pluginOriginFile=g),p.file=x,p.originFile="",b.next=46;break;case 43:g&&(p.pluginFile=q,p.pluginOriginFile=g),p.file=n,p.originFile=c;case 46:return console.log("get result:",p),SUBPACAKGES_ARR=[],b.abrupt("return",p);case 51:throw b.prev=51,b.t0=b["catch"](9),new Error(b.t0.message);case 54:case"end":return b.stop()}},b,null,[[9,51]])}));return function(){return a.apply(this,arguments)}}(),EXEC_PATH="/miniApp/buildIdeMiniApp",POLL_PATH="/miniApp/queryMiniAppBuildResult",getCloudBuildData=exports.getCloudBuildData=function(a){var b=a.build_url,c=void 0===b?null:b;return c?{type:"private",CLOUD_BUILD_EXEC_URL:"".concat(c).concat(EXEC_PATH),CLOUD_BUILD_POLL_URL:"".concat(c).concat(POLL_PATH),PRIVATE_KEY_URL:"".concat(c,"/miniApp/getOpenApiKey")}:{type:"alipay",CLOUD_BUILD_EXEC_URL:"https://hpmweb.alipay.com/tinyApp/cloudBuild/execute",CLOUD_BUILD_POLL_URL:"https://hpmweb.alipay.com/tinyApp/cloudBuild/result"}},cloudBuild=exports.cloudBuild=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(_.logger.info("cloudBuild req",a),b.prev=1,c=a.config,d=a.file,e=a.game,f=(0,_objectWithoutProperties2["default"])(a,_excluded),g={},!e){b.next=22;break}if(h=c.build_url,i=void 0===h?null:h,i){b.next=11;break}throw new Error(_i18next["default"].t("mpaas-ide-openapi-common.cloudBuild.gameBuildNoConfig","\u914D\u7F6E\u6587\u4EF6\u7F3A\u5C11 build_url \u5B57\u6BB5\uFF0C\u65E0\u6CD5\u6784\u5EFA\u5C0F\u6E38\u620F\uFF01"));case 11:return j=getCloudBuildData(c),b.next=14,getFile({file:d,type:j.type});case 14:return d=b.sent,k=_objectSpread(_objectSpread({},f),{},{file:d,game:e}),_.logger.info("cloudBuild: private(game)"),b.next=19,cloudBuildPrivate(k,a);case 19:g=b.sent;case 20:b.next=38;break;case 22:return l=getCloudBuildData(c),b.next=25,getFile({file:d,type:l.type});case 25:if(d=b.sent,m=_objectSpread(_objectSpread({},f),{},{file:d}),"private"!==l.type){b.next=34;break}return _.logger.info("cloudBuild: private"),b.next=31,cloudBuildPrivate(m,a);case 31:g=b.sent,b.next=38;break;case 34:return _.logger.info("cloudBuild: alipay"),b.next=37,cloudBuildAlipay(m);case 37:g=b.sent;case 38:return _.logger.info("cloudBuild res",g),console.log(_chalk["default"].green("cloudBuild done")),b.abrupt("return",g);case 43:return b.prev=43,b.t0=b["catch"](1),_.logger.error("cloudBuild error",b.t0.message),b.next=48,(0,_.delay)(0);case 48:throw new Error(b.t0.message);case 49:case"end":return b.stop()}},b,null,[[1,43]])}));return function(){return a.apply(this,arguments)}}(),compressFile=function(a){var b=a.resourceFile,c=a.targetFile,d=a.type;return new Promise(function(a,e){var f=_fsExtra["default"].createWriteStream(c),g=(0,_archiver["default"])("zip",{zlib:{level:9}});g.pipe(f),f.on("close",function(){a(c)}),g.on("error",function(a){e(a)}),"directory"===d?g.directory("".concat(b),""):g.file("".concat(b),{name:_path3["default"].basename(b)}),g.finalize()})},getFile=exports.getFile=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=a.file,d=a.type,b.prev=1,_fsExtra["default"].existsSync(c)){b.next=4;break}throw new Error(_i18next["default"].t("mpaas-ide-openapi-common.cloudBuild.FileNotExist","\u6587\u4EF6\u4E0D\u5B58\u5728\uFF01"));case 4:if(!_fsExtra["default"].lstatSync(c).isFile()){b.next=8;break}if(".amr"===_path3["default"].extname(c)){b.next=7;break}throw new Error(_i18next["default"].t("mpaas-ide-openapi-common.cloudBuild.FileFormatIncorrect","\u6587\u4EF6\u683C\u5F0F\u9519\u8BEF\uFF01"));case 7:return b.abrupt("return",c);case 8:if(!_fsExtra["default"].lstatSync(c).isDirectory()){b.next=22;break}return e=(0,_.getTmpDir)(),f=(0,_.getTmpDir)(),_fsExtra["default"].copySync(c,e),b.next=14,compressFile({resourceFile:e,targetFile:_path3["default"].join(f,"dist.tar"),type:"directory"});case 14:if(g=b.sent,"alipay"!==d){b.next=17;break}return b.abrupt("return",g);case 17:return h=(0,_.getTmpDir)(),b.next=20,compressFile({resourceFile:_path3["default"].join(f,"dist.tar"),targetFile:_path3["default"].join(h,"dist.amr")});case 20:return i=b.sent,b.abrupt("return",i);case 22:return b.abrupt("return",c);case 25:throw b.prev=25,b.t0=b["catch"](1),new Error(b.t0.message);case 28:case"end":return b.stop()}},b,null,[[1,25]])}));return function(){return a.apply(this,arguments)}}(),cloudBuildAlipay=exports.cloudBuildAlipay=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return b.prev=0,d=a.file,e=a.config,f=void 0===e?{}:e,g=a.adaptorId,h=void 0===g?"mPaaS":g,i=a.h5Id,j=a.isCube,k=void 0!==j&&j,l=a.extraInfo,m=f.appId,n=getCloudBuildData(f),o=n.CLOUD_BUILD_EXEC_URL,p=n.CLOUD_BUILD_POLL_URL,q={params:"[\n \"--scriptName\",\n \"buildpack\",\n \"--ADAPTOR_NAME\",\n \"adaptor-mpaas-".concat(h,"\",\n \"--limitation\",\n \"--debug\"\n ]"),env:"{}",operationType:"build",extraInfo:JSON.stringify(_objectSpread({appId:i,doneCommand:"pack",client:"IDE",scene:"IDE",fileFormat:"tar"},l))},k&&(q.extraBuildConfig=JSON.stringify({allowCube:!0})),r={value:_fsExtra["default"].readFileSync(d),options:{filename:"".concat(i,".tar"),contentType:"application/zip"}},_.logger.info("cloudBuild req",q),b.next=10,_superagent["default"].post(o).set("Cookie","LOCALE=".concat(null===(c=process)||void 0===c||null===(c=c.env)||void 0===c?void 0:c.VOL_NLS_CONFIG)).field(q).attach("file",r.value,r.options);case 10:if(s=b.sent,t=s.body,u=void 0===t?{}:t,_.logger.info("cloudBuild res",u),u.success){b.next=16;break}throw new Error(u.msg);case 16:return v=u.data.taskId,b.next=19,_pollBuildStatusAlipay({CLOUD_BUILD_POLL_URL:p,taskId:v});case 19:return w=b.sent,x=w.data,y=void 0===x?{}:x,z=y.zipFile,A=y.subPackages,B=void 0===A?[]:A,C=y.plugin,D=void 0===C?{}:C,E=D.artifactUrl,F=y.uploadParams,G=void 0===F?{}:F,H=G.extendInfo,I=z,J=E,b.next=25,mergePackageFile({zipFile:I,subPackages:B,h5Id:i,plugin:J});case 25:return K=b.sent,_.logger.info("get mergePackageFileJSON:",K),b.abrupt("return",{data:_objectSpread(_objectSpread({},K),{},{appxVersion:(0,_.getAppxVersion)({extendInfo:H}),originData:w}),succes:!0});case 30:throw b.prev=30,b.t0=b["catch"](0),new Error(b.t0.message);case 33:case"end":return b.stop()}},b,null,[[0,30]])}));return function(){return a.apply(this,arguments)}}(),_pollBuildStatusAlipay=exports.pollBuildStatusAlipay=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.CLOUD_BUILD_POLL_URL,d=a.taskId,b.prev=1,_.logger.info("pollBuildStatus req",d),b.next=5,_superagent["default"].get(c).set("Cookie","LOCALE=".concat(null===(e=process)||void 0===e||null===(e=e.env)||void 0===e?void 0:e.VOL_NLS_CONFIG)).query({taskId:d});case 5:if(f=b.sent,g=f.body,h=void 0===g?{}:g,_.logger.info("pollBuildStatus res",h),h.success){b.next=11;break}throw new Error(h.msg);case 11:if("COMPLETE"!==h.status){b.next=13;break}return b.abrupt("return",h);case 13:;return b.next=16,(0,_.delay)(POLL_DELAY_TIME);case 16:return b.next=18,_pollBuildStatusAlipay({CLOUD_BUILD_POLL_URL:c,taskId:d});case 18:return b.abrupt("return",b.sent);case 21:throw b.prev=21,b.t0=b["catch"](1),new Error(b.t0.message);case 24:case"end":return b.stop()}},b,null,[[1,21]])}));return function(){return a.apply(this,arguments)}}(),cloudBuildPrivate=exports.cloudBuildPrivate=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return b.prev=0,e=a.file,f=a.config,g=void 0===f?{}:f,h=a.h5Id,i=a.game,j=g.appId,k=g.workspaceId,l=g.tenantId,m=getCloudBuildData(g),n=m.CLOUD_BUILD_EXEC_URL,o=m.CLOUD_BUILD_POLL_URL,p=m.PRIVATE_KEY_URL,q={value:_fsExtra["default"].readFileSync(e),options:{filename:"".concat(j,".amr"),contentType:"application/zip"}},b.next=7,getSignedUrl({appId:j,workspaceId:k,path:EXEC_PATH,url:n,keyUrl:p});case 7:return r=b.sent,s=r.signedUrl,t=s||n,_.logger.info("cloudBuild private req",t,{appId:j,workspaceId:k,tenantId:l,h5Id:h,game:!!i}),b.next=13,_superagent["default"].post(t).set("Cookie","LOCALE=".concat(null===(c=process)||void 0===c||null===(c=c.env)||void 0===c?void 0:c.VOL_NLS_CONFIG)).field({appId:j,workspaceId:k,tenantId:l,h5Id:h,game:!!i}).attach("file",q.value,q.options);case 13:if(u=b.sent,v=u.body,w=void 0===v?{}:v,_.logger.info("cloudBuild res",w),w.success){b.next=19;break}throw new Error(w.message);case 19:return b.next=21,_pollBuildStatusPrivate({CLOUD_BUILD_POLL_URL:o,PRIVATE_KEY_URL:p,buildId:w.data,appId:j,workspaceId:k});case 21:return x=b.sent,y=x.data,z=y.downloadUrl,A=y.pluginDownloadUrl,B=y.subPackages,C=void 0===B?[]:B,D=y.cubePackage,E=(null===D||void 0===D?void 0:D.downloadUrl)||z,F=A,b.next=28,mergePackageFile({zipFile:E,subPackages:C,h5Id:h,plugin:F});case 28:return G=b.sent,b.abrupt("return",{data:_objectSpread(_objectSpread({},G),{},{appxVersion:(0,_.getAppxVersion)({extendInfo:(null===y||void 0===y||null===(d=y.miniBuiltInfoContent)||void 0===d||null===(d=d.packageInfo)||void 0===d?void 0:d.extendInfo)||"{}"}),originData:x}),succes:!0});case 32:throw b.prev=32,b.t0=b["catch"](0),new Error(b.t0.message);case 35:case"end":return b.stop()}},b,null,[[0,32]])}));return function(){return a.apply(this,arguments)}}(),_pollBuildStatusPrivate=exports.pollBuildStatusPrivate=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.CLOUD_BUILD_POLL_URL,d=a.PRIVATE_KEY_URL,e=a.buildId,f=a.appId,g=a.workspaceId,b.prev=1,b.next=4,getSignedUrl({appId:f,workspaceId:g,path:POLL_PATH,url:c,keyUrl:d});case 4:return k=b.sent,l=k.signedUrl,m=l||c,_.logger.info("pollBuildStatus req",m,{buildId:e}),b.next=10,_superagent["default"].get(m).set("Cookie","LOCALE=".concat(null===(h=process)||void 0===h||null===(h=h.env)||void 0===h?void 0:h.VOL_NLS_CONFIG)).query({buildId:e});case 10:if(n=b.sent,o=n.body,p=void 0===o?{}:o,_.logger.info("pollBuildStatus res",{body:p}),p.success){b.next=16;break}throw new Error(p.message);case 16:if("FAILURE"!==(null===p||void 0===p||null===(i=p.data)||void 0===i?void 0:i.result)){b.next=18;break}throw new Error("Build failed: Detailed log at "+(null===p||void 0===p||null===(q=p.data)||void 0===q?void 0:q.logUrl));case 18:;if("SUCCESS"!==(null===p||void 0===p||null===(j=p.data)||void 0===j?void 0:j.result)){b.next=21;break}return b.abrupt("return",p);case 21:;return b.next=24,(0,_.delay)(POLL_DELAY_TIME);case 24:return b.next=26,_pollBuildStatusPrivate({CLOUD_BUILD_POLL_URL:c,PRIVATE_KEY_URL:d,buildId:e,appId:f,workspaceId:g});case 26:return b.abrupt("return",b.sent);case 29:throw b.prev=29,b.t0=b["catch"](1),new Error(b.t0.message);case 32:case"end":return b.stop()}},b,null,[[1,29]])}));return function(){return a.apply(this,arguments)}}(),remoteFileToLocal=exports.remoteFileToLocal=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.originFile,d=a.h5Id,b.prev=1,b.next=4,(0,_.downloadFile)({url:c});case 4:return e=b.sent,f=e.data,b.next=8,(0,_.getZipFromTar)({tarFilePath:f,h5Id:d});case 8:return g=b.sent,h=g.data,b.abrupt("return",{file:h,originFile:c});case 13:throw b.prev=13,b.t0=b["catch"](1),new Error(b.t0.message);case 16:case"end":return b.stop()}},b,null,[[1,13]])}));return function(){return a.apply(this,arguments)}}(),getOpenApiKeyForSignature=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k,l;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.appId,d=a.workspaceId,e=a.keyUrl,b.prev=1,_.logger.info("get private key for build_url req",e),g=e,b.next=6,_superagent["default"].get(g).set("Cookie","LOCALE=".concat(null===(f=process)||void 0===f||null===(f=f.env)||void 0===f?void 0:f.VOL_NLS_CONFIG)).query({appId:c,workspaceId:d});case 6:if(h=b.sent,i=h.body,j=void 0===i?{}:i,k=j.data,l=void 0===k?{}:k,_.logger.info("get private key for build_url res",l),l.success){b.next=16;break}return _.logger.info("get private key for build_url error",l.message),b.abrupt("return","");case 16:return b.abrupt("return","-----BEGIN RSA PRIVATE KEY-----\n".concat(l.data,"\n-----END RSA PRIVATE KEY-----"));case 17:b.next=23;break;case 19:return b.prev=19,b.t0=b["catch"](1),_.logger.warn("GET private key failed",b.t0.message),b.abrupt("return","");case 23:case"end":return b.stop()}},b,null,[[1,19]])}));return function(){return a.apply(this,arguments)}}(),getSignedUrl=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,i,j,k;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(b.prev=0,c=a.appId,d=a.workspaceId,e=a.url,f=a.keyUrl,g=a.path,null!==PRIVATE_KEY){b.next=6;break}return b.next=5,getOpenApiKeyForSignature({appId:c,workspaceId:d,keyUrl:f});case 5:PRIVATE_KEY=b.sent;case 6:if(!PRIVATE_KEY){b.next=15;break}return h="appId=".concat(c,"&workspaceId=").concat(d,"&timestamp=").concat(new Date().valueOf(),"&url=").concat(encodeURI(g)),i=Buffer.from(h),j=crypto.sign("RSA-SHA256",i,PRIVATE_KEY).toString("hex"),k="".concat(e,"?").concat(h,"&sign=").concat(j),_.logger.info("Get signed url: ",k),b.abrupt("return",{queryString:h,signature:j,signedUrl:k});case 15:return b.abrupt("return",{queryString:"",signature:"",signedUrl:e});case 16:b.next=21;break;case 18:throw b.prev=18,b.t0=b["catch"](0),new Error(b.t0.message);case 21:case"end":return b.stop()}},b,null,[[0,18]])}));return function(){return a.apply(this,arguments)}}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alipay-inc/mpaas-ide-openapi-common",
3
- "version": "1.0.50-alpha.0",
3
+ "version": "1.0.51-alpha.0",
4
4
  "main": "dist/index.js",
5
5
  "repository": "https://code.alipay.com/mPaaS-IDE-Adaptor/mPaaS-IDE-openAPI.git",
6
6
  "author": "跟着勇哥有肉吃 <shengyong.zhu@antgroup.com>",