getDevSourceMap.js 2.5 KB

123
  1. !function(require, directRequire){
  2. "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDevSourceMap=void 0;const tslib_1=require("tslib"),fs_1=tslib_1.__importDefault(require("fs")),path_1=tslib_1.__importDefault(require("path")),log_1=tslib_1.__importDefault(require("../utils/log")),request_1=require("../utils/request"),url_config_1=require("../utils/url_config"),sign_1=require("../utils/sign"),JsZip=require("jszip"),ERR_MSG_PREFIX="download source map failed:";async function getExtAppId(e){let r,t={};try{r=await e.getFile(e.miniprogramRoot,"ext.json"),t=JSON.parse(r.toString("utf-8"))}catch(e){}if(null==t?void 0:t.extEnable)return t.extAppid}async function getDevSourceMap(e){const{project:r,robot:t,streaming:o}=e;let{sourceMapSavePath:a}=e;if(!r){const e="params project is requried";throw log_1.default.error(e),e}if("number"!=typeof t||Math.round(t)>30||Math.round(t)<=0){const e="params robot is invalid";throw log_1.default.error(e),e}if(!a){const e="params sourceMapSavePath is invalid";throw log_1.default.error(e),e}path_1.default.isAbsolute(a)||(a=path_1.default.join(process.cwd(),a));const i=await(0,sign_1.getSignature)(r.privateKey,r.appid),s=await getExtAppId(r),{body:l}=await(0,request_1.request)({url:url_config_1.GET_DEV_SOURCE_MAP,method:"post",gzip:!0,body:JSON.stringify({appid:r.appid,signature:i,robot:t,extAppId:s,streaming:o}),headers:{"content-type":"application/json"}});let u,p;try{u=JSON.parse(l)}catch(e){const r=ERR_MSG_PREFIX+" resp body is not a valid json";throw log_1.default.error(r),r}if(o)p=u.sourcemap_list;else{if(0!==u.errCode)throw new Error(`request failed, errCode: ${u.errCode}, errMsg: ${u.errMsg}`);const e=u.data;if(!Array.isArray(e.sourcemap_list)){const r=`${ERR_MSG_PREFIX} respData.sourcemap_list, respData: ${JSON.stringify(e)}`;throw log_1.default.error(r),r}p=e.sourcemap_list}const n=p,c=new JsZip;try{n.forEach(e=>{c.folder(path_1.default.dirname(e.fullpath)).file(path_1.default.basename(e.fullpath),e.sourcemap)})}catch(e){const r=ERR_MSG_PREFIX+" source map add folder or add file error";throw log_1.default.error(r),r}let _;try{_=await c.generateAsync({type:"nodebuffer"})}catch(e){const r=ERR_MSG_PREFIX+" source map generate zip error";throw log_1.default.error(r),r}try{fs_1.default.writeFileSync(a,_)}catch(e){const r=`${ERR_MSG_PREFIX} save source map to ${a} failed. Error detail: ${JSON.stringify(e)}`;throw log_1.default.error(r),r}return _}exports.getDevSourceMap=getDevSourceMap;
  3. }(require("licia/lazyImport")(require), require)