@alipay-inc/mpaas-ide-openapi-common 1.1.0-alpha.7 → 1.1.0-alpha.9
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/dist/cloudBuild.js +1 -1
- package/package.json +1 -1
package/dist/cloudBuild.js
CHANGED
|
@@ -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,PRIVATE_KEY_CONFIG={},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",PRIVATE_KEY_PATH="/miniApp/getOpenApiKey",PUBLIC_DOMAIN="https://miniappbuild.mpaas.cn-hangzhou.aliyuncs.com",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).concat(PRIVATE_KEY_PATH)}:{type:"alipay",CLOUD_BUILD_EXEC_URL:"".concat(PUBLIC_DOMAIN).concat(EXEC_PATH),CLOUD_BUILD_POLL_URL:"".concat(PUBLIC_DOMAIN).concat(POLL_PATH),PRIVATE_KEY_URL:"".concat(PUBLIC_DOMAIN).concat(PRIVATE_KEY_PATH)}},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,n;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=(0,_.getUserInfo)(),h={},!e){b.next=23;break}if(i=c.build_url,j=void 0===i?null:i,j){b.next=12;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 12:return k=getCloudBuildData(c),b.next=15,getFile({file:d,type:k.type});case 15:return d=b.sent,l=_objectSpread(_objectSpread({},f),{},{file:d,userInfo:g,game:e}),_.logger.info("cloudBuild: private(game)"),b.next=20,cloudBuildPrivate(l,a);case 20:h=b.sent;case 21:b.next=39;break;case 23:return m=getCloudBuildData(c),b.next=26,getFile({file:d,type:m.type});case 26:if(d=b.sent,n=_objectSpread(_objectSpread({},f),{},{userInfo:g,file:d}),"private"!==m.type){b.next=35;break}return _.logger.info("cloudBuild: private"),b.next=32,cloudBuildPrivate(n,a);case 32:h=b.sent,b.next=39;break;case 35:return _.logger.info("cloudBuild: public"),b.next=38,cloudBuildPrivate(n,a);case 38:h=b.sent;case 39:return _.logger.info("cloudBuild res",h),console.log(_chalk["default"].green("cloudBuild done")),b.abrupt("return",h);case 44:return b.prev=44,b.t0=b["catch"](1),_.logger.error("cloudBuild error",b.t0.message),b.next=49,(0,_.delay)(0);case 49:throw new Error(b.t0.message);case 50:case"end":return b.stop()}},b,null,[[1,44]])}));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,H,I,J,K,L,M,N;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=a.userInfo,k=j||{},l=k.loginName,m=k.userId,n=g.appId,o=g.workspaceId,p=g.tenantId,q=g.sign,r=g.build_sign,s=getCloudBuildData(g),t=s.CLOUD_BUILD_EXEC_URL,u=s.CLOUD_BUILD_POLL_URL,v=s.PRIVATE_KEY_URL,w={value:_fsExtra["default"].readFileSync(e),options:{filename:"".concat(n,".amr"),contentType:"application/zip"}},x=r||q,b.next=9,getSignedUrl({appId:n,workspaceId:o,tenantId:p,loginName:l,userId:m,sign:x,path:EXEC_PATH,url:t,keyUrl:v});case 9:return y=b.sent,z=y.signedUrl,A=z||t,_.logger.info("cloudBuild private req",A,{appId:n,workspaceId:o,tenantId:p,h5Id:h,game:!!i}),b.next=15,_superagent["default"].post(A).set("Cookie","LOCALE=".concat(null===(c=process)||void 0===c||null===(c=c.env)||void 0===c?void 0:c.VOL_NLS_CONFIG)).set("sign",x).field({appId:n,workspaceId:o,tenantId:p,loginName:l,userId:m,h5Id:h,game:!!i}).attach("file",w.value,w.options);case 15:if(B=b.sent,C=B.body,D=void 0===C?{}:C,_.logger.info("cloudBuild res",D),D.success){b.next=21;break}throw new Error(D.message);case 21:return b.next=23,_pollBuildStatusPrivate({CLOUD_BUILD_POLL_URL:u,PRIVATE_KEY_URL:v,buildId:D.data,appId:n,workspaceId:o,tenantId:p,loginName:l,userId:m,sign:x});case 23:return E=b.sent,F=E.data,G=F.downloadUrl,H=F.pluginDownloadUrl,I=F.subPackages,J=void 0===I?[]:I,K=F.cubePackage,L=(null===K||void 0===K?void 0:K.downloadUrl)||G,M=H,b.next=30,mergePackageFile({zipFile:L,subPackages:J,h5Id:h,plugin:M});case 30:return N=b.sent,b.abrupt("return",{data:_objectSpread(_objectSpread({},N),{},{appxVersion:(0,_.getAppxVersion)({extendInfo:(null===F||void 0===F||null===(d=F.miniBuiltInfoContent)||void 0===d||null===(d=d.packageInfo)||void 0===d?void 0:d.extendInfo)||"{}"}),originData:E}),succes:!0});case 34:throw b.prev=34,b.t0=b["catch"](0),new Error(b.t0.message);case 37:case"end":return b.stop()}},b,null,[[0,34]])}));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,r,s,t,u;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,h=a.tenantId,i=a.loginName,j=a.userId,k=a.sign,b.prev=1,b.next=4,getSignedUrl({appId:f,workspaceId:g,tenantId:h,loginName:i,userId:j,sign:k,path:POLL_PATH,url:c,keyUrl:d});case 4:return o=b.sent,p=o.signedUrl,q=p||c,_.logger.info("pollBuildStatus req",q,{buildId:e}),b.next=10,_superagent["default"].get(q).set("Cookie","LOCALE=".concat(null===(l=process)||void 0===l||null===(l=l.env)||void 0===l?void 0:l.VOL_NLS_CONFIG)).set("sign",k).query({buildId:e});case 10:if(r=b.sent,s=r.body,t=void 0===s?{}:s,_.logger.info("pollBuildStatus res",{body:t}),t.success){b.next=16;break}throw new Error(t.message);case 16:if("FAILURE"!==(null===t||void 0===t||null===(m=t.data)||void 0===m?void 0:m.result)){b.next=18;break}throw new Error("Build failed: Detailed log at "+(null===t||void 0===t||null===(u=t.data)||void 0===u?void 0:u.logUrl));case 18:;if("SUCCESS"!==(null===t||void 0===t||null===(n=t.data)||void 0===n?void 0:n.result)){b.next=21;break}return b.abrupt("return",t);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,tenantId:h,loginName:i,userId:j,sign:k});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,m,n,o,p;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.appId,d=a.workspaceId,e=a.tenantId,f=a.loginName,g=a.userId,h=a.sign,i=a.keyUrl,b.prev=1,_.logger.info("get private key for build_url req",i,{appId:c,workspaceId:d,tenantId:e,loginName:f,userId:g,sign:h,keyUrl:i}),k=i,b.next=6,_superagent["default"].get(k).set("Cookie","LOCALE=".concat(null===(j=process)||void 0===j||null===(j=j.env)||void 0===j?void 0:j.VOL_NLS_CONFIG)).set("sign",h).query({appId:c,workspaceId:d,tenantId:e,loginName:f,userId:g});case 6:if(l=b.sent,m=l.body,n=void 0===m?{}:m,o=n.data,p=void 0===o?{}:o,_.logger.info("get private key for build_url res",p),PRIVATE_KEY_CONFIG={appId:c,workspaceId:d,keyUrl:i},p.success){b.next=17;break}return _.logger.info("get private key for build_url error",p.message),b.abrupt("return","");case 17:return b.abrupt("return","-----BEGIN RSA PRIVATE KEY-----\n".concat(p.data,"\n-----END RSA PRIVATE KEY-----"));case 18:b.next=25;break;case 20:return b.prev=20,b.t0=b["catch"](1),_.logger.warn("GET private key failed",b.t0.message),PRIVATE_KEY_CONFIG={appId:c,workspaceId:d,keyUrl:i},b.abrupt("return","");case 25:case"end":return b.stop()}},b,null,[[1,20]])}));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,l,m,n,o;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.tenantId,f=a.loginName,g=a.userId,h=a.sign,i=a.url,j=a.keyUrl,k=a.path,(j!==PRIVATE_KEY_CONFIG.keyUrl||c!==PRIVATE_KEY_CONFIG.appId||d!==PRIVATE_KEY_CONFIG.workspaceId)&&(PRIVATE_KEY=null),null!==PRIVATE_KEY){b.next=7;break}return b.next=6,getOpenApiKeyForSignature({appId:c,workspaceId:d,tenantId:e,loginName:f,userId:g,sign:h,keyUrl:j});case 6:PRIVATE_KEY=b.sent;case 7:if(!PRIVATE_KEY){b.next=16;break}return l="appId=".concat(c,"&workspaceId=").concat(d,"×tamp=").concat(new Date().valueOf(),"&url=").concat(encodeURI(k)),m=Buffer.from(l),n=crypto.sign("RSA-SHA256",m,PRIVATE_KEY).toString("hex"),o="".concat(i,"?").concat(l,"&sign=").concat(n,"&tenantId=").concat(e,"&loginName=").concat(f,"&userId=").concat(g),_.logger.info("Get signed url: ",o),b.abrupt("return",{queryString:l,signature:n,signedUrl:o});case 16:return b.abrupt("return",{queryString:"",signature:"",signedUrl:i});case 17:b.next=22;break;case 19:throw b.prev=19,b.t0=b["catch"](0),new Error(b.t0.message);case 22:case"end":return b.stop()}},b,null,[[0,19]])}));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.mergePackageFile=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,PRIVATE_KEY_CONFIG={},SUBPACAKGES_ARR=[],_pollGetPackageFile=function(){var a=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function b(a){var c,d,e,f,g,h,j,k=arguments;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=1<k.length&&void 0!==k[1]?k[1]:[],a--,!(0<=a)){b.next=12;break}return d=c[a],e=d.path,f=d.tarFilePath,g=e.split("/").join("_"),b.next=7,remoteFileToLocal({originFile:f,h5Id:g});case 7:return h=b.sent,j=h.file,SUBPACAKGES_ARR.push({file:j,name:g,path:e}),b.next=12,_pollGetPackageFile(a,c);case 12:case"end":return b.stop()}},b)}));return function(){return a.apply(this,arguments)}}(),mergePackageFile=exports.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,y,z,A,B;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=a.zipFile,d=a.subPackages,e=a.h5Id,f=a.plugin,g=void 0===f?"":f,h=a.game,i=(0,_.getTmpDir)(),j=_path3["default"].join(i,"".concat(e)),k=_path3["default"].join(j,"".concat(e)),l=_path3["default"].join(k,"subpackages"),m=_path3["default"].join(l,"subpackage.json"),_fsExtra["default"].existsSync(k)&&_fsExtra["default"].removeSync(k),_fsExtra["default"].ensureDirSync(k),_fsExtra["default"].ensureDirSync(l),b.prev=9,h){b.next=18;break}return b.next=13,remoteFileToLocal({originFile:c,h5Id:e});case 13:o=b.sent,p=o.file,n=p,b.next=22;break;case 18:q=_path3["default"].basename(c),r=_path3["default"].join(i,q),_fsExtra["default"].copyFileSync(c,r),n=r;case 22:if(s=_path3["default"].join(k,_path3["default"].basename(n)),t={subpackageFlag:!1},u="",!g){b.next=33;break}return b.next=28,(0,_.downloadFile)({url:g});case 28:v=b.sent,w=v.data,x=v.success,y=void 0===x||x,y&&(u=w);case 33:if(!(h||d&&d.length)){b.next=51;break}return _fsExtra["default"].moveSync(n,s),t.subpackageFlag=!0,z=d?d.length:0,b.next=39,_pollGetPackageFile(z,d);case 39:return A={},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&&(A[d]=e),f=_path3["default"].join(l,_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(m,A),B=_path3["default"].join(i,"".concat(e,".zip")),b.next=45,compressFile({resourceFile:j,targetFile:B,type:"directory"});case 45:console.log("SUBPACAKGES_ARR",SUBPACAKGES_ARR,A,m),g&&(t.pluginFile=u,t.pluginOriginFile=g),t.file=B,t.originFile="",b.next=54;break;case 51:g&&(t.pluginFile=u,t.pluginOriginFile=g),t.file=n,t.originFile=c;case 54:return console.log("merge file result:",t),SUBPACAKGES_ARR=[],b.abrupt("return",t);case 59:throw b.prev=59,b.t0=b["catch"](9),new Error(b.t0.message);case 62:case"end":return b.stop()}},b,null,[[9,59]])}));return function(){return a.apply(this,arguments)}}(),EXEC_PATH="/miniApp/buildIdeMiniApp",POLL_PATH="/miniApp/queryMiniAppBuildResult",PRIVATE_KEY_PATH="/miniApp/getOpenApiKey",PUBLIC_DOMAIN="https://miniappbuild.mpaas.cn-hangzhou.aliyuncs.com",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).concat(PRIVATE_KEY_PATH)}:{type:"alipay",CLOUD_BUILD_EXEC_URL:"".concat(PUBLIC_DOMAIN).concat(EXEC_PATH),CLOUD_BUILD_POLL_URL:"".concat(PUBLIC_DOMAIN).concat(POLL_PATH),PRIVATE_KEY_URL:"".concat(PUBLIC_DOMAIN).concat(PRIVATE_KEY_PATH)}},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,n;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=(0,_.getUserInfo)(),h={},!e){b.next=23;break}if(i=c.build_url,j=void 0===i?null:i,j){b.next=12;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 12:return k=getCloudBuildData(c),b.next=15,getFile({file:d,type:k.type});case 15:return d=b.sent,l=_objectSpread(_objectSpread({},f),{},{file:d,userInfo:g,game:e}),_.logger.info("cloudBuild: private(game)"),b.next=20,cloudBuildPrivate(l,a);case 20:h=b.sent;case 21:b.next=39;break;case 23:return m=getCloudBuildData(c),b.next=26,getFile({file:d,type:m.type});case 26:if(d=b.sent,n=_objectSpread(_objectSpread({},f),{},{userInfo:g,file:d}),"private"!==m.type){b.next=35;break}return _.logger.info("cloudBuild: private"),b.next=32,cloudBuildPrivate(n,a);case 32:h=b.sent,b.next=39;break;case 35:return _.logger.info("cloudBuild: public"),b.next=38,cloudBuildPrivate(n,a);case 38:h=b.sent;case 39:return _.logger.info("cloudBuild res",h),console.log(_chalk["default"].green("cloudBuild done")),b.abrupt("return",h);case 44:return b.prev=44,b.t0=b["catch"](1),_.logger.error("cloudBuild error",b.t0.message),b.next=49,(0,_.delay)(0);case 49:throw new Error(b.t0.message);case 50:case"end":return b.stop()}},b,null,[[1,44]])}));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,L;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.game,k=a.isCube,l=void 0!==k&&k,m=a.extraInfo,n=f.appId,o=getCloudBuildData(f),p=o.CLOUD_BUILD_EXEC_URL,q=o.CLOUD_BUILD_POLL_URL,r={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"},m))},l&&(r.extraBuildConfig=JSON.stringify({allowCube:!0})),s={value:_fsExtra["default"].readFileSync(d),options:{filename:"".concat(i,".tar"),contentType:"application/zip"}},_.logger.info("cloudBuild req",r),b.next=10,_superagent["default"].post(p).set("Cookie","LOCALE=".concat(null===(c=process)||void 0===c||null===(c=c.env)||void 0===c?void 0:c.VOL_NLS_CONFIG)).field(r).attach("file",s.value,s.options);case 10:if(t=b.sent,u=t.body,v=void 0===u?{}:u,_.logger.info("cloudBuild res",v),v.success){b.next=16;break}throw new Error(v.msg);case 16:return w=v.data.taskId,b.next=19,_pollBuildStatusAlipay({CLOUD_BUILD_POLL_URL:q,taskId:w});case 19:return x=b.sent,y=x.data,z=void 0===y?{}:y,A=z.zipFile,B=z.subPackages,C=void 0===B?[]:B,D=z.plugin,E=void 0===D?{}:D,F=E.artifactUrl,G=z.uploadParams,H=void 0===G?{}:G,I=H.extendInfo,J=A,K=F,b.next=25,mergePackageFile({zipFile:J,subPackages:C,h5Id:i,plugin:K,game:j});case 25:return L=b.sent,_.logger.info("get mergePackageFileJSON:",L),b.abrupt("return",{data:_objectSpread(_objectSpread({},L),{},{appxVersion:(0,_.getAppxVersion)({extendInfo:I}),originData:x}),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,H,I,J,K,L,M,N;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=a.userInfo,k=j||{},l=k.loginName,m=k.userId,n=g.appId,o=g.workspaceId,p=g.tenantId,q=g.sign,r=g.build_sign,s=getCloudBuildData(g),t=s.CLOUD_BUILD_EXEC_URL,u=s.CLOUD_BUILD_POLL_URL,v=s.PRIVATE_KEY_URL,w={value:_fsExtra["default"].readFileSync(e),options:{filename:"".concat(n,".amr"),contentType:"application/zip"}},x=r||q,b.next=9,getSignedUrl({appId:n,workspaceId:o,tenantId:p,loginName:l,userId:m,sign:x,path:EXEC_PATH,url:t,keyUrl:v});case 9:return y=b.sent,z=y.signedUrl,A=z||t,_.logger.info("cloudBuild private req",A,{appId:n,workspaceId:o,tenantId:p,h5Id:h,game:!!i}),b.next=15,_superagent["default"].post(A).set("Cookie","LOCALE=".concat(null===(c=process)||void 0===c||null===(c=c.env)||void 0===c?void 0:c.VOL_NLS_CONFIG)).set("sign",x).field({appId:n,workspaceId:o,tenantId:p,loginName:l,userId:m,h5Id:h,game:!!i}).attach("file",w.value,w.options);case 15:if(B=b.sent,C=B.body,D=void 0===C?{}:C,_.logger.info("cloudBuild res",D),D.success){b.next=21;break}throw new Error(D.message);case 21:return b.next=23,_pollBuildStatusPrivate({CLOUD_BUILD_POLL_URL:u,PRIVATE_KEY_URL:v,buildId:D.data,appId:n,workspaceId:o,tenantId:p,loginName:l,userId:m,sign:x});case 23:return E=b.sent,F=E.data,G=F.downloadUrl,H=F.pluginDownloadUrl,I=F.subPackages,J=void 0===I?[]:I,K=F.cubePackage,L=(null===K||void 0===K?void 0:K.downloadUrl)||G,M=H,b.next=30,mergePackageFile({zipFile:L,subPackages:J,h5Id:h,plugin:M,game:i});case 30:return N=b.sent,b.abrupt("return",{data:_objectSpread(_objectSpread({},N),{},{appxVersion:(0,_.getAppxVersion)({extendInfo:(null===F||void 0===F||null===(d=F.miniBuiltInfoContent)||void 0===d||null===(d=d.packageInfo)||void 0===d?void 0:d.extendInfo)||"{}"}),originData:E}),succes:!0});case 34:throw b.prev=34,b.t0=b["catch"](0),new Error(b.t0.message);case 37:case"end":return b.stop()}},b,null,[[0,34]])}));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,r,s,t,u;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,h=a.tenantId,i=a.loginName,j=a.userId,k=a.sign,b.prev=1,b.next=4,getSignedUrl({appId:f,workspaceId:g,tenantId:h,loginName:i,userId:j,sign:k,path:POLL_PATH,url:c,keyUrl:d});case 4:return o=b.sent,p=o.signedUrl,q=p||c,_.logger.info("pollBuildStatus req",q,{buildId:e}),b.next=10,_superagent["default"].get(q).set("Cookie","LOCALE=".concat(null===(l=process)||void 0===l||null===(l=l.env)||void 0===l?void 0:l.VOL_NLS_CONFIG)).set("sign",k).query({buildId:e});case 10:if(r=b.sent,s=r.body,t=void 0===s?{}:s,_.logger.info("pollBuildStatus res",{body:t}),t.success){b.next=16;break}throw new Error(t.message);case 16:if("FAILURE"!==(null===t||void 0===t||null===(m=t.data)||void 0===m?void 0:m.result)){b.next=18;break}throw new Error("Build failed: Detailed log at "+(null===t||void 0===t||null===(u=t.data)||void 0===u?void 0:u.logUrl));case 18:;if("SUCCESS"!==(null===t||void 0===t||null===(n=t.data)||void 0===n?void 0:n.result)){b.next=21;break}return b.abrupt("return",t);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,tenantId:h,loginName:i,userId:j,sign:k});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,m,n,o,p;return _regenerator["default"].wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=a.appId,d=a.workspaceId,e=a.tenantId,f=a.loginName,g=a.userId,h=a.sign,i=a.keyUrl,b.prev=1,_.logger.info("get private key for build_url req",i,{appId:c,workspaceId:d,tenantId:e,loginName:f,userId:g,sign:h,keyUrl:i}),k=i,b.next=6,_superagent["default"].get(k).set("Cookie","LOCALE=".concat(null===(j=process)||void 0===j||null===(j=j.env)||void 0===j?void 0:j.VOL_NLS_CONFIG)).set("sign",h).query({appId:c,workspaceId:d,tenantId:e,loginName:f,userId:g});case 6:if(l=b.sent,m=l.body,n=void 0===m?{}:m,o=n.data,p=void 0===o?{}:o,_.logger.info("get private key for build_url res",p),PRIVATE_KEY_CONFIG={appId:c,workspaceId:d,keyUrl:i},p.success){b.next=17;break}return _.logger.info("get private key for build_url error",p.message),b.abrupt("return","");case 17:return b.abrupt("return","-----BEGIN RSA PRIVATE KEY-----\n".concat(p.data,"\n-----END RSA PRIVATE KEY-----"));case 18:b.next=25;break;case 20:return b.prev=20,b.t0=b["catch"](1),_.logger.warn("GET private key failed",b.t0.message),PRIVATE_KEY_CONFIG={appId:c,workspaceId:d,keyUrl:i},b.abrupt("return","");case 25:case"end":return b.stop()}},b,null,[[1,20]])}));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,l,m,n,o;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.tenantId,f=a.loginName,g=a.userId,h=a.sign,i=a.url,j=a.keyUrl,k=a.path,(j!==PRIVATE_KEY_CONFIG.keyUrl||c!==PRIVATE_KEY_CONFIG.appId||d!==PRIVATE_KEY_CONFIG.workspaceId)&&(PRIVATE_KEY=null),null!==PRIVATE_KEY){b.next=7;break}return b.next=6,getOpenApiKeyForSignature({appId:c,workspaceId:d,tenantId:e,loginName:f,userId:g,sign:h,keyUrl:j});case 6:PRIVATE_KEY=b.sent;case 7:if(!PRIVATE_KEY){b.next=16;break}return l="appId=".concat(c,"&workspaceId=").concat(d,"×tamp=").concat(new Date().valueOf(),"&url=").concat(encodeURI(k)),m=Buffer.from(l),n=crypto.sign("RSA-SHA256",m,PRIVATE_KEY).toString("hex"),o="".concat(i,"?").concat(l,"&sign=").concat(n,"&tenantId=").concat(e,"&loginName=").concat(f,"&userId=").concat(g),_.logger.info("Get signed url: ",o),b.abrupt("return",{queryString:l,signature:n,signedUrl:o});case 16:return b.abrupt("return",{queryString:"",signature:"",signedUrl:i});case 17:b.next=22;break;case 19:throw b.prev=19,b.t0=b["catch"](0),new Error(b.t0.message);case 22:case"end":return b.stop()}},b,null,[[0,19]])}));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.1.0-alpha.
|
|
3
|
+
"version": "1.1.0-alpha.9",
|
|
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>",
|