miniprogram-ci 2.1.26 → 2.1.28
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 +4 -0
- package/README.md +4 -0
- package/dist/@types/ci/build-ipa.d.ts +1 -2
- package/dist/@types/ci/cos-upload.d.ts +17 -1
- package/dist/@types/ci/gamepkg/index.d.ts +0 -5
- package/dist/@types/ci/miniapp/iosCloudBuild.d.ts +1 -1
- package/dist/@types/ci/miniapp/iosLocalBuild.d.ts +1 -1
- package/dist/@types/ci/upload.d.ts +1 -0
- package/dist/@types/config/businesstype.d.ts +10 -0
- package/dist/@types/config/config.d.ts +1 -1
- package/dist/@types/config/url.config.d.ts +3 -0
- package/dist/@types/schema/@types/projectconfigjson.d.ts +1 -1
- package/dist/@types/utils/genTempFile.d.ts +1 -0
- package/dist/ci/android-miniapp-toolkit/dist/index.js +1 -1
- package/dist/ci/cos-upload.js +1 -1
- package/dist/ci/gamepkg/index.js +1 -1
- package/dist/ci/getCompiledResult.js +1 -1
- package/dist/ci/miniapp/upload.js +1 -1
- package/dist/ci/upload.js +1 -1
- package/dist/config/businesstype.js +1 -0
- package/dist/config/config.js +1 -1
- package/dist/config/url.config.js +1 -1
- package/dist/utils/asyncTask/index.js +1 -1
- package/dist/utils/cosUpload.js +1 -1
- package/dist/utils/genTempFile.js +1 -0
- package/npm-shrinkwrap.json +45371 -0
- package/package.json +4 -3
package/dist/ci/cos-upload.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadByCosSafely=exports.uploadByCos=exports.innerRequest=void 0;const tslib_1=require("tslib"),url_config_1=require("../config/url.config"),tools_1=require("../utils/tools"),request_1=require("../utils/request"),sign_1=require("../utils/sign"),pack_1=require("./utils/pack"),config_1=require("../config/config"),index_1=require("../utils/asyncTask/index"),log=tslib_1.__importStar(require("../utils/log")),jsonParse_1=require("../utils/jsonParse"),__1=require(".."),zlib=require("zlib"),crypto=require("crypto"),COS=require("cos-nodejs-sdk-v5");async function putBufferToCos(e,t){const r=new COS({Proxy:(0,request_1.getCiProxy)(),getAuthorization(e,r){r({TmpSecretId:t.secret_id,TmpSecretKey:t.secret_key,XCosSecurityToken:t.token,ExpiredTime:t.expired_time})}});try{return await new Promise((o,a)=>{r.putObject({Bucket:t.bucket,Region:"ap-shanghai",Key:t.object,Body:e,onProgress(e){}},(e,t)=>{if(e)return console.error(e),a(e.error);o(t)})})}catch(e){throw new Error("upload to cos failed: "+e.message)}}async function innerRequest(e,t){const r=await(0,request_1.request)({url:e,method:"post",body:t,headers:{"content-type":"application/json"}});let o;try{o=JSON.parse(r.body)}catch(t){const r=`request ${e} failed: resp body is not a valid json`;throw log.error(r),new Error(r)}if(0!==o.errCode){const e=`request failed, errCode: ${o.errCode}, errMsg: ${o.errMsg}`;throw log.error(e),new Error(e)}return o.data}async function uploadByCos(e,t,r,o){let a;try{const e=await(0,sign_1.getSignature)(r.privateKey,r.appid);a=await innerRequest(url_config_1.GET_UPLOAD_TOKEN,JSON.stringify({appid:r.appid,signature:e,robot:o}))}catch(e){return console.error("uploadToken error",e),{fallback:!0}}const i=e,s=crypto.randomBytes(12),n=crypto.createCipheriv("aes-256-gcm",Buffer.from(a.crypt_key,"base64"),s),u=Buffer.concat([n.update(i),n.final()]),c=n.getAuthTag(),p=Buffer.alloc(1);p.writeUInt8(c.length+s.length,0);const l=Buffer.concat([p,c,s,u]),d=Date.now();await putBufferToCos(l,a);const f=Date.now()-d,g=(0,tools_1.generateMD5)(i),_=await(0,sign_1.getSignature)(r.privateKey,r.appid),y=`${t}&task_id=${a.task_id}&new_hash=${g}&upload_cos_cost_time=${f}`;log.info("request url:",y);const w=await(0,request_1.request)({url:y,method:"post",body:zlib.gzipSync((0,pack_1.pack)({[index_1.SIGNATURE_FILE_NAME]:JSON.stringify({signature:_,version:config_1.CI_VERSION})}).buffer)});if(0!==(0,jsonParse_1.jsonRespParse)(w.body.toString(),t).errCode)throw new Error(w.body.toString());for(;;){const e=await(0,sign_1.getSignature)(r.privateKey,r.appid),t=await innerRequest(`${url_config_1.GET_ASYNC_RESULT}?task_id=${a.task_id}`,JSON.stringify({appid:r.appid,signature:e,robot:o}));if(1!==t.status){if(0===t.status)return{fallback:!1,body:t,uploadCOSCostTime:f};if(3===t.status)throw new Error(`upload failed with status ${t.status}, task not found`);throw new Error("upload failed with status "+t.status)}await new Promise(e=>{setTimeout(e,1e3)})}}async function uploadByCosSafely(e,t,r,o){let a;try{const e=await(0,sign_1.getSignature)(r.privateKey,r.appid);a=await innerRequest(url_config_1.GET_UPLOAD_INFO,JSON.stringify({appid:r.appid,signature:e,robot:o}))}catch(e){return console.error("getUploadInfo failed",e),{fallback:!0}}const i=crypto.randomBytes(12),s=crypto.createCipheriv("aes-256-gcm",Buffer.from(a.crypt_key,"base64"),i),n=Buffer.concat([s.update(e),s.final()]),u=s.getAuthTag();console.info("nonce:%s, nonce size:%d",i,i.length),console.info("tag:%s, tag size:%d",u,u.length),console.info("encrypted size:%d",n.length);const c=Buffer.alloc(1);c.writeUInt8(u.length+i.length,0);const p=Buffer.concat([c,u,i,n]),l=Date.now();try{await __1.cosUpload.uploadToCosCore({uploadBuf:p,region:"ap-shanghai",getUploadInfoFunc:async()=>a,getAuthFunc:async e=>{let t,i={},s={};switch(e.action){case"name/cos:InitiateMultipartUpload":i={uploads:""};break;case"name/cos:ListMultipartUploads":i={uploads:"",prefix:a.object},s={};break;case"name/cos:UploadPart":case"name/cos:ListParts":case"name/cos:CompleteMultipartUpload":i={uploadId:e.uploadId},s={};break;default:throw new Error("no action ")}try{const n=await(0,sign_1.getSignature)(r.privateKey,r.appid),u=await innerRequest(url_config_1.GET_UPLOAD_SIGN,JSON.stringify({appid:r.appid,signature:n,robot:o,signOpts:JSON.stringify({checksum:a.checksum,action:e.action,upload_id:e.uploadId,headers:s,params:i})}));t={Authorization:u.sign,SecurityToken:u.token,AuthExpireTime:u.expired_time}}catch(e){throw console.info("uploadToCos safely failed ,start fallback"),console.log(e),new Error("")}return t}})}catch(e){return{fallback:!0}}const d=Date.now()-l,f=(0,tools_1.generateMD5)(e),g=await(0,sign_1.getSignature)(r.privateKey,r.appid),_=`${t}&task_id=${a.task_id}&new_hash=${f}&upload_cos_cost_time=${d}`;log.info("request url:",_);const y=await(0,request_1.request)({url:_,method:"post",body:zlib.gzipSync((0,pack_1.pack)({[index_1.SIGNATURE_FILE_NAME]:JSON.stringify({signature:g,version:config_1.CI_VERSION})}).buffer)});if(0!==(0,jsonParse_1.jsonRespParse)(y.body.toString(),t).errCode)throw new Error(y.body.toString());for(;;){const e=await(0,sign_1.getSignature)(r.privateKey,r.appid),t=await innerRequest(`${url_config_1.GET_ASYNC_RESULT}?task_id=${a.task_id}`,JSON.stringify({appid:r.appid,signature:e,robot:o}));if(1!==t.status){if(0===t.status)return{fallback:!1,body:t,uploadCOSCostTime:d};if(3===t.status)throw new Error(`upload failed with status ${t.status}, task not found`);throw new Error("upload failed with status "+t.status)}await new Promise(e=>{setTimeout(e,1e3)})}}exports.innerRequest=innerRequest,exports.uploadByCos=uploadByCos,exports.uploadByCosSafely=uploadByCosSafely;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadByCosSafelyWithMultiUpload=exports.uploadByCosSafelyAsyncWithoutMulti=exports.uploadByCosSafely=exports.uploadByCos=exports.innerRequest=void 0;const tslib_1=require("tslib"),url_config_1=require("../config/url.config"),tools_1=require("../utils/tools"),request_1=require("../utils/request"),fs_1=tslib_1.__importDefault(require("fs")),sign_1=require("../utils/sign"),pack_1=require("./utils/pack"),config_1=require("../config/config"),index_1=require("../utils/asyncTask/index"),log=tslib_1.__importStar(require("../utils/log")),jsonParse_1=require("../utils/jsonParse"),cosUpload_1=require("../utils/cosUpload"),__1=require(".."),upload_1=require("./upload"),genTempFile_1=require("../utils/genTempFile"),zlib=require("zlib"),crypto=require("crypto"),COS=require("cos-nodejs-sdk-v5");async function putBufferToCos(e,t){const o=new COS({Proxy:(0,request_1.getCiProxy)(),getAuthorization(e,o){o({TmpSecretId:t.secret_id,TmpSecretKey:t.secret_key,XCosSecurityToken:t.token,ExpiredTime:t.expired_time})}});try{return await new Promise((a,r)=>{o.putObject({Bucket:t.bucket,Region:"ap-shanghai",Key:t.object,Body:e,onProgress(e){}},(e,t)=>{if(e)return console.error(e),r(e.error);a(t)})})}catch(e){throw new Error("upload to cos failed: "+e.message)}}async function innerRequest(e,t){const o=await(0,request_1.request)({url:e,method:"post",body:t,headers:{"content-type":"application/json"}});let a;try{a=JSON.parse(o.body)}catch(t){const o=`request ${e} failed: resp body is not a valid json`;throw log.error(o),new Error(o)}if(0!==a.errCode){const e=`request failed, errCode: ${a.errCode}, errMsg: ${a.errMsg}`;throw log.error(e),new Error(e)}return a.data}async function uploadByCos(e,t,o,a){let r;try{const e=await(0,sign_1.getSignature)(o.privateKey,o.appid);r=await innerRequest(url_config_1.GET_UPLOAD_TOKEN,JSON.stringify({appid:o.appid,signature:e,robot:a}))}catch(e){return console.error("uploadToken error",e),{fallback:!0}}const i=e,s=crypto.randomBytes(12),n=crypto.createCipheriv("aes-256-gcm",Buffer.from(r.crypt_key,"base64"),s),u=Buffer.concat([n.update(i),n.final()]),l=n.getAuthTag(),p=Buffer.alloc(1);p.writeUInt8(l.length+s.length,0);const c=Buffer.concat([p,l,s,u]),d=Date.now();await putBufferToCos(c,r);const f=Date.now()-d,g=(0,tools_1.generateMD5)(i),y=await(0,sign_1.getSignature)(o.privateKey,o.appid),_=`${t}&task_id=${r.task_id}&new_hash=${g}&upload_cos_cost_time=${f}`;log.info("request url:",_);const w=await(0,request_1.request)({url:_,method:"post",body:zlib.gzipSync((0,pack_1.pack)({[index_1.SIGNATURE_FILE_NAME]:JSON.stringify({signature:y,version:config_1.CI_VERSION})}).buffer)});if(0!==(0,jsonParse_1.jsonRespParse)(w.body.toString(),t).errCode)throw new Error(w.body.toString());for(;;){const e=await(0,sign_1.getSignature)(o.privateKey,o.appid),t=await innerRequest(`${url_config_1.GET_ASYNC_RESULT}?task_id=${r.task_id}`,JSON.stringify({appid:o.appid,signature:e,robot:a}));if(1!==t.status){if(0===t.status)return{fallback:!1,body:t,uploadCOSCostTime:f};if(3===t.status)throw new Error(`upload failed with status ${t.status}, task not found`);throw new Error("upload failed with status "+t.status)}await new Promise(e=>{setTimeout(e,1e3)})}}async function uploadByCosSafely(e,t,o,a,r,i){let s={};try{s=(0,genTempFile_1.genTempFile)(),fs_1.default.writeFileSync(s.name,e,"utf8")}catch(e){throw log.error("Error:",e),new Error(e.message)}return uploadByCosSafelyWithMultiUpload(s.name,t,o,a,{getUploadInfo:url_config_1.GET_MULTI_COS_UPLOAD_INFO,getUploadSign:url_config_1.GET_MULTI_COS_UPLOAD_SIGN,getAsyncResult:url_config_1.GET_MULTI_COS_ASYNC_RESULT,businessType:r},i)}async function uploadByCosSafelyAsyncWithoutMulti(e,t,o,a){let r;try{const e=await(0,sign_1.getSignature)(o.privateKey,o.appid);r=await innerRequest(url_config_1.GET_UPLOAD_INFO,JSON.stringify({appid:o.appid,signature:e,robot:a}))}catch(e){return console.error("getUploadInfo failed",e),{fallback:!0}}const i=crypto.randomBytes(12),s=crypto.createCipheriv("aes-256-gcm",Buffer.from(r.crypt_key,"base64"),i),n=Buffer.concat([s.update(e),s.final()]),u=s.getAuthTag();console.info("nonce size:%d",i.length),console.info("tag size:%d",u.length),console.info("encrypted size:%d",n.length);const l=Buffer.alloc(1);l.writeUInt8(u.length+i.length,0);const p=Buffer.concat([l,u,i,n]),c=Date.now();try{await __1.cosUpload.uploadToCosCore({uploadBuf:p,region:"ap-shanghai",getUploadInfoFunc:async()=>r,getAuthFunc:async e=>{let t,i={},s={};switch(e.action){case"name/cos:InitiateMultipartUpload":i={uploads:""};break;case"name/cos:ListMultipartUploads":i={uploads:"",prefix:r.object},s={};break;case"name/cos:UploadPart":case"name/cos:ListParts":case"name/cos:CompleteMultipartUpload":i={uploadId:e.uploadId},s={};break;default:throw new Error("no action ")}try{const n=await(0,sign_1.getSignature)(o.privateKey,o.appid),u=await innerRequest(url_config_1.GET_UPLOAD_SIGN,JSON.stringify({appid:o.appid,signature:n,robot:a,signOpts:JSON.stringify({checksum:r.checksum,action:e.action,upload_id:e.uploadId,headers:s,params:i})}));t={Authorization:u.sign,SecurityToken:u.token,AuthExpireTime:u.expired_time}}catch(e){throw console.info("uploadToCos safely failed ,start fallback"),console.log(e),new Error("")}return t}})}catch(e){return{fallback:!0}}const d=Date.now()-c,f=(0,tools_1.generateMD5)(e),g=await(0,sign_1.getSignature)(o.privateKey,o.appid),y=`${t}&task_id=${r.task_id}&new_hash=${f}&upload_cos_cost_time=${d}`;log.info("request url:",y);const _=await(0,request_1.request)({url:y,method:"post",body:zlib.gzipSync((0,pack_1.pack)({[index_1.SIGNATURE_FILE_NAME]:JSON.stringify({signature:g,version:config_1.CI_VERSION})}).buffer)});if(0!==(0,jsonParse_1.jsonRespParse)(_.body.toString(),t).errCode)throw new Error(_.body.toString());for(;;){const e=await(0,sign_1.getSignature)(o.privateKey,o.appid),t=await innerRequest(`${url_config_1.GET_ASYNC_RESULT}?task_id=${r.task_id}`,JSON.stringify({appid:o.appid,signature:e,robot:a}));if(1!==t.status){if(0===t.status)return{fallback:!1,body:t,uploadCOSCostTime:d};if(3===t.status)throw new Error(`upload failed with status ${t.status}, task not found`);throw new Error("upload failed with status "+t.status)}await new Promise(e=>{setTimeout(e,1e3)})}}async function uploadByCosSafelyWithMultiUpload(e,t,o,a,r,i){let s;const n=await(0,tools_1.generateFileMD5)(e),u=fs_1.default.statSync(e).size;if(log.info("[upload by cos multi version] rawSize: "+u),Math.ceil(u)<upload_1.MIN_COS_UPLOAD_SIZE)return log.error("[upload by cos multi version] file size must larger than 5M"),{fallback:!0};try{const e=await(0,sign_1.getSignature)(o.privateKey,o.appid),t=await innerRequest(r.getUploadInfo,JSON.stringify({appid:o.appid,signature:e,robot:a,rawSize:""+u,md5:n,busitype:r.businessType}));s=Object.assign(Object.assign({},t),t.upload_info)}catch(e){return log.error("[upload by cos multi version] getUploadInfo failed",e),{fallback:!0}}log.info("[upload by cos multi version] get upload info succcessfuly");const l=await(0,index_1.encryptLocalFile)(e,s),p=Date.now();try{await(0,cosUpload_1.uploadToCosCore)({uploadBuf:l,region:"ap-shanghai",onProgress:e=>{null==i||i(e);try{log.log(`[upload by cos multi version] percent: ${Math.floor(100*e.percent)}% loaded: ${e.loaded}bytes total: ${e.total}bytes`)}catch(e){}},getUploadInfoFunc:async()=>s,getAuthFunc:async e=>{let t,i={},n={};switch(e.action){case"name/cos:InitiateMultipartUpload":i={uploads:""};break;case"name/cos:ListMultipartUploads":i={uploads:"",prefix:s.object},n={};break;case"name/cos:UploadPart":case"name/cos:ListParts":case"name/cos:CompleteMultipartUpload":i={uploadId:e.uploadId},n={};break;default:throw log.error("[upload by cos multi version] cos upload no action"),new Error("[upload by cos multi version] cos upload no action")}try{const u=await(0,sign_1.getSignature)(o.privateKey,o.appid),l=await innerRequest(r.getUploadSign,JSON.stringify({appid:o.appid,signature:u,robot:a,signOpts:JSON.stringify({checksum:s.checksum,action:e.action,upload_id:e.uploadId,task_id:s.task_id,headers:n,params:i})}));t={Authorization:l.sign,SecurityToken:l.token,AuthExpireTime:l.expired_time}}catch(e){throw log.info("[upload by cos multi version] uploadToCos safely failed"),log.log(e),new Error("[upload by cos multi version] uploadToCos safely failed")}return t}})}catch(e){return log.error("[upload by cos multi version] getUploadInfo failed",e.message),{fallback:!0}}const c=Date.now()-p,d=""+fs_1.default.statSync(l).size,f=await(0,sign_1.getSignature)(o.privateKey,o.appid),g=`${t}&task_id=${s.task_id}&new_hash=${n}&upload_cos_cost_time=${c}&str_stored_size=${d}&async_ver=2`;log.info("[upload by cos multi version] request url:",g);const y=await(0,request_1.request)({url:g,method:"post",body:zlib.gzipSync((0,pack_1.pack)({[index_1.SIGNATURE_FILE_NAME]:JSON.stringify({signature:f,version:config_1.CI_VERSION})}).buffer)});if(0!==(0,jsonParse_1.jsonRespParse)(y.body.toString(),t).errCode)throw new Error(y.body.toString());for(;;){const e=await(0,sign_1.getSignature)(o.privateKey,o.appid),t=await innerRequest(`${r.getAsyncResult}?task_id=${s.task_id}`,JSON.stringify({appid:o.appid,signature:e,robot:a}));if(2!==t.status){if(3===t.status){const e=Date.now()-p;let o="";try{o=JSON.parse(t.result_json)}catch(e){throw log.error("[upload by cos multi version] upload failed with status "+e.message),e}return{fallback:!1,body:o,uploadCOSCostTime:e}}if(0===t.status)throw new Error(`[upload by cos multi version] upload failed with status ${t.status}, task not found`);throw new Error("[upload by cos multi version] upload failed with status "+t.status)}log.info("[upload by cos multi version] running async task..."),await new Promise(e=>{setTimeout(e,1e3)})}}exports.innerRequest=innerRequest,exports.uploadByCos=uploadByCos,exports.uploadByCosSafely=uploadByCosSafely,exports.uploadByCosSafelyAsyncWithoutMulti=uploadByCosSafelyAsyncWithoutMulti,exports.uploadByCosSafelyWithMultiUpload=uploadByCosSafelyWithMultiUpload;
|
package/dist/ci/gamepkg/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadGamePkg=void 0;const tslib_1=require("tslib"),url_config_1=require("../../config/url.config"),taskstatus_1=require("../../utils/taskstatus"),querystring_1=tslib_1.__importDefault(require("querystring")),cos_upload_1=require("../cos-upload"),fs_1=tslib_1.__importDefault(require("fs")),log=tslib_1.__importStar(require("../../utils/log")),progressupdate_1=require("../utils/progressupdate"),locales_1=tslib_1.__importDefault(require("../../utils/locales/locales")),businesstype_1=require("../../config/businesstype");async function uploadGamePkg(e){if(!fs_1.default.existsSync(e.pkgPath||"")||fs_1.default.statSync(e.pkgPath).isDirectory())throw new Error("[upload game pkg]failed! cant find file: "+e.pkgPath);const s=(0,progressupdate_1.transProgressUpdate)(e.onProgressUpdate||(()=>{})),t={appid:e.project.appid,version:e.version,desc:e.desc,robot:e.robot},o=`${url_config_1.GAME_PKG_UPLOAD_URL}?${querystring_1.default.stringify(t)}`,r=new taskstatus_1.TaskStatus(locales_1.default.config.UPLOAD.toString());s(r);const{fallback:a,uploadCOSCostTime:i}=await(0,cos_upload_1.uploadByCosSafelyWithMultiUpload)(e.pkgPath,o,e.project,e.robot,{getUploadInfo:url_config_1.GET_GAME_PKG_UPLOAD_INFO,getUploadSign:url_config_1.GET_GAME_PKG_UPLOAD_SIGN,getAsyncResult:url_config_1.GET_GAME_PKG_ASYNC_RESULT,businessType:businesstype_1.BUSINESS_TYPE.BusiType_UploadApkPlugin},e.onProgressUpdate);return null!=i||log.log("[upload game pkg] total cost time : "+i),a&&log.error("[upload game pkg] failed!"),r.done(),s(r),{success:!a}}exports.uploadGamePkg=uploadGamePkg;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCompiledResult=void 0;const tslib_1=require("tslib"),fs_extra_1=tslib_1.__importDefault(require("fs-extra")),config_1=require("../config/config"),error_1=require("../utils/error"),locales_1=tslib_1.__importDefault(require("../utils/locales/locales")),cache_1=require("../utils/cache"),progressupdate_1=require("./utils/progressupdate"),jszip_1=tslib_1.__importDefault(require("jszip")),path_1=tslib_1.__importDefault(require("path")),getcompiler_1=require("./getcompiler"),tools_1=require("./utils/tools");async function getCompiledResult(e,t){const{project:r,setting:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCompiledResult=void 0;const tslib_1=require("tslib"),fs_extra_1=tslib_1.__importDefault(require("fs-extra")),config_1=require("../config/config"),error_1=require("../utils/error"),locales_1=tslib_1.__importDefault(require("../utils/locales/locales")),cache_1=require("../utils/cache"),progressupdate_1=require("./utils/progressupdate"),jszip_1=tslib_1.__importDefault(require("jszip")),path_1=tslib_1.__importDefault(require("path")),getcompiler_1=require("./getcompiler"),tools_1=require("./utils/tools");async function getCompiledResult(e,t){const{project:r,setting:s={},onProgressUpdate:o=(()=>{}),threads:i=0,includedMap:a=!1}=e;if(process.env.COMPILE_THREADS=i.toString(),!r)throw new error_1.CodeError(locales_1.default.config.PARAM_ERROR.format("upload","project"),config_1.PARAM_ERROR);cache_1.cacheManager.clean();const l=await(0,getcompiler_1.getCompiler)(r,s),p=await l.compile({setting:(0,tools_1.formatCISetting)(r,s),onProgressUpdate:(0,progressupdate_1.transProgressUpdate)(o),resultType:"prod",disableSpreadingUsingComponents:!0}),u={};if(Object.keys(p).sort().forEach(e=>{e.endsWith("js.map")&&!a||(u[e]=p[e])}),t){const e=new jszip_1.default;Object.keys(u).forEach(t=>{e.folder(path_1.default.dirname(t)).file(path_1.default.basename(t),u[t])});const r=await e.generateAsync({type:"nodebuffer"});fs_extra_1.default.ensureDirSync(path_1.default.dirname(t)),fs_extra_1.default.writeFileSync(t,r)}return u}exports.getCompiledResult=getCompiledResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.upload=void 0;const tslib_1=require("tslib"),cache_1=require("../../utils/cache"),locales_1=tslib_1.__importDefault(require("../../utils/locales/locales")),config_1=require("../../config/config"),getcompiler_1=require("../getcompiler"),tools_1=require("../utils/tools"),moment_1=tslib_1.__importDefault(require("moment")),url_config_1=require("../../config/url.config"),sign_1=require("../../utils/sign"),taskstatus_1=require("../../utils/taskstatus"),pack_1=require("../utils/pack"),log=tslib_1.__importStar(require("../../utils/log")),querystring_1=tslib_1.__importDefault(require("querystring")),zlib_1=tslib_1.__importDefault(require("zlib")),request_1=require("../../utils/request"),jsonParse_1=require("../../utils/jsonParse"),progressupdate_1=require("../utils/progressupdate"),asyncTask_1=require("../../utils/asyncTask");function getMiniappBuildQuery(e){var i,t,o,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.upload=void 0;const tslib_1=require("tslib"),cache_1=require("../../utils/cache"),locales_1=tslib_1.__importDefault(require("../../utils/locales/locales")),config_1=require("../../config/config"),getcompiler_1=require("../getcompiler"),tools_1=require("../utils/tools"),moment_1=tslib_1.__importDefault(require("moment")),url_config_1=require("../../config/url.config"),sign_1=require("../../utils/sign"),taskstatus_1=require("../../utils/taskstatus"),pack_1=require("../utils/pack"),log=tslib_1.__importStar(require("../../utils/log")),querystring_1=tslib_1.__importDefault(require("querystring")),zlib_1=tslib_1.__importDefault(require("zlib")),request_1=require("../../utils/request"),jsonParse_1=require("../../utils/jsonParse"),progressupdate_1=require("../utils/progressupdate"),asyncTask_1=require("../../utils/asyncTask");function getMiniappBuildQuery(e){var i,t,r,o,s,n;const a=(0,moment_1.default)(new Date).format("YYYY-MM-DD-HH-mm-ss"),p={gzip:1,cross_platform_app:1,"user-version":encodeURIComponent(e.version||"miniapp-release-d-"+a),"user-desc":encodeURIComponent(e.desc||"miniapp-release-d-"+a),os_type:"mini-android"===e.targetPlatform?2:1,debug_extra_info:"miniappPkgType-"+(null===(i=e.miniappOptions)||void 0===i?void 0:i.miniappPkgType)};return(null===(t=e.miniappOptions)||void 0===t?void 0:t.uploadId)&&(p.upload_id=null===(r=e.miniappOptions)||void 0===r?void 0:r.uploadId),(null===(o=e.miniappOptions)||void 0===o?void 0:o.useCloudSync)&&(p.use_cloud_sync=1),(null===(s=e.miniappOptions)||void 0===s?void 0:s.archVersion)&&(p.arch_version=null===(n=e.miniappOptions)||void 0===n?void 0:n.archVersion),p}async function upload(e){const{project:i,setting:t={useProjectConfig:!1},robot:r="1",threads:o=0,onProgressUpdate:s=(()=>{})}=e,n=(0,progressupdate_1.transProgressUpdate)(s);process.env.COMPILE_THREADS=o.toString(),cache_1.cacheManager.clean();const a=(0,tools_1.formatCISetting)(i,t);i.setting=a;const p=e.targetPlatform;i.setting.targetPlatform=p;const u=await(0,getcompiler_1.getBuilder)(i,{targetPlatform:p}),l=await u.getCompiler(),c=await l.compile({setting:a,onProgressUpdate:n,resultType:"prod",disableSpreadingUsingComponents:!0});u.destroy();const d=config_1.CI_VERSION,_=encodeURIComponent(JSON.stringify(getMiniappBuildQuery(e))),g={appid:i.appid,robot:r,miniapparchivequery:_};try{const e=new taskstatus_1.TaskStatus(locales_1.default.config.UPLOAD.toString());n(e);const t=`${url_config_1.miniappUpload}?${querystring_1.default.stringify(g)}`,r=await(0,sign_1.getSignature)(i.privateKey,i.appid);c[asyncTask_1.SIGNATURE_FILE_NAME]=JSON.stringify({signature:r,version:d});const o=(0,pack_1.pack)(c),s=zlib_1.default.gzipSync(o.buffer);log.info("request url:",t);const a=(await(0,request_1.request)({url:t,method:"post",body:s})).body.toString(),p=(0,jsonParse_1.jsonRespParse)(a,t);if(0!==p.errCode)throw new Error(a);e.done(),n(e);const u={respBody:p.body};if(Array.isArray(p.body.subpackage_info)){const e=p.body.subpackage_info;u.subPackageInfo=e,u.useSubPkg=e.length>1}if(Array.isArray(p.body.ext_plugin_info)){const e=p.body.ext_plugin_info;u.pluginInfo=e.map(e=>({pluginProviderAppid:e.provider,version:e.version,size:e.size}))}return u}catch(e){throw e}}exports.upload=upload;
|
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"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.innerUpload=exports.upload=exports.MIN_COS_UPLOAD_SIZE=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"),businesstype_1=require("../config/businesstype");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,onProgressUpdate:_=(()=>{})}=e,d=(0,progressupdate_1.transProgressUpdate)(_);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 g=await(0,getcompiler_1.getCompiler)(o,r),f=(0,tools_2.formatCISetting)(o,r),y=await g.compile({setting:f,onProgressUpdate:d,resultType:"prod",disableSpreadingUsingComponents:!0}),b=config_1.CI_VERSION,S={codeprotect:r.codeProtect?1:0,type:o.type,appid:o.appid,version:i,desc:t,robot:s},P={scene:e.scene||1011};let q;a&&(P.path=a,S.path=a),l&&(P.query=querystring_1.default.parse(l)),S.debugLaunchInfo=JSON.stringify(P),a&&l&&(S.path+="?"+l),n&&p&&(S.bigPackageSizeSupport=1);let m={};try{q=await o.getFile(o.miniprogramRoot,"ext.json"),m=JSON.parse(q.toString("utf-8"))}catch(e){}if(m&&(m.extEnable&&(S.extAppId=m.extAppid),m.directCommit)){let e="";e=m.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 r=new taskstatus_1.TaskStatus(locales_1.default.config.UPLOAD.toString());d(r);const t=`${n?url_config_1.TEST_SOURCE_URL:url_config_1.UPLOAD_URL}?${querystring_1.default.stringify(S)}`;let i,a=!1,l=0;const u=(0,pack_1.pack)(y),p=zlib_1.default.gzipSync(u.buffer);if(log.info("useCOS parameter: ",c),log.info("upload zip buffer size: ",p.length),void 0===c&&(c=p.length>exports.MIN_COS_UPLOAD_SIZE),c){log.info("upload by COS: ",c);const r=await(0,cos_upload_1.uploadByCosSafely)(p,t,o,s,n?businesstype_1.BUSINESS_TYPE.BusiType_TestSource:businesstype_1.BUSINESS_TYPE.BusiType_CommitSource,e.onProgressUpdate);r.fallback?(a=r.fallback,log.info("upload by COS failed, fallback to http way")):(i={body:r.body},l=r.uploadCOSCostTime)}if(!c||a){const e=await(0,sign_1.getSignature)(o.privateKey,o.appid);y[index_1.SIGNATURE_FILE_NAME]=JSON.stringify({signature:e,version:b});const r=(0,pack_1.pack)(y),s=zlib_1.default.gzipSync(r.buffer);log.info("request url:",t);const n=(await(0,request_1.request)({url:t,method:"post",body:s})).body.toString();if(i=(0,jsonParse_1.jsonRespParse)(n,t),0!==i.errCode)throw new Error(n)}r.done(),d(r);const _={respBody:i.body};if(Array.isArray(i.body.subpackage_info)){const e=i.body.subpackage_info;_.subPackageInfo=e}if(Array.isArray(i.body.ext_plugin_info)){const e=i.body.ext_plugin_info;_.pluginInfo=e.map(e=>({pluginProviderAppid:e.provider,version:e.version,size:e.size}))}return g.destroy(),_}catch(e){throw new error_1.CodeError(e.toString(),config_1.UPLOAD_CGI_ERR)}}exports.MIN_COS_UPLOAD_SIZE=5242880,exports.upload=upload,exports.innerUpload=innerUpload;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.BUSINESS_TYPE=void 0,exports.BUSINESS_TYPE={BusiType_UploadApkPlugin:2,BusiType_UploadCpfPlugin:3,BusiType_TestSource:10,BusiType_CommitSource:11,BusiType_BuildSource:12,BusiType_CompileSource:13,BusiType_AiCommitSource:21};
|
package/dist/config/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var COMPILE_TYPE,AstType,EFilterCode;function getDefaultIgnores(e){const _=["node_modules/**/*","**/node_modules/**","**/.git/**",".git/**/*","**/.svn/**",".svn/**/*",".DS_Store","**/.DS_Store"];return"multiPlatform"===e.projectArchitecture&&_.push(exports.multiPlatformRoot+"/**/*"),_}Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_CODE_LENGTH=exports.EFilterCode=exports.AstType=exports.compileTypeConfig=exports.getDefaultIgnores=exports.FullPkg=exports.MainPkg=exports.multiPlatformRoot=exports.extendedLibMap=exports.jsonVariablePropertyWhiteList=exports.DefaultProjectAttr=exports.TABBAR_ICON_WHITE_LIST=exports.COMPILE_TYPE=exports.APP_TYPE=exports.MINI_GAME_WORKERS_PACKAGE_ROOT=exports.MINI_GAME_MAIN_PACKAGE_ROOT=exports.MINI_PROGRAM_MAIN_PACKAGE_ROOT=exports.PROJECT_TYPE_ERROR=exports.GET_LATEST_VERSION_CGI_ERR=exports.UPLOAD_JS_SERVER_CGI_ERR=exports.CODE_PROTECT_TRANSLATE_FILENAME=exports.UPLOAD_CGI_ERR=exports.GENERATE_LOCAL_SIGNATURE_ERR=exports.GET_SIGNATURE_RAND_STRING_ERR=exports.APP_JSON_NOT_FOUND=exports.JSON_CONTENT_ERR=exports.FILE_NOT_UTF8=exports.JSON_PARSE_ERR=exports.FILE_NOT_FOUND=exports.PLUGIN_JSON_PARSE_ERR=exports.PLUGIN_JSON_CONTENT_ERR=exports.PLUGIN_JSON_FILE_NOT_FOUND=exports.GAME_PLUGIN_LIB_MD5_NOT_MATCH=exports.SUMMER_PLUGIN_CODE_ERR=exports.SUMMER_PLUGIN_ERR=exports.MINIFY_WXML_ERR=exports.POST_WXSS_ERR=exports.FILE_FLAT_ERR=exports.JS_ES6_ERR=exports.BABILI_JS_ERR=exports.UGLIFY_JS_ERR=exports.BABEL_TRANS_JS_ERR=exports.JS_NOT_FOUND=exports.WXML_NOT_FOUND=exports.PARAM_ERROR=exports.CI_VERSION=void 0,exports.CI_VERSION="2.1.
|
|
1
|
+
"use strict";var COMPILE_TYPE,AstType,EFilterCode;function getDefaultIgnores(e){const _=["node_modules/**/*","**/node_modules/**","**/.git/**",".git/**/*","**/.svn/**",".svn/**/*",".DS_Store","**/.DS_Store"];return"multiPlatform"===e.projectArchitecture&&_.push(exports.multiPlatformRoot+"/**/*"),_}Object.defineProperty(exports,"__esModule",{value:!0}),exports.MAX_CODE_LENGTH=exports.EFilterCode=exports.AstType=exports.compileTypeConfig=exports.getDefaultIgnores=exports.FullPkg=exports.MainPkg=exports.multiPlatformRoot=exports.extendedLibMap=exports.jsonVariablePropertyWhiteList=exports.DefaultProjectAttr=exports.TABBAR_ICON_WHITE_LIST=exports.COMPILE_TYPE=exports.APP_TYPE=exports.MINI_GAME_WORKERS_PACKAGE_ROOT=exports.MINI_GAME_MAIN_PACKAGE_ROOT=exports.MINI_PROGRAM_MAIN_PACKAGE_ROOT=exports.PROJECT_TYPE_ERROR=exports.GET_LATEST_VERSION_CGI_ERR=exports.UPLOAD_JS_SERVER_CGI_ERR=exports.CODE_PROTECT_TRANSLATE_FILENAME=exports.UPLOAD_CGI_ERR=exports.GENERATE_LOCAL_SIGNATURE_ERR=exports.GET_SIGNATURE_RAND_STRING_ERR=exports.APP_JSON_NOT_FOUND=exports.JSON_CONTENT_ERR=exports.FILE_NOT_UTF8=exports.JSON_PARSE_ERR=exports.FILE_NOT_FOUND=exports.PLUGIN_JSON_PARSE_ERR=exports.PLUGIN_JSON_CONTENT_ERR=exports.PLUGIN_JSON_FILE_NOT_FOUND=exports.GAME_PLUGIN_LIB_MD5_NOT_MATCH=exports.SUMMER_PLUGIN_CODE_ERR=exports.SUMMER_PLUGIN_ERR=exports.MINIFY_WXML_ERR=exports.POST_WXSS_ERR=exports.FILE_FLAT_ERR=exports.JS_ES6_ERR=exports.BABILI_JS_ERR=exports.UGLIFY_JS_ERR=exports.BABEL_TRANS_JS_ERR=exports.JS_NOT_FOUND=exports.WXML_NOT_FOUND=exports.PARAM_ERROR=exports.CI_VERSION=void 0,exports.CI_VERSION="2.1.28",exports.PARAM_ERROR=1e4,exports.WXML_NOT_FOUND=10007,exports.JS_NOT_FOUND=10008,exports.BABEL_TRANS_JS_ERR=10032,exports.UGLIFY_JS_ERR=10033,exports.BABILI_JS_ERR=10034,exports.JS_ES6_ERR=10035,exports.FILE_FLAT_ERR=10036,exports.POST_WXSS_ERR=10037,exports.MINIFY_WXML_ERR=10038,exports.SUMMER_PLUGIN_ERR=10045,exports.SUMMER_PLUGIN_CODE_ERR=10046,exports.GAME_PLUGIN_LIB_MD5_NOT_MATCH=10081,exports.PLUGIN_JSON_FILE_NOT_FOUND=10091,exports.PLUGIN_JSON_CONTENT_ERR=10092,exports.PLUGIN_JSON_PARSE_ERR=10093,exports.FILE_NOT_FOUND=10005,exports.JSON_PARSE_ERR=10006,exports.FILE_NOT_UTF8=10031,exports.JSON_CONTENT_ERR=10009,exports.APP_JSON_NOT_FOUND=2e4,exports.GET_SIGNATURE_RAND_STRING_ERR=20001,exports.GENERATE_LOCAL_SIGNATURE_ERR=20002,exports.UPLOAD_CGI_ERR=20003,exports.CODE_PROTECT_TRANSLATE_FILENAME=20004,exports.UPLOAD_JS_SERVER_CGI_ERR=20005,exports.GET_LATEST_VERSION_CGI_ERR=20006,exports.PROJECT_TYPE_ERROR=3e4,exports.MINI_PROGRAM_MAIN_PACKAGE_ROOT="__APP__",exports.MINI_GAME_MAIN_PACKAGE_ROOT="__GAME__",exports.MINI_GAME_WORKERS_PACKAGE_ROOT="workers.js",exports.APP_TYPE={NORMAL:0,PLUGIN:1,SHOP:2,MINISHOP:3,GAME:4,CARD:5,NATIVE:7},function(e){e.miniProgram="miniProgram",e.miniProgramPlugin="miniProgramPlugin",e.miniGame="miniGame",e.miniGamePlugin="miniGamePlugin"}(COMPILE_TYPE=exports.COMPILE_TYPE||(exports.COMPILE_TYPE={})),exports.TABBAR_ICON_WHITE_LIST=[".png",".jpg",".jpeg"],exports.DefaultProjectAttr={platform:!1,appType:0,isSandbox:!1,released:!1,setting:{MaxCodeSize:2,MaxSubpackageSubCodeSize:2,MaxSubpackageFullCodeSize:12,NavigateMiniprogramLimit:10,MaxSubPackageLimit:100,MinTabbarCount:2,MaxTabbarCount:5,MaxCustomTabbarCount:10,MaxTabbarIconSize:40}},exports.jsonVariablePropertyWhiteList={windowPropertWhiteList:["navigationBarBackgroundColor","navigationBarTextStyle","backgroundColor","backgroundTextStyle","backgroundColorTop","backgroundColorBottom","backgroundColorContent"],tabBarPropertyWhiteList:["color","selectedColor","backgroundColor","borderStyle"],tabbarListItemPropertyWhiteList:["iconPath","selectedIconPath"]},exports.extendedLibMap={kbone:{packages:["miniprogram-element","miniprogram-render"]},weui:{packages:["weui-miniprogram"]}},exports.multiPlatformRoot="miniapp",exports.MainPkg="__APP__",exports.FullPkg="__FULL__",exports.getDefaultIgnores=getDefaultIgnores,exports.compileTypeConfig={weapp:"weapp",game:"game",plugin:"plugin",gamePlugin:"gamePlugin"},function(e){e.Babel="babel",e.Acorn="acorn"}(AstType=exports.AstType||(exports.AstType={})),function(e){e[e.Include=0]="Include",e[e.PackOptionsIgnore=1]="PackOptionsIgnore",e[e.AnalyseNoUse=2]="AnalyseNoUse",e[e.PartialCompileNoUse=3]="PartialCompileNoUse"}(EFilterCode=exports.EFilterCode||(exports.EFilterCode={})),exports.MAX_CODE_LENGTH=2048e3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getUsedPluginVersionInfo=exports.downloadMiniAppPlugin=exports.getPkgWxapkg=exports.miniappUpload=exports.getCloudBuildPkgUrl=exports.getCloudBuildTaskList=exports.uploadCloudBuildResourcePack=exports.getSdkIntInfo=exports.getAsyncResult=exports.testSourceNewFeatureURL=exports.testSourceURL=exports.getUploadToken=exports.commitSourceURL=exports.commitSourceNewFeatureURL=exports.tcbTencentCloudUrl=exports.dbTencentCloudUrl=exports.scfTencentCloudUrl=exports.cloudCosUploadURL=exports.get3rdCloudCodeSecret=exports.cloudAPIAgentURL=exports.GET_LATEST_VERSION=exports.UPLOAD_JS_SERVER=exports.GET_UPLOAD_SIGN=exports.GET_UPLOAD_INFO=exports.GET_PLUG_PKG_CHECK_USERVERSION=exports.GET_PLUG_PKG_GET_URL=exports.GET_PLUG_PKG_GET_LIST=exports.GET_GAME_PKG_UPLOAD_SIGN=exports.GET_GAME_PKG_UPLOAD_INFO=exports.GET_GAME_PKG_ASYNC_RESULT=exports.GAME_PKG_UPLOAD_URL=exports.GET_ASYNC_RESULT=exports.GET_UPLOAD_TOKEN=exports.GET_CLOUD_API_SIGNATURE=exports.TRANSLATE_FILENAME=exports.GET_DEV_SOURCE_MAP=exports.GET_RAND_STRING=exports.GET_ONLINE_SCHEMA=exports.GET_WHITE_EXT_LIST=exports.TEST_SOURCE_URL=exports.UPLOAD_URL=exports.GET_ATTR_URL=void 0;const Domain="https://servicewechat.com";exports.GET_ATTR_URL=Domain+"/wxa/ci/getattr",exports.UPLOAD_URL=Domain+"/wxa/ci/upload",exports.TEST_SOURCE_URL=Domain+"/wxa/ci/testSourceURL",exports.GET_WHITE_EXT_LIST=Domain+"/wxa/ci/getwhiteextlist",exports.GET_ONLINE_SCHEMA=Domain+"/wxa/ci/getonlineschema",exports.GET_RAND_STRING=Domain+"/wxa/ci/getrandstr",exports.GET_DEV_SOURCE_MAP=Domain+"/wxa/ci/get_dev_sourcemap",exports.TRANSLATE_FILENAME=Domain+"/wxa/ci/translate_filename",exports.GET_CLOUD_API_SIGNATURE=Domain+"/wxa/ci/getqcloudapisignature",exports.GET_UPLOAD_TOKEN=Domain+"/wxa/ci/getuploadtoken",exports.GET_ASYNC_RESULT=Domain+"/wxa/ci/getasyncresult",exports.GAME_PKG_UPLOAD_URL=Domain+"/wxa/ci/gamepkgupload",exports.GET_GAME_PKG_ASYNC_RESULT=Domain+"/wxa/ci/getgamepkgasyncresult",exports.GET_GAME_PKG_UPLOAD_INFO=Domain+"/wxa/ci/getgamepkguploadinfo",exports.GET_GAME_PKG_UPLOAD_SIGN=Domain+"/wxa/ci/getgamepkguploadsign",exports.GET_PLUG_PKG_GET_LIST=Domain+"/wxa/ci/apkpluggetlist",exports.GET_PLUG_PKG_GET_URL=Domain+"/wxa/ci/apkpluggeturl",exports.GET_PLUG_PKG_CHECK_USERVERSION=Domain+"/wxa/ci/apkplugcheckuserversion",exports.GET_UPLOAD_INFO=Domain+"/wxa/ci/getuploadinfo",exports.GET_UPLOAD_SIGN=Domain+"/wxa/ci/getuploadsign",exports.UPLOAD_JS_SERVER=Domain+"/wxa/ci/uploadjsserver",exports.GET_LATEST_VERSION=Domain+"/wxa/ci/getlatestversion",exports.cloudAPIAgentURL=Domain+"/wxa/ci/cloudapihttpagent",exports.get3rdCloudCodeSecret=Domain+"/wxa/ci/getcloudcodesecret",exports.cloudCosUploadURL=Domain+"/wxa/ci/cloudcosupload",exports.scfTencentCloudUrl="https://scf.tencentcloudapi.com",exports.dbTencentCloudUrl="https://flexdb.tencentcloudapi.com",exports.tcbTencentCloudUrl="https://tcb.tencentcloudapi.com",exports.commitSourceNewFeatureURL=Domain+"wxa-dev-new/commitsource",exports.commitSourceURL=Domain+"wxa-dev/commitsource",exports.getUploadToken=Domain+"wxa-dev/getuploadtoken",exports.testSourceURL=Domain+"wxa-dev/testsource",exports.testSourceNewFeatureURL=Domain+"wxa-dev-new/testsource",exports.getAsyncResult=Domain+"wxa-dev/getasyncresult",exports.getSdkIntInfo=Domain+"/wxa/ci/getsdkinitinfo",exports.uploadCloudBuildResourcePack=Domain+"/wxa/ci/uploadcloudbuildresourcepack",exports.getCloudBuildTaskList=Domain+"/wxa/ci/getcloudbuildtasklist",exports.getCloudBuildPkgUrl=Domain+"/wxa/ci/getcloudbuildpkgurl",exports.miniappUpload=Domain+"/wxa/ci/miniappupload",exports.getPkgWxapkg=Domain+"/wxa/ci/downloadpackage",exports.downloadMiniAppPlugin=Domain+"/wxa/ci/downloadcpfplugin",exports.getUsedPluginVersionInfo=Domain+"/wxa/ci/getcpfusedpluginversioninfo";
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getUsedPluginVersionInfo=exports.downloadMiniAppPlugin=exports.getPkgWxapkg=exports.miniappUpload=exports.getCloudBuildPkgUrl=exports.getCloudBuildTaskList=exports.uploadCloudBuildResourcePack=exports.getSdkIntInfo=exports.getAsyncResult=exports.testSourceNewFeatureURL=exports.testSourceURL=exports.getUploadToken=exports.commitSourceURL=exports.commitSourceNewFeatureURL=exports.tcbTencentCloudUrl=exports.dbTencentCloudUrl=exports.scfTencentCloudUrl=exports.cloudCosUploadURL=exports.get3rdCloudCodeSecret=exports.cloudAPIAgentURL=exports.GET_LATEST_VERSION=exports.UPLOAD_JS_SERVER=exports.GET_UPLOAD_SIGN=exports.GET_UPLOAD_INFO=exports.GET_PLUG_PKG_CHECK_USERVERSION=exports.GET_PLUG_PKG_GET_URL=exports.GET_PLUG_PKG_GET_LIST=exports.GET_MULTI_COS_UPLOAD_SIGN=exports.GET_MULTI_COS_UPLOAD_INFO=exports.GET_MULTI_COS_ASYNC_RESULT=exports.GET_GAME_PKG_UPLOAD_SIGN=exports.GET_GAME_PKG_UPLOAD_INFO=exports.GET_GAME_PKG_ASYNC_RESULT=exports.GAME_PKG_UPLOAD_URL=exports.GET_ASYNC_RESULT=exports.GET_UPLOAD_TOKEN=exports.GET_CLOUD_API_SIGNATURE=exports.TRANSLATE_FILENAME=exports.GET_DEV_SOURCE_MAP=exports.GET_RAND_STRING=exports.GET_ONLINE_SCHEMA=exports.GET_WHITE_EXT_LIST=exports.TEST_SOURCE_URL=exports.UPLOAD_URL=exports.GET_ATTR_URL=void 0;const Domain="https://servicewechat.com";exports.GET_ATTR_URL=Domain+"/wxa/ci/getattr",exports.UPLOAD_URL=Domain+"/wxa/ci/upload",exports.TEST_SOURCE_URL=Domain+"/wxa/ci/testSourceURL",exports.GET_WHITE_EXT_LIST=Domain+"/wxa/ci/getwhiteextlist",exports.GET_ONLINE_SCHEMA=Domain+"/wxa/ci/getonlineschema",exports.GET_RAND_STRING=Domain+"/wxa/ci/getrandstr",exports.GET_DEV_SOURCE_MAP=Domain+"/wxa/ci/get_dev_sourcemap",exports.TRANSLATE_FILENAME=Domain+"/wxa/ci/translate_filename",exports.GET_CLOUD_API_SIGNATURE=Domain+"/wxa/ci/getqcloudapisignature",exports.GET_UPLOAD_TOKEN=Domain+"/wxa/ci/getuploadtoken",exports.GET_ASYNC_RESULT=Domain+"/wxa/ci/getasyncresult",exports.GAME_PKG_UPLOAD_URL=Domain+"/wxa/ci/gamepkgupload",exports.GET_GAME_PKG_ASYNC_RESULT=Domain+"/wxa/ci/getgamepkgasyncresult",exports.GET_GAME_PKG_UPLOAD_INFO=Domain+"/wxa/ci/getgamepkguploadinfo",exports.GET_GAME_PKG_UPLOAD_SIGN=Domain+"/wxa/ci/getgamepkguploadsign",exports.GET_MULTI_COS_ASYNC_RESULT=Domain+"/wxa/ci/getmulticosasyncresult",exports.GET_MULTI_COS_UPLOAD_INFO=Domain+"/wxa/ci/getmulticosuploadinfo",exports.GET_MULTI_COS_UPLOAD_SIGN=Domain+"/wxa/ci/getmulticosuploadsign",exports.GET_PLUG_PKG_GET_LIST=Domain+"/wxa/ci/apkpluggetlist",exports.GET_PLUG_PKG_GET_URL=Domain+"/wxa/ci/apkpluggeturl",exports.GET_PLUG_PKG_CHECK_USERVERSION=Domain+"/wxa/ci/apkplugcheckuserversion",exports.GET_UPLOAD_INFO=Domain+"/wxa/ci/getuploadinfo",exports.GET_UPLOAD_SIGN=Domain+"/wxa/ci/getuploadsign",exports.UPLOAD_JS_SERVER=Domain+"/wxa/ci/uploadjsserver",exports.GET_LATEST_VERSION=Domain+"/wxa/ci/getlatestversion",exports.cloudAPIAgentURL=Domain+"/wxa/ci/cloudapihttpagent",exports.get3rdCloudCodeSecret=Domain+"/wxa/ci/getcloudcodesecret",exports.cloudCosUploadURL=Domain+"/wxa/ci/cloudcosupload",exports.scfTencentCloudUrl="https://scf.tencentcloudapi.com",exports.dbTencentCloudUrl="https://flexdb.tencentcloudapi.com",exports.tcbTencentCloudUrl="https://tcb.tencentcloudapi.com",exports.commitSourceNewFeatureURL=Domain+"wxa-dev-new/commitsource",exports.commitSourceURL=Domain+"wxa-dev/commitsource",exports.getUploadToken=Domain+"wxa-dev/getuploadtoken",exports.testSourceURL=Domain+"wxa-dev/testsource",exports.testSourceNewFeatureURL=Domain+"wxa-dev-new/testsource",exports.getAsyncResult=Domain+"wxa-dev/getasyncresult",exports.getSdkIntInfo=Domain+"/wxa/ci/getsdkinitinfo",exports.uploadCloudBuildResourcePack=Domain+"/wxa/ci/uploadcloudbuildresourcepack",exports.getCloudBuildTaskList=Domain+"/wxa/ci/getcloudbuildtasklist",exports.getCloudBuildPkgUrl=Domain+"/wxa/ci/getcloudbuildpkgurl",exports.miniappUpload=Domain+"/wxa/ci/miniappupload",exports.getPkgWxapkg=Domain+"/wxa/ci/downloadpackage",exports.downloadMiniAppPlugin=Domain+"/wxa/ci/downloadcpfplugin",exports.getUsedPluginVersionInfo=Domain+"/wxa/ci/getcpfusedpluginversioninfo";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.encryptLocalFile=exports.SIGNATURE_FILE_NAME=void 0;const tslib_1=require("tslib"),fs_1=tslib_1.__importDefault(require("fs")),log=tslib_1.__importStar(require("../../utils/log")),crypto_1=tslib_1.__importDefault(require("crypto"));async function encryptLocalFile(e,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.encryptLocalFile=exports.SIGNATURE_FILE_NAME=void 0;const tslib_1=require("tslib"),fs_1=tslib_1.__importDefault(require("fs")),log=tslib_1.__importStar(require("../../utils/log")),crypto_1=tslib_1.__importDefault(require("crypto")),genTempFile_1=require("../genTempFile");async function encryptLocalFile(e,r){return new Promise((t,i)=>{let n={},o={};try{n=(0,genTempFile_1.genTempFile)(),o=(0,genTempFile_1.genTempFile)()}catch(e){throw log.error("Error:",e),new Error(e.message)}const l=fs_1.default.createReadStream(e),a=fs_1.default.createWriteStream(n.name);if(!r.crypt_key){const e="[encryptLocalFile failed] no crypt_key";return log.error(e),void i(e)}const c=crypto_1.default.randomBytes(12),s=crypto_1.default.createCipheriv("aes-256-gcm",Buffer.from(r.crypt_key,"base64"),c);l.pipe(s).pipe(a).on("finish",async()=>{try{const e=s.getAuthTag(),r=fs_1.default.statSync(n.name).size;log.info("nonce, nonce size: ",c,c.length),log.info("tag, tag size: ",e,null==e?void 0:e.length),log.info("encrypted file size in bytes: ",r);const l=Buffer.alloc(1);l.writeUInt8(e.length+c.length,0);const a=Buffer.concat([l,e,c]),p=await prependToFile(n.name,o.name,a);!0===p?t(o.name):(log.error("[encryptLocalFile failed] prependToFile",p),i(p))}catch(e){e.message="[encryptLocalFile failed] encryptLocalFile failed when finish: "+e.message,i(e)}}).on("error",e=>{i(e)})})}async function prependToFile(e,r,t){return new Promise(i=>{const n=fs_1.default.createReadStream(e),o=fs_1.default.createWriteStream(r);o.write(t),n.pipe(o),o.on("finish",()=>{i(!0)}),o.on("error",e=>{i(e)})})}exports.SIGNATURE_FILE_NAME="ci.signature",exports.encryptLocalFile=encryptLocalFile;
|
package/dist/utils/cosUpload.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadToCosInCI=exports.uploadToCosCore=void 0;const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadToCosInCI=exports.uploadToCosCore=void 0;const COS=require("cos-js-sdk-v5"),COSForNode=require("cos-nodejs-sdk-v5"),fs=require("fs");function compareCache(e,o){const t=Object.keys(o);for(const r of Object.keys(e)){if(!t.includes(r))return!1;if(o[r]!=e[r])return!1}return!0}async function uploadToCosCore({uploadBuf:e,region:o,getUploadInfoFunc:t,getAuthFunc:r,onProgress:n}){return new Promise((i,s)=>{t().then(t=>{let u=null;const l="undefined"==typeof Blob||"undefined"==typeof XMLHttpRequest,a=new(l?COSForNode:COS)({getAuthorization(e,o){var n;if(1!=e.Scope.length)return void o("");const i=Object.assign({},t,{action:e.Scope[0].action});(null===(n=e.Query)||void 0===n?void 0:n.uploadId)&&(i.uploadId=e.Query.uploadId),null!==u&&compareCache(i,u)&&u.AuthExpireTime>Math.round(Date.now()/1e3)?o({Authorization:u.Authorization,SecurityToken:u.SecurityToken,SignFrom:"client"}):r(i).then(e=>{u=Object.assign({},i,{Authorization:e.Authorization,SecurityToken:e.SecurityToken,SignFrom:"client",AuthExpireTime:e.AuthExpireTime}),o({Authorization:e.Authorization,SecurityToken:e.SecurityToken,SignFrom:"client"})},()=>{o("")})}});let c=void 0,d={};if(l)if("string"==typeof e){if(!fs.existsSync(e)||fs.statSync(e).isDirectory())throw new Error(`[upload Cos failed] file path$ ${e} is not a file or not exists`);d.name=e}else try{const o=require("tmp");o.setGracefulCleanup(),d=o.fileSync({mode:420,prefix:"",postfix:""}),fs.writeSync(d.fd,e,0,e.length,null),fs.closeSync(d.fd)}catch(e){throw console.error("Error:",e),new Error("[upload Cos failed] write compileresult to tmp file failed: "+e.message)}else{if("string"==typeof e)throw new Error("[upload Cos failed] uploadBuf must be typeof Buffer when is not in node");c=new Blob([e],{type:"application/octet-stream"})}a.sliceUploadFile({Bucket:t.bucket,Region:o,Key:t.object,Body:c,FilePath:d.name,SliceSize:5242880,onProgress(e){null==n||n(e)},AsyncLimit:1},(e,o)=>{e?s({err:e,data:o}):i({err:e,data:o})})},e=>{s({err:e})})})}function uploadToCosInCI(){}exports.uploadToCosCore=uploadToCosCore,exports.uploadToCosInCI=uploadToCosInCI;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.genTempFile=void 0;const tslib_1=require("tslib"),fs_1=tslib_1.__importDefault(require("fs"));function genTempFile(){let e={};try{const t=require("tmp");t.setGracefulCleanup(),e=t.fileSync({mode:420,prefix:"",postfix:""}),fs_1.default.closeSync(e.fd)}catch(e){throw new Error("[encryptLocalFile failed] write compileresult to tmp file failed: "+e.message)}return e}exports.genTempFile=genTempFile;
|