miniprogram-ci 2.1.13 → 2.1.15
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 +5 -0
- package/README.md +4 -0
- package/dist/@types/ci/cloud/cloudapi.d.ts +1 -1
- package/dist/@types/ci/cloud/utils.d.ts +0 -1
- package/dist/@types/ci/cos-upload.d.ts +1 -0
- package/dist/@types/ci/gamepkg/apkplug.d.ts +19 -0
- package/dist/@types/ci/gamepkg/index.d.ts +19 -0
- package/dist/@types/ci/getCompiledResult.d.ts +0 -1
- package/dist/@types/ci/index.d.ts +3 -0
- package/dist/@types/ci/jsserver.d.ts +0 -1
- package/dist/@types/ci/miniapp/upload.d.ts +0 -1
- package/dist/@types/ci/upload.d.ts +0 -1
- package/dist/@types/ci/utils/unpack.d.ts +0 -1
- package/dist/@types/ci/utils/wxvpkg/utils.d.ts +0 -1
- package/dist/@types/config/config.d.ts +1 -1
- package/dist/@types/config/url.config.d.ts +7 -0
- package/dist/@types/index.d.ts +15 -12
- package/dist/@types/modules/corecompiler/original/compile/game.d.ts +0 -1
- package/dist/@types/modules/corecompiler/original/compile/index.d.ts +0 -1
- package/dist/@types/modules/corecompiler/original/index.d.ts +0 -1
- package/dist/@types/modules/corecompiler/original/utils/env.d.ts +1 -1
- package/dist/@types/modules/corecompiler/original/webWorker/WebWorkerInstance.d.ts +1 -0
- package/dist/@types/modules/corecompiler/original/webWorker/childWebWorker.d.ts +1 -0
- package/dist/@types/modules/corecompiler/original/webWorker/configs.d.ts +27 -0
- package/dist/@types/modules/corecompiler/original/webWorker/webWorkerManager.d.ts +1 -0
- package/dist/@types/modules/corecompiler/original/workerThread/getWorkerPoolSize.d.ts +1 -0
- package/dist/@types/modules/corecompiler/original/workerThread/workerManager.d.ts +1 -0
- package/dist/@types/modules/corecompiler/originalCompiler.d.ts +0 -1
- package/dist/@types/modules/corecompiler/summerCompiler.d.ts +1 -1
- package/dist/@types/modules/index.d.ts +2 -1
- package/dist/@types/modules/nativecompiler/ios/buildCloud.d.ts +1 -0
- package/dist/@types/schema/@types/appjson.d.ts +6 -1
- package/dist/@types/schema/@types/extjson.d.ts +1 -2
- package/dist/@types/types/ci.d.ts +1 -1
- package/dist/@types/utils/asyncTask/index.d.ts +14 -0
- package/dist/@types/utils/babelHelperContentForWebide.d.ts +1 -0
- package/dist/@types/utils/cosUpload.d.ts +3 -2
- package/dist/@types/utils/env.d.ts +2 -0
- package/dist/@types/utils/packOptionsHelper.d.ts +1 -1
- package/dist/@types/utils/request.d.ts +2 -1
- package/dist/@types/utils/subprocess/getProcess.d.ts +1 -0
- package/dist/@types/utils/subprocess/processService.d.ts +6 -0
- package/dist/@types/utils/subprocess/stringifyPostMsg.d.ts +2 -0
- package/dist/@types/utils/taskqueue.d.ts +1 -0
- package/dist/@types/utils/tools.d.ts +1 -0
- package/dist/@types/utils/waitable.d.ts +1 -1
- package/dist/@types/utils/wxvpkgreader/wxvpkg/utils.d.ts +0 -1
- package/dist/ci/android-miniapp-toolkit/dist/index.js +1 -1
- package/dist/ci/cloud/cloudapi.js +1 -1
- package/dist/ci/cos-upload.js +1 -1
- package/dist/ci/gamepkg/apkplug.js +1 -0
- package/dist/ci/gamepkg/index.js +1 -0
- package/dist/ci/getCompiledResult.js +1 -1
- package/dist/ci/index.js +1 -1
- package/dist/ci/jsserver.js +1 -1
- package/dist/ci/miniapp/upload.js +1 -1
- package/dist/ci/upload.js +1 -1
- package/dist/common/code-analyse/index.js +1 -1
- package/dist/config/config.js +1 -1
- package/dist/config/url.config.js +1 -1
- package/dist/index.js +1 -1
- package/dist/modules/corecompiler/original/compile/game.js +1 -1
- package/dist/modules/corecompiler/original/compile/miniprogram.js +1 -1
- package/dist/modules/corecompiler/original/json/page/getPageJSON.js +1 -1
- package/dist/modules/corecompiler/original/utils/env.js +1 -1
- package/dist/modules/corecompiler/original/webWorker/WebWorkerInstance.js +1 -0
- package/dist/modules/corecompiler/original/webWorker/childWebWorker.js +1 -0
- package/dist/modules/corecompiler/original/webWorker/configs.js +1 -0
- package/dist/modules/corecompiler/original/webWorker/webWorkerManager.js +1 -0
- package/dist/modules/corecompiler/original/workerThread/fork.js +1 -1
- package/dist/modules/corecompiler/original/workerThread/getWorkerPoolSize.js +1 -0
- package/dist/modules/corecompiler/original/workerThread/index.js +1 -1
- package/dist/modules/corecompiler/original/workerThread/task/minifywxml.js +1 -1
- package/dist/modules/corecompiler/original/workerThread/workerManager.js +1 -1
- package/dist/modules/corecompiler/processHandler.js +1 -1
- package/dist/modules/corecompiler/summer/plugins/base/wxss.js +1 -1
- package/dist/modules/corecompiler/summer/plugins/index.js +1 -1
- package/dist/modules/corecompiler/summer/plugins/less.js +1 -1
- package/dist/modules/corecompiler/summer/plugins/sass.js +1 -1
- package/dist/modules/corecompiler/summer/plugins/typescript.js +1 -1
- package/dist/modules/corecompiler/summerCompiler.js +1 -1
- package/dist/modules/corecompiler/summerEntryProcess.js +1 -1
- package/dist/modules/index.js +1 -1
- package/dist/modules/nativecompiler/ios/buildCloud.js +1 -1
- package/dist/project/advance/precompileProject.js +1 -1
- package/dist/project/baseProject.js +1 -1
- package/dist/schema/dist/app.js +117 -49
- package/dist/schema/dist/ext.js +1 -31
- package/dist/schema/dist/game.js +1 -1
- package/dist/schema/dist/page.js +1 -1
- package/dist/schema/dist/plugin.js +1 -1
- package/dist/schema/dist/pluginpage.js +1 -1
- package/dist/schema/dist/projectconfig.js +1 -1
- package/dist/schema/dist/projectprivateconfig.js +1 -1
- package/dist/schema/dist/sitemap.js +1 -1
- package/dist/schema/dist/theme.js +1 -1
- package/dist/utils/asyncTask/index.js +1 -0
- package/dist/utils/babelHelperContentForWebide.js +1 -0
- package/dist/utils/cosUpload.js +1 -1
- package/dist/utils/env.js +1 -1
- package/dist/utils/officialDonutPlugin.js +1 -1
- package/dist/utils/packOptionsHelper.js +1 -1
- package/dist/utils/progressRecorder.js +1 -1
- package/dist/utils/request.js +1 -1
- package/dist/utils/subprocess/entryProcess.js +1 -1
- package/dist/utils/subprocess/getProcess.js +1 -0
- package/dist/utils/subprocess/processManager.js +1 -1
- package/dist/utils/subprocess/processService.js +1 -0
- package/dist/utils/subprocess/stringifyPostMsg.js +1 -0
- package/dist/utils/tools.js +1 -1
- package/dist/utils/waitable.js +1 -1
- package/package.json +18 -8
- package/dist/@types/common/cloud-api/src/apis/apis.d.ts +0 -5
- package/dist/@types/common/cloud-api/src/apis/cdn/cdn.apis.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/apis/cdn/index.d.ts +0 -1
- package/dist/@types/common/cloud-api/src/apis/flexdb/flexdb.apis.d.ts +0 -17
- package/dist/@types/common/cloud-api/src/apis/flexdb/index.d.ts +0 -1
- package/dist/@types/common/cloud-api/src/apis/scf/index.d.ts +0 -1
- package/dist/@types/common/cloud-api/src/apis/scf/scf.apis.d.ts +0 -24
- package/dist/@types/common/cloud-api/src/apis/ssl/index.d.ts +0 -1
- package/dist/@types/common/cloud-api/src/apis/ssl/ssl.apis.d.ts +0 -1
- package/dist/@types/common/cloud-api/src/apis/tcb/general.apis.d.ts +0 -6
- package/dist/@types/common/cloud-api/src/apis/tcb/index.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/apis/tcb/tcb.apis.d.ts +0 -186
- package/dist/@types/common/cloud-api/src/index.d.ts +0 -4
- package/dist/@types/common/cloud-api/src/transaction/contracts/account.contracts.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/transaction/contracts/cdn.contracts.d.ts +0 -3
- package/dist/@types/common/cloud-api/src/transaction/contracts/contracts.d.ts +0 -9
- package/dist/@types/common/cloud-api/src/transaction/contracts/factory.d.ts +0 -60
- package/dist/@types/common/cloud-api/src/transaction/contracts/flexdb.contracts.d.ts +0 -18
- package/dist/@types/common/cloud-api/src/transaction/contracts/lowcode.contracts.d.ts +0 -3
- package/dist/@types/common/cloud-api/src/transaction/contracts/scf.contracts.d.ts +0 -23
- package/dist/@types/common/cloud-api/src/transaction/contracts/ssl.contracts.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/transaction/contracts/tcb.contracts.d.ts +0 -189
- package/dist/@types/common/cloud-api/src/transaction/transactor.d.ts +0 -34
- package/dist/@types/common/cloud-api/src/transaction/validations/account.validations.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/transaction/validations/billing.validations.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/transaction/validations/cdn.validations.d.ts +0 -3
- package/dist/@types/common/cloud-api/src/transaction/validations/common.validations.d.ts +0 -125
- package/dist/@types/common/cloud-api/src/transaction/validations/flexdb.validations.d.ts +0 -23
- package/dist/@types/common/cloud-api/src/transaction/validations/lowcode.validations.d.ts +0 -3
- package/dist/@types/common/cloud-api/src/transaction/validations/scf.validations.d.ts +0 -28
- package/dist/@types/common/cloud-api/src/transaction/validations/ssl.validations.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/transaction/validations/tcb.validations.d.ts +0 -194
- package/dist/@types/common/cloud-api/src/transaction/validations/validations.d.ts +0 -9
- package/dist/@types/common/cloud-api/src/utils/common.d.ts +0 -2
- package/dist/@types/common/cloud-api/src/utils/validator.d.ts +0 -41
- package/dist/common/cloud-api/src/apis/apis.js +0 -1
- package/dist/common/cloud-api/src/apis/cdn/cdn.apis.js +0 -1
- package/dist/common/cloud-api/src/apis/cdn/index.js +0 -1
- package/dist/common/cloud-api/src/apis/flexdb/flexdb.apis.js +0 -1
- package/dist/common/cloud-api/src/apis/flexdb/index.js +0 -1
- package/dist/common/cloud-api/src/apis/scf/index.js +0 -1
- package/dist/common/cloud-api/src/apis/scf/scf.apis.js +0 -1
- package/dist/common/cloud-api/src/apis/ssl/index.js +0 -1
- package/dist/common/cloud-api/src/apis/ssl/ssl.apis.js +0 -1
- package/dist/common/cloud-api/src/apis/tcb/general.apis.js +0 -1
- package/dist/common/cloud-api/src/apis/tcb/index.js +0 -1
- package/dist/common/cloud-api/src/apis/tcb/tcb.apis.js +0 -1
- package/dist/common/cloud-api/src/index.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/account.contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/cdn.contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/factory.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/flexdb.contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/lowcode.contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/scf.contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/ssl.contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/contracts/tcb.contracts.js +0 -1
- package/dist/common/cloud-api/src/transaction/transactor.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/account.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/billing.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/cdn.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/common.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/flexdb.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/lowcode.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/scf.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/ssl.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/tcb.validations.js +0 -1
- package/dist/common/cloud-api/src/transaction/validations/validations.js +0 -1
- package/dist/common/cloud-api/src/utils/common.js +0 -1
- package/dist/common/cloud-api/src/utils/validator.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.boundTransactRequest=exports.get3rdCloudCodeSecret=exports.initCloudAPI=void 0;const tslib_1=require("tslib"),crypto_1=tslib_1.__importDefault(require("crypto")),request_1=tslib_1.__importDefault(require("request")),cloudAPI=tslib_1.__importStar(require("../../common/cloud-api/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.boundTransactRequest=exports.get3rdCloudCodeSecret=exports.initCloudAPI=void 0;const tslib_1=require("tslib"),crypto_1=tslib_1.__importDefault(require("crypto")),request_1=tslib_1.__importDefault(require("request")),cloudAPI=tslib_1.__importStar(require("../../common/cloud-api/index")),request_2=require("../../utils/request"),sign_1=require("../../utils/sign"),jsonParse_1=require("../../utils/jsonParse"),urlConfig=tslib_1.__importStar(require("../../config/url.config"));function initCloudAPI(e){cloudAPI.setDefaultAppID(e),cloudAPI.setTransactType(cloudAPI.TransactType.IDE),cloudAPI.setRequest(transactRequest)}exports.initCloudAPI=initCloudAPI;const SERVICE_CLOUD_URL={scf:"https://scf.tencentcloudapi.com",flexdb:"https://flexdb.tencentcloudapi.com",tcb:"https://tcb.tencentcloudapi.com"},DIRECT_CLOUD_API_SET=new Set(["UpdateFunctionCode","CreateFunction"]);async function transactRequest(e){var t;const r=e.project,o=await(0,sign_1.getSignature)(r.privateKey,r.appid),s=await r.getExtAppid();if(DIRECT_CLOUD_API_SET.has(e.identity.action||"")&&Boolean(SERVICE_CLOUD_URL[e.identity.service])){const{body:i}=await(0,request_2.request)({url:urlConfig.GET_CLOUD_API_SIGNATURE,method:"post",body:JSON.stringify({appid:r.appid,extAppid:s||void 0,signature:o,signReq:{action:e.identity.action,path:e.identity.path,service:e.identity.service,version:e.identity.version,region:e.identity.region,hashed_postdata:crypto_1.default.createHash("sha256").update(e.postdata).digest("hex")}}),headers:{"content-type":"application/json"}}),n=(0,jsonParse_1.jsonRespParse)(i,"cloudapi.getCloudAPISignedHeader");if(n.errCode)throw new Error(`getCloudAPISignedHeader failed, errCode: ${i.errCode}, errMsg: ${i.errMsg}`);const a=n.header;if(!a)throw new Error("empty header, recv cgi resp: "+i);const{resp:d}=await new Promise((t,r)=>{(0,request_1.default)({url:SERVICE_CLOUD_URL[e.identity.service],method:"post",body:e.postdata,headers:a.split("\n").map(e=>e.trim()).reduce((e,t)=>{const r=t.indexOf(":");return e[t.slice(0,r)]=t.slice(r+1),e},{})},(e,o)=>{e?r(e):t({resp:o})})});if(413===d.statusCode)throw new Error("Body too large");const c=d.body;if(!c)throw new Error("Empty body "+d);const p="string"==typeof c?JSON.parse(c):c;if(!p.Response||(null===(t=p.Response)||void 0===t?void 0:t.Error))throw new Error("TencentCloud API error: "+c);return c}const{resp:i,body:n}=await(0,request_2.request)({url:urlConfig.cloudAPIAgentURL,method:"post",body:JSON.stringify({appid:r.appid,extAppid:s||void 0,signature:o,agentReq:Object.assign({postdata:e.postdata,test:!1},e.identity)}),headers:Object.assign(Object.assign({},e.headers),{"content-type":"application/json"})});if(413===i.statusCode)throw new Error("Body too large");if(!n)throw new Error("Empty body "+i);const a="string"==typeof n?JSON.parse(n):n;if(a.errCode)throw new Error(`${a.errCode} ${a.errMsg}`);const d=a.data;if(!d||!d.base_resp||"0"!=d.base_resp.ret){if(80210===d.base_resp.ret)throw new Error("NO_CLOUD_MANAGE_PERMISSION_AUTHORIZED_TO_3RD_PLATFORM");throw new Error("Base resp abnormal, "+JSON.stringify(null==d?void 0:d.base_resp))}return d.content}async function get3rdCloudCodeSecret(e){const t=await e.attr();let r,o="",s={};try{r=await e.getFile(e.miniprogramRoot,"ext.json"),s=JSON.parse(r.toString("utf-8"))}catch(e){}if(s&&s.extEnable&&(o=s.extAppid||""),(null==t?void 0:t.platform)&&o)try{const t=await(0,sign_1.getSignature)(e.privateKey,e.appid),{body:r}=await(0,request_2.request)({url:urlConfig.get3rdCloudCodeSecret,method:"post",headers:{"content-type":"application/json"},body:JSON.stringify({appid:e.appid,extAppid:o,signature:t})}),s=(0,jsonParse_1.jsonRespParse)(r);if(0===s.errCode)return s.codeSecret;throw new Error("get 3rd cloud codesecret invalid resp "+JSON.stringify(r))}catch(e){throw new Error("get 3rd cloud codesecret error "+e)}}function boundTransactRequest(e){return t=>transactRequest(Object.assign(Object.assign({},t),{project:e}))}exports.get3rdCloudCodeSecret=get3rdCloudCodeSecret,exports.boundTransactRequest=boundTransactRequest;
|
package/dist/ci/cos-upload.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadByCosSafely=exports.uploadByCos=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"),
|
|
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(2!==t.status){if(3===t.status)return{fallback:!1,body:t,uploadCOSCostTime:d};if(0===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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.checkGamePkgUserVersion=exports.getGamePkgUrl=exports.getGamePkgList=exports.innerRequest=void 0;const tslib_1=require("tslib"),url_config_1=require("../../config/url.config"),log=tslib_1.__importStar(require("../../utils/log")),request_1=require("../../utils/request"),sign_1=require("../../utils/sign");async function innerRequest(e,r){const s=await(0,request_1.request)({url:e,method:"post",body:r,headers:{"content-type":"application/json"}});let i;try{i=JSON.parse(s.body)}catch(r){const s=`request ${e} failed: resp body is not a valid json`;throw log.error(s),new Error(s)}if(0!==i.errCode){const e=`request failed, errCode: ${i.errCode}, errMsg: ${i.errMsg}`;throw log.error(e),new Error(e)}return i.data}async function getGamePkgList(e){var r,s;const i=await(0,sign_1.getSignature)(e.privateKey,e.appid),t=await innerRequest(""+url_config_1.GET_PLUG_PKG_GET_LIST,JSON.stringify({appid:e.appid,signature:i}));return{success:0===(null===(r=null==t?void 0:t.baseresponse)||void 0===r?void 0:r.errcode),errmsg:null===(s=null==t?void 0:t.baseresponse)||void 0===s?void 0:s.errmsg,list:t.commit_list||[]}}async function getGamePkgUrl(e,r){var s,i;const t=await(0,sign_1.getSignature)(e.privateKey,e.appid),n=await innerRequest(""+url_config_1.GET_PLUG_PKG_GET_URL,JSON.stringify({appid:e.appid,signature:t,user_version:r}));return{success:0===(null===(s=null==n?void 0:n.baseresponse)||void 0===s?void 0:s.errcode),errmsg:null===(i=null==n?void 0:n.baseresponse)||void 0===i?void 0:i.errmsg,url:n.url||"url not found"}}async function checkGamePkgUserVersion(e,r){var s,i;const t=await(0,sign_1.getSignature)(e.privateKey,e.appid),n=await innerRequest(""+url_config_1.GET_PLUG_PKG_CHECK_USERVERSION,JSON.stringify({appid:e.appid,signature:t,user_version:r}));return{success:0===(null===(s=null==n?void 0:n.baseresponse)||void 0===s?void 0:s.errcode),errmsg:null===(i=null==n?void 0:n.baseresponse)||void 0===i?void 0:i.errmsg}}exports.innerRequest=innerRequest,exports.getGamePkgList=getGamePkgList,exports.getGamePkgUrl=getGamePkgUrl,exports.checkGamePkgUserVersion=checkGamePkgUserVersion;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadGamePkgPlugByCos=exports.uploadGamePkg=void 0;const tslib_1=require("tslib"),url_config_1=require("../../config/url.config"),cosUpload_1=require("../../utils/cosUpload"),taskstatus_1=require("../../utils/taskstatus"),zlib_1=tslib_1.__importDefault(require("zlib")),querystring_1=tslib_1.__importDefault(require("querystring")),sign_1=require("../../utils/sign"),cos_upload_1=require("../cos-upload"),pack_1=require("../utils/pack"),fs_1=tslib_1.__importDefault(require("fs")),log=tslib_1.__importStar(require("../../utils/log")),config_1=require("../../config/config"),jsonParse_1=require("../../utils/jsonParse"),progressupdate_1=require("../utils/progressupdate"),locales_1=tslib_1.__importDefault(require("../../utils/locales/locales")),request_1=require("../../utils/request"),index_1=require("../../utils/asyncTask/index"),tools_1=require("../../utils/tools"),MIN_GAME_PKG_SIZE=5;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 a=(0,progressupdate_1.transProgressUpdate)(e.onProgressUpdate||(e=>{if("object"==typeof e)try{const a=JSON.stringify(e);console.log(a)}catch(e){}console.log(""+e)})),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)}`,s=new taskstatus_1.TaskStatus(locales_1.default.config.UPLOAD.toString());a(s);const{fallback:r,uploadCOSCostTime:i}=await uploadGamePkgPlugByCos(e.pkgPath,o,e.project,e.robot,e.onProgressUpdate);return null!=i||log.log("[upload game pkg] total cost time : "+i),r&&log.error("[upload game pkg] failed!"),s.done(),a(s),{success:!r}}async function uploadGamePkgPlugByCos(e,a,t,o,s){let r;const i=await(0,tools_1.generateFileMD5)(e),l=fs_1.default.statSync(e).size;if(log.info("[upload game pkg] rawSize: "+l),Math.ceil(l/1024/1024)<5)return log.error("[upload game pkg] file size must larger than 5M"),{fallback:!0};try{const e=await(0,sign_1.getSignature)(t.privateKey,t.appid),a=await(0,cos_upload_1.innerRequest)(url_config_1.GET_GAME_PKG_UPLOAD_INFO,JSON.stringify({appid:t.appid,signature:e,robot:o,rawSize:""+l,md5:i}));r=Object.assign(Object.assign({},a),a.upload_info)}catch(e){return log.error("[upload game pkg] getUploadInfo failed",e),{fallback:!0}}log.info("[upload game pkg] get upload info succcessfuly");const u=await(0,index_1.encryptLocalFile)(e,r),n=Date.now();try{await(0,cosUpload_1.uploadToCosCore)({uploadBuf:u,region:"ap-shanghai",onProgress:e=>{null==s||s(e);try{log.log(`[upload game pkg] percent: ${Math.floor(100*e.percent)}% loaded: ${e.loaded}bytes total: ${e.total}bytes`)}catch(e){}},getUploadInfoFunc:async()=>r,getAuthFunc:async e=>{let a,s={},i={};switch(e.action){case"name/cos:InitiateMultipartUpload":s={uploads:""};break;case"name/cos:ListMultipartUploads":s={uploads:"",prefix:r.object},i={};break;case"name/cos:UploadPart":case"name/cos:ListParts":case"name/cos:CompleteMultipartUpload":s={uploadId:e.uploadId},i={};break;default:throw log.error("[upload game pkg] cos upload no action"),new Error("[upload game pkg] cos upload no action")}try{const l=await(0,sign_1.getSignature)(t.privateKey,t.appid),u=await(0,cos_upload_1.innerRequest)(url_config_1.GET_GAME_PKG_UPLOAD_SIGN,JSON.stringify({appid:t.appid,signature:l,robot:o,signOpts:JSON.stringify({checksum:r.checksum,action:e.action,upload_id:e.uploadId,task_id:r.task_id,headers:i,params:s})}));a={Authorization:u.sign,SecurityToken:u.token,AuthExpireTime:u.expired_time}}catch(e){throw log.info("game pkg uploadToCos safely failed"),log.log(e),new Error("game pkg uploadToCos safely failed")}return a}})}catch(e){return log.error("[upload game pkg] getUploadInfo failed",e.message),{fallback:!0}}const p=Date.now()-n,g=await(0,tools_1.generateFileMD5)(u),d=""+fs_1.default.statSync(u).size,c=await(0,sign_1.getSignature)(t.privateKey,t.appid),_=`${a}&task_id=${r.task_id}&new_hash=${g}&upload_cos_cost_time=${p}&str_stored_size=${d}`;log.info("request url:",_);const f=await(0,request_1.request)({url:_,method:"post",body:zlib_1.default.gzipSync((0,pack_1.pack)({[index_1.SIGNATURE_FILE_NAME]:JSON.stringify({signature:c,version:config_1.CI_VERSION})}).buffer)});if(0!==(0,jsonParse_1.jsonRespParse)(f.body.toString(),a).errCode)throw new Error(f.body.toString());for(;;){const e=await(0,sign_1.getSignature)(t.privateKey,t.appid),a=await(0,cos_upload_1.innerRequest)(`${url_config_1.GET_GAME_PKG_ASYNC_RESULT}?task_id=${r.task_id}`,JSON.stringify({appid:t.appid,signature:e,robot:o}));if(2!==a.status){if(3===a.status){return{fallback:!1,body:a,uploadCOSCostTime:Date.now()-n}}if(0===a.status)throw new Error(`upload failed with status ${a.status}, task not found`);throw new Error("upload failed with status "+a.status)}await new Promise(e=>{setTimeout(e,1e3)})}}exports.uploadGamePkg=uploadGamePkg,exports.uploadGamePkgPlugByCos=uploadGamePkgPlugByCos;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getCompiledResult=
|
|
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:o={},onProgressUpdate:s=function(e){console.log(""+e)},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,o),n=await l.compile({setting:(0,tools_1.formatCISetting)(r,o),onProgressUpdate:(0,progressupdate_1.transProgressUpdate)(s),resultType:"prod",disableSpreadingUsingComponents:!0}),p={};if(Object.keys(n).sort().forEach(e=>{e.endsWith("js.map")&&!a||(p[e]=n[e])}),t){const e=new jszip_1.default;Object.keys(p).forEach(t=>{e.folder(path_1.default.dirname(t)).file(path_1.default.basename(t),p[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 p}exports.getCompiledResult=getCompiledResult;
|
package/dist/ci/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.cleanCache=exports.workletVersion=exports.miniappCloudUpload=exports.buildIpa=exports.buildApk=exports.getWhiteExtList=exports.checkCodeQuality=exports.analyseCode=exports.getLatestVersion=exports.uploadJsServer=exports.cloud=exports.getDevSourceMap=exports.proxy=exports.packNpmManually=exports.packNpm=exports.getCompiledResult=exports.preview=exports.upload=exports.Project=void 0;const project_1=require("./project");Object.defineProperty(exports,"Project",{enumerable:!0,get:function(){return project_1.Project}});const upload_1=require("./upload"),preview_1=require("./preview"),getDevSourceMap_1=require("./getDevSourceMap"),packnpm_1=require("../modules/corecompiler/original/npm/packnpm");Object.defineProperty(exports,"packNpm",{enumerable:!0,get:function(){return packnpm_1.packNpm}}),Object.defineProperty(exports,"packNpmManually",{enumerable:!0,get:function(){return packnpm_1.packNpmManually}});const request_1=require("../utils/request");Object.defineProperty(exports,"proxy",{enumerable:!0,get:function(){return request_1.setCiProxy}});const uploadFunction_1=require("./cloud/uploadFunction"),createTimeTrigger_1=require("./cloud/createTimeTrigger"),uploadContainer_1=require("./cloud/uploadContainer"),uploadFile_1=require("./cloud/uploadFile"),report_1=require("../utils/report"),jsserver_1=require("./jsserver");Object.defineProperty(exports,"uploadJsServer",{enumerable:!0,get:function(){return jsserver_1.uploadJsServer}});const code_analyse_1=require("./code-analyse");Object.defineProperty(exports,"analyseCode",{enumerable:!0,get:function(){return code_analyse_1.analyseCode}});const getCompiledResult_1=require("./getCompiledResult");Object.defineProperty(exports,"getCompiledResult",{enumerable:!0,get:function(){return getCompiledResult_1.getCompiledResult}});const getLatestVersion_1=require("./getLatestVersion");Object.defineProperty(exports,"getLatestVersion",{enumerable:!0,get:function(){return getLatestVersion_1.getLatestVersion}});const white_ext_list_1=require("../utils/white_ext_list");Object.defineProperty(exports,"getWhiteExtList",{enumerable:!0,get:function(){return white_ext_list_1.getWhiteExtList}});const checkCodeQuality_1=require("./checkCodeQuality");Object.defineProperty(exports,"checkCodeQuality",{enumerable:!0,get:function(){return checkCodeQuality_1.checkCodeQuality}});const cache_1=require("../utils/cache"),build_apk_1=require("./build-apk");Object.defineProperty(exports,"buildApk",{enumerable:!0,get:function(){return build_apk_1.buildApk}});const build_ipa_1=require("./build-ipa");Object.defineProperty(exports,"buildIpa",{enumerable:!0,get:function(){return build_ipa_1.buildIpa}});const miniapp_cloud_upload_1=require("./miniapp-cloud-upload");function cleanCache(){cache_1.cacheManager.clean()}Object.defineProperty(exports,"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.cleanCache=exports.workletVersion=exports.checkGamePkgUserVersion=exports.getGamePkgUrl=exports.getGamePkgList=exports.uploadGamePkg=exports.miniappCloudUpload=exports.buildIpa=exports.buildApk=exports.getWhiteExtList=exports.checkCodeQuality=exports.analyseCode=exports.getLatestVersion=exports.uploadJsServer=exports.cloud=exports.getDevSourceMap=exports.proxy=exports.packNpmManually=exports.packNpm=exports.getCompiledResult=exports.preview=exports.upload=exports.Project=void 0;const project_1=require("./project");Object.defineProperty(exports,"Project",{enumerable:!0,get:function(){return project_1.Project}});const upload_1=require("./upload"),preview_1=require("./preview"),getDevSourceMap_1=require("./getDevSourceMap"),packnpm_1=require("../modules/corecompiler/original/npm/packnpm");Object.defineProperty(exports,"packNpm",{enumerable:!0,get:function(){return packnpm_1.packNpm}}),Object.defineProperty(exports,"packNpmManually",{enumerable:!0,get:function(){return packnpm_1.packNpmManually}});const request_1=require("../utils/request");Object.defineProperty(exports,"proxy",{enumerable:!0,get:function(){return request_1.setCiProxy}});const uploadFunction_1=require("./cloud/uploadFunction"),createTimeTrigger_1=require("./cloud/createTimeTrigger"),uploadContainer_1=require("./cloud/uploadContainer"),uploadFile_1=require("./cloud/uploadFile"),report_1=require("../utils/report"),jsserver_1=require("./jsserver");Object.defineProperty(exports,"uploadJsServer",{enumerable:!0,get:function(){return jsserver_1.uploadJsServer}});const code_analyse_1=require("./code-analyse");Object.defineProperty(exports,"analyseCode",{enumerable:!0,get:function(){return code_analyse_1.analyseCode}});const getCompiledResult_1=require("./getCompiledResult");Object.defineProperty(exports,"getCompiledResult",{enumerable:!0,get:function(){return getCompiledResult_1.getCompiledResult}});const getLatestVersion_1=require("./getLatestVersion");Object.defineProperty(exports,"getLatestVersion",{enumerable:!0,get:function(){return getLatestVersion_1.getLatestVersion}});const white_ext_list_1=require("../utils/white_ext_list");Object.defineProperty(exports,"getWhiteExtList",{enumerable:!0,get:function(){return white_ext_list_1.getWhiteExtList}});const checkCodeQuality_1=require("./checkCodeQuality");Object.defineProperty(exports,"checkCodeQuality",{enumerable:!0,get:function(){return checkCodeQuality_1.checkCodeQuality}});const cache_1=require("../utils/cache"),build_apk_1=require("./build-apk");Object.defineProperty(exports,"buildApk",{enumerable:!0,get:function(){return build_apk_1.buildApk}});const build_ipa_1=require("./build-ipa");Object.defineProperty(exports,"buildIpa",{enumerable:!0,get:function(){return build_ipa_1.buildIpa}});const miniapp_cloud_upload_1=require("./miniapp-cloud-upload");Object.defineProperty(exports,"miniappCloudUpload",{enumerable:!0,get:function(){return miniapp_cloud_upload_1.miniappCloudUpload}});const gamepkg_1=require("./gamepkg");Object.defineProperty(exports,"uploadGamePkg",{enumerable:!0,get:function(){return gamepkg_1.uploadGamePkg}});const apkplug_1=require("./gamepkg/apkplug");function cleanCache(){cache_1.cacheManager.clean()}Object.defineProperty(exports,"getGamePkgList",{enumerable:!0,get:function(){return apkplug_1.getGamePkgList}}),Object.defineProperty(exports,"getGamePkgUrl",{enumerable:!0,get:function(){return apkplug_1.getGamePkgUrl}}),Object.defineProperty(exports,"checkGamePkgUserVersion",{enumerable:!0,get:function(){return apkplug_1.checkGamePkgUserVersion}}),exports.upload=(0,report_1.wrapReport)("upload",upload_1.upload),exports.preview=(0,report_1.wrapReport)("preview",preview_1.preview),exports.getDevSourceMap=(0,report_1.wrapReport)("getDevSourceMap",getDevSourceMap_1.getDevSourceMap),exports.cloud={uploadFunction:uploadFunction_1.uploadFunction,createTimeTrigger:createTimeTrigger_1.createTimeTrigger,uploadStaticStorage:e=>(0,uploadFile_1.uploadFiles)(e,"staticstorage"),uploadStorage:e=>(0,uploadFile_1.uploadFiles)(e,"storage"),uploadContainer:uploadContainer_1.uploadContainer},exports.workletVersion=require("../utils/common").workletVersion,exports.cleanCache=cleanCache;
|
package/dist/ci/jsserver.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadJsServer=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uploadJsServer=void 0;const tslib_1=require("tslib"),path_1=tslib_1.__importDefault(require("path")),request_1=require("../utils/request"),packfile_1=require("./utils/packfile"),zlib_1=tslib_1.__importDefault(require("zlib")),sign_1=require("../utils/sign"),config_1=require("../config/config"),log=tslib_1.__importStar(require("../utils/log")),error_1=require("../utils/error"),locales_1=tslib_1.__importDefault(require("../utils/locales/locales")),querystring_1=tslib_1.__importDefault(require("querystring")),url_config_1=require("../config/url.config"),jsonParse_1=require("../utils/jsonParse"),projectconfig_1=require("../modules/corecompiler/original/json/projectconfig");async function uploadJsServer(r){var e;const{project:o,env:t}=r;if(!t||"test"!==t&&"release"!==t)throw new error_1.CodeError(locales_1.default.config.PARAM_ERROR.format("uploadJsServer","env"),config_1.PARAM_ERROR);if(!o)throw new error_1.CodeError(locales_1.default.config.PARAM_ERROR.format("uploadJsServer","project"),config_1.PARAM_ERROR);const i=(0,projectconfig_1.getProjectConfigJSON)(o);if("string"!=typeof i.jsserverRoot||!(null===(e=o.stat("",i.jsserverRoot))||void 0===e?void 0:e.isDirectory))throw new error_1.CodeError("please set a correct jsserverRoot value in project.config.json",config_1.PARAM_ERROR);const s=await(0,packfile_1.packFiledir)(path_1.default.posix.join(o.projectPath,i.jsserverRoot)),l=await(0,sign_1.getSignature)(o.privateKey,o.appid),_={type:"release"===t?0:1,appid:o.appid,signature:l};try{const r=`${url_config_1.UPLOAD_JS_SERVER}?${querystring_1.default.stringify(_)}`;log.info("request url:",r);const e=zlib_1.default.gzipSync(s.data),o=(await(0,request_1.request)({url:r,method:"post",body:e})).body.toString();if(0!==(0,jsonParse_1.jsonRespParse)(o,r).errCode)throw new Error(o);return!0}catch(r){throw new error_1.CodeError(r.toString(),config_1.UPLOAD_JS_SERVER_CGI_ERR)}}exports.uploadJsServer=uploadJsServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.upload=
|
|
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,r,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===(o=e.miniappOptions)||void 0===o?void 0:o.uploadId),(null===(r=e.miniappOptions)||void 0===r?void 0:r.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:o="1",threads:r=0}=e,s=(0,progressupdate_1.transProgressUpdate)(e.onProgressUpdate||(e=>{if("object"==typeof e)try{const i=JSON.stringify(e);console.log(i)}catch(e){}console.log(""+e)}));process.env.COMPILE_THREADS=r.toString(),cache_1.cacheManager.clean();const n=(0,tools_1.formatCISetting)(i,t);i.setting=n;const a=e.targetPlatform;i.setting.targetPlatform=a;const p=await(0,getcompiler_1.getBuilder)(i,{targetPlatform:a}),u=await p.getCompiler(),l=await u.compile({setting:n,onProgressUpdate:s,resultType:"prod",disableSpreadingUsingComponents:!0});p.destroy();const c=config_1.CI_VERSION,d=encodeURIComponent(JSON.stringify(getMiniappBuildQuery(e))),_={appid:i.appid,robot:o,miniapparchivequery:d};try{const e=new taskstatus_1.TaskStatus(locales_1.default.config.UPLOAD.toString());s(e);const t=`${url_config_1.miniappUpload}?${querystring_1.default.stringify(_)}`,o=await(0,sign_1.getSignature)(i.privateKey,i.appid);l[asyncTask_1.SIGNATURE_FILE_NAME]=JSON.stringify({signature:o,version:c});const r=(0,pack_1.pack)(l),n=zlib_1.default.gzipSync(r.buffer);log.info("request url:",t);const a=(await(0,request_1.request)({url:t,method:"post",body:n})).body.toString(),p=(0,jsonParse_1.jsonRespParse)(a,t);if(0!==p.errCode)throw new Error(a);e.done(),s(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=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.innerUpload=exports.upload=void 0;const tslib_1=require("tslib"),log=tslib_1.__importStar(require("../utils/log")),request_1=require("../utils/request"),pack_1=require("./utils/pack"),zlib_1=tslib_1.__importDefault(require("zlib")),sign_1=require("../utils/sign"),tools_1=require("../utils/tools"),config_1=require("../config/config"),taskstatus_1=require("../utils/taskstatus"),error_1=require("../utils/error"),locales_1=tslib_1.__importDefault(require("../utils/locales/locales")),querystring_1=tslib_1.__importDefault(require("querystring")),progressupdate_1=require("./utils/progressupdate"),url_config_1=require("../config/url.config"),jsonParse_1=require("../utils/jsonParse"),cache_1=require("../utils/cache"),cos_upload_1=require("./cos-upload"),getcompiler_1=require("./getcompiler"),tools_2=require("./utils/tools"),index_1=require("../utils/asyncTask/index"),MIN_COS_UPLOAD_SIZE=5242880;async function upload(e){var o;const r=await innerUpload(e);return(null===(o=r.respBody)||void 0===o?void 0:o.dev_plugin_id)&&(log.log("Development Version Plugin ID: "+r.respBody.dev_plugin_id),r.devPluginId=r.respBody.dev_plugin_id),{subPackageInfo:r.subPackageInfo,pluginInfo:r.pluginInfo,devPluginId:r.devPluginId}}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:a,pagePath:n,searchQuery:l,threads:u=0,bigPackageSizeSupport:p}=e,c=(0,progressupdate_1.transProgressUpdate)(e.onProgressUpdate||(e=>{if("object"==typeof e)try{const o=JSON.stringify(e);console.log(o)}catch(e){}console.log(""+e)}));let{useCOS:d}=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),_=(0,tools_2.formatCISetting)(o,r),f=await g.compile({setting:_,onProgressUpdate:c,resultType:"prod",disableSpreadingUsingComponents:!0}),y=config_1.CI_VERSION,b={codeprotect:r.codeProtect?1:0,type:o.type,appid:o.appid,version:i,desc:t,robot:s},S={scene:e.scene||1011};let q;n&&(S.path=n,b.path=n),l&&(S.query=querystring_1.default.parse(l)),b.debugLaunchInfo=JSON.stringify(S),n&&l&&(b.path+="?"+l),a&&p&&(b.bigPackageSizeSupport=1);let P={};try{q=await o.getFile(o.miniprogramRoot,"ext.json"),P=JSON.parse(q.toString("utf-8"))}catch(e){}if(P&&(P.extEnable&&(b.extAppId=P.extAppid),P.directCommit)){let e="";e=P.extEnable?"The code will be uploaded into the waiting list of extAppid.":"The code will be uploaded into the draft box of the third-party platform.",log.warn(e)}try{const e=new taskstatus_1.TaskStatus(locales_1.default.config.UPLOAD.toString());c(e);const r=`${a?url_config_1.TEST_SOURCE_URL:url_config_1.UPLOAD_URL}?${querystring_1.default.stringify(b)}`;let t,i=!1,n=0;const l=(0,pack_1.pack)(f),u=zlib_1.default.gzipSync(l.buffer);if(log.info("useCOS parameter: ",d),log.info("upload zip buffer size: ",u.length),void 0===d&&(d=u.length>5242880),d){log.info("upload by COS: ",d);const e=await(0,cos_upload_1.uploadByCosSafely)(u,r,o,s);e.fallback?(i=e.fallback,log.info("upload by COS failed, fallback to http way")):(t={body:e.body},n=e.uploadCOSCostTime)}if(!d||i){const e=await(0,sign_1.getSignature)(o.privateKey,o.appid);f[index_1.SIGNATURE_FILE_NAME]=JSON.stringify({signature:e,version:y});const i=(0,pack_1.pack)(f),s=zlib_1.default.gzipSync(i.buffer);log.info("request url:",r);const a=(await(0,request_1.request)({url:r,method:"post",body:s})).body.toString();if(t=(0,jsonParse_1.jsonRespParse)(a,r),0!==t.errCode)throw new Error(a)}e.done(),c(e);const p={respBody:t.body};if(Array.isArray(t.body.subpackage_info)){const e=t.body.subpackage_info;p.subPackageInfo=e}if(Array.isArray(t.body.ext_plugin_info)){const e=t.body.ext_plugin_info;p.pluginInfo=e.map(e=>({pluginProviderAppid:e.provider,version:e.version,size:e.size}))}return g.destroy(),p}catch(e){throw new error_1.CodeError(e.toString(),config_1.UPLOAD_CGI_ERR)}}exports.upload=upload,exports.innerUpload=innerUpload;
|