jd-minigame-ci 1.2.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/jgc.js +1 -1
- package/package.json +1 -1
package/dist/jgc.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var r in t)("object"==typeof exports?exports:e)[r]=t[r]}}(global,()=>(()=>{var e={220:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=220,e.exports=n},241:e=>{"use strict";e.exports=require("qrcode-terminal")},593:e=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function t(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}function r(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}var o=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.configPrompts=[{name:"versionName",type:"input",message:"版本号:",default:"1.0.0"},{name:"versionFeature",type:"input",message:"版本特性(长度为10~30个字符):",default:""},{name:"useGuide",type:"input",message:"使用指南(仅限文字和代码,长度为20~1000个字符):",default:"插件使用指南不建议在这里填写,建议到小游戏插件MP控制台提审时修改,这里是占位文本"}]},(n=[{key:"getPrompts",value:function(){return this.configPrompts}}])&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=o},649:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a=t(7372),s=a.sendProgress,c=a.sendLog,u=a.sendComplete,l=a.sendError,f=new(function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.currentAction=null,this.currentStep=0,this.totalSteps=0},n=[{key:"start",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.currentAction=e,this.currentStep=0,this.totalSteps=n,s(e,0,"开始".concat(this.getActionLabel(e),"...")),c("info","开始".concat(this.getActionLabel(e)))}},{key:"update",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;null!==n?this.currentStep=n:this.currentStep++;var t=Math.min(Math.round(this.currentStep/this.totalSteps*100),99);s(this.currentAction,t,e),c("info",e)}},{key:"complete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;s(this.currentAction,100,"".concat(this.getActionLabel(this.currentAction),"完成")),u(this.currentAction,e),c("info","".concat(this.getActionLabel(this.currentAction),"完成")),this.reset()}},{key:"fail",value:function(e){l(this.currentAction,e),c("error",e),this.reset()}},{key:"log",value:function(e,n){c(e,n)}},{key:"reset",value:function(){this.currentAction=null,this.currentStep=0,this.totalSteps=0}},{key:"getActionLabel",value:function(e){return{"wasm-init":"初始化","wasm-update":"增量更新","wasm-split-dev":"Dev 版本分包","wasm-split-prod":"生产版本分包","wasm-split-report":"函数上报",preview:"预览码生成",rollback:"回滚"}[e]||e}}],n&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}());e.exports=f},857:e=>{"use strict";e.exports=require("os")},1060:(e,n)=>{function t(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||function(e,n){if(e){if("string"==typeof e)return r(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?r(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function o(e){return"string"==typeof e&&!!e.trim()}n.checkConfigOptions=function(e,n){var r=e||{},i=r.type,a=r.appId,s=r.requestToken,c=r.entry,u=r.versionName,l=r.description;if("game"!==i)return{code:-1,err_msg:"请选择项目构建类型为小游戏"};for(var f=1===n?{appId:a,requestToken:s,entry:c}:{appId:a,requestToken:s,entry:c,versionName:u,description:l},p=0,m=Object.entries(f);p<m.length;p++){var d=t(m[p],2),v=d[0];if(!o(d[1]))return{code:-1,err_msg:"".concat(v," 不能为空")}}return{code:0,err_msg:"ok"}},n.checkPluginConfig=function(e){var n=e||{},r=n.type,i=n.appId,a=n.requestToken,s=n.entry,c=n.versionName;if("plugin"!==r)return{code:-1,err_msg:"请选择项目构建类型为插件"};for(var u={appId:i,requestToken:a,entry:s,versionName:c},l=0,f=Object.entries(u);l<f.length;l++){var p=t(f[l],2),m=p[0];if(!o(p[1]))return{code:-1,err_msg:"".concat(m," 不能为空")}}return{code:0,err_msg:"ok"}}},1426:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var a=t(7252).Router(),s=t(6928),c=t(857),u=(t(9896),t(6626),t(649)),l=t(9538),f=t(3121),p=t(2425),m=t(8085).SUCCEED_CODE;a.post("/preview",function(){var e,n=(e=r().m(function e(n,o){var i,a,d,v,y,h,b,g,w,S,k,P,j,E,O,_,F,T,I,x,C,G;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:i=n.isPreEnv,a=!i,e.p=1,u.start("preview",5),u.update("正在加载项目配置..."),d=s.posix.resolve("","./jgc.config.js"),v="function"==typeof require?require:t(3709),e.p=2,delete v.cache[v.resolve(d)],y=v(d),e.n=4;break;case 3:return e.p=3,e.v,u.fail("未找到项目配置,请先执行 jgc config"),e.a(2,o.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 4:return b=(h=y).appId,g=h.requestToken,w=h.entry,u.update("正在压缩文件..."),S=c.tmpdir()+s.sep+"package.jd.zip",l.deleteFile(S),e.p=5,e.n=6,new Promise(function(e,n){f(w,S,function(t,r){t?n(t):e(r)})});case 6:e.n=8;break;case 7:return e.p=7,T=e.v,u.fail("压缩失败: ".concat(T.message)),e.a(2,o.json({code:-1,message:"压缩失败: ".concat(T.message)}));case 8:return u.update("正在上传代码包..."),k=new p(a?"prod":"dev"),e.p=9,e.n=10,k.uploadProject({sourceFile:S,appId:b,requestToken:g,isProd:a,showType:"preview"});case 10:if((P=e.v).code===m){e.n=11;break}return u.fail(P.err_msg),e.a(2,o.json({code:-1,message:P.err_msg}));case 11:e.n=13;break;case 12:return e.p=12,I=e.v,u.fail(I.message),e.a(2,o.json({code:-1,message:I.message}));case 13:return u.update("正在构建代码包..."),e.p=14,e.n=15,k.loopQueryBuildStatus({appId:b,requestToken:g,isProd:a,showType:"preview"},P.uuid);case 15:if((j=e.v).code===m){e.n=16;break}return u.fail(j.err_msg),e.a(2,o.json({code:-1,message:j.err_msg}));case 16:e.n=18;break;case 17:return e.p=17,x=e.v,u.fail(x.message),e.a(2,o.json({code:-1,message:x.message}));case 18:return u.update("正在生成预览码..."),E=j.packId,e.p=19,e.n=20,k.generateQrCode({packId:E,appId:b,requestToken:g,showType:"preview"});case 20:if((O=e.v).code===m){e.n=21;break}return u.fail(O.err_msg),e.a(2,o.json({code:-1,message:O.err_msg}));case 21:_=O.imgUrl,F=O.expiredTime,u.complete({imgUrl:_,expiredTime:F}),o.json({code:0,message:"预览码生成成功",data:{imgUrl:_,expiredTime:F}}),e.n=23;break;case 22:e.p=22,C=e.v,u.fail(C.message),o.json({code:-1,message:C.message});case 23:e.n=25;break;case 24:e.p=24,G=e.v,u.fail(G.message),o.json({code:-1,message:G.message});case 25:return e.a(2)}},e,null,[[19,22],[14,17],[9,12],[5,7],[2,3],[1,24]])}),function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})});return function(e,t){return n.apply(this,arguments)}}()),e.exports=a},2078:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,o,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return i(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(i(n={},r,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,i(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,i(m,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(m),i(m,a,"Generator"),i(m,r,function(){return this}),i(m,"toString",function(){return"[object Generator]"}),(o=function(){return{w:s,m:d}})()}function i(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}i=function(e,n,t,r){function a(n,t){i(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},i(e,n,t,r)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function l(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){u(i,r,o,a,s,"next",e)}function s(e){u(i,r,o,a,s,"throw",e)}a(void 0)})}}var f=t(7252).Router(),p=t(8461),m=t(6928),d=t(9896),v=t(857),y=t(8320),h=t(649),b=t(4246),g=t(6626),w=t(9664),S=t(9538),k=t(2425),P=p({dest:m.join(v.tmpdir(),"wasm-split-uploads"),limits:{fileSize:52428800}});f.post("/wasm-split-dev",function(){var e=l(o().m(function e(n,t){var r,i,a,c,u;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,h.start("wasm-split-dev",4),h.update("正在构建 dev 版本分包..."),e.n=2,y.splitBase({srcPath:"",isPreEnv:r,wasmEnv:i,isRelease:!1});case 2:if(0!==(a=e.v).code){e.n=4;break}return b.invalidateCache&&b.invalidateCache(),h.update("正在获取分包信息..."),e.n=3,y.getSplitInfo({srcPath:"",isPreEnv:r,wasmEnv:i});case 3:c=e.v,h.complete(s(s({},a),{},{info:c})),t.json({code:0,message:"dev 版本分包完成",data:s(s({},a),{},{info:c})}),e.n=5;break;case 4:h.fail(a.msg||"分包失败"),t.json({code:-1,message:a.msg||"分包失败"});case 5:e.n=7;break;case 6:e.p=6,u=e.v,h.fail(u.message),t.json({code:-1,message:u.message});case 7:return e.a(2)}},e,null,[[1,6]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/wasm-split-prod",function(){var e=l(o().m(function e(n,t){var r,i,a,c,u;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,h.start("wasm-split-prod",4),h.update("正在构建生产版本分包..."),e.n=2,y.splitBase({srcPath:"",isPreEnv:r,wasmEnv:i,isRelease:!0});case 2:if(0!==(a=e.v).code){e.n=4;break}return b.invalidateCache&&b.invalidateCache(),h.update("正在获取分包信息..."),e.n=3,y.getSplitInfo({srcPath:"",isPreEnv:r,wasmEnv:i});case 3:c=e.v,h.complete(s(s({},a),{},{info:c})),t.json({code:0,message:"prod 版本分包完成",data:s(s({},a),{},{info:c})}),e.n=5;break;case 4:h.fail(a.msg||"分包失败"),t.json({code:-1,message:a.msg||"分包失败"});case 5:e.n=7;break;case 6:e.p=6,u=e.v,h.fail(u.message),t.json({code:-1,message:u.message});case 7:return e.a(2)}},e,null,[[1,6]])}));return function(n,t){return e.apply(this,arguments)}}()),f.get("/wasm-split-info",function(){var e=l(o().m(function e(n,t){var r,i,a,s;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,e.n=2,y.getSplitInfo({srcPath:"",isPreEnv:r,wasmEnv:i});case 2:0===(a=e.v).code?t.json({code:0,data:a}):t.json({code:-1,message:a.msg||"查询失败"}),e.n=4;break;case 3:e.p=3,s=e.v,t.json({code:-1,message:s.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/wasm-split-report",P.single("funcFile"),function(){var e=l(o().m(function e(n,t){var r,i,a,s,c,u,l,f,p;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=n.isPreEnv,i=n.wasmEnv,e.p=1,n.file){e.n=2;break}return e.a(2,t.json({code:-1,message:"请上传函数文件"}));case 2:return h.start("wasm-split-report",3),h.update("正在解析函数文件..."),a=n.file.path,s=d.readFileSync(a,"utf-8"),c=s.split("\n").map(function(e){return e.trim()}).filter(function(e){return e.length>0}),h.update("解析到 ".concat(c.length," 个函数,正在上报...")),e.n=3,y.reportCalledFuncs({srcPath:"",isPreEnv:r,wasmEnv:i,funcList:c,suppressExit:!0});case 3:u=e.v,d.unlinkSync(a),u&&0===u.code?(f=null!==(l=u.reportedCount)&&void 0!==l?l:c.length,h.complete({reportedCount:f}),t.json({code:0,message:"函数上报完成",data:{reportedCount:f}})):(h.fail((null==u?void 0:u.msg)||"上报失败"),t.json({code:-1,message:(null==u?void 0:u.msg)||"上报失败"})),e.n=5;break;case 4:e.p=4,p=e.v,h.fail(p.message),t.json({code:-1,message:p.message});case 5:return e.a(2)}},e,null,[[1,4]])}));return function(n,t){return e.apply(this,arguments)}}()),f.get("/wasm-function-count",function(){var e=l(o().m(function e(n,t){var r,i,a,s;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=n.isPreEnv,i=n.wasmEnv,e.p=1,w.setEnv(i||r),y.isHasInit()){e.n=2;break}return e.n=2,y.init({srcPath:"",isPreEnv:r,wasmEnv:i,isUpdate:!1});case 2:return e.n=3,y.queryCountReportWasmFunction();case 3:a=e.v,t.json({code:0,data:{newFuncCount:a||0}}),e.n=5;break;case 4:e.p=4,s=e.v,console.error("查询函数个数失败:",s.message),t.json({code:0,data:{newFuncCount:0}});case 5:return e.a(2)}},e,null,[[1,4]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/wasm-rollback",function(){var e=l(o().m(function e(n,t){var r,i,a,s;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,h.start("rollback",2),h.update("正在回滚分包..."),e.n=2,y.rollbackEntryChanges({srcPath:"",isPreEnv:r,wasmEnv:i});case 2:0===(a=e.v).code?(b.invalidateCache&&b.invalidateCache(),h.complete(a),t.json({code:0,message:"回滚完成",data:a})):(h.fail(a.msg||"回滚失败"),t.json({code:-1,message:a.msg||"回滚失败"})),e.n=4;break;case 3:e.p=3,s=e.v,h.fail(s.message),t.json({code:-1,message:s.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/upload",function(){var e=l(o().m(function e(n,t){var r,i,a,s,c,u,l,f,p,y,b,w,P,j,E,O,_,F,T,I,x,C,G,M,A,N;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=n.isPreEnv,i=n.body,a=i.versionName,s=i.description,e.p=1,a){e.n=2;break}return e.a(2,t.json({code:-1,message:"请输入版本号"}));case 2:if(!(!s||s.length<1||s.length>100)){e.n=3;break}return e.a(2,t.json({code:-1,message:"版本描述长度需在 1-100 个字符之间"}));case 3:h.start("upload",6),h.update("正在加载项目配置..."),e.p=4,c=g.loadProjectConfig(""),e.n=6;break;case 5:return e.p=5,e.v,h.fail("未找到项目配置"),e.a(2,t.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 6:l=(u=c).appId,f=u.requestToken,p=u.entry,y=u.fullEntryPath,b=y||p,w=m.resolve(process.cwd(),"jgc.config.js"),h.update("正在更新配置文件...");try{P=d.readFileSync(w,"utf-8"),P=(j=function(e,n,t){var r=new RegExp("([\"']?".concat(n,"[\"']?\\s*:\\s*)[\"'][^\"']*[\"']"),"i");return r.test(e)?e.replace(r,'$1"'.concat(t,'"')):e})(P,"versionName",a),P=j(P,"description",s),d.writeFileSync(w,P,"utf-8")}catch(e){console.error("更新配置文件失败:",e)}return h.update("正在压缩文件..."),E=v.tmpdir()+m.sep+"jd_game_temp.zip",d.existsSync(E)&&d.unlinkSync(E),e.n=7,S.compressDirectory(b,E);case 7:return O=e.v,h.update("压缩完成,共 ".concat((O/1e3).toFixed(1)," KB")),h.update("正在上传代码包..."),F=new k((_=!r)?"prod":"dev"),e.n=8,F.uploadProject({sourceFile:E,appId:l,requestToken:f,isProd:_,showType:"upload"});case 8:if(0===(T=e.v).code){e.n=9;break}return h.fail(T.err_msg||"上传失败"),e.a(2,t.json({code:-1,message:T.err_msg||"上传代码包失败"}));case 9:return h.update("正在构建代码包..."),e.n=10,F.loopQueryBuildStatus({appId:l,requestToken:f,isProd:_,showType:"upload"},T.uuid);case 10:if(0===(I=e.v).code){e.n=11;break}return h.fail(I.err_msg||"构建失败"),e.a(2,t.json({code:-1,message:I.err_msg||"代码包构建失败"}));case 11:return x=I.packId,h.update("正在设置开发版..."),e.n=12,F.commitDevVersion({appId:l,requestToken:f,versionName:a,description:s},x);case 12:if(0===(C=e.v).code){e.n=13;break}return h.fail(C.err_msg||"设置开发版失败"),e.a(2,t.json({code:-1,message:C.err_msg||"设置开发版失败"}));case 13:return G=C.devId,h.update("正在设置体验版..."),e.n=14,F.setDevExperience({appId:l,requestToken:f},G);case 14:if(0===(M=e.v).code){e.n=15;break}return h.fail(M.err_msg||"设置体验版失败"),e.a(2,t.json({code:-1,message:M.err_msg||"设置体验版失败"}));case 15:return h.update("正在生成体验码..."),e.n=16,F.queryExperienceQrcodeByPackId({appId:l,requestToken:f});case 16:if(0===(A=e.v).code){e.n=17;break}return h.fail(A.err_msg||"获取二维码失败"),e.a(2,t.json({code:-1,message:A.err_msg||"获取体验码失败"}));case 17:d.existsSync(E)&&d.unlinkSync(E),h.complete({imgUrl:A.imgUrl}),t.json({code:0,message:"上传成功",data:{imgUrl:A.imgUrl,versionName:a,description:s}}),e.n=19;break;case 18:e.p=18,N=e.v,h.fail(N.message),console.error("上传失败:",N),t.json({code:-1,message:N.message||"上传失败"});case 19:return e.a(2)}},e,null,[[4,5],[1,18]])}));return function(n,t){return e.apply(this,arguments)}}()),e.exports=f},2080:e=>{"use strict";e.exports=require("open")},2225:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||function(e,n){if(e){if("string"==typeof e)return a(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function s(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var c=t(9896),u=t(9023).promisify,l=t(5759),f=u(c.readFile),p=u(c.writeFile);function m(){var e;return e=r().m(function e(n,t){var o,i,a,s,c,u=arguments;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=!(u.length>2&&void 0!==u[2])||u[2],e.p=1,e.n=2,f(n,"utf8");case 2:if(i=e.v,a=JSON.parse(i),s=d(a),!o){e.n=4;break}return e.n=3,p(t,JSON.stringify(s,null,2));case 3:case 6:return e.a(2);case 4:return e.a(2,s);case 5:throw e.p=5,c=e.v,l.logErr("处理文件时发生错误: ".concat(c.message)),c}},e,null,[[1,5]])}),m=function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){s(i,r,o,a,c,"next",e)}function c(e){s(i,r,o,a,c,"throw",e)}a(void 0)})},m.apply(this,arguments)}function d(e){var n={"\\28":"(","\\29":")","\\5b":"[","\\5d":"]","\\2c":",","\\20":" "},t={};return Object.entries(e).forEach(function(e){var r=i(e,2),o=r[0],a=r[1];Object.entries(n).forEach(function(e){var n=i(e,2),t=n[0],r=n[1];a=a.replace(new RegExp(t,"g"),r)}),t[o]=a}),t}e.exports=function(e,n){return m.apply(this,arguments)}},2268:e=>{"use strict";e.exports=require("jsqr")},2305:e=>{"use strict";e.exports=require("form-data")},2410:e=>{"use strict";e.exports=require("glob")},2425:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach(function(n){a(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function a(e,n,t){return(n=p(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return c(l,"_invoke",function(t,r,o){var i,s,c,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,s=0,c=e,p.n=t,a}};function m(t,r){for(s=t,c=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(s=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,s=0))}if(o||t>1)return a;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),s=l,c=d;(n=s<2?e:c)||!f;){i||(s?s<3?(s>1&&(p.n=-1),m(s,c)):p.n=c:p.v=c);try{if(u=2,i){if(s||(o="next"),n=i[o]){if(!(n=n.call(i,c)))throw TypeError("iterator result is not an object");if(!n.done)return n;c=n.value,s<2&&(s=0)}else 1===s&&(n=i.return)&&n.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((n=(f=p.n<0)?c:t.call(r,p))!==a)break}catch(n){i=e,s=1,c=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),l}var a={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(c(n={},r,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,c(m,"constructor",f),c(f,"constructor",l),l.displayName="GeneratorFunction",c(f,o,"GeneratorFunction"),c(m),c(m,o,"Generator"),c(m,r,function(){return this}),c(m,"toString",function(){return"[object Generator]"}),(s=function(){return{w:i,m:d}})()}function c(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}c=function(e,n,t,r){function i(n,t){c(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},c(e,n,t,r)}function u(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function l(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){u(i,r,o,a,s,"next",e)}function s(e){u(i,r,o,a,s,"throw",e)}a(void 0)})}}function f(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,p(r.key),r)}}function p(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var m=t(8938),d=t(2305),v=t(4652),y=t(8085),h=y.FAIL_CODE,b=y.SUCCEED_CODE,g=(t(1060).checkConfigOptions,{dev:"http://beta-vapp-ide.jd.com",prod:"https://vapp-ide-pack.jd.com",test:"http://test-vapp-ide.jdtest.net"}),w=function(){return e=function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"prod";!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.URL=g[n]},n=[{key:"uploadProject",value:(E=l(s().m(function e(n){var t,r,o;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,this.pack(n);case 1:if((t=e.v).code===b){e.n=2;break}return e.a(2,t);case 2:return r=t.data.result,e.a(2,{code:b,uuid:r});case 3:return e.p=3,o=e.v,e.a(2,{code:h,err_msg:o instanceof Error?o.message:"上传失败"})}},e,this,[[0,3]])})),function(e){return E.apply(this,arguments)})},{key:"loopQueryBuildStatus",value:(j=l(s().m(function e(n,t){var r;return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.loopQuery(n,t);case 1:if((r=e.v).code===b){e.n=2;break}return e.a(2,r);case 2:return e.a(2,{code:b,packId:r.data})}},e,this)})),function(e,n){return j.apply(this,arguments)})},{key:"sendPostRequest",value:(P=l(s().m(function e(n,t){var r,o,a,c,u,l=arguments;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:for(a in r=l.length>2&&void 0!==l[2]?l[2]:"请求失败",o=new d,t)o.append(a,t[a]);return e.p=1,e.n=2,m.post(n,o,{headers:i({},o.getHeaders())});case 2:if((c=e.v).data.code!==b){e.n=3;break}return e.a(2,{code:b,data:c.data});case 3:return e.a(2,{code:h,err_msg:"".concat(r,": ").concat(c.data.errorMessage)});case 4:return e.p=4,u=e.v,e.a(2,{code:h,err_msg:"".concat(r,": ").concat(u)})}},e,null,[[1,4]])})),function(e,n){return P.apply(this,arguments)})},{key:"pluginPublishRequest",value:(k=l(s().m(function e(n,t,r,o){var i,a,c,u,l,f=arguments;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:return i=f.length>4&&void 0!==f[4]?f[4]:"请求失败",a=JSON.stringify(t),c={method:"post",maxBodyLength:1/0,url:"".concat(n,"?appId=").concat(r,"&requestToken=").concat(o),headers:{"Content-Type":"application/json"},data:a},e.p=1,e.n=2,m.request(c);case 2:if((u=e.v).data.code!==b){e.n=3;break}return e.a(2,{code:b,data:u.data});case 3:return e.a(2,{code:h,err_msg:"".concat(i,": ").concat(u.data.errorMessage)});case 4:return e.p=4,l=e.v,e.a(2,{code:h,err_msg:"".concat(i,": ").concat(l)})}},e,null,[[1,4]])})),function(e,n,t,r){return k.apply(this,arguments)})},{key:"pack",value:(S=l(s().m(function e(n){var t,r,o,i,a,c;return s().w(function(e){for(;;)if(0===e.n)return t=n.sourceFile,r=n.appId,o=n.requestToken,i=n.showType,a="".concat(this.URL,"upload"===i?"/v1/devops/pack":"/v1/ci/preview"),c={appId:r,requestToken:o,sourceFile:v.createReadStream(t)},e.a(2,this.sendPostRequest(a,c,"文件上传报错"))},e,this)})),function(e){return S.apply(this,arguments)})},{key:"loopQuery",value:(w=l(s().m(function e(n,t){var r,o,i,a;return s().w(function(e){for(;;)switch(e.n){case 0:r=Date.now(),o=2e6,i=3e3;case 1:if(!(Date.now()-r<o)){e.n=6;break}return e.n=2,new Promise(function(e){return setTimeout(e,i)});case 2:return e.n=3,this.queryPkgId(n,t);case 3:if((a=e.v).code===b){e.n=4;break}return e.a(2,{code:h,err_msg:a.err_msg});case 4:if(!a.data.result){e.n=5;break}return e.a(2,{code:b,data:a.data.result});case 5:e.n=1;break;case 6:return e.a(2,{code:h,err_msg:"查询超时"})}},e,this)})),function(e,n){return w.apply(this,arguments)})},{key:"queryPkgId",value:(y=l(s().m(function e(n,t){var r,o,i,a,c;return s().w(function(e){for(;;)if(0===e.n)return r=n.appId,o=n.requestToken,i=n.showType,a={appId:r,requestToken:o,uuid:t},c="".concat(this.URL,"/v1/ci/queryPackIdByUuid"),"preview"===i&&(c="".concat(this.URL,"/v1/ci/query-async-build-result")),e.a(2,this.sendPostRequest(c,a,"获取构建包id失效"))},e,this)})),function(e,n){return y.apply(this,arguments)})},{key:"generateQrCode",value:(p=l(s().m(function e(n){var t,r,o,i,a,c,u,l;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.appId,r=n.requestToken,o=n.packId,i=n.showType,a={appId:t,requestToken:r},c="".concat(this.URL,"/v1/ci/queryQrcodeByPackId"),"preview"===i?(c="".concat(this.URL,"/v1/ci/previewQrcode"),a.clientKey=o):a.packId=o,e.n=1,this.sendPostRequest(c,a,"获取二维码失效");case 1:if((u=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:u.err_msg});case 2:if(!u.data.result){e.n=3;break}return(l=new Date).setMinutes(l.getMinutes()+25),e.a(2,{code:b,imgUrl:u.data.result,expiredTime:"".concat(this.addZeroForShort(l.getHours()),":").concat(this.addZeroForShort(l.getMinutes()))});case 3:return e.a(2,{code:h,err_msg:"二维码生成完成请求返回为空"});case 4:return e.a(2)}},e,this)})),function(e){return p.apply(this,arguments)})},{key:"addZeroForShort",value:function(e){return String(e).length<2?"0".concat(String(e)):String(e)}},{key:"commitDevVersion",value:(u=l(s().m(function e(n,t){var r,o,i,a,c,u;return s().w(function(e){for(;;)switch(e.n){case 0:return r=n.appId,o=n.requestToken,i=n.versionName,a=n.description,c={packId:t,appId:r,requestToken:o,versionName:i,description:a},e.n=1,this.sendPostRequest("".concat(this.URL,"/v1/ci/commitDevVersion"),c,"设置为开发版失效");case 1:if((u=e.v).code===b){e.n=2;break}return e.a(2,u);case 2:return e.a(2,{code:b,devId:u.data.result})}},e,this)})),function(e,n){return u.apply(this,arguments)})},{key:"setDevExperience",value:(c=l(s().m(function e(n,t){var r,o,i,a;return s().w(function(e){for(;;)switch(e.n){case 0:return r=n.appId,o=n.requestToken,i={appId:r,requestToken:o,devId:t},e.n=1,this.sendPostRequest("".concat(this.URL,"/v1/ci/devExperience"),i,"设置为体验版失效");case 1:if((a=e.v).code===b){e.n=2;break}return e.a(2,a);case 2:return e.a(2,{code:b})}},e,this)})),function(e,n){return c.apply(this,arguments)})},{key:"queryExperienceQrcodeByPackId",value:(a=l(s().m(function e(n){var t,r,o,i,a,c;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.appId,r=n.requestToken,o={appId:t,requestToken:r},e.n=1,this.sendPostRequest("".concat(this.URL,"/v1/ci/queryExperienceQrcode"),o,"获取体验二维码失效");case 1:if((i=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:i.err_msg});case 2:return a=i.data.result,(c=new Date).setMinutes(c.getMinutes()+25),e.a(2,{code:b,imgUrl:a,expiredTime:"".concat(this.addZeroForShort(c.getHours()),":").concat(this.addZeroForShort(c.getMinutes()))})}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"uploadPlugin",value:(o=l(s().m(function e(n){var t,r,o,i,a,c,u;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.sourceFile,r=n.appId,o=n.requestToken,i=n.versionName,a="".concat(this.URL,"/v1/ci/pluginPack"),c={appId:r,requestToken:o,versionName:i,sourceFile:v.createReadStream(t)},e.n=1,this.sendPostRequest(a,c,"插件构建报错");case 1:if((u=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:u.err_msg});case 2:return e.a(2,{code:b,result:u.data.result})}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"publishPlugin",value:(r=l(s().m(function e(n){var t,r,o,i,a,c,u,l,f;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.versionName,r=n.versionFeature,o=n.useGuide,i=n.packId,a=n.appId,c=n.requestToken,u="".concat(this.URL,"/v1/ci/plugin-dev"),l={versionName:t,versionFeature:r,useGuide:o,packId:i},e.n=1,this.pluginPublishRequest(u,l,a,c,"插件上传报错");case 1:if((f=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:f.err_msg});case 2:return e.a(2,{code:b})}},e,this)})),function(e){return r.apply(this,arguments)})}],n&&f(e.prototype,n),t&&f(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t,r,o,a,c,u,p,y,w,S,k,P,j,E}();e.exports=w},3121:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a=t(2410),s=t(9896),c=t(6928),u=t(7172),l=function(){return e=function e(n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.projectPath=n.src,this.distFile=n.dist,this._allFilePath=[],this._allFileContents=[]},(n=[{key:"genWholeTrunk",value:function(){this._getAllFileBaseInfo();var e=this.genFileIndex(),n=this._getAllFileCountBuf();e.unshift(n);var t=Buffer.concat(e),r=Buffer.concat(this._allFileContents),o=this.encodeHeader(t.length,r.length),i=Buffer.concat(o),a=Buffer.concat([i,t,r]);s.writeFileSync(this.distFile,a,"binary")}},{key:"_getAllFiles",value:function(){return a.sync(this.projectPath+"/**",{nodir:!0,ignore:["**/.*","**/.*/.**","**/*.js.map"]})}},{key:"encodeHeader",value:function(e,n){var t=[Buffer.alloc(1),Buffer.alloc(4),Buffer.alloc(4),Buffer.alloc(4),Buffer.alloc(1)];return t[0].writeUInt8(250),t[1].writeInt32BE(7),t[4].writeUInt8(238),t[2].writeInt32BE(e),t[3].writeInt32BE(n),t}},{key:"_getAllFileBaseInfo",value:function(){var e=this._getAllFiles(),n=this;e.forEach(function(e){var t=s.readFileSync(e),r=c.relative(n.projectPath,e),o=Buffer.from("/"+r.replace(/\\/g,"/"));n._allFilePath.push(o),n._allFileContents.push(t)})}},{key:"genFileIndex",value:function(){var e=this._genFirstContentOffset(),n=this;return this._allFilePath.map(function(t,r){var o=Buffer.alloc(4);o.writeInt32BE(t.length);var i=Buffer.alloc(4),a=e;i.writeInt32BE(a);var s=Buffer.alloc(4),c=n._allFileContents[r].length;return s.writeInt32BE(c),e+=c,Buffer.concat([o,t,i,s])})}},{key:"_genFirstContentOffset",value:function(){return 18+12*this._allFilePath.length+Buffer.concat(this._allFilePath).length}},{key:"_getAllFileCountBuf",value:function(){var e=Buffer.alloc(4);return e.writeInt32BE(this._allFilePath.length),e}}])&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}();function f(e,n,t){var r=e+".jd";new l({src:e,dist:r}).genWholeTrunk(),function(e,n){return new Promise(function(t,r){var o=s.createWriteStream(n),i=u("zip",{zlib:{level:9}});o.on("close",function(){t(n)}),i.on("warning",function(e){"ENOENT"!==e.code&&r(e)}),i.on("error",r),i.pipe(o),i.file(e,{name:"package.jd"}),i.finalize()})}(r,n).then(function(){s.existsSync(r)&&s.unlinkSync(r),t(null,n)}).catch(function(e){console.log("压缩 .jd 文件失败:",e),t(e)})}e.exports=function(e,n,t){f(e,n,t)}},3427:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s,c=t(9896),u=c.promises,l=t(6928),f=t(8938),p=function(e,n){return{filePath:e?n:void 0,tempFilePath:n,statusCode:200}},m=function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,u.access(n);case 1:e.n=3;break;case 2:return e.p=2,e.v,e.n=3,u.mkdir(n,{recursive:!0});case 3:return e.a(2)}},e,null,[[0,2]])}));return function(n){return e.apply(this,arguments)}}(),d=function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,u.stat(n);case 1:if(!e.v.isDirectory()){e.n=2;break}return e.n=2,u.rm(n,{recursive:!0});case 2:e.n=4;break;case 3:e.p=3,e.v;case 4:return e.a(2)}},e,null,[[0,3]])}));return function(n){return e.apply(this,arguments)}}();e.exports={downloadFile:(s=a(r().m(function e(n){var t,o,i,s,v,y,h,b,g,w;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=n.url,o=n.filePath,i=n.success,s=n.fail,v=n.complete,y={success:i,fail:s,complete:v},e.p=1,e.n=2,m(l.dirname(o));case 2:return e.n=3,d(o);case 3:return e.n=4,f({method:"get",url:t,responseType:"stream"});case 4:return h=e.v,b=c.createWriteStream(o),h.data.pipe(b),e.a(2,new Promise(function(e,n){var t=0,i=parseInt(h.headers["content-length"]),s=h.headers["transfer-encoding"];b.on("finish",a(r().m(function a(){var c,l,f,m;return r().w(function(r){for(;;)switch(r.p=r.n){case 0:if(r.p=0,"chunked"===s||!i||t===i){r.n=2;break}return r.n=1,u.unlink(o);case 1:throw new Error("Download incomplete: Received ".concat(t," of ").concat(i," bytes"));case 2:null===(c=y.success)||void 0===c||c.call(y,p(!0,o)),e(p(!0,o)),r.n=4;break;case 3:r.p=3,m=r.v,null===(l=y.fail)||void 0===l||l.call(y,{errMsg:m.message}),n(m);case 4:return r.p=4,null===(f=y.complete)||void 0===f||f.call(y),r.f(4);case 5:return r.a(2)}},a,null,[[0,3,4,5]])}))),b.on("error",function(){var e=a(r().m(function e(t){var i;return r().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,u.unlink(o).catch(function(){});case 1:null===(i=y.fail)||void 0===i||i.call(y,{errMsg:"Write failed: ".concat(t.message)}),n(t);case 2:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),h.data.on("data",function(e){t+=e.length})}));case 5:return e.p=5,w=e.v,e.n=6,u.unlink(o).catch(function(){});case 6:throw null===(g=y.fail)||void 0===g||g.call(y,{errMsg:"Download failed: ".concat(w.message)}),w;case 7:return e.a(2)}},e,null,[[1,5]])})),function(e){return s.apply(this,arguments)})}},3709:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=3709,e.exports=n},3785:e=>{"use strict";e.exports=require("readline")},3904:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=3904,e.exports=n},4218:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s=t(7252).Router(),c=t(8320),u=t(649),l=t(6928),f=t(5322);function p(e,n){return m.apply(this,arguments)}function m(){return(m=a(r().m(function e(n,t){var o,i,a,s,u,p,m;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,(o=c.validateProject("increment-history","",n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t.json({code:-1,message:o.errMsg||"项目校验失败"}));case 1:c.ensureSpinner().start("开始获取历史版本……"),i=l.resolve(c.config.entry,".codesplitcache"),a=l.resolve(i,"original"),c.setupCacheDirectories(i,a),e.p=2,f.syncPluginCacheFiles(c.config.entry,a),c.spinner.succeed("文件备份完成"),e.n=4;break;case 3:throw e.p=3,u=e.v,c.spinner.fail("文件备份失败:".concat(u.message)),u;case 4:return e.n=5,c.processSymbolFiles(i,a);case 5:return c.spinner.start(),c.spinner.text="开始上传文件……",e.p=6,e.n=7,c.uploadFiles(a,i);case 7:e.n=9;break;case 8:e.p=8,p=e.v,c.spinner.fail("上传文件失败:".concat(p.message)),process.exit(1);case 9:return c.spinner.succeed("上传文件成功"),c.spinner.start(),c.spinner.text="添加游戏版本……",e.n=10,c.addGameVersion();case 10:return c.spinner.succeed("添加游戏版本成功"),e.n=11,c.getIncrementHistory();case 11:s=e.v,t.json({code:0,data:s}),e.n=13;break;case 12:e.p=12,m=e.v,c.spinner.fail(m.message),t.json({code:-1,message:m.message});case 13:return e.a(2)}},e,null,[[6,8],[2,3],[0,12]])}))).apply(this,arguments)}s.post("/wasm-init",function(){var e=a(r().m(function e(n,t){var o,i,a,s,l,f;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=n.body.isUpdate,i=void 0!==o&&o,a=n.isPreEnv,s=n.wasmEnv,e.p=1,u.start("wasm-init",5),u.update("正在验证项目配置..."),e.n=2,c.init({srcPath:"",isPreEnv:a,wasmEnv:s,isUpdate:i});case 2:l=e.v,u.complete(l),t.json({code:0,message:i?"增量更新完成":"初始化完成",data:l}),e.n=4;break;case 3:e.p=3,f=e.v,u.fail(f.message),t.json({code:-1,message:f.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),s.post("/wasm-update",function(){var e=a(r().m(function e(n,t){var o,i,a,s;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=n.isPreEnv,i=n.wasmEnv,e.p=1,u.start("wasm-update",6),u.update("正在获取历史版本..."),e.n=2,c.init({srcPath:"",isPreEnv:o,wasmEnv:i,isUpdate:!0});case 2:a=e.v,u.complete(a),t.json({code:0,message:"增量更新完成",data:a}),e.n=4;break;case 3:e.p=3,s=e.v,u.fail(s.message),t.json({code:-1,message:s.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),s.get("/wasm-history-versions",p),s.get("/increment/history",p),s.post("/increment/init",function(){var e=a(r().m(function e(n,t){var o,i,a,s,l,f;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(o=n.isPreEnv,i=n.wasmEnv,a=n.body||{},s=a.incrementMd5){e.n=1;break}return e.a(2,t.json({code:-1,message:"请选择历史版本"}));case 1:return e.p=1,u.start("increment-init",6),u.update("正在进行增量初始化..."),e.n=2,c.runIncrementInit({srcPath:"",isPreEnv:o,wasmEnv:i,incrementMd5:s});case 2:l=e.v,u.complete(l),t.json({code:0,message:"增量初始化完成",data:l}),e.n=4;break;case 3:e.p=3,f=e.v,u.fail(f.message),t.json({code:-1,message:f.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),e.exports=s},4246:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,o,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return i(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(i(n={},r,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,i(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,i(m,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(m),i(m,a,"Generator"),i(m,r,function(){return this}),i(m,"toString",function(){return"[object Generator]"}),(o=function(){return{w:s,m:d}})()}function i(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}i=function(e,n,t,r){function a(n,t){i(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},i(e,n,t,r)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var l=t(7252).Router(),f=t(6928),p=t(9896),m=t(6626),d=t(9664),v=t(6949),y=(t(8320),t(649),t(8330)),h={splitDetails:null,codeMd5:null,lastSplitTime:null,cacheTime:null};function b(e){return!!h.splitDetails&&(h.codeMd5===e&&!(h.lastSplitTime&&h.cacheTime&&h.lastSplitTime>h.cacheTime))}function g(e){var n=f.join(e,".codesplitcache/codesplit-config.json"),t=f.join(e,"wasmcode"),r=f.join(e,"wasmcode1");return p.existsSync(n)&&p.existsSync(t)&&p.existsSync(r)?"split":"not_split"}function w(e){var n=f.join(e,"wasmcode");if(!p.existsSync(n))return{filePath:null,fileName:null,codeMd5:null};var t=p.readdirSync(n).find(function(e){return e.endsWith(".wasm")||e.endsWith(".wasm.br")||e.endsWith(".unityweb.wasm.br")||e.endsWith(".wasm.unityweb")});return t?{filePath:f.join(n,t),fileName:t,codeMd5:function(e){if(!e)return null;var n=e.split(".")[0];return n&&/^[a-f0-9]{16}$/i.test(n)?n:null}(t)}:{filePath:null,fileName:null,codeMd5:null}}function S(e){var n=null,t=0,r=f.join(e,"webgl.wasm.symbols.unityweb");if(p.existsSync(r)){n=r;try{t=p.readFileSync(r,"utf-8").split("\n").filter(function(e){return e.trim().length>0}).length}catch(e){}}else{var o=f.join(e,"Build.json"),i=f.join(e,"unityweb.json");if(p.existsSync(o)){n=o;try{var a=p.readFileSync(o,"utf-8"),s=JSON.parse(a);s.symbols&&Array.isArray(s.symbols)&&(t=s.symbols.length)}catch(e){}}else if(p.existsSync(i)){n=i;try{var c=p.readFileSync(i,"utf-8"),u=JSON.parse(c);u.symbols&&Array.isArray(u.symbols)&&(t=u.symbols.length)}catch(e){}}}return{symbolFilePath:n,totalFunctions:t}}l.invalidateCache=function(){h.lastSplitTime=Date.now(),h.splitDetails=null,console.log("[config] 服务端缓存已失效")},l.get("/wasm-split-init",function(){var e,n=(e=o().m(function e(n,t){var r,i,a,c,u,l,k,P,j,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:e.p=0,e.p=1,r=m.loadProjectConfig(""),e.n=3;break;case 2:return e.p=2,e.v,e.a(2,t.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 3:if(r){e.n=4;break}return e.a(2,t.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 4:if(a=(i=r).appId,c=i.entry,i.requestToken,u=i.fullEntryPath,l=u||c,d.setEnv(n.wasmEnv||n.isPreEnv),k=g(l),P=w(l),j=P.filePath,P.fileName,E=P.codeMd5,O=S(l),_=O.symbolFilePath,F=O.totalFunctions,T=null,I=f.join(l,".codesplitcache/codesplit-config.json"),p.existsSync(I))try{T=JSON.parse(p.readFileSync(I,"utf-8"))}catch(e){}if(x=null,"split"!==k){e.n=10;break}if(e.p=5,!b(E)){e.n=6;break}console.log("[config] 使用服务端缓存的分包详情"),x=s(s({},h.splitDetails),{},{md5:E}),e.n=8;break;case 6:return console.log("[config] 开始分析 WASM, entryPath:",l,"totalFunctions:",F),e.n=7,v.getSplitDetails(l,F);case 7:C=e.v,console.log("[config] 分析结果:",JSON.stringify(C)),C?(x={splitForm:C.splitForm,mainFuncCount:C.mainFuncCount,subFuncCount:C.subFuncCount,mainFuncRatio:C.mainFuncRatio,splitTip:C.splitTip,splitTipLevel:C.splitTipLevel,isDevSplit:C.isDevSplit,md5:E},h.splitDetails={splitForm:C.splitForm,mainFuncCount:C.mainFuncCount,subFuncCount:C.subFuncCount,mainFuncRatio:C.mainFuncRatio,splitTip:C.splitTip,splitTipLevel:C.splitTipLevel,isDevSplit:C.isDevSplit},h.codeMd5=E,h.cacheTime=Date.now(),console.log("[config] 服务端缓存已更新")):(console.log("[config] splitDetails 为空,使用回退配置"),x={splitForm:"Unknown",mainFuncCount:(null===(G=T)||void 0===G?void 0:G.mainFuncCount)||0,subFuncCount:(null===(M=T)||void 0===M?void 0:M.subFuncCount)||0,mainFuncRatio:0,splitTip:"-",splitTipLevel:"warning",md5:(null===(A=T)||void 0===A?void 0:A.md5)||E});case 8:e.n=10;break;case 9:e.p=9,W=e.v,console.error("[config] WASM 分析失败:",W.message),x={splitForm:"Unknown",mainFuncCount:(null===(N=T)||void 0===N?void 0:N.mainFuncCount)||0,subFuncCount:(null===(D=T)||void 0===D?void 0:D.subFuncCount)||0,mainFuncRatio:0,splitTip:"-",splitTipLevel:"warning",md5:(null===(q=T)||void 0===q?void 0:q.md5)||E};case 10:t.json({code:0,data:{appId:a,entry:l,codeMd5:E,totalFunctions:F,splitStatus:k,wasmFilePath:j,symbolFilePath:_,cacheConfig:T,splitInfo:x,isPreEnv:n.isPreEnv,wasmEnv:n.wasmEnv,appVersion:(null==y?void 0:y.version)||"0.0.0"}}),e.n=12;break;case 11:e.p=11,R=e.v,t.json({code:-1,message:R.message});case 12:return e.a(2)}},e,null,[[5,9],[1,2],[0,11]])}),function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){u(i,r,o,a,s,"next",e)}function s(e){u(i,r,o,a,s,"throw",e)}a(void 0)})});return function(e,t){return n.apply(this,arguments)}}()),l.get("/project-config",function(e,n){try{var t=m.loadProjectConfig("");n.json({code:0,data:t})}catch(e){n.json({code:-1,message:e.message})}}),e.exports=l},4377:e=>{e.exports=[{reg:/Module\[('|")HEAP8('|")\]\s*=\s*HEAP8\s*=\s*new\s*Int8Array/gi,replaceMethod:function(){return'Module["HEAP8"] = window.EMSCRIPTEN_HEAP8 = HEAP8 = new Int8Array'}},{reg:/Module\[('|")HEAP16('|")\]\s*=\s*HEAP16\s*=\s*new\s*Int16Array/gi,replaceMethod:function(){return'Module["HEAP16"] = window.EMSCRIPTEN_HEAP16 = HEAP16 = new Int16Array'}},{reg:/Module\[('|")HEAP32('|")\]\s*=\s*HEAP32\s*=\s*new\s*Int32Array/gi,replaceMethod:function(){return'Module["HEAP32"] = window.EMSCRIPTEN_HEAP32 = HEAP32 = new Int32Array'}},{reg:/Module\[('|")HEAPU8('|")\]\s*=\s*HEAPU8\s*=\s*new\s*Uint8Array/gi,replaceMethod:function(){return'Module["HEAPU8"] = window.EMSCRIPTEN_HEAPU8 = HEAPU8 = new Uint8Array'}},{reg:/Module\[('|")HEAPU16('|")\]\s*=\s*HEAPU16\s*=\s*new\s*Uint16Array/gi,replaceMethod:function(){return'Module["HEAPU16"] = window.EMSCRIPTEN_HEAPU16 = HEAPU16 = new Uint16Array'}},{reg:/Module\[('|")HEAPU32('|")\]\s*=\s*HEAPU32\s*=\s*new\s*Uint32Array/gi,replaceMethod:function(){return'Module["HEAPU32"] = window.EMSCRIPTEN_HEAPU32 = HEAPU32 = new Uint32Array'}},{reg:/Module\[('|")HEAPF32('|")\]\s*=\s*HEAPF32\s*=\s*new\s*Float32Array/gi,replaceMethod:function(){return'Module["HEAPF32"] = window.EMSCRIPTEN_HEAPF32 = HEAPF32 = new Float32Array'}},{reg:/Module\[('|")HEAPF64('|")\]\s*=\s*HEAPF64\s*=\s*new\s*Float64Array/gi,replaceMethod:function(){return'Module["HEAPF64"] = window.EMSCRIPTEN_HEAPF64 = HEAPF64 = new Float64Array'}},{reg:"calledMain = true;",replaceMethod:function(){return"if (GameGlobal.unityNamespace.pluginCalledMainCb) {\n GameGlobal.unityNamespace.pluginCalledMainCb()\n }\n calledMain = true;"}}]},4420:e=>{"use strict";e.exports=require("jimp")},4652:e=>{"use strict";e.exports=require("fs-extra")},4901:e=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function t(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}function r(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}var o=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.configPrompts=[{name:"entry",type:"input",message:"请输入函数名文件所在路径:",default:"./"}]},(n=[{key:"getPrompts",value:function(){return this.configPrompts}}])&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=o},5086:e=>{"use strict";e.exports=require("ws")},5205:e=>{"use strict";e.exports=require("picocolors")},5317:e=>{"use strict";e.exports=require("child_process")},5322:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,o,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return i(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(i(n={},r,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,i(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,i(m,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(m),i(m,a,"Generator"),i(m,r,function(){return this}),i(m,"toString",function(){return"[object Generator]"}),(o=function(){return{w:s,m:d}})()}function i(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}i=function(e,n,t,r){function a(n,t){i(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},i(e,n,t,r)}function a(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function s(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}function c(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var u,l,f,p=t(9896),m=t(6928),d=t(2410),v=t(6046),y=v.createWasmSplitCodeBySimd,h=v.createImportFuncIndexCodeBySimd,b=t(4377),g=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)}return n=e,t=null,r=[{key:"compareVersion",value:function(e,n){for(var t=String(e).split(".").map(Number),r=String(n).split(".").map(Number),o=0;o<Math.max(t.length,r.length);o++){var i=t[o]||0,a=r[o]||0;if(i>a)return 1;if(i<a)return-1}return 0}},{key:"maxVersion",value:function(e,n){return this.compareVersion(e,n)>=0?e:n}},{key:"syncPluginCacheFiles",value:function(e,n){this.ensureDirectoryExists(n),this.copyBrFiles(e,n),this.copyFixedFiles(e,n)}},{key:"ensureDirectoryExists",value:function(e){p.existsSync(e)||p.mkdirSync(e,{recursive:!0})}},{key:"copyBrFiles",value:function(e,n){var t=this,r=m.join(e,"wasmcode1");if(p.existsSync(r))throw new Error("文件备份错误,检查wasm文件是否是已分包版本");var o=m.join(n,"wasmcode");p.existsSync(o)&&p.rmSync(o,{recursive:!0,force:!0}),p.mkdirSync(o,{recursive:!0});var i=m.posix.join(e,"wasmcode","*.br");d.sync(i).forEach(function(r){var o=m.relative(e,r),i=m.join(n,o),a=m.dirname(i);t.ensureDirectoryExists(a),p.copyFileSync(r,i)})}},{key:"copyFixedFiles",value:function(e,n){["game.js","game.json","webgl.wasm.framework.unityweb.js","weapp-adapter.js"].forEach(function(t){var r=m.join(e,t),o=m.join(n,t);if(!p.existsSync(o)){if(!p.existsSync(r))throw new Error("Source file missing: ".concat(r));p.copyFileSync(r,o)}})}},{key:"processJavaScriptFiles",value:(i=o().m(function e(n,t,r){var i,a,s;return o().w(function(e){for(;;)switch(e.n){case 0:return this.config=r,p.copyFileSync(m.resolve(r.originalCacheDir,"game.json"),m.resolve(t,"game.json")),i=h(n.tableSize,n.subVersion,r.isPre,r.requestToken,r.isRelease),p.writeFileSync(m.resolve(t,"import-func-index.js"),i),e.n=1,y();case 1:a=e.v,p.writeFileSync(m.resolve(t,"wasm-split.js"),a),s=m.resolve(t,"wasmcode1"),p.writeFileSync(m.resolve(s,"game.js"),"");case 2:return e.a(2)}},e,this)}),c=function(){var e=this,n=arguments;return new Promise(function(t,r){var o=i.apply(e,n);function s(e){a(o,t,r,s,c,"next",e)}function c(e){a(o,t,r,s,c,"throw",e)}s(void 0)})},function(e,n,t){return c.apply(this,arguments)})},{key:"updateConfigFiles",value:function(e,n,t){this.config=t,this.updateGameJson(e,n),this.updateFrameworkJs(e,n),this.updateGameJs(e,n),this.updateAdapterJs(e,n)}},{key:"updateGameJson",value:function(n,t){var r=JSON.parse(p.readFileSync(m.resolve(this.config.originalCacheDir,"game.json")));r.subpackages.push({name:"wasmcode1",root:"wasmcode1/"});var o=r.plugins.UnityPlugin;o.version=this.maxVersion(o.version,e.MIN_UNITY_PLUGIN_VERSION),p.writeFileSync(m.resolve(t,"game.json"),JSON.stringify(r,null,2))}},{key:"updateFrameworkJs",value:function(e,n){var t=m.resolve(this.config.originalCacheDir,"webgl.wasm.framework.unityweb.js"),r=m.resolve(n,"webgl.wasm.framework.unityweb.js"),o=p.readFileSync(t,"utf-8");b.forEach(function(e){o=o.replace(e.reg,e.replaceMethod)}),o+=";\nGameGlobal.unityNamespace.useWasmCodeSplit=true;GameGlobal.unityNamespace.WASM_SPLIT_SUB_VERSION=".concat(e.subVersion,";\n"),p.writeFileSync(r,o)}},{key:"updateGameJs",value:function(e,n){var t=this,r=m.resolve(this.config.originalCacheDir,"game.js"),o=m.resolve(n,"game.js"),i=p.readFileSync(r,"utf-8");[{reg:/const\s*_unityNamespace\s*=\s*_interopRequireDefault\(require\((['"])\.\/unity-namespace\1\)\)/gi,replaceMethod:function(){return"const _unityNamespace = _interopRequireDefault(require('./unity-namespace')); \n require('./wasm-split.js')"}},{reg:"GameGlobal.managerConfig = managerConfig;",replaceMethod:function(){return"GameGlobal.managerConfig = managerConfig; \nif(__jdConfig&&__jdConfig.NAConfig&&__jdConfig.NAConfig.useiOSfuncWasmBack){ \nGameGlobal.canUseH5Renderer = false; \n} else { \nGameGlobal.canUseH5Renderer = ".concat(!!t.config.isRelease,"; \n} ")}},{reg:/import\s+unityNamespace\s+from\s+(['"])\.\/unity-namespace\1\s*;/gi,replaceMethod:function(){return"import unityNamespace from './unity-namespace';\n import wasm_split from './wasm-split'"}},{reg:/APPID:\s*(['"])(.*?)\1/gi,replaceMethod:function(){return"APPID:'".concat(t.config.appId,"'")}}].forEach(function(e){i=i.replace(e.reg,e.replaceMethod)}),p.writeFileSync(o,i)}},{key:"updateAdapterJs",value:function(e,n){var t=m.resolve(this.config.originalCacheDir,"weapp-adapter.js"),r=m.resolve(n,"weapp-adapter.js"),o=p.readFileSync(t,"utf-8");o='"function" == typeof XMLHttpRequest&&(GameGlobal.nativeXHR = XMLHttpRequest);\n"object" == typeof WebAssembly&&(GameGlobal.nativeWASM = WebAssembly);'+o,p.writeFileSync(r,o)}}],t&&s(n.prototype,t),r&&s(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,t,r,i,c}();u=g,f="1.2.59",(l=c(l="MIN_UNITY_PLUGIN_VERSION"))in u?Object.defineProperty(u,l,{value:f,enumerable:!0,configurable:!0,writable:!0}):u[l]=f,e.exports=g},5759:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a,s=t(6895),c=t(8720);e.exports=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"logStep",value:function(e){for(var n,t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];(n=console).log.apply(n,[s.green("> ".concat(e))].concat(r))}},{key:"log",value:function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];setTimeout(function(){var n;(n=console).log.apply(n,[s.green(e)].concat(t))},0)}},{key:"logInfo",value:function(e){for(var n,t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];(n=console).log.apply(n,[e].concat(r))}},{key:"logErr",value:function(e){for(var n,t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];(n=console).log.apply(n,[s.red(e)].concat(r))}},{key:"startLogProcess",value:function(e){var n=c(e).start(),t={stop:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e+" 失败";"fail"==(arguments.length>1?arguments[1]:void 0)?n.fail(e):n.succeed(e)}};return a=t,t}},{key:"endLogProcess",value:function(e,n){e||(e=a),e&&"function"==typeof e.stop&&e.stop(n,"fail")}}],(n=null)&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}()},6046:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}t(6928);var a,s,c=t(9239).minify;e.exports={createWasmSplitCodeBySimd:(a=r().m(function e(){var n,t,o;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,n='import { tableSize, setImportGlobal } from "./import-func-index";\n import { isIOS } from "./check-version";\n \n let b = (wx.getAccountInfoSync() || {}).miniProgram;\n const isTrial = b && "release" != b.envVersion;\n let callbackArray = [],\n isLoaded = false;\n \n function loadSubWasmPackage(doneCallback, needBlock) {\n if (isLoaded) {\n doneCallback(needBlock);\n return;\n }\n let loadStart = Date.now();\n GameGlobal.unityNamespace.eventLog("start loadSubPackage wasmcode1");\n callbackArray.push({\n callback: doneCallback,\n needBlock: needBlock,\n });\n let a = Date.now() - loadStart;\n GameGlobal.unityNamespace.eventLog(\n "下载代码分包1完毕: ",\n (a / 1e3).toFixed(2),\n "s"\n );\n GameGlobal.manager.subWasmDownloaded(a);\n isLoaded = true;\n callbackArray.forEach((a) => a.callback(a.needBlock));\n callbackArray = [];\n }\n let loadedSub = false,\n isInstanced = false;\n function reTry(a) {\n let e = function () {\n isInstanced ? a() : setTimeout(e, 1);\n };\n setTimeout(e, 1);\n }\n \n function initializeSubWasmModule(needBlock) {\n GameGlobal.unityNamespace.eventLog(\n "start compileSubWasm: needBlock ",\n needBlock\n );\n GameGlobal.manager.beforeLoadSubWasm();\n let instanceStart = Date.now();\n const subWasmPath =\n "wasmcode1/" +\n GameGlobal.unityNamespace.CODE_FILE_MD5 +\n "." +\n GameGlobal.unityNamespace.GAME_NAME +\n ".wasm.code.unityweb.wasm.br";\n let callback = (a) => {\n let cost = Date.now() - instanceStart;\n GameGlobal.manager.subWasmCompiled(cost);\n GameGlobal.unityNamespace.eventLog(\n "[PLUGIN SUBWASM LOG]subwasm loaded: ",\n cost\n );\n isInstanced = true;\n };\n WXWebAssembly.instantiate(subWasmPath, wasm_split_info)\n .then(callback)\n .catch((a) => {\n console.error("wasmcode1 catch ", a);\n });\n }\n \n function invokeWait(needBlock) {\n if (!isInstanced) {\n if (!loadedSub) {\n loadedSub = true;\n GameGlobal.unityNamespace.eventLog(\n "start instantiateSubWasm: needBlock ",\n needBlock\n );\n loadSubWasmPackage(initializeSubWasmModule, needBlock);\n }\n }\n }\n \n function innerInvokeWasmBuffer(funcName, e) {\n GameGlobal.manager.wasmsplit.innerInvokeWasmBuffer({\n funcName: funcName,\n importObj: window.wasm_split_info,\n fail(t) {\n if (e > 0) {\n GameGlobal.unityNamespace.eventLog(\n "fetch table_id: ",\n funcName,\n "; remainRetryTimes: ",\n e\n );\n return innerInvokeWasmBuffer(funcName, e - 1);\n }\n GameGlobal.unityNamespace.eventLog(\n "fetch table_id:",\n funcName,\n "; md5: ",\n GameGlobal.unityNamespace.CODE_FILE_MD5,\n "; subversion: ",\n GameGlobal.unityNamespace.WASM_SPLIT_SUB_VERSION,\n "; err: ",\n t\n );\n if ("system error" === t.errmsg || "content is null" === t.errmsg) {\n GameGlobal.onCrash();\n } else {\n wx.showModal({\n title: "网络状态异常",\n content: "请检查网络后重启 小游戏",\n showCancel: !1,\n confirmText: wx.restartMiniProgram ? "立即重启" : "确定",\n success() {\n wx.restartMiniProgram && wx.restartMiniProgram({})\n }\n })\n // invokeWait(true);\n }\n },\n });\n }\n let subCalledSet = new Set(),\n globalCalledSet = new Set();\n \n function _reportCalledFunc() {\n if (subCalledSet.size > 0) {\n GameGlobal.manager.reportCalledFuncs({\n called_func_list: Array.from(subCalledSet),\n sub_version: GameGlobal.unityNamespace.WASM_SPLIT_SUB_VERSION,\n func_type: 1,\n });\n subCalledSet.clear();\n }\n \n setTimeout(_reportCalledFunc, 5000);\n }\n \n GameGlobal.unityNamespace.reportCalledFunc = _reportCalledFunc;\n \n if (!GameGlobal.unityNamespace.pluginCalledMainCbs) {\n GameGlobal.unityNamespace.pluginCalledMainCbs = [];\n }\n \n if (!GameGlobal.unityNamespace.pluginCalledMainCb) {\n GameGlobal.unityNamespace.pluginCalledMainCb = function () {\n this.pluginCalledMainCbs.forEach((a) => a());\n };\n }\n \n isTrial &&\n !GameGlobal.canUseH5Renderer &&\n GameGlobal.unityNamespace.pluginCalledMainCbs.push(_reportCalledFunc);\n \n GameGlobal.unityNamespace.instantiateWasm = function (\n instantiateWasmInfo,\n receiveInstance\n ) {\n console.log("in wasm-split instantiateWasm");\n const module = GameGlobal.manager.gameInstance.Module,\n asm2wasm = (instantiateWasmInfo.asm2wasm =\n instantiateWasmInfo.asm2wasm || {});\n asm2wasm["f64-to-int"] =\n asm2wasm["f64-to-int"] ||\n function (a) {\n return 0 | a;\n };\n asm2wasm["f64-rem"] =\n asm2wasm["f64-rem"] ||\n function (a, e) {\n return a % e;\n };\n \n instantiateWasmInfo.env = instantiateWasmInfo.env || {};\n \n instantiateWasmInfo.primary = {\n table:\n instantiateWasmInfo.env.table ||\n new WebAssembly.Table({\n initial: tableSize,\n maximum: tableSize,\n element: "anyfunc",\n }),\n memory: instantiateWasmInfo.env.memory,\n };\n \n setImportGlobal(instantiateWasmInfo);\n \n instantiateWasmInfo.wasm_split = instantiateWasmInfo.wasm_split || {};\n instantiateWasmInfo.wasm_split.wait = function () {\n let waitTableId = GameGlobal.unityNamespace.waitTableId.value;\n GameGlobal.unityNamespace.eventLog("wait for func: ", waitTableId);\n if (isIOS && GameGlobal.canUseH5Renderer) {\n return innerInvokeWasmBuffer(waitTableId.toString(), 3);\n }\n invokeWait(true);\n };\n \n console.log("@@@canUseH5Renderer", GameGlobal.canUseH5Renderer);\n if (GameGlobal.canUseH5Renderer) {\n instantiateWasmInfo.wasm_split.logCall = function (a, e) {};\n } else {\n instantiateWasmInfo.wasm_split.logCall = function (a, e) {\n if (e) {\n if (!globalCalledSet.has(a)) {\n globalCalledSet.add(a);\n subCalledSet.add(a);\n }\n }\n };\n }\n instantiateWasmInfo.wasm_split.__wasm_split_waitTableId =\n GameGlobal.unityNamespace.waitTableId = new WebAssembly.Global({\n value: "i32",\n mutable: true,\n });\n \n window.wasm_split_info = instantiateWasmInfo;\n let wasmPath = module.wasmPath;\n WebAssembly.instantiate(wasmPath, instantiateWasmInfo).then(\n (resultObject) => {\n Object.entries(resultObject.instance.exports).forEach((instanceFunc) => {\n if (\n "object" == typeof instanceFunc[1] &&\n instanceFunc[1] instanceof WebAssembly.Memory\n ) {\n instantiateWasmInfo.primary.memory = instanceFunc[1];\n asm2wasm.__wasm_memory_size = window.__wasm_memory_size = () =>\n (instanceFunc[1].buffer.byteLength / 65536) | 0;\n }\n if (instanceFunc[0].startsWith("wasm_split.")) {\n instantiateWasmInfo.primary[instanceFunc[0]] = instanceFunc[1];\n }\n });\n instantiateWasmInfo.primary["wasm_split.initGlobal"] =\n resultObject.instance.exports.initGlobal;\n resultObject.instance.exports.initGlobal();\n module.asm = resultObject.instance.exports;\n if (isIOS && GameGlobal.canUseH5Renderer) {\n receiveInstance(resultObject.instance, resultObject.module);\n } else {\n invokeWait(true);\n reTry(() =>\n receiveInstance(resultObject.instance, resultObject.module)\n );\n }\n }\n );\n return {};\n };\n GameGlobal.unityNamespace.compileSubWasm = function () {\n return new Promise((resolve) => {\n return resolve(true);\n });\n };\n ',e.n=1,c(n,{compress:{drop_console:!1,drop_debugger:!0,pure_funcs:[]},mangle:{reserved:["GameGlobal","wx","WXWebAssembly","WebAssembly"]},format:{comments:!1}});case 1:if(!(t=e.v).error){e.n=2;break}return console.error("Terser 压缩失败:",t.error),e.a(2,n);case 2:return e.a(2,t.code);case 3:e.p=3,o=e.v,console.error("wasmSplitContent处理失败:",o);case 4:return e.a(2)}},e,null,[[0,3]])}),s=function(){var e=this,n=arguments;return new Promise(function(t,r){var o=a.apply(e,n);function s(e){i(o,t,r,s,c,"next",e)}function c(e){i(o,t,r,s,c,"throw",e)}s(void 0)})},function(){return s.apply(this,arguments)}),createImportFuncIndexCodeBySimd:function(e,n,t,r,o){return"export const importSubFuncIndexList = [];\nexport const tableSize = ".concat(e,";\nGameGlobal.unityNamespace.wasmSubVersion =").concat(n,';\nGameGlobal.unityNamespace.baseUrl ="').concat(t?"http://beta-vapp-ide.jd.com":"https://vapp-ide-pack.jd.com",'";\nGameGlobal.unityNamespace.requestToken = "').concat(r,'";\n').concat(t?" wx.requestWebCookie && wx.requestWebCookie({needpin: 1,success(e){ GameGlobal.unityNamespace.webcookieInfo = {pt_pin: e.pt_pin, pt_ket: e.ticket}}});":"",'\nexport function setImportGlobal(info) {info["primary"] = info["primary"] || {};info["primary"]["__stack_pointer"] = new WebAssembly.Global({\n value: "i32",\n mutable: true\n });info["primary"]["__stack_end"] = new WebAssembly.Global({\n value: "i32",\n mutable: true\n });info["primary"]["__stack_base"] = new WebAssembly.Global({\n value: "i32",\n mutable: true\n });};\n \n export function setStackPointer(info) {\n\n }\n \n export function setImportFunc(info, jCall) {\n \n }\n \n ')}}},6471:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a,s,c,u=t(9896),l=t(6928),f=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"validateProjectStructure",value:function(e){if(!this.isReadable(e.fullEntryPath))return this.ERROR_MESSAGES.ENTRY_NOT_FOUND;var n=l.resolve(e.fullEntryPath,"game.json");try{var t;if(null===(t=JSON.parse(u.readFileSync(n,"utf-8")).plugins)||void 0===t||!t.UnityPlugin)return this.ERROR_MESSAGES.NOT_UNITY_GAME}catch(e){return this.ERROR_MESSAGES.GAME_JSON_NOT_FOUND}return{valid:!0}}},{key:"isReadable",value:function(e){try{return u.accessSync(e,u.constants.R_OK),!0}catch(e){return!1}}}],(n=null)&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}();a=f,c={ENTRY_NOT_FOUND:{code:-1,msg:"操作失败",errMsg:"请检查entry是否存在"},NOT_UNITY_GAME:{code:-1,msg:"操作失败",errMsg:"该游戏不是unity游戏"},GAME_JSON_NOT_FOUND:{code:-1,msg:"操作失败",errMsg:"请检查game.json是否存在"}},(s=i(s="ERROR_MESSAGES"))in a?Object.defineProperty(a,s,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[s]=c,e.exports=f},6589:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=6589,e.exports=n},6626:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a=t(6928),s=t(9896),c=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.environments={wasmdev:"http://beta-vapp-ide.jd.com",wasmgray:"https://gray-mp-console.jd.com",wasmprod:"https://vapp-ide-pack.jd.com"},this.currentEnv=this.resolveInitialEnv()},n=[{key:"resolveInitialEnv",value:function(){var e=process.argv||[];return e.includes("-gray")||e.includes("--gray")?"wasmgray":e.includes("-D")?"wasmdev":"wasmprod"}},{key:"getBaseUrl",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentEnv;return this.environments[e]||this.environments.wasmprod}},{key:"getApiUrls",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentEnv,n=this.getBaseUrl(e);return{UPLOAD_FILE:"".concat(n,"/wasm/upload"),ADD_GAME_VERSION:"".concat(n,"/wasm/packageBind"),INIT:"".concat(n,"/wasm/initialize"),QUERY_MD5_HISTORY_HAVE_RELEASE:"".concat(n,"/wasm/queryMd5HistoryHaveRelease"),QUERY_WASM_FUNCTION_ONLINE_FIND_LIST:"".concat(n,"/wasm/queryWasmFunctionOnlineFindList"),SPLIT:"".concat(n,"/wasm/build"),GET_GAME_SPLIT_INFO:"".concat(n,"/wasm/queryBuildResultBySubVersion"),DOWNLOAD_FILE:"".concat(n,"/wasm/download"),GET_SYMBOL_SIZE:"".concat(n,"/wasm/getSymbolSize"),GET_INIT_RES:"".concat(n,"/wasm/queryInitResult"),REPORT_FUNS:"".concat(n,"/wasm/reportWasmFunction"),QUERY_COUNT_REPORT_FUNS:"".concat(n,"/wasm/queryCountReportWasmFunction")}}},{key:"loadProjectConfig",value:function(e){var n=a.resolve(process.cwd(),"jgc.config.js"),r="function"==typeof require?require:t(220);delete r.cache[r.resolve(n)];var o=r(n),i=o.type,c=void 0===i?"game":i,u=o.entry,l=o.appId,f=o.requestToken,p=a.resolve(e||process.cwd(),u),m=a.resolve(p,".codesplitcache"),d=a.resolve(m,"original"),v=a.resolve(d,"wasmcode");return s.existsSync(m)||s.mkdirSync(m,{recursive:!0}),s.existsSync(d)||s.mkdirSync(d,{recursive:!0}),s.existsSync(v)||s.mkdirSync(v,{recursive:!0}),{type:c,entry:u,appId:l,requestToken:f,mainWasmCachePath:s.readdirSync(v).filter(function(e){return".br"===a.extname(e)})[0],originalCacheDir:d,fullEntryPath:p}}}],n&&o(e.prototype,n),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=new c},6858:e=>{"use strict";e.exports=require("commander")},6895:e=>{"use strict";e.exports=require("chalk")},6928:e=>{"use strict";e.exports=require("path")},6949:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s=t(9896),c=t(6928),u=t(5317).execSync,l=t(857),f=t(3785),p="function"==typeof require?require:t(3904),m=null,d=null;function v(){if(!m)try{m=p("brotli")}catch(e){console.error("加载 brotli 失败:",e.message)}return m}function y(){if(!d)try{d=p("wabt")}catch(e){console.error("加载 wabt 失败:",e.message)}return d}function h(e){if(e.length>=4&&0===e[0]&&97===e[1]&&115===e[2]&&109===e[3])return"wasm";try{var n=v();if(!n)return"unknown";var t=n.decompress(e);if(t&&t.length>=4&&0===t[0]&&97===t[1]&&115===t[2]&&109===t[3])return"wasm.br"}catch(e){}return"unknown"}function b(e){try{var n=v();if(!n)throw new Error("brotli 模块加载失败");var t=n.decompress(e);return Buffer.from(t)}catch(e){throw new Error("Brotli 解压失败: ".concat(e.message))}}function g(e){return new Promise(function(n,t){if(!function(){try{return u("wasm2wat --version",{stdio:"pipe"}),!0}catch(e){return!1}}()){var r=function(){var e="\n";switch(e+="╔══════════════════════════════════════════════════════════════════╗\n",e+="║ [wasmAnalyzer] 系统未安装 wasm2wat 命令行工具 ║\n",e+="║ 该工具用于解析使用了高级特性(如 SIMD)的大型 WASM 文件 ║\n",e+="╚══════════════════════════════════════════════════════════════════╝\n\n",l.platform()){case"darwin":e+="【macOS 安装方法】\n",e+=" 运行命令: brew install wabt\n";break;case"linux":e+="【Linux 安装方法】\n",e+=" Ubuntu/Debian: sudo apt-get install wabt\n",e+=" Fedora: sudo dnf install wabt\n",e+=" Arch: sudo pacman -S wabt\n";break;case"win32":e+="【Windows 安装方法】\n\n",e+=" 方式一:手动下载安装(推荐)\n",e+=" ─────────────────────────────\n",e+=" 1. 访问下载页面:\n",e+=" https://github.com/WebAssembly/wabt/releases\n\n",e+=" 2. 下载 Windows 版本 (如: wabt-1.0.36-windows.tar.gz)\n\n",e+=" 3. 解压到任意目录,例如: C:\\wabt\n\n",e+=" 4. 将 bin 目录添加到系统 PATH 环境变量:\n",e+=" - 右键「此电脑」→「属性」→「高级系统设置」\n",e+=" - 点击「环境变量」→ 在「系统变量」中找到 Path\n",e+=" - 点击「编辑」→「新建」→ 输入: C:\\wabt\\bin\n",e+=" - 点击「确定」保存\n\n",e+=" 5. 重新打开命令行窗口,输入以下命令验证:\n",e+=" wasm2wat --version\n\n",e+=" 方式二:使用 Scoop 包管理器\n",e+=" ─────────────────────────────\n",e+=" 如果已安装 Scoop,直接运行: scoop install wabt\n";break;default:e+="【安装方法】\n",e+=" 请访问 https://github.com/WebAssembly/wabt 获取安装说明\n"}return e+"\n安装完成后,请重新运行此命令。\n"}();return console.error(r),void t(new Error("系统未安装 wasm2wat 工具,请按照上述指南安装后重试"))}var o=l.tmpdir(),i=Date.now(),a=c.join(o,"wasm_analyzer_".concat(i,".wasm")),f=c.join(o,"wasm_analyzer_".concat(i,".wat"));try{s.writeFileSync(a,e),console.log("[wasmAnalyzer] 尝试调用系统 wasm2wat 工具..."),u('wasm2wat "'.concat(a,'" -o "').concat(f,'"'),{stdio:"inherit"});try{s.unlinkSync(a)}catch(e){}s.existsSync(f)?(console.log("[wasmAnalyzer] WAT 文件已生成:",f),n(f)):t(new Error("wasm2wat 命令执行完成但未生成输出文件"))}catch(e){try{s.existsSync(a)&&s.unlinkSync(a)}catch(e){}try{s.existsSync(f)&&s.unlinkSync(f)}catch(e){}t(e)}})}function w(e){return new Promise(function(n,t){var r=0,o=0,i=!1,a=s.createReadStream(e,{encoding:"utf8"}),c=f.createInterface({input:a,crlfDelay:1/0});c.on("line",function(e){var n=e.trim();if(n.includes("(import")&&n.includes("(func")&&r++,n.startsWith("(func")&&!n.includes("(import")){var t=n.match(/\(func\s+(\$[^\s\)]+)?/),a=t&&t[1]||"";if(a.startsWith("$redir_")||"$initGlobal"===a||a.startsWith("$initGlobal"))return;o++}!i&&n.includes("call $wasm_split.logCall")&&(i=!0)}),c.on("close",function(){try{s.unlinkSync(e)}catch(e){}n({importedCount:r,localCount:o,totalCount:r+o,isDevSplit:i})}),c.on("error",function(n){try{s.unlinkSync(e)}catch(e){}t(n)}),a.on("error",function(e){t(e)})})}function S(e){for(var n=e.split("\n"),t=0,r=0,o=0;o<n.length;o++){var i=n[o].trim();if(i.includes("(import")&&i.includes("(func")&&t++,i.startsWith("(func")&&!i.includes("(import")){var a=i.match(/\(func\s+(\$[^\s\)]+)?/),s=a&&a[1]||"";if(s.startsWith("$redir_")||"$initGlobal"===s||s.startsWith("$initGlobal"))continue;r++}}return{importedCount:t,localCount:r,totalCount:t+r,isDevSplit:e.includes("call $wasm_split.logCall")}}function k(e){return P.apply(this,arguments)}function P(){return(P=a(r().m(function e(n){var t,o,i,a,s,c,u,l,f,p,m,d;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,t=y()){e.n=1;break}throw new Error("wabt 模块加载失败");case 1:return e.n=2,t();case 2:return o=e.v,e.p=3,(i=o.readWasm(new Uint8Array(n),{readDebugNames:!0})).applyNames(),a=i.toText({foldExprs:!1,inlineExport:!1}),i.destroy(),e.a(2,S(a));case 4:return e.p=4,f=e.v,console.warn("[wasmAnalyzer] 标准转换失败 (".concat(f.message,"),尝试低内存模式...")),e.p=5,s=o.readWasm(new Uint8Array(n),{readDebugNames:!1}),c=s.toText({foldExprs:!1,inlineExport:!1}),s.destroy(),e.a(2,S(c));case 6:return e.p=6,p=e.v,console.warn("[wasmAnalyzer] 低内存模式也失败 (".concat(p.message,"),尝试调用系统 wasm2wat 工具...")),e.n=7,g(n);case 7:return u=e.v,e.n=8,w(u);case 8:case 12:return e.a(2,e.v);case 9:return e.p=9,m=e.v,console.warn("[wasmAnalyzer] wabt 初始化失败 (".concat(m.message,"),尝试调用系统 wasm2wat 工具...")),e.p=10,e.n=11,g(n);case 11:return l=e.v,e.n=12,w(l);case 13:throw e.p=13,d=e.v,new Error("WASM 解析失败。wabt 错误: ".concat(m.message,"。系统命令错误: ").concat(d.message));case 14:return e.a(2)}},e,null,[[10,13],[5,6],[3,4],[0,9]])}))).apply(this,arguments)}function j(e){return E.apply(this,arguments)}function E(){return(E=a(r().m(function e(n){var t,o,i,a,c,u;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,console.log("[wasmAnalyzer] analyzeWasmFile 开始:",n),s.existsSync(n)){e.n=1;break}return console.log("[wasmAnalyzer] 文件不存在:",n),e.a(2,null);case 1:t=s.readFileSync(n),console.log("[wasmAnalyzer] 文件大小:",t.length),o=h(t),console.log("[wasmAnalyzer] 文件类型:",o),c=o,e.n="wasm"===c?2:"wasm.br"===c?3:4;break;case 2:return i=t,e.a(3,5);case 3:return console.log("[wasmAnalyzer] 开始解压 Brotli..."),i=b(t),console.log("[wasmAnalyzer] 解压后大小:",i.length),e.a(3,5);case 4:return console.log("[wasmAnalyzer] 未知文件类型"),e.a(2,null);case 5:return console.log("[wasmAnalyzer] 开始解析 WASM..."),e.n=6,k(i);case 6:return a=e.v,console.log("[wasmAnalyzer] 解析完成:",a),e.a(2,a);case 7:return e.p=7,u=e.v,console.error("[wasmAnalyzer] WASM 分析错误: ".concat(u.message)),console.error("[wasmAnalyzer] 错误堆栈: ".concat(u.stack)),e.a(2,null)}},e,null,[[0,7]])}))).apply(this,arguments)}function O(e){if(!s.existsSync(e))return null;var n=s.readdirSync(e).find(function(e){return e.endsWith(".wasm")||e.endsWith(".wasm.br")||e.endsWith(".unityweb.wasm.br")||e.endsWith(".wasm.unityweb")});return n?c.join(e,n):null}function _(){return(_=a(r().m(function e(n,t){var o,i,a,s,u,l,f,p,m,d,v,y;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(console.log("[wasmAnalyzer] getSplitDetails 开始, entryPath:",n),o=c.join(n,"wasmcode"),i=c.join(n,"wasmcode1"),a=O(o),console.log("[wasmAnalyzer] 主包 WASM 路径:",a),a){e.n=1;break}return console.log("[wasmAnalyzer] 未找到主包 WASM 文件"),e.a(2,null);case 1:return s=O(i),console.log("[wasmAnalyzer] 子包 WASM 路径:",s),e.p=2,console.log("[wasmAnalyzer] 开始分析主包..."),e.n=3,j(a);case 3:if(u=e.v,console.log("[wasmAnalyzer] 主包分析结果:",u),u){e.n=4;break}return console.log("[wasmAnalyzer] 主包分析失败,返回 null"),e.a(2,null);case 4:return l=u.importedCount+u.localCount,f=0,"number"==typeof t&&t>0?f=Math.max(0,t-l):console.log("[wasmAnalyzer] totalFunctions 无效,无法通过差值计算子包函数数,默认返回 0"),p=t>0?parseFloat((l/t*100).toFixed(1)):0,m=u.isDevSplit?"Dev":"Prod",d="",v="warning",p<30?(d="不及格,继续加油收集!",v="warning"):p<40?(d="及格,继续加油!",v="success"):(d="优秀,点赞!👍",v="excellent"),e.a(2,{splitForm:m,mainFuncCount:l,subFuncCount:f,mainFuncRatio:p,splitTip:d,splitTipLevel:v,isDevSplit:u.isDevSplit});case 5:return e.p=5,y=e.v,console.error("获取分包详情失败: ".concat(y.message)),e.a(2,null)}},e,null,[[2,5]])}))).apply(this,arguments)}e.exports={analyzeWasmFile:j,getSplitDetails:function(e,n){return _.apply(this,arguments)},detectFileType:h,decompressBrotli:b,getWasmFunctionStats:k,parseWatForFunctions:S}},7172:e=>{"use strict";e.exports=require("archiver")},7175:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function i(e,n,t){return n&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e,n,t){return(n=s(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var c=t(8320),u=new(i(function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),a(this,"wasmInit",function(e){return c.init(e)}),a(this,"wasmUpdate",function(e){return c.init(Object.assign(e,{isUpdate:!0}))}),a(this,"wasmSplitDev",function(e){return c.splitBase(Object.assign(e,{isRelease:!1}))}),a(this,"wasmSplitProd",function(e){return c.splitBase(Object.assign(e,{isRelease:!0}))}),a(this,"wasmSplitInfo",function(e){return c.getSplitInfo(e)}),a(this,"wasmSplitReport",function(e){return c.reportCalledFuncs(e)}),a(this,"wasmSplitReportIndex",function(e){return c.reportCalledFuncsIndex(e)}),a(this,"wasmRollBack",function(e){return c.rollbackEntryChanges(e)}),a(this,"initConfig",function(){return c.initConfig()})})),l=u.wasmInit,f=u.wasmUpdate,p=u.wasmSplitDev,m=u.wasmSplitProd,d=u.wasmSplitInfo,v=u.wasmSplitReport,y=u.wasmSplitReportIndex,h=u.wasmRollBack,b=u.initConfig;e.exports={wasmInit:l,wasmUpdate:f,wasmSplitDev:p,wasmSplitProd:m,wasmSplitInfo:d,wasmSplitReport:v,wasmSplitReportIndex:y,wasmRollBack:h,initConfig:b}},7252:e=>{"use strict";e.exports=require("express")},7372:e=>{var n=new Set;function t(e){var t=JSON.stringify(e);n.forEach(function(e){1===e.readyState&&e.send(t)})}e.exports={setupWebSocket:function(e){e.on("connection",function(e){n.add(e),console.log("WebSocket 客户端已连接"),e.on("close",function(){n.delete(e),console.log("WebSocket 客户端已断开")}),e.on("error",function(t){console.error("WebSocket 错误:",t.message),n.delete(e)}),e.send(JSON.stringify({type:"connected",message:"WebSocket 连接成功"}))})},broadcast:t,sendProgress:function(e,n,r){t({type:"progress",step:e,progress:n,message:r,timestamp:Date.now()})},sendComplete:function(e,n){t({type:"complete",action:e,result:n,timestamp:Date.now()})},sendError:function(e,n){t({type:"error",action:e,error:n,timestamp:Date.now()})},sendLog:function(e,n){t({type:"log",level:e,message:n,timestamp:Date.now()})}}},8085:e=>{e.exports={FAIL_CODE:-1,SUCCEED_CODE:0}},8320:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=a(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){c=!0,i=e},f:function(){try{s||null==t.return||t.return()}finally{if(c)throw i}}}}function i(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||a(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){if(e){if("string"==typeof e)return s(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?s(e,n):void 0}}function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function c(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return u(l,"_invoke",function(t,r,o){var i,s,c,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,s=0,c=e,p.n=t,a}};function m(t,r){for(s=t,c=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(s=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,s=0))}if(o||t>1)return a;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),s=l,c=d;(n=s<2?e:c)||!f;){i||(s?s<3?(s>1&&(p.n=-1),m(s,c)):p.n=c:p.v=c);try{if(u=2,i){if(s||(o="next"),n=i[o]){if(!(n=n.call(i,c)))throw TypeError("iterator result is not an object");if(!n.done)return n;c=n.value,s<2&&(s=0)}else 1===s&&(n=i.return)&&n.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((n=(f=p.n<0)?c:t.call(r,p))!==a)break}catch(n){i=e,s=1,c=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),l}var a={};function s(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(u(n={},r,function(){return this}),n),m=f.prototype=s.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,u(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,u(m,"constructor",f),u(f,"constructor",l),l.displayName="GeneratorFunction",u(f,o,"GeneratorFunction"),u(m),u(m,o,"Generator"),u(m,r,function(){return this}),u(m,"toString",function(){return"[object Generator]"}),(c=function(){return{w:i,m:d}})()}function u(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}u=function(e,n,t,r){function i(n,t){u(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},u(e,n,t,r)}function l(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function f(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){l(i,r,o,a,s,"next",e)}function s(e){l(i,r,o,a,s,"throw",e)}a(void 0)})}}function p(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,m(r.key),r)}}function m(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var d=t(6928),v=t(9896),y=t(8720),h=t(6626),b=t(6471),g=t(9664),w=t(5322),S=t(5759),k=t(2225),P=(t(3427).downloadFile,t(4901)),j=t(9937),E=function(){return e=function e(){var n,t,r;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),n=this,t="downloadSplitedFiles",r=function(){var e=f(c().m(function e(n){var t,r,o,i,a,s,u,l;return c().w(function(e){for(;;)if(0===e.n)return t=n.appId,r=n.requestToken,o=n.md5,i=n.subVersion,a=n.mainWasmFileUrl,s=n.mainWasmFilePath,u=n.subWasmFileUrl,l=n.subWasmFilePath,e.a(2,Promise.all([g.downloadFile({appId:t,requestToken:r,md5:o,subVersion:i,category:3,filePath:s,url:a}),g.downloadFile({appId:t,requestToken:r,md5:o,subVersion:i,category:4,filePath:l,url:u})]))},e)}));return function(n){return e.apply(this,arguments)}}(),(t=m(t))in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,this.config=null,this.codeMd5=null,this.uploadedWasmCodeBlobId=null,this.uploadedSymbolBlobId=null,this.importLength=null,this.tableSize=null,this.spinner=null},n=[{key:"initConfig",value:function(){return this.config=h.loadProjectConfig(),this.config}},{key:"ensureSpinner",value:function(){return this.spinner||(this.spinner=y()),this.spinner}},{key:"stopSpinner",value:function(){this.spinner&&this.spinner.isSpinning&&this.spinner.stop()}},{key:"validateProject",value:function(e,n,t,r,o){g.setEnv(o||t);try{return this.config=h.loadProjectConfig(n),this.config.isPre=t,this.config.wasmEnv=o||(t?"wasmdev":"wasmprod"),r&&(this.config.isRelease=!0),b.validateProjectStructure(this.config)}catch(e){return{code:-1,msg:null,errMsg:"配置加载失败: ".concat(e.message)}}}},{key:"uploadSplitBaseFiles",value:(H=f(c().m(function e(n){var t,r,o,i;return c().w(function(e){for(;;)if(0===e.n)return t=n.appId,r=n.requestToken,o=n.wasmFilePath,i=n.symbolFilePath,e.a(2,Promise.all([g.uploadFile({appId:t,requestToken:r,filePath:o,category:0}),g.uploadFile({appId:t,requestToken:r,filePath:i,category:1})]))},e)})),function(e){return H.apply(this,arguments)})},{key:"queryCountReportWasmFunction",value:(B=f(c().m(function e(){var n,t;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.readSplitConfig();case 1:if(n=e.v){e.n=2;break}return e.a(2,{code:-1,msg:"获取分包配置失败,无法获取在线函数列表",errMsg:"获取分包配置失败,无法获取在线函数列表"});case 2:return e.n=3,g.queryCountReportWasmFunction({appId:this.config.appId,requestToken:this.config.requestToken,md5:n.codeMd5,subVersion:n.subVersion});case 3:if(0===(t=e.v).code){e.n=4;break}throw new Error("获取在线函数列表失败,将不合并在线函数列表,错误日志: ".concat(t.errorMessage));case 4:return e.a(2,t.result)}},e,this)})),function(){return B.apply(this,arguments)})},{key:"addGameVersion",value:(L=f(c().m(function e(){var n;return c().w(function(e){for(;;)switch(e.n){case 0:return n={appId:this.config.appId,md5:this.codeMd5,versionDesc:"test",unityVersion:"1.0.0",unityPluginVersion:"1.0.0",wasmSplitPluginVersion:"1.0.0",wasmFileId:this.uploadedWasmCodeBlobId,symbolFileId:this.uploadedSymbolBlobId,requestToken:this.config.requestToken},e.n=1,g.addGameVersion(n);case 1:if(0===e.v.code){e.n=2;break}throw new Error("游戏版本已经存在");case 2:return e.a(2)}},e,this)})),function(){return L.apply(this,arguments)})},{key:"initialize",value:(U=f(c().m(function e(n){var t,r,o,i,a,s,u,l=this;return c().w(function(e){for(;;)switch(e.n){case 0:if(t=n.isUpdate,r=n.incrementMd5,o=r||null,!t){e.n=3;break}if(o){e.n=2;break}return e.n=1,this.queryMd5HistoryHaveRelease();case 1:o=e.v;case 2:this.spinner.succeed("增量更新版本:".concat(o));case 3:return i={appId:this.config.appId,md5:this.codeMd5,requestToken:this.config.requestToken,incrementUpdate:!!t},o&&(i.incrementMd5=o),this.spinner.start("".concat(t?"增量更新":"初始化","开始,请稍等……")),e.n=4,g.initialize(i);case 4:return a=e.v,s=a.result,u={appId:this.config.appId,md5:this.codeMd5,requestToken:this.config.requestToken,uuid:s},e.a(2,this.pollForResult(function(){return g.getInitResult(u)},function(){var e=f(c().m(function e(n){var o,i,a,s,u,f,p,m;return c().w(function(e){for(;;)switch(e.n){case 0:if(!n.result){e.n=7;break}if(o=n.result,i=o.importSize,a=o.tableSize,l.importLength=i,l.tableSize=a,l.spinner.succeed("wasmcode信息采样完成,tableSize: ".concat(a)),!t){e.n=6;break}return l.spinner.start("开始获取在线函数列表,请稍等……"),e.n=1,l.queryWasmFunctionOnlineFindList(l.codeMd5);case 1:if(s=e.v,l.spinner.succeed("在线函数列表个数: ".concat(s.length)),!(s.length>0)){e.n=6;break}u=500,f=0;case 2:if(!(f<s.length)){e.n=5;break}return p=s.slice(f,f+u),e.n=3,g.reportCalledFuncs({appId:l.config.appId,requestToken:l.config.requestToken,calledFuncList:p,subVersion:"-1",md5:l.codeMd5});case 3:0!==(m=e.v).code&&(l.spinner.fail("上报在线函数列表失败,错误信息:".concat(m.errorMessage)),process.exit(1));case 4:f+=u,e.n=2;break;case 5:l.spinner.succeed("".concat(r,"版本:合并在线玩家采集到的函数列表成功"));case 6:return e.a(2,!0);case 7:return e.a(2,!1)}},e)}));return function(n){return e.apply(this,arguments)}}()))}},e,this)})),function(e){return U.apply(this,arguments)})},{key:"formatHistoryDate",value:function(e){if(!e)return"-";try{var n=new Date(e),t=function(e){return e.toString().padStart(2,"0")};return"".concat(n.getFullYear(),"-").concat(t(n.getMonth()+1),"-").concat(t(n.getDate())," ").concat(t(n.getHours()),":").concat(t(n.getMinutes()),":").concat(t(n.getSeconds()))}catch(n){return e}}},{key:"ensureCodeMd5",value:(R=f(c().m(function e(){var n;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.codeMd5){e.n=1;break}return e.a(2,this.codeMd5);case 1:return e.p=1,e.n=2,this.readSplitConfig();case 2:if(!(n=e.v).codeMd5){e.n=3;break}return this.codeMd5=n.codeMd5,e.a(2,this.codeMd5);case 3:e.n=5;break;case 4:e.p=4,e.v;case 5:throw new Error("未找到分包配置,无法读取增量历史版本");case 6:return e.a(2)}},e,this,[[1,4]])})),function(){return R.apply(this,arguments)})},{key:"fetchIncrementHistoryList",value:(W=f(c().m(function e(){var n,t;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.ensureCodeMd5();case 1:return n=e.v,e.n=2,g.queryMd5HistoryHaveRelease({appId:this.config.appId,md5:n,requestToken:this.config.requestToken});case 2:if(0===(t=e.v).code){e.n=3;break}throw new Error("获取历史版本失败: ".concat(t.errorMessage||t.msg||"未知错误"));case 3:return e.a(2,t.result||[])}},e,this)})),function(){return W.apply(this,arguments)})},{key:"buildHistoryLabel",value:function(e){return"版本MD5: ".concat(e.md5," | 首包个数: ").concat(null!=e.mainSymbolSize?e.mainSymbolSize:"-"," | 创建时间: ").concat(e.createdAt?this.formatHistoryDate(e.createdAt):"-")}},{key:"getIncrementHistory",value:(q=f(c().m(function e(){var n,t=this;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.fetchIncrementHistoryList();case 1:return n=e.v,e.a(2,n.slice(0,10).map(function(e){return{md5:e.md5,mainFuncCount:null!=e.mainSymbolSize?e.mainSymbolSize:null,createdAt:e.createdAt||null,createdAtText:t.formatHistoryDate(e.createdAt),label:t.buildHistoryLabel(e)}}))}},e,this)})),function(){return q.apply(this,arguments)})},{key:"queryMd5HistoryHaveRelease",value:(D=f(c().m(function e(){var n,t,r,o,i=this;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.fetchIncrementHistoryList();case 1:if(0!==(n=e.v).length){e.n=2;break}throw new Error("没有历史版本");case 2:return t=n.slice(0,10).map(function(e){return{name:i.buildHistoryLabel(e),value:e.md5}}),e.n=3,j.prompt([{type:"list",name:"selectedMd5",message:"请选择历史版本进行增量分包(最近10个版本):",choices:t,pageSize:10}]);case 3:return r=e.v,o=r.selectedMd5,e.a(2,o)}},e,this)})),function(){return D.apply(this,arguments)})},{key:"queryWasmFunctionOnlineFindList",value:(N=f(c().m(function e(n){var t;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,g.queryWasmFunctionOnlineFindList({md5:n,appId:this.config.appId,requestToken:this.config.requestToken});case 1:if(0===(t=e.v).code){e.n=2;break}return this.spinner.fail("获取在线函数列表失败,将不合并在线函数列表,错误日志: ".concat(t.errorMessage)),e.a(2,[]);case 2:return e.a(2,t.result||[])}},e,this)})),function(e){return N.apply(this,arguments)})},{key:"pollForResult",value:(A=f(c().m(function e(n,t){var r,o=arguments;return c().w(function(e){for(;;)if(0===e.n)return r=o.length>2&&void 0!==o[2]?o[2]:5e3,e.a(2,new Promise(function(e,o){var i=function(){var a=f(c().m(function a(){var s,u;return c().w(function(a){for(;;)switch(a.p=a.n){case 0:return a.p=0,a.n=1,n();case 1:return s=a.v,a.n=2,t(s);case 2:if(!a.v){a.n=3;break}e(s),a.n=4;break;case 3:setTimeout(i,r);case 4:a.n=6;break;case 5:a.p=5,u=a.v,o(u);case 6:return a.a(2)}},a,null,[[0,5]])}));return function(){return a.apply(this,arguments)}}();i()}))},e)})),function(e,n){return A.apply(this,arguments)})},{key:"isHasInit",value:function(){var e=d.resolve(this.config.entry,".codesplitcache"),n=d.resolve(e,"codesplit-config.json");return v.existsSync(n)}},{key:"init",value:(M=f(c().m(function e(n){var t,r,o,i,a,s,u;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(this.ensureSpinner().start("文件备份开始,请不要再编辑项目文件……"),(t=this.validateProject("init",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid||(this.spinner.fail("项目校验失败: ".concat(t.errMsg)),process.exit(1)),e.p=1,r=d.resolve(this.config.entry,".codesplitcache"),o=d.resolve(r,"original"),i=d.resolve(r,"codesplit-config.json"),n.isUpdate||!v.existsSync(o)||!v.existsSync(i)){e.n=2;break}return this.spinner.succeed("项目已经初始化过,无需重复初始化"),this.spinner.info("如需重新初始化,请先删除 .codesplitcache 目录,或使用增量分包模式"),e.a(2);case 2:this.setupCacheDirectories(r,o),e.p=3,w.syncPluginCacheFiles(this.config.entry,o),this.spinner.succeed("文件备份完成"),e.n=5;break;case 4:throw e.p=4,a=e.v,this.spinner.fail("文件备份失败:".concat(a.message)),a;case 5:return v.existsSync(o)&&v.existsSync(i),e.n=6,this.processSymbolFiles(r,o);case 6:return this.spinner.start(),this.spinner.text="开始上传文件……",e.p=7,e.n=8,this.uploadFiles(o,r);case 8:e.n=10;break;case 9:e.p=9,s=e.v,this.spinner.fail("上传文件失败:".concat(s.message)),process.exit(1);case 10:return this.spinner.succeed("上传文件成功"),this.spinner.start(),this.spinner.text="添加游戏版本……",e.n=11,this.addGameVersion();case 11:return this.spinner.succeed("添加游戏版本成功"),this.spinner.info("开始初始化,请稍等……"),e.n=12,this.initialize({isUpdate:n.isUpdate,incrementMd5:n.incrementMd5});case 12:this.spinner.succeed("".concat(n.isUpdate?"增量更新":"初始化","完成")),this.saveSplitConfig(r),this.spinner.stop("WASM分包初始化完成"),n.isUpdate&&this.spinner.info("接下来请按以下步骤操作:\n 1. 执行 jgc wasm-split-dev 进行dev版本分包,jgc preview进行真机动态收集函数,反复执行直到没有新增函数;\n 2. 如无新增函数,执行 jgc wasm-split-prod 拆分成线上版本;\n 3. 执行 jgc upload 将分包结果上传到MP控制台;"),e.n=14;break;case 13:throw e.p=13,u=e.v,this.spinner.fail(u.message),u;case 14:return e.a(2)}},e,this,[[7,9],[3,4],[1,13]])})),function(e){return M.apply(this,arguments)})},{key:"setupCacheDirectories",value:function(e,n){var t=d.resolve(n,"wasmcode"),r=d.resolve(n,this.config.entry,"wasmcode1");[n,t].forEach(function(e){v.existsSync(e)||v.mkdirSync(e,{recursive:!0})}),v.existsSync(r)&&v.rmSync(r,{recursive:!0})}},{key:"processSymbolFiles",value:(G=f(c().m(function e(n,t){var r,o,i,a,s;return c().w(function(e){for(;;)switch(e.n){case 0:return r=d.resolve(n,"unpack"),o=d.resolve(this.config.entry,"webgl.wasm.symbols.unityweb"),i=d.resolve(r,"symbol.json"),v.existsSync(r)||v.mkdirSync(r,{recursive:!0}),e.n=1,k(o,i);case 1:return a=d.resolve(t,"wasmcode"),s=v.readdirSync(a).find(function(e){return".br"===d.extname(e)}),this.codeMd5=s.split(".")[0],e.a(2,{unpackSymbolsPath:i,mainWasmCachePath:s,mainWasmCacheDir:a})}},e,this)})),function(e,n){return G.apply(this,arguments)})},{key:"runIncrementInit",value:(C=f(c().m(function e(n){var t,r,o,i;return c().w(function(e){for(;;)switch(e.n){case 0:if(t=n.srcPath,r=n.isPreEnv,o=n.wasmEnv,i=n.incrementMd5){e.n=1;break}throw new Error("缺少增量版本 MD5");case 1:return e.a(2,this.init({srcPath:t,isPreEnv:r,wasmEnv:o,isUpdate:!0,incrementMd5:i}))}},e,this)})),function(e){return C.apply(this,arguments)})},{key:"uploadFiles",value:(x=f(c().m(function e(n,t){var r,o,a,s,u,l,f;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.processSymbolFiles(t,n,!1);case 1:return r=e.v,o=r.unpackSymbolsPath,a=r.mainWasmCachePath,r.mainWasmCacheDir,e.n=2,this.uploadSplitBaseFiles({appId:this.config.appId,requestToken:this.config.requestToken,wasmFilePath:d.join(n,"wasmcode",a),symbolFilePath:o});case 2:if(s=e.v,u=i(s,2),l=u[0],f=u[1],l&&f){e.n=3;break}throw new Error("上传文件失败");case 3:this.uploadedWasmCodeBlobId=l,this.uploadedSymbolBlobId=f;case 4:return e.a(2)}},e,this)})),function(e,n){return x.apply(this,arguments)})},{key:"saveSplitConfig",value:function(e){var n=d.resolve(e,"codesplit-config.json"),t={appId:this.config.appId,codeMd5:this.codeMd5,tableSize:this.tableSize,uploadedWasmCodeBlobId:this.uploadedWasmCodeBlobId,uploadedSymbolBlobId:this.uploadedSymbolBlobId,importLength:this.importLength};v.writeFileSync(n,JSON.stringify(t,null,2))}},{key:"getSplitInfo",value:(I=f(c().m(function e(n){var t,r,o,i;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if((t=this.validateProject("getSplitInfo",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t);case 1:return e.p=1,e.n=2,this.readSplitConfig();case 2:if(r=e.v,(o={appId:this.config.appId,md5:r.codeMd5,requestToken:this.config.requestToken,subVersion:r.subVersion}).subVersion){e.n=3;break}throw new Error("暂无分包信息");case 3:return e.n=4,this.querySplitInfo(o);case 4:return e.a(2,e.v);case 5:return e.p=5,i=e.v,S.endLogProcess(null,i.message),e.a(2,{code:-1,msg:"获取分包信息失败",errMsg:i.message})}},e,this,[[1,5]])})),function(e){return I.apply(this,arguments)})},{key:"readSplitConfig",value:(T=f(c().m(function e(){var n,t,r,o;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:return n=d.resolve(this.config.entry,".codesplitcache"),t=d.resolve(n,"codesplit-config.json"),e.p=1,e.n=2,v.promises.readFile(t,"utf-8");case 2:return r=e.v,e.a(2,JSON.parse(r));case 3:throw e.p=3,o=e.v,new Error("读取分包配置文件失败: ".concat(o.message));case 4:return e.a(2)}},e,this,[[1,3]])})),function(){return T.apply(this,arguments)})},{key:"querySplitInfo",value:(F=f(c().m(function e(n){var t,r,o,i,a,s,u;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=n.appId,r=n.requestToken,o=n.md5,i=n.subVersion,e.p=1,a={appId:t,md5:o,requestToken:r,subVersion:i},e.n=2,g.getSymbolSize(a);case 2:if(s=e.v,null!=(u=s.result).mainSymbolSize&&null!=u.patchSymbolSize){e.n=3;break}throw new Error("未查询到分包函数信息");case 3:return e.a(2,{code:0,msg:"查询分包信息成功 \n主包函数数量:".concat(u.mainSymbolSize," \n子包函数数量:").concat(u.patchSymbolSize),errMsg:"查询分包信息成功"});case 4:throw e.p=4,e.v;case 5:return e.a(2)}},e,null,[[1,4]])})),function(e){return F.apply(this,arguments)})},{key:"getGameSplitRes",value:(_=f(c().m(function e(n){var t=this;return c().w(function(e){for(;;)if(0===e.n)return e.a(2,new Promise(function(e,r){var o=function(){var i=f(c().m(function i(a){var s,u,l,f;return c().w(function(i){for(;;)switch(i.p=i.n){case 0:return s=null,i.p=1,u={appId:t.config.appId,md5:t.codeMd5,subVersion:n.subVersion,requestToken:t.config.requestToken},i.n=2,g.getGameSplitInfo(u);case 2:if(0===(l=i.v).code){i.n=3;break}return s&&clearTimeout(s),r(new Error(l.errorMessage)),i.a(2);case 3:null!==l.result?(s&&clearTimeout(s),e(l.result)):(s&&clearTimeout(s),s=setTimeout(function(){return o()},5e3)),i.n=5;break;case 4:i.p=4,f=i.v,s&&clearTimeout(s),r(f);case 5:return i.a(2)}},i,null,[[1,4]])}));return function(e){return i.apply(this,arguments)}}();o()}))},e)})),function(e){return _.apply(this,arguments)})},{key:"splitBase",value:(O=f(c().m(function e(n){var t,r,o,i,a,s,u,l;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=(new Date).getTime(),(r=this.validateProject("split",n.srcPath,n.isPreEnv,n.isRelease,n.wasmEnv)).valid){e.n=1;break}return e.a(2,r);case 1:return e.p=1,o=this.initializeSplitConfig(),i=o.codeSplitConfigPath,a=o.splitConfig,this.codeMd5=a.codeMd5,this.ensureSpinner().start("发送分包请求……"),e.n=2,this.buildSubPackage(n,a,i);case 2:if(s=e.v,this.spinner.succeed("当前分包版本:"+s),s){e.n=3;break}return this.spinner.fail("分包构建失败,服务正忙"),e.a(2,{code:-1,msg:"分包构建失败,服务正忙",errMsg:"服务正忙"});case 3:return this.spinner.start("获取分包结果,请稍等……"),e.n=4,this.getGameSplitRes({subVersion:s});case 4:return u=e.v,this.spinner.succeed("获取分包结果完成"),this.spinner.start("下载分包代码中……"),e.n=5,this.processSplitFiles(u,a);case 5:return this.spinner.succeed("下载分包代码完成"),e.n=6,this.querySplitInfo({appId:this.config.appId,md5:a.codeMd5,requestToken:this.config.requestToken,subVersion:a.subVersion});case 6:return e.v,e.a(2,{code:0,subVersion:a.subVersion,msg:"WASM分包成功 \n分包总耗时:".concat((new Date).getTime()-t,"ms"),errMsg:null});case 7:return e.p=7,l=e.v,this.spinner.fail("分包构建失败,错误信息:"+l.message),this.spinner.info("如出现类似“it != indexes.functionIndexes.end()”的报错,基本是 Unity转出成小游戏,未在转换面板勾选 Profiling funcs"),e.a(2,{code:-1,msg:"分包构建失败,错误信息:".concat(l.message,",额外提示:如出现类似“it != indexes.functionIndexes.end()”的报错,基本是 Unity转出成小游戏,未在转换面板勾选 Profiling funcs"),errMsg:l.message})}},e,this,[[1,7]])})),function(e){return O.apply(this,arguments)})},{key:"initializeSplitConfig",value:function(){var e=d.resolve(this.config.entry,".codesplitcache"),n=d.resolve(e,"codesplit-config.json");return{cacheDir:e,codeSplitConfigPath:n,splitConfig:JSON.parse(v.readFileSync(n,"utf-8"))}}},{key:"buildSubPackage",value:(E=f(c().m(function e(n,t,r){var o,i,a;return c().w(function(e){for(;;)switch(e.n){case 0:return o={appId:this.config.appId,md5:this.codeMd5,requestToken:this.config.requestToken,isRelease:!!n.isRelease},e.n=1,g.split(o);case 1:if(0===(i=e.v).code){e.n=5;break}if(!this.isRetryableError(i.errorMessage)){e.n=3;break}if(a=t.subVersion,S.logInfo("尝试查找历史版本,subVersion:",a),a){e.n=2;break}return e.a(2,!1);case 2:e.n=4;break;case 3:throw new Error(i.errorMessage);case 4:e.n=6;break;case 5:a=i.result,t.subVersion=a,v.writeFileSync(r,JSON.stringify(t,null,2));case 6:return e.a(2,a)}},e,this)})),function(e,n,t){return E.apply(this,arguments)})},{key:"isRetryableError",value:function(e){return["当前md5有正在执行的构建任务,请稍后重试","资源超负荷运行啦,请稍后再试"].includes(e)}},{key:"processSplitFiles",value:(l=f(c().m(function e(n,t){var r,o,i,a,s;return c().w(function(e){for(;;)switch(e.n){case 0:return r=n.mainWasmFilePath,o=n.subWasmFilePath,i=this.config.fullEntryPath,a=this.config.mainWasmCachePath,s=this.createWasmPaths(i,a),e.n=1,this.downloadWasmFiles(r,o,s);case 1:w.processJavaScriptFiles(t,i,this.config),w.updateConfigFiles(t,i,this.config);case 2:return e.a(2)}},e,this)})),function(e,n){return l.apply(this,arguments)})},{key:"createWasmPaths",value:function(e,n){var t=d.resolve(e,"wasmcode",n),r=d.resolve(e,"wasmcode1",n);return v.existsSync(r)||v.mkdirSync(r,{recursive:!0}),{mainWasmPath:t,subWasmPath:r}}},{key:"downloadWasmFiles",value:(u=f(c().m(function e(n,t,r){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.downloadSplitedFiles({mainWasmFileUrl:n,mainWasmFilePath:r.mainWasmPath,subWasmFileUrl:t,subWasmFilePath:r.subWasmPath});case 1:return e.a(2)}},e,this)})),function(e,n,t){return u.apply(this,arguments)})},{key:"reportCalledFuncs",value:(s=f(c().m(function e(){var n,t,r,a,s,u,l,f,p,m,y,h,b,w,S,k,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R,U,L,B,H,z,V,J,Q,Y=this,$=arguments;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(V=function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,t=[],r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t},t=(n=$.length>0&&void 0!==$[0]?$[0]:{}).srcPath,r=void 0===t?"":t,a=n.isPreEnv,s=void 0!==a&&a,u=n.funcList,l=void 0===u?null:u,f=n.suppressExit,p=void 0!==f&&f,m=function(e){if(p)throw new Error(e);Y.ensureSpinner().fail(e),process.exit(1)},(y=this.validateProject("getSplitInfo",r,s,void 0,n.wasmEnv)).valid||m(y.errMsg||"校验失败:请先执行 jgc config 命令,并确保各项配置正确"),e.p=1,this.ensureSpinner().start("开始效验……"),h=Array.isArray(l)&&l.length>0,b=null,!h){e.n=2;break}b=l.map(function(e){return(e||"").trim()}).filter(function(e){return e.length>0}),e.n=5;break;case 2:return w=(new P).getPrompts(),e.n=3,j.prompt(w);case 3:return S=e.v,k=d.resolve(S.entry),v.existsSync(k)||(k=d.resolve(this.config.fullEntryPath,S.entry),v.existsSync(k)||(k=d.resolve(S.entry))),v.existsSync(k)||m("函数名文件所在路径不存在:".concat(k)),e.n=4,v.readFileSync(k,"utf8");case 4:E=e.v,(b=E.split(/\r?\n/).map(function(e){return e.trim()}).filter(function(e){return e.length>0})).shift();case 5:if(h&&b.length>0&&/func|函数/i.test(b[0])&&b.shift(),b&&0!==b.length||m("函数名文件为空,请检查文件内容"),O=d.resolve(this.config.fullEntryPath,".codesplitcache"),_=d.resolve(O,"codesplit-config.json"),v.existsSync(_)){e.n=6;break}return this.spinner.info("该项目还未执行wasm-init 命令,将自动执行 wasm-init 命令"),e.n=6,this.init({srcPath:r,isPreEnv:s,wasmEnv:n.wasmEnv,isUpdate:!1,skipUpload:!1});case 6:for(this.spinner.succeed("校验通过"),this.spinner.start(),this.spinner.text="函数名文件解析中……",F=[],T=d.resolve(O,"unpack"),I=d.resolve(T,"symbol.json"),x=v.readFileSync(I,"utf8"),C=JSON.parse(x),G=0,M=Object.entries(C);G<M.length;G++)A=i(M[G],2),N=A[0],D=A[1],b.includes(D)&&F.push(N);return e.n=7,this.readSplitConfig();case 7:q=e.v,this.spinner.succeed("函数名文件解析成功"),this.spinner.start(),this.spinner.text="函数名上报中……",W=0,R=o(V(F)),e.p=8,R.s();case 9:if((U=R.n()).done){e.n=13;break}return L=U.value,e.n=10,g.reportCalledFuncs({appId:this.config.appId,requestToken:this.config.requestToken,calledFuncList:L,subVersion:"-1",md5:q.codeMd5});case 10:if(0===(B=e.v).code){e.n=11;break}throw new Error("上报函数名失败: ".concat(B.errorMessage));case 11:W+=B.result;case 12:e.n=9;break;case 13:e.n=15;break;case 14:e.p=14,J=e.v,R.e(J);case 15:return e.p=15,R.f(),e.f(15);case 16:if(this.spinner.succeed("上报函数名完成:本次函数数量为".concat(F.length,"个,去重后上报数量为").concat(W,"个")),!p){e.n=17;break}return e.a(2,{code:0,msg:"上报函数名完成,数量".concat(F.length,"个"),reportedCount:F.length});case 17:return this.spinner.start(),this.spinner.text="dev模式拆包中,该环节耗时较长,请耐心等待……\n",e.n=18,this.splitBase({srcPath:"",isPreEnv:n.isPreEnv,wasmEnv:n.wasmEnv,isRelease:!1});case 18:return 0!==(H=e.v).code&&(this.spinner.fail("dev模式拆包失败,错误日志:".concat(H.errMsg)),this.spinner.info("处理方案:".concat(H.msg)),process.exit(1)),this.spinner.succeed("dev模式拆包完成"),this.spinner.start(),this.spinner.text="开始获取 dev分包结果,请稍等",e.n=19,this.getSplitInfo(n);case 19:0!==(z=e.v).code&&(this.spinner.fail("获取 dev 分包结果失败,报错信息:".concat(z.errMsg)),process.exit(1)),this.spinner.succeed("获取 dev分包结果完成"),this.spinner.info("接下来请按以下步骤操作:\n1. 执行 jgc preview 继续动态收集函数;\n2. 如无新增函数,执行 jgc wasm-split-prod 拆分成线上版本;\n3. 执行 jgc upload 将分包结果上传到MP控制台;\n"),process.exit(1),e.n=22;break;case 20:if(e.p=20,Q=e.v,!p){e.n=21;break}throw new Error(Q.message);case 21:this.spinner.fail("上传函数名失败,错误信息:".concat(Q.message)),process.exit(1);case 22:return e.a(2)}},e,this,[[8,14,15,16],[1,20]])})),function(){return s.apply(this,arguments)})},{key:"reportCalledFuncsIndex",value:(a=f(c().m(function e(n){var t,r,i,a,s,u,l,f,p,m,y,h,b,w,k;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if((t=this.validateProject("getSplitInfo",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t);case 1:return e.p=1,r=function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,t=[],r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t},i=(new P).getPrompts(),e.n=2,j.prompt(i);case 2:if(a=e.v,s=d.resolve(a.entry),v.existsSync(s)||(s=d.resolve(this.config.fullEntryPath,a.entry),v.existsSync(s)||(s=d.resolve(a.entry))),v.existsSync(s)){e.n=3;break}throw new Error("文件路径错误");case 3:return u=S.startLogProcess("函数名文件解析中"),e.n=4,v.readFileSync(s,"utf8");case 4:return l=e.v,(f=l.split(/\r?\n/)).shift(),e.n=5,this.readSplitConfig();case 5:p=e.v,u.stop("函数名文件解析成功"),u=S.startLogProcess("开始进行函数名索引上报中,请稍等"),m=o(r(f)),e.p=6,m.s();case 7:if((y=m.n()).done){e.n=10;break}return h=y.value,e.n=8,g.reportCalledFuncs({appId:this.config.appId,requestToken:this.config.requestToken,calledFuncList:h,subVersion:p.subVersion,md5:p.codeMd5});case 8:if(0===(b=e.v).code){e.n=9;break}throw new Error("上报函数名失败: ".concat(b.errorMessage));case 9:e.n=7;break;case 10:e.n=12;break;case 11:e.p=11,w=e.v,m.e(w);case 12:return e.p=12,m.f(),e.f(12);case 13:return u.stop("上报函数名成功"),e.a(2,{code:0,msg:"上报函数名完成,数量".concat(f.length,"个"),errMsg:null});case 14:return e.p=14,k=e.v,S.endLogProcess(null,k.message),e.a(2,{code:-1,msg:"上传函数名失败",errMsg:k.message})}},e,this,[[6,11,12,13],[1,14]])})),function(e){return a.apply(this,arguments)})},{key:"rollbackEntryChanges",value:(r=f(c().m(function e(n){var t,r,i,a,s,u,l,f,p,m,y,h,b,g,w,S,k,P,j,E;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if((t=this.validateProject("rollBack",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t);case 1:if(e.p=1,this.config&&this.config.fullEntryPath){e.n=2;break}return e.a(2,{code:-1,msg:"回退失败",errMsg:"配置未初始化或entryPath未设置"});case 2:if(r=this.config.fullEntryPath,v.existsSync(r)){e.n=3;break}return e.a(2,{code:-1,msg:"回退失败",errMsg:"entryPath不存在: ".concat(r)});case 3:for(this.ensureSpinner().start("开始关闭分包功能,请稍等……"),i=0,a=["game.json","game.js","webgl.wasm.framework.unityweb.js","weapp-adapter.js"],s=0,u=["wasm-split.js","game.json","game.js","webgl.wasm.framework.unityweb.js","weapp-adapter.js","wasmcode1"];s<u.length;s++)l=u[s],f=d.resolve(r,l),v.existsSync(f)&&(v.statSync(f).isDirectory()?v.rmSync(f,{recursive:!0,force:!0}):v.unlinkSync(f),i++);if(p=d.resolve(r,"wasmcode"),v.existsSync(p)&&v.rmSync(p,{recursive:!0,force:!0}),v.mkdirSync(p,{recursive:!0}),m=d.resolve(this.config.originalCacheDir,"wasmcode"),y=d.resolve(m,this.config.mainWasmCachePath),v.existsSync(y)&&(h=d.resolve(p,this.config.mainWasmCachePath),v.copyFileSync(y,h),b=d.resolve(p,"game.js"),v.writeFileSync(b,""),this.spinner.succeed("恢复原始的 wasm.br 文件完成:".concat(y))),this.config.originalCacheDir&&v.existsSync(this.config.originalCacheDir)){g=o(a);try{for(g.s();!(w=g.n()).done;)S=w.value,k=d.resolve(this.config.originalCacheDir,S),P=d.resolve(r,S),v.existsSync(k)&&(v.copyFileSync(k,P),i++)}catch(e){g.e(e)}finally{g.f()}}return j=d.resolve(r,".codesplitcache"),v.existsSync(j)&&v.rmSync(j,{recursive:!0,force:!0}),this.spinner.succeed("回退完成,共处理 ".concat(i," 个文件/目录")),e.a(2,{code:0,msg:"关闭分包功能成功",errMsg:null,rollbackCount:i});case 4:return e.p=4,E=e.v,this.spinner.fail("回退失败: ".concat(E.message)),e.a(2,{code:-1,msg:"回退失败",errMsg:E.message})}},e,this,[[1,4]])})),function(e){return r.apply(this,arguments)})}],n&&p(e.prototype,n),t&&p(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t,r,a,s,u,l,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R,U,L,B,H}();e.exports=new E},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"jd-minigame-ci","version":"1.2.2","description":"The jd-minigame-ci is a toolkit provided for developers of JD Mini Games. Developers can complete code upload and preview operations for JD Mini Games without the need to open the developer tools, simply by using this toolkit.","author":"chenlong328","license":"ISC","main":"dist/index.js","bin":{"jgc":"./dist/jgc.js"},"scripts":{"config":"NODE_ENV=development node ./dist/jgc.js config","preview":"NODE_ENV=development node ./dist/jgc.js preview","dev:config":"NODE_ENV=development node ./src/jgc.js config","dev:preview":"NODE_ENV=development node ./src/jgc.js preview","dev:upload":"NODE_ENV=development node ./src/jgc.js upload","dev:publish":"NODE_ENV=development node ./src/jgc.js publish","dev:wasm-split":"NODE_ENV=development node ./src/jgc.js wasm-split","dev:wasm-split:pre":"NODE_ENV=development node ./src/jgc.js wasm-split -D","build":"webpack --mode production --progress --config webpack.config.js && chmod 777 ./dist/index.js && chmod 777 ./dist/jgc.js"},"dependencies":{"@babel/cli":"^7.23.9","@babel/core":"^7.23.9","@babel/preset-env":"^7.23.9","archiver":"^6.0.1","axios":"^1.7.3","brotli":"^1.3.3","commander":"^11.1.0","cors":"^2.8.5","express":"^4.21.0","fs-extra":"^11.2.0","glob":"^10.3.10","inquirer":"8.2.6","jimp":"^0.22.12","jsqr":"1.4.0","marked":"^12.0.2","minimist":"^1.2.8","multer":"^1.4.5-lts.1","open":"^8.4.2","ora":"5.4.1","picocolors":"^1.0.0","qrcode":"^1.5.3","qrcode-terminal":"^0.12.0","string-width":"4.2.3","strip-ansi":"6.0.1","terser":"^5.44.0","wabt":"^1.0.36","ws":"^8.18.0"},"devDependencies":{"babel-loader":"^9.1.3","babel-minify-webpack-plugin":"^0.3.1","clean-webpack-plugin":"^4.0.0","copy-webpack-plugin":"^12.0.2","terser-webpack-plugin":"^5.3.10","webpack":"^5.90.3","webpack-cli":"^5.1.4","webpack-node-externals":"^3.0.0"},"files":["dist","package.json","README.md"]}')},8461:e=>{"use strict";e.exports=require("multer")},8522:e=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function t(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}function r(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}var o=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.configPrompts=[{name:"type",type:"list",message:"请选择项目类型:",choices:[{name:"游戏",value:"game"},{name:"插件",value:"plugin"}],default:"game"},{name:"appId",type:"input",message:"请输入appId:",validate:function(e){return!!e||"appId不能为空"}},{name:"requestToken",type:"input",message:"请输入代码上传秘钥:",validate:function(e){return!!e||"代码上传秘钥不能为空"}},{name:"entry",type:"input",message:"请输入需要被打包的游戏(或者插件)的路径:",default:"./"},{name:"versionName",type:"input",message:"请输入需要被打包的游戏(或者插件)的版本号:",default:"1.0.0"},{name:"description",type:"input",message:"请输入需要被打包的游戏的备注:",when:function(e){return"game"===e.type},default:""}]},(n=[{key:"getPrompts",value:function(){return this.configPrompts}}])&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=o},8577:e=>{"use strict";e.exports=require("cors")},8611:e=>{"use strict";e.exports=require("http")},8720:e=>{"use strict";e.exports=require("ora")},8879:(e,n,t)=>{var r=t(7252).Router();r.get("/docs/unity-wasm-split",function(e,n){n.redirect("https://mp-docs.jd.com/doc/minigame/gamdedev/gamedevtools/3186")}),e.exports=r},8938:e=>{"use strict";e.exports=require("axios")},9023:e=>{"use strict";e.exports=require("util")},9239:e=>{"use strict";e.exports=require("terser")},9278:e=>{"use strict";e.exports=require("net")},9538:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var a=t(4652),s=t(6928),c=t(7172),u=t(2410).globSync;function l(e){try{if(a.pathExistsSync(e))return!0;if(l(s.dirname(e)))return a.mkdirsSync(e),!0}catch(e){console.log("make dir error,",e)}}n.writeFile=function(){var e,n=(e=r().m(function e(n,t){var o,i=arguments;return r().w(function(e){for(;;)switch(e.n){case 0:o=i.length>2&&void 0!==i[2]?i[2]:"utf8",l(s.posix.parse(n).dir)&&a.writeFileSync(n,t,o);case 1:return e.a(2)}},e)}),function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})});return function(e,t){return n.apply(this,arguments)}}(),n.verifyGameRequiredFilesExist=function(e,n){return a.pathExistsSync(e)?"game"===n?f(e):"plugin"===n?p(e):{code:0,err_msg:"ok"}:{code:-1,err_msg:"当前入口文件目录不存在!"}};var f=function(e){var n=u("game.json",{cwd:e,ignore:"node_modules/**"}),t=u("game.js",{cwd:e,ignore:"node_modules/**"});return 0===n.length?{code:-1,err_msg:"被打包的游戏的目录下不存在game.json!"}:0===t.length?{code:-1,err_msg:"被打包的游戏的目录下不存在game.js!"}:{code:0,err_msg:"ok"}},p=function(e){return 0===u("plugin.json",{cwd:e,ignore:"node_modules/**"}).length?{code:-1,err_msg:"被打包的插件的目录下不存在plugin.json!"}:{code:0,err_msg:"ok"}};n.hasJgcConfigFile=function(e){try{return a.accessSync(e,a.constants.F_OK),!0}catch(e){return console.log("文件不存在"),!1}},n.compressDirectory=function(e,n){return new Promise(function(t,r){var o=a.createWriteStream(n),i=c("zip",{zlib:{level:9}});o.on("close",function(){return t(i.pointer())}),i.on("warning",function(e){return"ENOENT"!==e.code&&r(e)}),i.on("error",r),i.pipe(o),i.glob("**/*",{cwd:e,ignore:["**/.*","**/*.js.map"]}),i.finalize()})},n.deleteFile=function(e){a.existsSync(e)&&a.unlink(e,function(e){e&&console.log("删除zip文件失败: ",e)})}},9664:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||function(e,n){if(e){if("string"==typeof e)return i(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e,n,t){return(n=d(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(t,r,o){var i,s,c,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,s=0,c=e,p.n=t,a}};function m(t,r){for(s=t,c=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(s=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,s=0))}if(o||t>1)return a;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),s=l,c=d;(n=s<2?e:c)||!f;){i||(s?s<3?(s>1&&(p.n=-1),m(s,c)):p.n=c:p.v=c);try{if(u=2,i){if(s||(o="next"),n=i[o]){if(!(n=n.call(i,c)))throw TypeError("iterator result is not an object");if(!n.done)return n;c=n.value,s<2&&(s=0)}else 1===s&&(n=i.return)&&n.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((n=(f=p.n<0)?c:t.call(r,p))!==a)break}catch(n){i=e,s=1,c=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),u}var a={};function s(){}function c(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(l(n={},r,function(){return this}),n),m=f.prototype=s.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,l(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e}return c.prototype=f,l(m,"constructor",f),l(f,"constructor",c),c.displayName="GeneratorFunction",l(f,o,"GeneratorFunction"),l(m),l(m,o,"Generator"),l(m,r,function(){return this}),l(m,"toString",function(){return"[object Generator]"}),(u=function(){return{w:i,m:d}})()}function l(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,n,t,r){function i(n,t){l(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},l(e,n,t,r)}function f(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function p(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){f(i,r,o,a,s,"next",e)}function s(e){f(i,r,o,a,s,"throw",e)}a(void 0)})}}function m(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,d(r.key),r)}}function d(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var v=t(8938),y=t(2305),h=t(9896),b=t(6626),g=t(3427).downloadFile,w=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.apiUrls=b.getApiUrls(),this.defaultTimeout=6e4},n=[{key:"setEnv",value:function(e){var n="string"==typeof e?e:e?"wasmdev":"wasmprod";b.currentEnv=b.environments[n]?n:"wasmprod",this.apiUrls=b.getApiUrls(b.currentEnv)}},{key:"downloadFile",value:(j=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)if(0===e.n)return t=n.filePath,r=n.url,e.a(2,new Promise(function(e,n){g({filePath:t,url:r,success:e,fail:n})}))},e)})),function(e){return j.apply(this,arguments)})},{key:"uploadFile",value:(P=p(u().m(function e(n){var t,r,o,i,a,c,l,f,p,m,d;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=n.appId,r=n.requestToken,o=n.filePath,i=n.category,(a=new y).append("category",i),a.append("appId",t),a.append("requestToken",r),a.append("sourceFile",h.createReadStream(o)),c={method:"post",url:this.apiUrls.UPLOAD_FILE,headers:s(s({},a.getHeaders()),{},{appId:t,requestToken:r}),data:a,maxBodyLength:1/0,maxContentLength:1/0,timeout:6e5},e.p=1,e.n=2,v(c);case 2:if(l=e.v,f=l.data,p=f.code,m=f.result,0!==p){e.n=3;break}return e.a(2,m);case 3:throw new Error(l.data.errorMessage);case 4:e.n=6;break;case 5:throw e.p=5,d=e.v,new Error("上传文件失败 File upload failed: ".concat(d.message));case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return P.apply(this,arguments)})},{key:"addGameVersion",value:(k=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({method:"post",url:this.apiUrls.ADD_GAME_VERSION,data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return k.apply(this,arguments)})},{key:"initialize",value:(S=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({method:"post",url:this.apiUrls.INIT,timeout:this.defaultTimeout,data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return S.apply(this,arguments)})},{key:"queryMd5HistoryHaveRelease",value:(w=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.QUERY_MD5_HISTORY_HAVE_RELEASE,timeout:this.defaultTimeout,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error("获取历史md5列表,请求报错日志: ".concat(t.data.errorMessage));case 2:return e.a(2,t.data)}},e,this)})),function(e){return w.apply(this,arguments)})},{key:"queryWasmFunctionOnlineFindList",value:(d=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.QUERY_WASM_FUNCTION_ONLINE_FIND_LIST,timeout:this.defaultTimeout,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error("获取在线函数列表,请求报错日志: ".concat(t.data.errorMessage));case 2:return e.a(2,t.data)}},e,this)})),function(e){return d.apply(this,arguments)})},{key:"getInitResult",value:(f=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.GET_INIT_RES,timeout:this.defaultTimeout,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error(t.data.errorMessage);case 2:return e.a(2,t.data)}},e,this)})),function(e){return f.apply(this,arguments)})},{key:"split",value:(l=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({url:this.apiUrls.SPLIT,method:"post",data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return l.apply(this,arguments)})},{key:"getGameSplitInfo",value:(c=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({url:this.apiUrls.GET_GAME_SPLIT_INFO,method:"get",params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}return e.a(2,{code:-1,errorMessage:t.data.errorMessage,result:null});case 2:return e.a(2,t.data)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"getSymbolSize",value:(a=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.GET_SYMBOL_SIZE,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error(t.data.errorMessage);case 2:return e.a(2,t.data)}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"reportCalledFuncs",value:(i=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({url:this.apiUrls.REPORT_FUNS,method:"post",data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"queryCountReportWasmFunction",value:(r=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.QUERY_COUNT_REPORT_FUNS,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error(t.data.errorMessage);case 2:return e.a(2,t.data)}},e,this)})),function(e){return r.apply(this,arguments)})}],n&&m(e.prototype,n),t&&m(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t,r,i,a,c,l,f,d,w,S,k,P,j}();e.exports=new w},9739:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,n){if(e){if("string"==typeof e)return i(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==t.return||t.return()}finally{if(c)throw a}}}}function i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function a(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var a=r&&r.prototype instanceof u?r:u,l=Object.create(a.prototype);return s(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(s(n={},r,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,s(m,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,o,"GeneratorFunction"),s(m),s(m,o,"Generator"),s(m,r,function(){return this}),s(m,"toString",function(){return"[object Generator]"}),(a=function(){return{w:i,m:d}})()}function s(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}s=function(e,n,t,r){function i(n,t){s(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},s(e,n,t,r)}function c(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function u(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){c(i,r,o,a,s,"next",e)}function s(e){c(i,r,o,a,s,"throw",e)}a(void 0)})}}function l(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,f(r.key),r)}}function f(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var p=t(7252),m=t(8577),d=t(6928),v=t(9896),y=t(8611),h=t(5086),b=t(2080),g=t(5317).execSync,w=t(9278),S=t(4246),k=t(4218),P=t(2078),j=t(1426),E=t(8879),O=t(7372).setupWebSocket,_=function(){return e=function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.port=n.port||3456,this.isPreEnv=n.isPreEnv||!1,this.wasmEnv=n.wasmEnv||(this.isPreEnv?"wasmdev":"wasmprod"),this.app=p(),this.server=null,this.wss=null,this.pidFilePath=n.pidFilePath||d.resolve(__dirname,"../../.wasm-split-server.pid"),this.cleanupHandlerRegistered=!1},n=[{key:"setupMiddleware",value:function(){this.app.use(m()),this.app.use(p.json()),this.app.use(p.urlencoded({extended:!0}));for(var e,n=t(9896),r=0,o=[d.join(__dirname,"public"),d.join(__dirname,"wasm-server-public"),d.resolve(__dirname,"../wasm-server-public")];r<o.length;r++){var i=o[r];if(n.existsSync(i)&&n.existsSync(d.join(i,"index.html"))){e=i;break}}e||(console.warn("警告: 未找到静态资源目录,将使用默认路径"),e=d.join(__dirname,"public")),this.app.use(p.static(e)),this.publicPath=e}},{key:"setupRoutes",value:function(){var e=this;this.app.use(function(n,t,r){n.isPreEnv=e.isPreEnv,n.wasmEnv=e.wasmEnv,n.wss=e.wss,r()}),this.app.use("/api",S),this.app.use("/api",k),this.app.use("/api",P),this.app.use("/api",j),this.app.use("/",E),this.app.use("/api/*",function(e,n){n.status(404).json({code:-1,message:"未找到接口: ".concat(e.originalUrl)})}),this.app.get("*",function(n,t){t.sendFile(d.join(e.publicPath||d.join(__dirname,"public"),"index.html"))})}},{key:"setupWebSocketServer",value:function(){this.wss=new h.Server({server:this.server}),O(this.wss)}},{key:"killExistingServer",value:(f=u(a().m(function e(){var n,t,r,o;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(v.existsSync(this.pidFilePath)){e.n=1;break}return e.a(2);case 1:if(n=v.readFileSync(this.pidFilePath,"utf-8").trim(),(t=parseInt(n,10))&&t!==process.pid){e.n=2;break}try{v.unlinkSync(this.pidFilePath)}catch(e){}return e.a(2);case 2:return e.p=2,process.kill(t,"SIGTERM"),e.n=3,this.wait(500);case 3:return e.p=3,process.kill(t,0),process.kill(t,"SIGKILL"),e.n=4,this.wait(200);case 4:e.n=6;break;case 5:e.p=5,"ESRCH"!==(r=e.v).code&&console.warn("⚠️ 无法终止已存在的 WASM 分包进程 (PID: ".concat(t,"): ").concat(r.message));case 6:e.n=8;break;case 7:e.p=7,"ESRCH"!==(o=e.v).code&&console.warn("⚠️ 终止已有的 WASM 分包进程失败 (PID: ".concat(t,"): ").concat(o.message));case 8:e.p=8;try{v.unlinkSync(this.pidFilePath)}catch(e){}return e.f(8);case 9:return e.a(2)}},e,this,[[3,5],[2,7,8,9]])})),function(){return f.apply(this,arguments)})},{key:"writePidFile",value:function(){try{v.writeFileSync(this.pidFilePath,String(process.pid))}catch(e){console.warn("⚠️ 写入 PID 文件失败: ".concat(e.message))}}},{key:"registerCleanup",value:function(){var e=this;if(!this.cleanupHandlerRegistered){var n=function(){try{if(v.existsSync(e.pidFilePath)){var n=v.readFileSync(e.pidFilePath,"utf-8").trim();parseInt(n,10)===process.pid&&v.unlinkSync(e.pidFilePath)}}catch(e){}};process.once("exit",n),process.once("SIGINT",function(){n(),process.exit(0)}),process.once("SIGTERM",function(){n(),process.exit(0)}),this.cleanupHandlerRegistered=!0}}},{key:"start",value:(c=u(a().m(function e(){var n,t,r=this,o=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return n=!(o.length>0&&void 0!==o[0])||o[0],this.setupMiddleware(),this.setupRoutes(),e.n=1,this.killExistingServer();case 1:return e.p=1,e.n=2,this.waitForPortRelease(500);case 2:e.n=8;break;case 3:return e.p=3,e.v,e.p=4,e.n=5,this.killByPort();case 5:e.n=7;break;case 6:e.p=6,t=e.v,console.warn(t.message);case 7:return e.n=8,this.waitForPortRelease();case 8:return this.server=y.createServer(this.app),this.setupWebSocketServer(),e.a(2,new Promise(function(e,t){var o=!1,i=function(){r.server.listen(r.port,u(a().m(function t(){var o;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:if(o="http://localhost:".concat(r.port),console.log("\n✨ WASM 分包可视化界面已启动: ".concat(o,"\n")),r.writePidFile(),r.registerCleanup(),!n){t.n=4;break}return t.p=1,t.n=2,b(o);case 2:t.n=4;break;case 3:t.p=3,t.v,console.log("请手动打开浏览器访问: ".concat(o));case 4:e(r.server);case 5:return t.a(2)}},t,null,[[1,3]])})))},s=function(){var e=u(a().m(function e(n){var s;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if("EADDRINUSE"!==n.code||o){e.n=4;break}return o=!0,console.warn("检测到端口 ".concat(r.port," 已被占用,尝试自动释放...")),e.p=1,e.n=2,r.killByPort();case 2:return setTimeout(function(){i()},500),e.a(2);case 3:return e.p=3,s=e.v,t(s),e.a(2);case 4:t(n);case 5:return e.a(2)}},e,null,[[1,3]])}));return function(n){return e.apply(this,arguments)}}();r.server.on("error",s),i()}))}},e,this,[[4,6],[1,3]])})),function(){return c.apply(this,arguments)})},{key:"stop",value:function(){this.wss&&this.wss.close(),this.server&&this.server.close();try{if(v.existsSync(this.pidFilePath)){var e=v.readFileSync(this.pidFilePath,"utf-8").trim();parseInt(e,10)===process.pid&&v.unlinkSync(this.pidFilePath)}}catch(e){}}},{key:"wait",value:function(e){return new Promise(function(n){return setTimeout(n,e)})}},{key:"waitForPortRelease",value:(s=u(a().m(function e(){var n,t,r=this,o=arguments;return a().w(function(e){for(;;)if(0===e.n)return n=o.length>0&&void 0!==o[0]?o[0]:5e3,t=Date.now(),e.a(2,new Promise(function(e,o){var i=function(){var a=w.createServer();a.unref(),a.on("error",function(e){a.close(),"EADDRINUSE"===e.code?Date.now()-t>n?o(new Error("端口 ".concat(r.port," 长时间被占用,请手动结束占用进程后重试"))):setTimeout(i,200):o(e)}),a.listen(r.port,function(){a.close(e)})};i()}))},e)})),function(){return s.apply(this,arguments)})},{key:"killByPort",value:(i=u(a().m(function e(){var n,t,r,i,s,c,u,l,f,p,m;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if("darwin"===process.platform||"linux"===process.platform){e.n=1;break}throw new Error("端口 ".concat(this.port," 已被占用,请手动结束相关进程后重试"));case 1:if(e.p=1,n=g("lsof -ti tcp:".concat(this.port),{encoding:"utf-8"}).split("\n").map(function(e){return e.trim()}).filter(Boolean),0!==n.length){e.n=2;break}throw new Error("端口 ".concat(this.port," 已被占用,但无法定位进程,请手动处理"));case 2:t=o(n),e.p=3,t.s();case 4:if((r=t.n()).done){e.n=7;break}if(i=r.value,(s=parseInt(i,10))&&s!==process.pid){e.n=5;break}return e.a(3,6);case 5:try{process.kill(s,"SIGTERM")}catch(e){}case 6:e.n=4;break;case 7:e.n=9;break;case 8:e.p=8,p=e.v,t.e(p);case 9:return e.p=9,t.f(),e.f(9);case 10:return e.n=11,this.wait(500);case 11:c=o(n),e.p=12,c.s();case 13:if((u=c.n()).done){e.n=16;break}if(l=u.value,(f=parseInt(l,10))&&f!==process.pid){e.n=14;break}return e.a(3,15);case 14:try{process.kill(f,0),process.kill(f,"SIGKILL")}catch(e){}case 15:e.n=13;break;case 16:e.n=18;break;case 17:e.p=17,m=e.v,c.e(m);case 18:return e.p=18,c.f(),e.f(18);case 19:return e.n=20,this.wait(300);case 20:e.n=22;break;case 21:throw e.p=21,e.v,new Error("端口 ".concat(this.port," 被占用,且无法自动释放,请手动结束占用进程后重试"));case 22:return e.a(2)}},e,this,[[12,17,18,19],[3,8,9,10],[1,21]])})),function(){return i.apply(this,arguments)})}],n&&l(e.prototype,n),r&&l(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r,i,s,c,f}();e.exports=_},9890:(e,n,t)=>{var r=t(4420),o=t(241),i=t(2268);n.showQrCode=function(e){return new Promise(function(n,t){r.read(e).then(function(e){var t=e.bitmap,r=t.width,a=t.height,s=t.data,c=new Uint8ClampedArray(s),u=i(c,r,a);o.generate(u.data,{small:!0}),n(!0)}).catch(function(e){t(!1)})})},n.getBase64=function(e){return r.read(e).then(function(e){return e.getBase64Async("image/png")}).catch(function(){throw new Error("获取二维码base64失败")})}},9896:e=>{"use strict";e.exports=require("fs")},9937:e=>{"use strict";e.exports=require("inquirer")}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return e[r](i,i.exports,t),i.exports}t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n);function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:m,f:m.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function m(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],m=p.p,d=i[2];t>3?(o=d===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=m&&((o=t<2&&m<i[1])?(a=0,p.v=r,p.n=i[1]):m<d&&(o=t<3||i[0]>r||r>d)&&(i[4]=t,i[5]=r,p.n=d,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,d){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&m(l,d),a=l,s=d;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),m(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),m=f.prototype=u.prototype=Object.create(p);function d(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(m),e}return l.prototype=f,o(m,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(m),o(m,a,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m:d}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s=t(6928),c=t(857),u=t(8720),l=t(5205),f=new(0,t(6858).Command),p=t(9937),m=t(8938),d=t(8522),v=t(593),y=t(9538),h=t(1060),b=t(2425),g=t(9890),w=t(8085).SUCCEED_CODE,S=t(8330),k=t(3121),P=t(7175);function j(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.gray?"wasmgray":e.D?"wasmdev":"wasmprod"}function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=j(e);return Object.assign(e,{srcPath:"",isPreEnv:"wasmdev"===n,wasmEnv:n})}function O(e){return _.apply(this,arguments)}function _(){return _=a(r().m(function e(n){var o,i,a,f,p,m,d,v,S,P,j,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R,U,L,B,H,z,V,J,Q,Y,$,K,Z,X,ee,ne,te,re,oe,ie=arguments;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(o=!(ie.length>1&&void 0!==ie[1])||ie[1],i=ie.length>2&&void 0!==ie[2]?ie[2]:{},a=Date.now(),f=1===n?"preview":"upload",!(i.appId&&i.requestToken&&i.entry)){e.n=1;break}p={type:i.game?"game":"plugin",appId:i.appId,requestToken:i.requestToken,entry:i.entry,versionName:i.versionName||"1.0.0",description:i.description||""},e.n=3;break;case 1:if(m=s.posix.resolve("","./jgc.config.js"),y.hasJgcConfigFile(m)){e.n=2;break}return e.a(2,console.log("".concat(l.red("请先创建配置文件,或通过命令行参数传入配置!"))));case 2:d="function"==typeof require?require:t(6589),p=d(m);case 3:if((v=h.checkConfigOptions(p,n)).code===w){e.n=4;break}return e.a(2,console.log(v.err_msg));case 4:if(P=(S=p).appId,j=S.requestToken,E=S.versionName,O=S.entry,_=S.description,(F=y.verifyGameRequiredFilesExist(O)).code===w){e.n=5;break}return e.a(2,console.log(F.err_msg));case 5:if(T="upload"===f?c.tmpdir()+s.sep+"jd_game_temp.zip":c.tmpdir()+s.sep+"package.jd.zip",y.deleteFile(T),I=u("文件压缩").start(),e.p=6,"preview"!==f){e.n=8;break}return e.n=7,new Promise(function(e,n){k(O,T,function(t,r){t?n(t):e(r)})});case 7:C=t(9896).statSync(T),x=C.size,e.n=10;break;case 8:return e.n=9,y.compressDirectory(O,T);case 9:x=e.v;case 10:I.succeed("压缩完成,共"+x/1e3+"KB"),e.n=12;break;case 11:e.p=11,ne=e.v,I.fail("压缩失败:".concat(ne)),process.exit(1);case 12:return G=new b(o?"prod":"dev"),I.start(),I.text="上传中……",M=Date.now(),A=null,e.p=13,e.n=14,G.uploadProject({sourceFile:T,appId:P,requestToken:j,isProd:o,showType:f});case 14:(A=e.v).code!==w&&(I.fail("上传代码包报错 --\x3e".concat(A.err_msg)),process.exit(1)),N=Date.now(),D=(N-M)/1e3,I.succeed("上传代码包完成,耗时:"+D+"s"),e.n=16;break;case 15:e.p=15,te=e.v,I.fail("上传代码包报错 --\x3e".concat(te)),process.exit(1);case 16:return I.start(),I.text="代码包构建中……",q=Date.now(),W=null,e.p=17,e.n=18,G.loopQueryBuildStatus({appId:P,requestToken:j,isProd:o,showType:f},A.uuid);case 18:(W=e.v).code!==w&&(I.fail(W.err_msg),process.exit(1)),R=Date.now(),U=(R-q)/1e3,I.succeed("代码包构建完成,耗时:".concat(U,"s")),e.n=20;break;case 19:e.p=19,re=e.v,I.fail("代码包构建报错 --\x3e".concat(re)),process.exit(1);case 20:if(L=W.packId,e.p=21,"preview"!==f){e.n=24;break}return e.n=22,G.generateQrCode({packId:L,appId:P,requestToken:j,showType:f});case 22:return(B=e.v).code!==w&&(I.fail(B.err_msg),process.exit(1)),H=B.imgUrl,z=B.expiredTime,e.n=23,g.showQrCode(H);case 23:I.succeed("二维码生成完成,将于".concat(z,"过期")),I.info("二维码imgUrl(如二维码不清晰,浏览器打开): ".concat(H)),I.info("二维码仅支持协作成员访问"),V=Date.now(),J=(V-a)/1e3,I.info("本次耗费时长:".concat(J,"s")),e.n=29;break;case 24:if("upload"!==f){e.n=29;break}return I.start(),e.n=25,G.commitDevVersion({appId:P,requestToken:j,versionName:E,description:_},L);case 25:return(Q=e.v).code!==w&&(I.fail(Q.err_msg),process.exit(1)),Y=Q.devId,I.succeed("开发版设置完成, devId:"+Y),e.n=26,G.setDevExperience({appId:P,requestToken:j},Y);case 26:return($=e.v).code!==w&&(I.fail($.err_msg),process.exit(1)),I.succeed("体验版设置完成"),e.n=27,G.queryExperienceQrcodeByPackId({appId:P,requestToken:j});case 27:return(K=e.v).code!==w&&(I.fail(K.err_msg),process.exit(1)),Z=K.imgUrl,e.n=28,g.showQrCode(Z);case 28:I.info("二维码仅支持协作成员访问"),X=Date.now(),ee=(X-a)/1e3,I.info("本次耗费时长:".concat(ee,"s"));case 29:e.n=31;break;case 30:e.p=30,oe=e.v,I.fail("CLI执行报错 --\x3e".concat(oe)),process.exit(1);case 31:return e.a(2)}},e,null,[[21,30],[17,19],[13,15],[6,11]])})),_.apply(this,arguments)}function F(e){return T.apply(this,arguments)}function T(){return(T=a(r().m(function e(n){var o,i,a,f,m,d,g,S,k,P,j,E,O,_,F,T,I,x,C,G,M;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=(new v).getPrompts(),e.n=1,p.prompt(o);case 1:if(i=e.v,a=Date.now(),f=s.posix.resolve("","./jgc.config.js"),y.hasJgcConfigFile(f)){e.n=2;break}return e.a(2,console.log("".concat(l.red("请先创建配置文件!"))));case 2:if(m="function"==typeof require?require:t(6589),d=m(f),(g=h.checkPluginConfig(d)).code===w){e.n=3;break}return e.a(2,console.log(g.err_msg));case 3:return S=d.appId,k=d.requestToken,P=d.entry,j=d.versionName,E=c.tmpdir()+s.sep+"jd_game_temp.zip",y.deleteFile(E),O=u("文件压缩").start(),e.p=4,e.n=5,y.compressDirectory(P,E);case 5:(_=e.v)>4194304&&(O.fail("压缩包超过4MB,请检查文件大小"),process.exit(1)),O.succeed("压缩完成,共"+_/1e3+"KB"),e.n=7;break;case 6:e.p=6,G=e.v,O.fail("压缩失败:",G),process.exit(1);case 7:return F=new b(n),e.p=8,e.n=9,F.uploadPlugin({sourceFile:E,appId:S,requestToken:k,versionName:j});case 9:if((T=e.v).code===w){e.n=10;break}O.fail(T.err_msg),process.exit(1),e.n=12;break;case 10:return O.succeed("插件构建成功"),e.n=11,F.publishPlugin({versionName:i.versionName,versionFeature:i.versionFeature,useGuide:i.useGuide,packId:T.result.packId,appId:S,requestToken:k});case 11:(I=e.v).code!==w&&(O.fail(I.err_msg),process.exit(1)),O.succeed("插件发布成功"),x=Date.now(),C=(x-a)/1e3,O.info("本次耗费时长:".concat(C,"s"));case 12:e.n=14;break;case 13:e.p=13,M=e.v,O.fail("CLI执行报错 --\x3e".concat(M)),process.exit(1);case 14:return e.a(2)}},e,null,[[8,13],[4,6]])}))).apply(this,arguments)}function I(e){return x.apply(this,arguments)}function x(){return(x=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitInfo(E(n)).then(function(e){var n=e.code,t=e.msg;0===n?console.log(t):console.error("查询函数符号表失败:",e)}).catch(function(e){console.error("查询函数符号表异常:",e)});case 1:return e.a(2)}},e)}))).apply(this,arguments)}return f.command("config").description("小游戏配置").action(a(r().m(function e(){var n,t,o,i;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return n=(new d).getPrompts(),e.n=1,p.prompt(n);case 1:if(t=e.v,(o=y.verifyGameRequiredFilesExist(t.entry,t.type)).code===w){e.n=2;break}return e.a(2,console.log("".concat(l.red(o.err_msg))));case 2:return e.p=2,y.writeFile("./".concat("jgc.config.js"),"module.exports = ".concat(JSON.stringify(t,null,2)),"utf-8"),e.a(2,console.log("✨ ".concat(l.green("创建小游戏配置文件成功"))));case 3:e.p=3,i=e.v,console.log("创建小游戏配置文件失败:",i);case 4:return e.a(2)}},e,null,[[2,3]])}))),f.command("preview").description("小游戏真机预览").option("-D","预发环境").option("-a, --appId <appId>","应用ID").option("-t, --requestToken <requestToken>","代码上传秘钥").option("-e, --entry <entry>","游戏/插件路径").option("-n, --versionName <versionName>","版本号").option("-d, --description <description>","备注").option("--game","项目类型为游戏").action(function(){var e=a(r().m(function e(n){var t;return r().w(function(e){for(;;)if(0===e.n)return t=!n.D,n.D&&console.log("小游戏真机预览-预发环境"),e.a(2,O(1,t,n))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("upload").description("小游戏发布").option("-D","预发环境").option("-a, --appId <appId>","应用ID").option("-t, --requestToken <requestToken>","代码上传秘钥").option("-e, --entry <entry>","游戏/插件路径").option("-n, --versionName <versionName>","版本号").option("-d, --description <description>","备注").option("--game","项目类型为游戏").action(function(){var e=a(r().m(function e(n){var t;return r().w(function(e){for(;;)if(0===e.n)return t=!n.D,n.D&&console.log("小游戏发布-预发环境"),e.a(2,O(2,t,n))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("publish").description("插件发布").option("-D","预发环境").option("-T","测试环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:if(!n.D){e.n=1;break}return console.log("插件发布-预发环境"),e.a(2,F("dev"));case 1:if(!n.T){e.n=2;break}return console.log("插件发布-测试环境"),e.a(2,F("test"));case 2:return console.log("插件发布-生产环境"),e.a(2,F("prod"));case 3:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.version(S.version,"-v, -V").description("获取本地京东小游戏CLI工具版本"),f.command("latest").description("获取并对比京东小游戏CLI工具最新版本").action(a(r().m(function e(){var n,t,o,i,a;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,n=u("npm最新版本获取中……").start(),e.n=1,m.get("https://registry.npmjs.org/jd-minigame-ci/latest");case 1:t=e.v,o=t.data.version,i=S.version,n.succeed("最新版本: ".concat(o)),o===i?n.info("当前版本 (".concat(i,") 已是最新版本。")):(n.info("本地版本: ".concat(i)),n.info("请更新到最新版本以获取最新功能和修复。")),e.n=3;break;case 2:e.p=2,a=e.v,spinner.fail("获取最新版本信息失败: ".concat(a));case 3:return e.a(2)}},e,null,[[0,2]])}))),f.command("wasm-split").description("启动 WASM 分包可视化界面").option("-D","预发环境").option("--gray","灰度环境").option("-p, --port <port>","服务端口","3456").action(function(){var e=a(r().m(function e(n){var o,i,a,c,u,f,p,m,d;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:o=s.posix.resolve("","./jgc.config.js"),y.hasJgcConfigFile(o)||(console.log("".concat(l.red("项目校验失败,请确认是否正确执行了 jgc config 命令,是否存在配置文件:jgc.config.js"))),process.exit(1)),i="function"==typeof require?require:t(6589);try{delete i.cache[i.resolve(o)],a=i(o)}catch(e){console.log("".concat(l.red("配置文件加载失败:")," ").concat(e.message)),process.exit(1)}return(c=h.checkConfigOptions(a,1)).code!==w&&(console.log("".concat(l.red("项目校验失败:"))),console.log(c.err_msg),process.exit(1)),u=a.entry,(f=y.verifyGameRequiredFilesExist(u)).code!==w&&(console.log("".concat(l.red("项目校验失败:"))),console.log(f.err_msg),process.exit(1)),P.initConfig()||(console.log("".concat(l.red("配置文件加载失败:"))),process.exit(1)),p=t(9739),m=new p({port:parseInt(n.port)||3456,isPreEnv:n.D||!1,wasmEnv:j(n)}),e.p=1,e.n=2,m.start(!0);case 2:console.log("".concat(l.green("WASM 分包服务已启动"))),console.log("".concat(l.cyan("按 Ctrl+C 关闭服务"))),e.n=4;break;case 3:e.p=3,d=e.v,console.error("".concat(l.red("启动失败:")," ").concat(d.message)),process.exit(1);case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-init").description("WASM分包初始化").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)if(0===e.n)return e.a(2,P.wasmInit(E(n)))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-update").description("WASM分包增量更新").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)if(0===e.n)return e.a(2,P.wasmUpdate(E(n)))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-dev").description("WASM分包dev").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitDev(E(n)).then(function(e){var t=e.code;e.msg;if(0!==t)return console.error("WASM分包失败:",e),{code:-1,msg:"WASM分包失败",errMsg:e.errorMessage};I(n)}).catch(function(e){console.error("WASM分包异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-prod").description("WASM分包prod").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitProd(E(n)).then(function(e){var t=e.code,r=e.msg;0===t?(console.log(r),I(n)):console.error("WASM分包失败:",e)}).catch(function(e){console.error("WASM分包异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-info").description("查询函数符号表").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:I(n);case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-report").description("上报函数名").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitReport(E(n));case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-rollback").description("关闭分包功能").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmRollBack(E(n)).then(function(e){var n=e.code,t=e.msg;0===n?console.log(t):console.error("关闭分包功能失败:",e)}).catch(function(e){console.error("关闭分包功能异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-report-index").description("上报函数名索引").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitReportIndex(E(n)).then(function(e){var n=e.code,t=e.msg;0===n?console.log(t):console.error("上报函数名索引失败:",e)}).catch(function(e){console.error("上报函数名索引异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.parse(process.argv.map(function(e){return"-gray"===e?"--gray":e})),{}})());
|
|
2
|
+
!function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var r in t)("object"==typeof exports?exports:e)[r]=t[r]}}(global,()=>(()=>{var e={220:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=220,e.exports=n},241:e=>{"use strict";e.exports=require("qrcode-terminal")},593:e=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function t(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}function r(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}var o=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.configPrompts=[{name:"versionName",type:"input",message:"版本号:",default:"1.0.0"},{name:"versionFeature",type:"input",message:"版本特性(长度为10~30个字符):",default:""},{name:"useGuide",type:"input",message:"使用指南(仅限文字和代码,长度为20~1000个字符):",default:"插件使用指南不建议在这里填写,建议到小游戏插件MP控制台提审时修改,这里是占位文本"}]},(n=[{key:"getPrompts",value:function(){return this.configPrompts}}])&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=o},649:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a=t(7372),s=a.sendProgress,c=a.sendLog,u=a.sendComplete,l=a.sendError,f=new(function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.currentAction=null,this.currentStep=0,this.totalSteps=0},n=[{key:"start",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.currentAction=e,this.currentStep=0,this.totalSteps=n,s(e,0,"开始".concat(this.getActionLabel(e),"...")),c("info","开始".concat(this.getActionLabel(e)))}},{key:"update",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;null!==n?this.currentStep=n:this.currentStep++;var t=Math.min(Math.round(this.currentStep/this.totalSteps*100),99);s(this.currentAction,t,e),c("info",e)}},{key:"complete",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;s(this.currentAction,100,"".concat(this.getActionLabel(this.currentAction),"完成")),u(this.currentAction,e),c("info","".concat(this.getActionLabel(this.currentAction),"完成")),this.reset()}},{key:"fail",value:function(e){l(this.currentAction,e),c("error",e),this.reset()}},{key:"log",value:function(e,n){c(e,n)}},{key:"reset",value:function(){this.currentAction=null,this.currentStep=0,this.totalSteps=0}},{key:"getActionLabel",value:function(e){return{"wasm-init":"初始化","wasm-update":"增量更新","wasm-split-dev":"Dev 版本分包","wasm-split-prod":"生产版本分包","wasm-split-report":"函数上报",preview:"预览码生成",rollback:"回滚"}[e]||e}}],n&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}());e.exports=f},857:e=>{"use strict";e.exports=require("os")},1060:(e,n)=>{function t(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||function(e,n){if(e){if("string"==typeof e)return r(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?r(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function o(e){return"string"==typeof e&&!!e.trim()}n.checkConfigOptions=function(e,n){var r=e||{},i=r.type,a=r.appId,s=r.requestToken,c=r.entry,u=r.versionName,l=r.description;if("game"!==i)return{code:-1,err_msg:"请选择项目构建类型为小游戏"};for(var f=1===n?{appId:a,requestToken:s,entry:c}:{appId:a,requestToken:s,entry:c,versionName:u,description:l},p=0,d=Object.entries(f);p<d.length;p++){var m=t(d[p],2),v=m[0];if(!o(m[1]))return{code:-1,err_msg:"".concat(v," 不能为空")}}return{code:0,err_msg:"ok"}},n.checkPluginConfig=function(e){var n=e||{},r=n.type,i=n.appId,a=n.requestToken,s=n.entry,c=n.versionName;if("plugin"!==r)return{code:-1,err_msg:"请选择项目构建类型为插件"};for(var u={appId:i,requestToken:a,entry:s,versionName:c},l=0,f=Object.entries(u);l<f.length;l++){var p=t(f[l],2),d=p[0];if(!o(p[1]))return{code:-1,err_msg:"".concat(d," 不能为空")}}return{code:0,err_msg:"ok"}}},1426:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var a=t(7252).Router(),s=t(6928),c=t(857),u=(t(9896),t(6626),t(649)),l=t(9538),f=t(3121),p=t(2425),d=t(8085).SUCCEED_CODE;a.post("/preview",function(){var e,n=(e=r().m(function e(n,o){var i,a,m,v,y,h,b,g,w,S,k,P,j,E,O,_,F,T,I,x,C,G;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:i=n.isPreEnv,a=!i,e.p=1,u.start("preview",5),u.update("正在加载项目配置..."),m=s.posix.resolve("","./jgc.config.js"),v="function"==typeof require?require:t(3709),e.p=2,delete v.cache[v.resolve(m)],y=v(m),e.n=4;break;case 3:return e.p=3,e.v,u.fail("未找到项目配置,请先执行 jgc config"),e.a(2,o.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 4:return b=(h=y).appId,g=h.requestToken,w=h.entry,u.update("正在压缩文件..."),S=c.tmpdir()+s.sep+"package.jd.zip",l.deleteFile(S),e.p=5,e.n=6,new Promise(function(e,n){f(w,S,function(t,r){t?n(t):e(r)})});case 6:e.n=8;break;case 7:return e.p=7,T=e.v,u.fail("压缩失败: ".concat(T.message)),e.a(2,o.json({code:-1,message:"压缩失败: ".concat(T.message)}));case 8:return u.update("正在上传代码包..."),k=new p(a?"prod":"dev"),e.p=9,e.n=10,k.uploadProject({sourceFile:S,appId:b,requestToken:g,isProd:a,showType:"preview"});case 10:if((P=e.v).code===d){e.n=11;break}return u.fail(P.err_msg),e.a(2,o.json({code:-1,message:P.err_msg}));case 11:e.n=13;break;case 12:return e.p=12,I=e.v,u.fail(I.message),e.a(2,o.json({code:-1,message:I.message}));case 13:return u.update("正在构建代码包..."),e.p=14,e.n=15,k.loopQueryBuildStatus({appId:b,requestToken:g,isProd:a,showType:"preview"},P.uuid);case 15:if((j=e.v).code===d){e.n=16;break}return u.fail(j.err_msg),e.a(2,o.json({code:-1,message:j.err_msg}));case 16:e.n=18;break;case 17:return e.p=17,x=e.v,u.fail(x.message),e.a(2,o.json({code:-1,message:x.message}));case 18:return u.update("正在生成预览码..."),E=j.packId,e.p=19,e.n=20,k.generateQrCode({packId:E,appId:b,requestToken:g,showType:"preview"});case 20:if((O=e.v).code===d){e.n=21;break}return u.fail(O.err_msg),e.a(2,o.json({code:-1,message:O.err_msg}));case 21:_=O.imgUrl,F=O.expiredTime,u.complete({imgUrl:_,expiredTime:F}),o.json({code:0,message:"预览码生成成功",data:{imgUrl:_,expiredTime:F}}),e.n=23;break;case 22:e.p=22,C=e.v,u.fail(C.message),o.json({code:-1,message:C.message});case 23:e.n=25;break;case 24:e.p=24,G=e.v,u.fail(G.message),o.json({code:-1,message:G.message});case 25:return e.a(2)}},e,null,[[19,22],[14,17],[9,12],[5,7],[2,3],[1,24]])}),function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})});return function(e,t){return n.apply(this,arguments)}}()),e.exports=a},2078:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,o,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return i(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(i(n={},r,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,i(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,i(d,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(d),i(d,a,"Generator"),i(d,r,function(){return this}),i(d,"toString",function(){return"[object Generator]"}),(o=function(){return{w:s,m}})()}function i(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}i=function(e,n,t,r){function a(n,t){i(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},i(e,n,t,r)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function l(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){u(i,r,o,a,s,"next",e)}function s(e){u(i,r,o,a,s,"throw",e)}a(void 0)})}}var f=t(7252).Router(),p=t(8461),d=t(6928),m=t(9896),v=t(857),y=t(8320),h=t(649),b=t(4246),g=t(6626),w=t(9664),S=t(9538),k=t(2425),P=p({dest:d.join(v.tmpdir(),"wasm-split-uploads"),limits:{fileSize:52428800}});f.post("/wasm-split-dev",function(){var e=l(o().m(function e(n,t){var r,i,a,c,u;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,h.start("wasm-split-dev",4),h.update("正在构建 dev 版本分包..."),e.n=2,y.splitBase({srcPath:"",isPreEnv:r,wasmEnv:i,isRelease:!1});case 2:if(0!==(a=e.v).code){e.n=4;break}return b.invalidateCache&&b.invalidateCache(),h.update("正在获取分包信息..."),e.n=3,y.getSplitInfo({srcPath:"",isPreEnv:r,wasmEnv:i});case 3:c=e.v,h.complete(s(s({},a),{},{info:c})),t.json({code:0,message:"dev 版本分包完成",data:s(s({},a),{},{info:c})}),e.n=5;break;case 4:h.fail(a.msg||"分包失败"),t.json({code:-1,message:a.msg||"分包失败"});case 5:e.n=7;break;case 6:e.p=6,u=e.v,h.fail(u.message),t.json({code:-1,message:u.message});case 7:return e.a(2)}},e,null,[[1,6]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/wasm-split-prod",function(){var e=l(o().m(function e(n,t){var r,i,a,c,u;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,h.start("wasm-split-prod",4),h.update("正在构建生产版本分包..."),e.n=2,y.splitBase({srcPath:"",isPreEnv:r,wasmEnv:i,isRelease:!0});case 2:if(0!==(a=e.v).code){e.n=4;break}return b.invalidateCache&&b.invalidateCache(),h.update("正在获取分包信息..."),e.n=3,y.getSplitInfo({srcPath:"",isPreEnv:r,wasmEnv:i});case 3:c=e.v,h.complete(s(s({},a),{},{info:c})),t.json({code:0,message:"prod 版本分包完成",data:s(s({},a),{},{info:c})}),e.n=5;break;case 4:h.fail(a.msg||"分包失败"),t.json({code:-1,message:a.msg||"分包失败"});case 5:e.n=7;break;case 6:e.p=6,u=e.v,h.fail(u.message),t.json({code:-1,message:u.message});case 7:return e.a(2)}},e,null,[[1,6]])}));return function(n,t){return e.apply(this,arguments)}}()),f.get("/wasm-split-info",function(){var e=l(o().m(function e(n,t){var r,i,a,s;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,e.n=2,y.getSplitInfo({srcPath:"",isPreEnv:r,wasmEnv:i});case 2:0===(a=e.v).code?t.json({code:0,data:a}):t.json({code:-1,message:a.msg||"查询失败"}),e.n=4;break;case 3:e.p=3,s=e.v,t.json({code:-1,message:s.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/wasm-split-report",P.single("funcFile"),function(){var e=l(o().m(function e(n,t){var r,i,a,s,c,u,l,f,p;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=n.isPreEnv,i=n.wasmEnv,e.p=1,n.file){e.n=2;break}return e.a(2,t.json({code:-1,message:"请上传函数文件"}));case 2:return h.start("wasm-split-report",3),h.update("正在解析函数文件..."),a=n.file.path,s=m.readFileSync(a,"utf-8"),c=s.split("\n").map(function(e){return e.trim()}).filter(function(e){return e.length>0}),h.update("解析到 ".concat(c.length," 个函数,正在上报...")),e.n=3,y.reportCalledFuncs({srcPath:"",isPreEnv:r,wasmEnv:i,funcList:c,suppressExit:!0});case 3:u=e.v,m.unlinkSync(a),u&&0===u.code?(f=null!==(l=u.reportedCount)&&void 0!==l?l:c.length,h.complete({reportedCount:f}),t.json({code:0,message:"函数上报完成",data:{reportedCount:f}})):(h.fail((null==u?void 0:u.msg)||"上报失败"),t.json({code:-1,message:(null==u?void 0:u.msg)||"上报失败"})),e.n=5;break;case 4:e.p=4,p=e.v,h.fail(p.message),t.json({code:-1,message:p.message});case 5:return e.a(2)}},e,null,[[1,4]])}));return function(n,t){return e.apply(this,arguments)}}()),f.get("/wasm-function-count",function(){var e=l(o().m(function e(n,t){var r,i,a,s;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=n.isPreEnv,i=n.wasmEnv,e.p=1,w.setEnv(i||r),y.isHasInit()){e.n=2;break}return e.n=2,y.init({srcPath:"",isPreEnv:r,wasmEnv:i,isUpdate:!1});case 2:return e.n=3,y.queryCountReportWasmFunction();case 3:a=e.v,t.json({code:0,data:{newFuncCount:a||0}}),e.n=5;break;case 4:e.p=4,s=e.v,console.error("查询函数个数失败:",s.message),t.json({code:0,data:{newFuncCount:0}});case 5:return e.a(2)}},e,null,[[1,4]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/wasm-rollback",function(){var e=l(o().m(function e(n,t){var r,i,a,s;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=n.isPreEnv,i=n.wasmEnv,e.p=1,h.start("rollback",2),h.update("正在回滚分包..."),e.n=2,y.rollbackEntryChanges({srcPath:"",isPreEnv:r,wasmEnv:i});case 2:0===(a=e.v).code?(b.invalidateCache&&b.invalidateCache(),h.complete(a),t.json({code:0,message:"回滚完成",data:a})):(h.fail(a.msg||"回滚失败"),t.json({code:-1,message:a.msg||"回滚失败"})),e.n=4;break;case 3:e.p=3,s=e.v,h.fail(s.message),t.json({code:-1,message:s.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),f.post("/upload",function(){var e=l(o().m(function e(n,t){var r,i,a,s,c,u,l,f,p,y,b,w,P,j,E,O,_,F,T,I,x,C,G,M,A,N;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=n.isPreEnv,i=n.body,a=i.versionName,s=i.description,e.p=1,a){e.n=2;break}return e.a(2,t.json({code:-1,message:"请输入版本号"}));case 2:if(!(!s||s.length<1||s.length>100)){e.n=3;break}return e.a(2,t.json({code:-1,message:"版本描述长度需在 1-100 个字符之间"}));case 3:h.start("upload",6),h.update("正在加载项目配置..."),e.p=4,c=g.loadProjectConfig(""),e.n=6;break;case 5:return e.p=5,e.v,h.fail("未找到项目配置"),e.a(2,t.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 6:l=(u=c).appId,f=u.requestToken,p=u.entry,y=u.fullEntryPath,b=y||p,w=d.resolve(process.cwd(),"jgc.config.js"),h.update("正在更新配置文件...");try{P=m.readFileSync(w,"utf-8"),P=(j=function(e,n,t){var r=new RegExp("([\"']?".concat(n,"[\"']?\\s*:\\s*)[\"'][^\"']*[\"']"),"i");return r.test(e)?e.replace(r,'$1"'.concat(t,'"')):e})(P,"versionName",a),P=j(P,"description",s),m.writeFileSync(w,P,"utf-8")}catch(e){console.error("更新配置文件失败:",e)}return h.update("正在压缩文件..."),E=v.tmpdir()+d.sep+"jd_game_temp.zip",m.existsSync(E)&&m.unlinkSync(E),e.n=7,S.compressDirectory(b,E);case 7:return O=e.v,h.update("压缩完成,共 ".concat((O/1e3).toFixed(1)," KB")),h.update("正在上传代码包..."),F=new k((_=!r)?"prod":"dev"),e.n=8,F.uploadProject({sourceFile:E,appId:l,requestToken:f,isProd:_,showType:"upload"});case 8:if(0===(T=e.v).code){e.n=9;break}return h.fail(T.err_msg||"上传失败"),e.a(2,t.json({code:-1,message:T.err_msg||"上传代码包失败"}));case 9:return h.update("正在构建代码包..."),e.n=10,F.loopQueryBuildStatus({appId:l,requestToken:f,isProd:_,showType:"upload"},T.uuid);case 10:if(0===(I=e.v).code){e.n=11;break}return h.fail(I.err_msg||"构建失败"),e.a(2,t.json({code:-1,message:I.err_msg||"代码包构建失败"}));case 11:return x=I.packId,h.update("正在设置开发版..."),e.n=12,F.commitDevVersion({appId:l,requestToken:f,versionName:a,description:s},x);case 12:if(0===(C=e.v).code){e.n=13;break}return h.fail(C.err_msg||"设置开发版失败"),e.a(2,t.json({code:-1,message:C.err_msg||"设置开发版失败"}));case 13:return G=C.devId,h.update("正在设置体验版..."),e.n=14,F.setDevExperience({appId:l,requestToken:f},G);case 14:if(0===(M=e.v).code){e.n=15;break}return h.fail(M.err_msg||"设置体验版失败"),e.a(2,t.json({code:-1,message:M.err_msg||"设置体验版失败"}));case 15:return h.update("正在生成体验码..."),e.n=16,F.queryExperienceQrcodeByPackId({appId:l,requestToken:f});case 16:if(0===(A=e.v).code){e.n=17;break}return h.fail(A.err_msg||"获取二维码失败"),e.a(2,t.json({code:-1,message:A.err_msg||"获取体验码失败"}));case 17:m.existsSync(E)&&m.unlinkSync(E),h.complete({imgUrl:A.imgUrl}),t.json({code:0,message:"上传成功",data:{imgUrl:A.imgUrl,versionName:a,description:s}}),e.n=19;break;case 18:e.p=18,N=e.v,h.fail(N.message),console.error("上传失败:",N),t.json({code:-1,message:N.message||"上传失败"});case 19:return e.a(2)}},e,null,[[4,5],[1,18]])}));return function(n,t){return e.apply(this,arguments)}}()),e.exports=f},2080:e=>{"use strict";e.exports=require("open")},2225:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||function(e,n){if(e){if("string"==typeof e)return a(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function s(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var c=t(9896),u=t(9023).promisify,l=t(5759),f=u(c.readFile),p=u(c.writeFile);function d(){var e;return e=r().m(function e(n,t){var o,i,a,s,c,u=arguments;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=!(u.length>2&&void 0!==u[2])||u[2],e.p=1,e.n=2,f(n,"utf8");case 2:if(i=e.v,a=JSON.parse(i),s=m(a),!o){e.n=4;break}return e.n=3,p(t,JSON.stringify(s,null,2));case 3:case 6:return e.a(2);case 4:return e.a(2,s);case 5:throw e.p=5,c=e.v,l.logErr("处理文件时发生错误: ".concat(c.message)),c}},e,null,[[1,5]])}),d=function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){s(i,r,o,a,c,"next",e)}function c(e){s(i,r,o,a,c,"throw",e)}a(void 0)})},d.apply(this,arguments)}function m(e){var n={"\\28":"(","\\29":")","\\5b":"[","\\5d":"]","\\2c":",","\\20":" "},t={};return Object.entries(e).forEach(function(e){var r=i(e,2),o=r[0],a=r[1];Object.entries(n).forEach(function(e){var n=i(e,2),t=n[0],r=n[1];a=a.replace(new RegExp(t,"g"),r)}),t[o]=a}),t}e.exports=function(e,n){return d.apply(this,arguments)}},2268:e=>{"use strict";e.exports=require("jsqr")},2305:e=>{"use strict";e.exports=require("form-data")},2410:e=>{"use strict";e.exports=require("glob")},2425:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function i(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach(function(n){a(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function a(e,n,t){return(n=p(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return c(l,"_invoke",function(t,r,o){var i,s,c,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,s=0,c=e,p.n=t,a}};function d(t,r){for(s=t,c=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(s=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,s=0))}if(o||t>1)return a;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),s=l,c=m;(n=s<2?e:c)||!f;){i||(s?s<3?(s>1&&(p.n=-1),d(s,c)):p.n=c:p.v=c);try{if(u=2,i){if(s||(o="next"),n=i[o]){if(!(n=n.call(i,c)))throw TypeError("iterator result is not an object");if(!n.done)return n;c=n.value,s<2&&(s=0)}else 1===s&&(n=i.return)&&n.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((n=(f=p.n<0)?c:t.call(r,p))!==a)break}catch(n){i=e,s=1,c=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),l}var a={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(c(n={},r,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,c(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,c(d,"constructor",f),c(f,"constructor",l),l.displayName="GeneratorFunction",c(f,o,"GeneratorFunction"),c(d),c(d,o,"Generator"),c(d,r,function(){return this}),c(d,"toString",function(){return"[object Generator]"}),(s=function(){return{w:i,m}})()}function c(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}c=function(e,n,t,r){function i(n,t){c(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},c(e,n,t,r)}function u(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function l(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){u(i,r,o,a,s,"next",e)}function s(e){u(i,r,o,a,s,"throw",e)}a(void 0)})}}function f(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,p(r.key),r)}}function p(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var d=t(8938),m=t(2305),v=t(4652),y=t(8085),h=y.FAIL_CODE,b=y.SUCCEED_CODE,g=(t(1060).checkConfigOptions,{dev:"http://beta-vapp-ide.jd.com",prod:"https://vapp-ide-pack.jd.com",test:"http://test-vapp-ide.jdtest.net"}),w=function(){return e=function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"prod";!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.URL=g[n]},n=[{key:"uploadProject",value:(E=l(s().m(function e(n){var t,r,o;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,this.pack(n);case 1:if((t=e.v).code===b){e.n=2;break}return e.a(2,t);case 2:return r=t.data.result,e.a(2,{code:b,uuid:r});case 3:return e.p=3,o=e.v,e.a(2,{code:h,err_msg:o instanceof Error?o.message:"上传失败"})}},e,this,[[0,3]])})),function(e){return E.apply(this,arguments)})},{key:"loopQueryBuildStatus",value:(j=l(s().m(function e(n,t){var r;return s().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.loopQuery(n,t);case 1:if((r=e.v).code===b){e.n=2;break}return e.a(2,r);case 2:return e.a(2,{code:b,packId:r.data})}},e,this)})),function(e,n){return j.apply(this,arguments)})},{key:"sendPostRequest",value:(P=l(s().m(function e(n,t){var r,o,a,c,u,l=arguments;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:for(a in r=l.length>2&&void 0!==l[2]?l[2]:"请求失败",o=new m,t)o.append(a,t[a]);return e.p=1,e.n=2,d.post(n,o,{headers:i({},o.getHeaders())});case 2:if((c=e.v).data.code!==b){e.n=3;break}return e.a(2,{code:b,data:c.data});case 3:return e.a(2,{code:h,err_msg:"".concat(r,": ").concat(c.data.errorMessage)});case 4:return e.p=4,u=e.v,e.a(2,{code:h,err_msg:"".concat(r,": ").concat(u)})}},e,null,[[1,4]])})),function(e,n){return P.apply(this,arguments)})},{key:"pluginPublishRequest",value:(k=l(s().m(function e(n,t,r,o){var i,a,c,u,l,f=arguments;return s().w(function(e){for(;;)switch(e.p=e.n){case 0:return i=f.length>4&&void 0!==f[4]?f[4]:"请求失败",a=JSON.stringify(t),c={method:"post",maxBodyLength:1/0,url:"".concat(n,"?appId=").concat(r,"&requestToken=").concat(o),headers:{"Content-Type":"application/json"},data:a},e.p=1,e.n=2,d.request(c);case 2:if((u=e.v).data.code!==b){e.n=3;break}return e.a(2,{code:b,data:u.data});case 3:return e.a(2,{code:h,err_msg:"".concat(i,": ").concat(u.data.errorMessage)});case 4:return e.p=4,l=e.v,e.a(2,{code:h,err_msg:"".concat(i,": ").concat(l)})}},e,null,[[1,4]])})),function(e,n,t,r){return k.apply(this,arguments)})},{key:"pack",value:(S=l(s().m(function e(n){var t,r,o,i,a,c;return s().w(function(e){for(;;)if(0===e.n)return t=n.sourceFile,r=n.appId,o=n.requestToken,i=n.showType,a="".concat(this.URL,"upload"===i?"/v1/devops/pack":"/v1/ci/preview"),c={appId:r,requestToken:o,sourceFile:v.createReadStream(t)},e.a(2,this.sendPostRequest(a,c,"文件上传报错"))},e,this)})),function(e){return S.apply(this,arguments)})},{key:"loopQuery",value:(w=l(s().m(function e(n,t){var r,o,i,a;return s().w(function(e){for(;;)switch(e.n){case 0:r=Date.now(),o=2e6,i=3e3;case 1:if(!(Date.now()-r<o)){e.n=6;break}return e.n=2,new Promise(function(e){return setTimeout(e,i)});case 2:return e.n=3,this.queryPkgId(n,t);case 3:if((a=e.v).code===b){e.n=4;break}return e.a(2,{code:h,err_msg:a.err_msg});case 4:if(!a.data.result){e.n=5;break}return e.a(2,{code:b,data:a.data.result});case 5:e.n=1;break;case 6:return e.a(2,{code:h,err_msg:"查询超时"})}},e,this)})),function(e,n){return w.apply(this,arguments)})},{key:"queryPkgId",value:(y=l(s().m(function e(n,t){var r,o,i,a,c;return s().w(function(e){for(;;)if(0===e.n)return r=n.appId,o=n.requestToken,i=n.showType,a={appId:r,requestToken:o,uuid:t},c="".concat(this.URL,"/v1/ci/queryPackIdByUuid"),"preview"===i&&(c="".concat(this.URL,"/v1/ci/query-async-build-result")),e.a(2,this.sendPostRequest(c,a,"获取构建包id失效"))},e,this)})),function(e,n){return y.apply(this,arguments)})},{key:"generateQrCode",value:(p=l(s().m(function e(n){var t,r,o,i,a,c,u,l;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.appId,r=n.requestToken,o=n.packId,i=n.showType,a={appId:t,requestToken:r},c="".concat(this.URL,"/v1/ci/queryQrcodeByPackId"),"preview"===i?(c="".concat(this.URL,"/v1/ci/previewQrcode"),a.clientKey=o):a.packId=o,e.n=1,this.sendPostRequest(c,a,"获取二维码失效");case 1:if((u=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:u.err_msg});case 2:if(!u.data.result){e.n=3;break}return(l=new Date).setMinutes(l.getMinutes()+25),e.a(2,{code:b,imgUrl:u.data.result,expiredTime:"".concat(this.addZeroForShort(l.getHours()),":").concat(this.addZeroForShort(l.getMinutes()))});case 3:return e.a(2,{code:h,err_msg:"二维码生成完成请求返回为空"});case 4:return e.a(2)}},e,this)})),function(e){return p.apply(this,arguments)})},{key:"addZeroForShort",value:function(e){return String(e).length<2?"0".concat(String(e)):String(e)}},{key:"commitDevVersion",value:(u=l(s().m(function e(n,t){var r,o,i,a,c,u;return s().w(function(e){for(;;)switch(e.n){case 0:return r=n.appId,o=n.requestToken,i=n.versionName,a=n.description,c={packId:t,appId:r,requestToken:o,versionName:i,description:a},e.n=1,this.sendPostRequest("".concat(this.URL,"/v1/ci/commitDevVersion"),c,"设置为开发版失效");case 1:if((u=e.v).code===b){e.n=2;break}return e.a(2,u);case 2:return e.a(2,{code:b,devId:u.data.result})}},e,this)})),function(e,n){return u.apply(this,arguments)})},{key:"setDevExperience",value:(c=l(s().m(function e(n,t){var r,o,i,a;return s().w(function(e){for(;;)switch(e.n){case 0:return r=n.appId,o=n.requestToken,i={appId:r,requestToken:o,devId:t},e.n=1,this.sendPostRequest("".concat(this.URL,"/v1/ci/devExperience"),i,"设置为体验版失效");case 1:if((a=e.v).code===b){e.n=2;break}return e.a(2,a);case 2:return e.a(2,{code:b})}},e,this)})),function(e,n){return c.apply(this,arguments)})},{key:"queryExperienceQrcodeByPackId",value:(a=l(s().m(function e(n){var t,r,o,i,a,c;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.appId,r=n.requestToken,o={appId:t,requestToken:r},e.n=1,this.sendPostRequest("".concat(this.URL,"/v1/ci/queryExperienceQrcode"),o,"获取体验二维码失效");case 1:if((i=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:i.err_msg});case 2:return a=i.data.result,(c=new Date).setMinutes(c.getMinutes()+25),e.a(2,{code:b,imgUrl:a,expiredTime:"".concat(this.addZeroForShort(c.getHours()),":").concat(this.addZeroForShort(c.getMinutes()))})}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"uploadPlugin",value:(o=l(s().m(function e(n){var t,r,o,i,a,c,u;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.sourceFile,r=n.appId,o=n.requestToken,i=n.versionName,a="".concat(this.URL,"/v1/ci/pluginPack"),c={appId:r,requestToken:o,versionName:i,sourceFile:v.createReadStream(t)},e.n=1,this.sendPostRequest(a,c,"插件构建报错");case 1:if((u=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:u.err_msg});case 2:return e.a(2,{code:b,result:u.data.result})}},e,this)})),function(e){return o.apply(this,arguments)})},{key:"publishPlugin",value:(r=l(s().m(function e(n){var t,r,o,i,a,c,u,l,f;return s().w(function(e){for(;;)switch(e.n){case 0:return t=n.versionName,r=n.versionFeature,o=n.useGuide,i=n.packId,a=n.appId,c=n.requestToken,u="".concat(this.URL,"/v1/ci/plugin-dev"),l={versionName:t,versionFeature:r,useGuide:o,packId:i},e.n=1,this.pluginPublishRequest(u,l,a,c,"插件上传报错");case 1:if((f=e.v).code===b){e.n=2;break}return e.a(2,{code:h,err_msg:f.err_msg});case 2:return e.a(2,{code:b})}},e,this)})),function(e){return r.apply(this,arguments)})}],n&&f(e.prototype,n),t&&f(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t,r,o,a,c,u,p,y,w,S,k,P,j,E}();e.exports=w},3121:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a=t(2410),s=t(9896),c=t(6928),u=t(7172),l=function(){return e=function e(n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.projectPath=n.src,this.distFile=n.dist,this._allFilePath=[],this._allFileContents=[]},(n=[{key:"genWholeTrunk",value:function(){this._getAllFileBaseInfo();var e=this.genFileIndex(),n=this._getAllFileCountBuf();e.unshift(n);var t=Buffer.concat(e),r=Buffer.concat(this._allFileContents),o=this.encodeHeader(t.length,r.length),i=Buffer.concat(o),a=Buffer.concat([i,t,r]);s.writeFileSync(this.distFile,a,"binary")}},{key:"_getAllFiles",value:function(){return a.sync(this.projectPath+"/**",{nodir:!0,ignore:["**/.*","**/.*/.**","**/*.js.map"]})}},{key:"encodeHeader",value:function(e,n){var t=[Buffer.alloc(1),Buffer.alloc(4),Buffer.alloc(4),Buffer.alloc(4),Buffer.alloc(1)];return t[0].writeUInt8(250),t[1].writeInt32BE(7),t[4].writeUInt8(238),t[2].writeInt32BE(e),t[3].writeInt32BE(n),t}},{key:"_getAllFileBaseInfo",value:function(){var e=this._getAllFiles(),n=this;e.forEach(function(e){var t=s.readFileSync(e),r=c.relative(n.projectPath,e),o=Buffer.from("/"+r.replace(/\\/g,"/"));n._allFilePath.push(o),n._allFileContents.push(t)})}},{key:"genFileIndex",value:function(){var e=this._genFirstContentOffset(),n=this;return this._allFilePath.map(function(t,r){var o=Buffer.alloc(4);o.writeInt32BE(t.length);var i=Buffer.alloc(4),a=e;i.writeInt32BE(a);var s=Buffer.alloc(4),c=n._allFileContents[r].length;return s.writeInt32BE(c),e+=c,Buffer.concat([o,t,i,s])})}},{key:"_genFirstContentOffset",value:function(){return 18+12*this._allFilePath.length+Buffer.concat(this._allFilePath).length}},{key:"_getAllFileCountBuf",value:function(){var e=Buffer.alloc(4);return e.writeInt32BE(this._allFilePath.length),e}}])&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}();function f(e,n,t){var r=e+".jd";new l({src:e,dist:r}).genWholeTrunk(),function(e,n){return new Promise(function(t,r){var o=s.createWriteStream(n),i=u("zip",{zlib:{level:9}});o.on("close",function(){t(n)}),i.on("warning",function(e){"ENOENT"!==e.code&&r(e)}),i.on("error",r),i.pipe(o),i.file(e,{name:"package.jd"}),i.finalize()})}(r,n).then(function(){s.existsSync(r)&&s.unlinkSync(r),t(null,n)}).catch(function(e){console.log("压缩 .jd 文件失败:",e),t(e)})}e.exports=function(e,n,t){f(e,n,t)}},3427:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s,c=t(9896),u=c.promises,l=t(6928),f=t(8938),p=function(e,n){return{filePath:e?n:void 0,tempFilePath:n,statusCode:200}},d=function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,u.access(n);case 1:e.n=3;break;case 2:return e.p=2,e.v,e.n=3,u.mkdir(n,{recursive:!0});case 3:return e.a(2)}},e,null,[[0,2]])}));return function(n){return e.apply(this,arguments)}}(),m=function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,u.stat(n);case 1:if(!e.v.isDirectory()){e.n=2;break}return e.n=2,u.rm(n,{recursive:!0});case 2:e.n=4;break;case 3:e.p=3,e.v;case 4:return e.a(2)}},e,null,[[0,3]])}));return function(n){return e.apply(this,arguments)}}();e.exports={downloadFile:(s=a(r().m(function e(n){var t,o,i,s,v,y,h,b,g,w;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=n.url,o=n.filePath,i=n.success,s=n.fail,v=n.complete,y={success:i,fail:s,complete:v},e.p=1,e.n=2,d(l.dirname(o));case 2:return e.n=3,m(o);case 3:return e.n=4,f({method:"get",url:t,responseType:"stream"});case 4:return h=e.v,b=c.createWriteStream(o),h.data.pipe(b),e.a(2,new Promise(function(e,n){var t=0,i=parseInt(h.headers["content-length"]),s=h.headers["transfer-encoding"];b.on("finish",a(r().m(function a(){var c,l,f,d;return r().w(function(r){for(;;)switch(r.p=r.n){case 0:if(r.p=0,"chunked"===s||!i||t===i){r.n=2;break}return r.n=1,u.unlink(o);case 1:throw new Error("Download incomplete: Received ".concat(t," of ").concat(i," bytes"));case 2:null===(c=y.success)||void 0===c||c.call(y,p(!0,o)),e(p(!0,o)),r.n=4;break;case 3:r.p=3,d=r.v,null===(l=y.fail)||void 0===l||l.call(y,{errMsg:d.message}),n(d);case 4:return r.p=4,null===(f=y.complete)||void 0===f||f.call(y),r.f(4);case 5:return r.a(2)}},a,null,[[0,3,4,5]])}))),b.on("error",function(){var e=a(r().m(function e(t){var i;return r().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,u.unlink(o).catch(function(){});case 1:null===(i=y.fail)||void 0===i||i.call(y,{errMsg:"Write failed: ".concat(t.message)}),n(t);case 2:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),h.data.on("data",function(e){t+=e.length})}));case 5:return e.p=5,w=e.v,e.n=6,u.unlink(o).catch(function(){});case 6:throw null===(g=y.fail)||void 0===g||g.call(y,{errMsg:"Download failed: ".concat(w.message)}),w;case 7:return e.a(2)}},e,null,[[1,5]])})),function(e){return s.apply(this,arguments)})}},3709:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=3709,e.exports=n},3785:e=>{"use strict";e.exports=require("readline")},3904:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=3904,e.exports=n},4218:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s=t(7252).Router(),c=t(8320),u=t(649),l=t(6928),f=t(5322);function p(e,n){return d.apply(this,arguments)}function d(){return(d=a(r().m(function e(n,t){var o,i,a,s,u,p,d;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,(o=c.validateProject("increment-history","",n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t.json({code:-1,message:o.errMsg||"项目校验失败"}));case 1:c.ensureSpinner().start("开始获取历史版本……"),i=l.resolve(c.config.entry,".codesplitcache"),a=l.resolve(i,"original"),c.setupCacheDirectories(i,a),e.p=2,f.syncPluginCacheFiles(c.config.entry,a),c.spinner.succeed("文件备份完成"),e.n=4;break;case 3:throw e.p=3,u=e.v,c.spinner.fail("文件备份失败:".concat(u.message)),u;case 4:return e.n=5,c.processSymbolFiles(i,a);case 5:return c.spinner.start(),c.spinner.text="开始上传文件……",e.p=6,e.n=7,c.uploadFiles(a,i);case 7:e.n=9;break;case 8:e.p=8,p=e.v,c.spinner.fail("上传文件失败:".concat(p.message)),process.exit(1);case 9:return c.spinner.succeed("上传文件成功"),c.spinner.start(),c.spinner.text="添加游戏版本……",e.n=10,c.addGameVersion();case 10:return c.spinner.succeed("添加游戏版本成功"),e.n=11,c.getIncrementHistory();case 11:s=e.v,t.json({code:0,data:s}),e.n=13;break;case 12:e.p=12,d=e.v,c.spinner.fail(d.message),t.json({code:-1,message:d.message});case 13:return e.a(2)}},e,null,[[6,8],[2,3],[0,12]])}))).apply(this,arguments)}s.post("/wasm-init",function(){var e=a(r().m(function e(n,t){var o,i,a,s,l,f;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=n.body.isUpdate,i=void 0!==o&&o,a=n.isPreEnv,s=n.wasmEnv,e.p=1,u.start("wasm-init",5),u.update("正在验证项目配置..."),e.n=2,c.init({srcPath:"",isPreEnv:a,wasmEnv:s,isUpdate:i});case 2:l=e.v,u.complete(l),t.json({code:0,message:i?"增量更新完成":"初始化完成",data:l}),e.n=4;break;case 3:e.p=3,f=e.v,u.fail(f.message),t.json({code:-1,message:f.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),s.post("/wasm-update",function(){var e=a(r().m(function e(n,t){var o,i,a,s;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=n.isPreEnv,i=n.wasmEnv,e.p=1,u.start("wasm-update",6),u.update("正在获取历史版本..."),e.n=2,c.init({srcPath:"",isPreEnv:o,wasmEnv:i,isUpdate:!0});case 2:a=e.v,u.complete(a),t.json({code:0,message:"增量更新完成",data:a}),e.n=4;break;case 3:e.p=3,s=e.v,u.fail(s.message),t.json({code:-1,message:s.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),s.get("/wasm-history-versions",p),s.get("/increment/history",p),s.post("/increment/init",function(){var e=a(r().m(function e(n,t){var o,i,a,s,l,f;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(o=n.isPreEnv,i=n.wasmEnv,a=n.body||{},s=a.incrementMd5){e.n=1;break}return e.a(2,t.json({code:-1,message:"请选择历史版本"}));case 1:return e.p=1,u.start("increment-init",6),u.update("正在进行增量初始化..."),e.n=2,c.runIncrementInit({srcPath:"",isPreEnv:o,wasmEnv:i,incrementMd5:s});case 2:l=e.v,u.complete(l),t.json({code:0,message:"增量初始化完成",data:l}),e.n=4;break;case 3:e.p=3,f=e.v,u.fail(f.message),t.json({code:-1,message:f.message});case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n,t){return e.apply(this,arguments)}}()),e.exports=s},4246:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,o,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return i(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(i(n={},r,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,i(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,i(d,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(d),i(d,a,"Generator"),i(d,r,function(){return this}),i(d,"toString",function(){return"[object Generator]"}),(o=function(){return{w:s,m}})()}function i(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}i=function(e,n,t,r){function a(n,t){i(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},i(e,n,t,r)}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e,n,t){return(n=function(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var l=t(7252).Router(),f=t(6928),p=t(9896),d=t(6626),m=t(9664),v=t(6949),y=(t(8320),t(649),t(8330)),h={splitDetails:null,codeMd5:null,lastSplitTime:null,cacheTime:null};function b(e){return!!h.splitDetails&&(h.codeMd5===e&&!(h.lastSplitTime&&h.cacheTime&&h.lastSplitTime>h.cacheTime))}function g(e){var n=f.join(e,".codesplitcache/codesplit-config.json"),t=f.join(e,"wasmcode"),r=f.join(e,"wasmcode1");return p.existsSync(n)&&p.existsSync(t)&&p.existsSync(r)?"split":"not_split"}function w(e){var n=f.join(e,"wasmcode");if(!p.existsSync(n))return{filePath:null,fileName:null,codeMd5:null};var t=p.readdirSync(n).find(function(e){return e.endsWith(".wasm")||e.endsWith(".wasm.br")||e.endsWith(".unityweb.wasm.br")||e.endsWith(".wasm.unityweb")});return t?{filePath:f.join(n,t),fileName:t,codeMd5:function(e){if(!e)return null;var n=e.split(".")[0];return n&&/^[a-f0-9]{16}$/i.test(n)?n:null}(t)}:{filePath:null,fileName:null,codeMd5:null}}function S(e){var n=null,t=0,r=f.join(e,"webgl.wasm.symbols.unityweb");if(p.existsSync(r)){n=r;try{t=p.readFileSync(r,"utf-8").split("\n").filter(function(e){return e.trim().length>0}).length}catch(e){}}else{var o=f.join(e,"Build.json"),i=f.join(e,"unityweb.json");if(p.existsSync(o)){n=o;try{var a=p.readFileSync(o,"utf-8"),s=JSON.parse(a);s.symbols&&Array.isArray(s.symbols)&&(t=s.symbols.length)}catch(e){}}else if(p.existsSync(i)){n=i;try{var c=p.readFileSync(i,"utf-8"),u=JSON.parse(c);u.symbols&&Array.isArray(u.symbols)&&(t=u.symbols.length)}catch(e){}}}return{symbolFilePath:n,totalFunctions:t}}l.invalidateCache=function(){h.lastSplitTime=Date.now(),h.splitDetails=null,console.log("[config] 服务端缓存已失效")},l.get("/wasm-split-init",function(){var e,n=(e=o().m(function e(n,t){var r,i,a,c,u,l,k,P,j,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:e.p=0,e.p=1,r=d.loadProjectConfig(""),e.n=3;break;case 2:return e.p=2,e.v,e.a(2,t.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 3:if(r){e.n=4;break}return e.a(2,t.json({code:-1,message:"未找到项目配置,请先执行 jgc config"}));case 4:if(a=(i=r).appId,c=i.entry,i.requestToken,u=i.fullEntryPath,l=u||c,m.setEnv(n.wasmEnv||n.isPreEnv),k=g(l),P=w(l),j=P.filePath,P.fileName,E=P.codeMd5,O=S(l),_=O.symbolFilePath,F=O.totalFunctions,T=null,I=f.join(l,".codesplitcache/codesplit-config.json"),p.existsSync(I))try{T=JSON.parse(p.readFileSync(I,"utf-8"))}catch(e){}if(x=null,"split"!==k){e.n=10;break}if(e.p=5,!b(E)){e.n=6;break}console.log("[config] 使用服务端缓存的分包详情"),x=s(s({},h.splitDetails),{},{md5:E}),e.n=8;break;case 6:return console.log("[config] 开始分析 WASM, entryPath:",l,"totalFunctions:",F),e.n=7,v.getSplitDetails(l,F);case 7:C=e.v,console.log("[config] 分析结果:",JSON.stringify(C)),C?(x={splitForm:C.splitForm,mainFuncCount:C.mainFuncCount,subFuncCount:C.subFuncCount,mainFuncRatio:C.mainFuncRatio,splitTip:C.splitTip,splitTipLevel:C.splitTipLevel,isDevSplit:C.isDevSplit,md5:E},h.splitDetails={splitForm:C.splitForm,mainFuncCount:C.mainFuncCount,subFuncCount:C.subFuncCount,mainFuncRatio:C.mainFuncRatio,splitTip:C.splitTip,splitTipLevel:C.splitTipLevel,isDevSplit:C.isDevSplit},h.codeMd5=E,h.cacheTime=Date.now(),console.log("[config] 服务端缓存已更新")):(console.log("[config] splitDetails 为空,使用回退配置"),x={splitForm:"Unknown",mainFuncCount:(null===(G=T)||void 0===G?void 0:G.mainFuncCount)||0,subFuncCount:(null===(M=T)||void 0===M?void 0:M.subFuncCount)||0,mainFuncRatio:0,splitTip:"-",splitTipLevel:"warning",md5:(null===(A=T)||void 0===A?void 0:A.md5)||E});case 8:e.n=10;break;case 9:e.p=9,W=e.v,console.error("[config] WASM 分析失败:",W.message),x={splitForm:"Unknown",mainFuncCount:(null===(N=T)||void 0===N?void 0:N.mainFuncCount)||0,subFuncCount:(null===(D=T)||void 0===D?void 0:D.subFuncCount)||0,mainFuncRatio:0,splitTip:"-",splitTipLevel:"warning",md5:(null===(q=T)||void 0===q?void 0:q.md5)||E};case 10:t.json({code:0,data:{appId:a,entry:l,codeMd5:E,totalFunctions:F,splitStatus:k,wasmFilePath:j,symbolFilePath:_,cacheConfig:T,splitInfo:x,isPreEnv:n.isPreEnv,wasmEnv:n.wasmEnv,appVersion:(null==y?void 0:y.version)||"0.0.0"}}),e.n=12;break;case 11:e.p=11,R=e.v,t.json({code:-1,message:R.message});case 12:return e.a(2)}},e,null,[[5,9],[1,2],[0,11]])}),function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){u(i,r,o,a,s,"next",e)}function s(e){u(i,r,o,a,s,"throw",e)}a(void 0)})});return function(e,t){return n.apply(this,arguments)}}()),l.get("/project-config",function(e,n){try{var t=d.loadProjectConfig("");n.json({code:0,data:t})}catch(e){n.json({code:-1,message:e.message})}}),e.exports=l},4377:e=>{e.exports=[{reg:/Module\[('|")HEAP8('|")\]\s*=\s*HEAP8\s*=\s*new\s*Int8Array/gi,replaceMethod:function(){return'Module["HEAP8"] = window.EMSCRIPTEN_HEAP8 = HEAP8 = new Int8Array'}},{reg:/Module\[('|")HEAP16('|")\]\s*=\s*HEAP16\s*=\s*new\s*Int16Array/gi,replaceMethod:function(){return'Module["HEAP16"] = window.EMSCRIPTEN_HEAP16 = HEAP16 = new Int16Array'}},{reg:/Module\[('|")HEAP32('|")\]\s*=\s*HEAP32\s*=\s*new\s*Int32Array/gi,replaceMethod:function(){return'Module["HEAP32"] = window.EMSCRIPTEN_HEAP32 = HEAP32 = new Int32Array'}},{reg:/Module\[('|")HEAPU8('|")\]\s*=\s*HEAPU8\s*=\s*new\s*Uint8Array/gi,replaceMethod:function(){return'Module["HEAPU8"] = window.EMSCRIPTEN_HEAPU8 = HEAPU8 = new Uint8Array'}},{reg:/Module\[('|")HEAPU16('|")\]\s*=\s*HEAPU16\s*=\s*new\s*Uint16Array/gi,replaceMethod:function(){return'Module["HEAPU16"] = window.EMSCRIPTEN_HEAPU16 = HEAPU16 = new Uint16Array'}},{reg:/Module\[('|")HEAPU32('|")\]\s*=\s*HEAPU32\s*=\s*new\s*Uint32Array/gi,replaceMethod:function(){return'Module["HEAPU32"] = window.EMSCRIPTEN_HEAPU32 = HEAPU32 = new Uint32Array'}},{reg:/Module\[('|")HEAPF32('|")\]\s*=\s*HEAPF32\s*=\s*new\s*Float32Array/gi,replaceMethod:function(){return'Module["HEAPF32"] = window.EMSCRIPTEN_HEAPF32 = HEAPF32 = new Float32Array'}},{reg:/Module\[('|")HEAPF64('|")\]\s*=\s*HEAPF64\s*=\s*new\s*Float64Array/gi,replaceMethod:function(){return'Module["HEAPF64"] = window.EMSCRIPTEN_HEAPF64 = HEAPF64 = new Float64Array'}},{reg:"calledMain = true;",replaceMethod:function(){return"if (GameGlobal.unityNamespace.pluginCalledMainCb) {\n GameGlobal.unityNamespace.pluginCalledMainCb()\n }\n calledMain = true;"}}]},4420:e=>{"use strict";e.exports=require("jimp")},4652:e=>{"use strict";e.exports=require("fs-extra")},4901:e=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function t(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}function r(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}var o=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.configPrompts=[{name:"entry",type:"input",message:"请输入函数名文件所在路径:",default:"./"}]},(n=[{key:"getPrompts",value:function(){return this.configPrompts}}])&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=o},5086:e=>{"use strict";e.exports=require("ws")},5205:e=>{"use strict";e.exports=require("picocolors")},5317:e=>{"use strict";e.exports=require("child_process")},5322:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,o,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return i(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(i(n={},r,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,i(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,i(d,"constructor",f),i(f,"constructor",l),l.displayName="GeneratorFunction",i(f,a,"GeneratorFunction"),i(d),i(d,a,"Generator"),i(d,r,function(){return this}),i(d,"toString",function(){return"[object Generator]"}),(o=function(){return{w:s,m}})()}function i(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}i=function(e,n,t,r){function a(n,t){i(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},i(e,n,t,r)}function a(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function s(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}function c(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var u,l,f,p=t(9896),d=t(6928),m=t(2410),v=t(6046),y=v.createWasmSplitCodeBySimd,h=v.createImportFuncIndexCodeBySimd,b=t(4377),g=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)}return n=e,t=null,r=[{key:"compareVersion",value:function(e,n){for(var t=String(e).split(".").map(Number),r=String(n).split(".").map(Number),o=0;o<Math.max(t.length,r.length);o++){var i=t[o]||0,a=r[o]||0;if(i>a)return 1;if(i<a)return-1}return 0}},{key:"maxVersion",value:function(e,n){return this.compareVersion(e,n)>=0?e:n}},{key:"syncPluginCacheFiles",value:function(e,n){this.ensureDirectoryExists(n),this.copyBrFiles(e,n),this.copyFixedFiles(e,n)}},{key:"ensureDirectoryExists",value:function(e){p.existsSync(e)||p.mkdirSync(e,{recursive:!0})}},{key:"copyBrFiles",value:function(e,n){var t=this,r=d.join(e,"wasmcode1");if(p.existsSync(r))throw new Error("文件备份错误,检查wasm文件是否是已分包版本");var o=d.join(n,"wasmcode");p.existsSync(o)&&p.rmSync(o,{recursive:!0,force:!0}),p.mkdirSync(o,{recursive:!0});var i=d.posix.join(e,"wasmcode","*.br");m.sync(i).forEach(function(r){var o=d.relative(e,r),i=d.join(n,o),a=d.dirname(i);t.ensureDirectoryExists(a),p.copyFileSync(r,i)})}},{key:"copyFixedFiles",value:function(e,n){["game.js","game.json","webgl.wasm.framework.unityweb.js","weapp-adapter.js"].forEach(function(t){var r=d.join(e,t),o=d.join(n,t);if(!p.existsSync(o)){if(!p.existsSync(r))throw new Error("Source file missing: ".concat(r));p.copyFileSync(r,o)}})}},{key:"processJavaScriptFiles",value:(i=o().m(function e(n,t,r){var i,a,s;return o().w(function(e){for(;;)switch(e.n){case 0:return this.config=r,p.copyFileSync(d.resolve(r.originalCacheDir,"game.json"),d.resolve(t,"game.json")),i=h(n.tableSize,n.subVersion,r.isPre,r.requestToken,r.isRelease),p.writeFileSync(d.resolve(t,"import-func-index.js"),i),e.n=1,y();case 1:a=e.v,p.writeFileSync(d.resolve(t,"wasm-split.js"),a),s=d.resolve(t,"wasmcode1"),p.writeFileSync(d.resolve(s,"game.js"),"");case 2:return e.a(2)}},e,this)}),c=function(){var e=this,n=arguments;return new Promise(function(t,r){var o=i.apply(e,n);function s(e){a(o,t,r,s,c,"next",e)}function c(e){a(o,t,r,s,c,"throw",e)}s(void 0)})},function(e,n,t){return c.apply(this,arguments)})},{key:"updateConfigFiles",value:function(e,n,t){this.config=t,this.updateGameJson(e,n),this.updateFrameworkJs(e,n),this.updateGameJs(e,n),this.updateAdapterJs(e,n)}},{key:"updateGameJson",value:function(n,t){var r=JSON.parse(p.readFileSync(d.resolve(this.config.originalCacheDir,"game.json")));r.subpackages.push({name:"wasmcode1",root:"wasmcode1/"});var o=r.plugins.UnityPlugin;o.version=this.maxVersion(o.version,e.MIN_UNITY_PLUGIN_VERSION),p.writeFileSync(d.resolve(t,"game.json"),JSON.stringify(r,null,2))}},{key:"updateFrameworkJs",value:function(e,n){var t=d.resolve(this.config.originalCacheDir,"webgl.wasm.framework.unityweb.js"),r=d.resolve(n,"webgl.wasm.framework.unityweb.js"),o=p.readFileSync(t,"utf-8");b.forEach(function(e){o=o.replace(e.reg,e.replaceMethod)}),o+=";\nGameGlobal.unityNamespace.useWasmCodeSplit=true;GameGlobal.unityNamespace.WASM_SPLIT_SUB_VERSION=".concat(e.subVersion,";\n"),p.writeFileSync(r,o)}},{key:"updateGameJs",value:function(e,n){var t=this,r=d.resolve(this.config.originalCacheDir,"game.js"),o=d.resolve(n,"game.js"),i=p.readFileSync(r,"utf-8");[{reg:/const\s*_unityNamespace\s*=\s*_interopRequireDefault\(require\((['"])\.\/unity-namespace\1\)\)/gi,replaceMethod:function(){return"const _unityNamespace = _interopRequireDefault(require('./unity-namespace')); \n require('./wasm-split.js')"}},{reg:"GameGlobal.managerConfig = managerConfig;",replaceMethod:function(){return"GameGlobal.managerConfig = managerConfig; \nif(__jdConfig&&__jdConfig.NAConfig&&__jdConfig.NAConfig.useiOSfuncWasmBack){ \nGameGlobal.canUseH5Renderer = false; \n} else { \nGameGlobal.canUseH5Renderer = ".concat(!!t.config.isRelease,"; \n} ")}},{reg:/import\s+unityNamespace\s+from\s+(['"])\.\/unity-namespace\1\s*;/gi,replaceMethod:function(){return"import unityNamespace from './unity-namespace';\n import wasm_split from './wasm-split'"}},{reg:/APPID:\s*(['"])(.*?)\1/gi,replaceMethod:function(){return"APPID:'".concat(t.config.appId,"'")}}].forEach(function(e){i=i.replace(e.reg,e.replaceMethod)}),p.writeFileSync(o,i)}},{key:"updateAdapterJs",value:function(e,n){var t=d.resolve(this.config.originalCacheDir,"weapp-adapter.js"),r=d.resolve(n,"weapp-adapter.js"),o=p.readFileSync(t,"utf-8");o='"function" == typeof XMLHttpRequest&&(GameGlobal.nativeXHR = XMLHttpRequest);\n"object" == typeof WebAssembly&&(GameGlobal.nativeWASM = WebAssembly);'+o,p.writeFileSync(r,o)}}],t&&s(n.prototype,t),r&&s(n,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,t,r,i,c}();u=g,f="1.2.59",(l=c(l="MIN_UNITY_PLUGIN_VERSION"))in u?Object.defineProperty(u,l,{value:f,enumerable:!0,configurable:!0,writable:!0}):u[l]=f,e.exports=g},5759:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a,s=t(6895),c=t(8720);e.exports=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"logStep",value:function(e){for(var n,t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];(n=console).log.apply(n,[s.green("> ".concat(e))].concat(r))}},{key:"log",value:function(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];setTimeout(function(){var n;(n=console).log.apply(n,[s.green(e)].concat(t))},0)}},{key:"logInfo",value:function(e){for(var n,t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];(n=console).log.apply(n,[e].concat(r))}},{key:"logErr",value:function(e){for(var n,t=arguments.length,r=new Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];(n=console).log.apply(n,[s.red(e)].concat(r))}},{key:"startLogProcess",value:function(e){var n=c(e).start(),t={stop:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e+" 失败";"fail"==(arguments.length>1?arguments[1]:void 0)?n.fail(e):n.succeed(e)}};return a=t,t}},{key:"endLogProcess",value:function(e,n){e||(e=a),e&&"function"==typeof e.stop&&e.stop(n,"fail")}}],(n=null)&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}()},6046:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}t(6928);var a,s,c=t(9239).minify;e.exports={createWasmSplitCodeBySimd:(a=r().m(function e(){var n,t,o;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,n='import { tableSize, setImportGlobal } from "./import-func-index";\n import { isIOS } from "./check-version";\n \n let b = (wx.getAccountInfoSync() || {}).miniProgram;\n const isTrial = b && "release" != b.envVersion;\n let callbackArray = [],\n isLoaded = false;\n \n function loadSubWasmPackage(doneCallback, needBlock) {\n if (isLoaded) {\n doneCallback(needBlock);\n return;\n }\n let loadStart = Date.now();\n GameGlobal.unityNamespace.eventLog("start loadSubPackage wasmcode1");\n callbackArray.push({\n callback: doneCallback,\n needBlock: needBlock,\n });\n let a = Date.now() - loadStart;\n GameGlobal.unityNamespace.eventLog(\n "下载代码分包1完毕: ",\n (a / 1e3).toFixed(2),\n "s"\n );\n GameGlobal.manager.subWasmDownloaded(a);\n isLoaded = true;\n callbackArray.forEach((a) => a.callback(a.needBlock));\n callbackArray = [];\n }\n let loadedSub = false,\n isInstanced = false;\n function reTry(a) {\n let e = function () {\n isInstanced ? a() : setTimeout(e, 1);\n };\n setTimeout(e, 1);\n }\n \n function initializeSubWasmModule(needBlock) {\n GameGlobal.unityNamespace.eventLog(\n "start compileSubWasm: needBlock ",\n needBlock\n );\n GameGlobal.manager.beforeLoadSubWasm();\n let instanceStart = Date.now();\n const subWasmPath =\n "wasmcode1/" +\n GameGlobal.unityNamespace.CODE_FILE_MD5 +\n "." +\n GameGlobal.unityNamespace.GAME_NAME +\n ".wasm.code.unityweb.wasm.br";\n let callback = (a) => {\n let cost = Date.now() - instanceStart;\n GameGlobal.manager.subWasmCompiled(cost);\n GameGlobal.unityNamespace.eventLog(\n "[PLUGIN SUBWASM LOG]subwasm loaded: ",\n cost\n );\n isInstanced = true;\n };\n if (needBlock && isIOS && GameGlobal.canUseH5Renderer) {\n // WASM import 必须同步返回,整包兜底也要在返回前补齐函数表。\n const api = typeof jd !== "undefined" && typeof jd.__invokeMethod__ === "function" ? jd : wx;\n let wasmBuffer;\n let readError;\n api.__invokeMethod__("readWasmFileSync", {\n filePath: subWasmPath,\n compressionAlgorithm: "br",\n success(res) { wasmBuffer = res.data; },\n fail(error) { readError = error; },\n });\n if (!wasmBuffer) {\n const error = new Error((readError && readError.errMsg) || "同步读取完整 WASM 分包失败");\n error.needUpgradeApp = true;\n wx.showModal({\n title: "升级提示",\n content: "分包加载失败,请升级京东 App 至最新版本后重试。",\n showCancel: false,\n confirmText: "我知道了",\n });\n throw error;\n }\n const wasmModule = new GameGlobal.nativeWASM.Module(wasmBuffer);\n const instance = new GameGlobal.nativeWASM.Instance(wasmModule, wasm_split_info);\n callback(instance);\n return;\n }\n WXWebAssembly.instantiate(subWasmPath, wasm_split_info)\n .then(callback)\n .catch((a) => {\n console.error("wasmcode1 catch ", a);\n });\n }\n \n function invokeWait(needBlock) {\n if (!isInstanced) {\n if (!loadedSub) {\n loadedSub = true;\n GameGlobal.unityNamespace.eventLog(\n "start instantiateSubWasm: needBlock ",\n needBlock\n );\n try {\n loadSubWasmPackage(initializeSubWasmModule, needBlock);\n } catch (error) {\n loadedSub = false;\n throw error;\n }\n }\n }\n }\n \n function innerInvokeWasmBuffer(funcName, e) {\n if (isInstanced) return;\n GameGlobal.manager.wasmsplit.innerInvokeWasmBuffer({\n funcName: funcName,\n importObj: window.wasm_split_info,\n fail(t) {\n if (e > 0) {\n GameGlobal.unityNamespace.eventLog(\n "fetch table_id: ",\n funcName,\n "; remainRetryTimes: ",\n e\n );\n return innerInvokeWasmBuffer(funcName, e - 1);\n }\n GameGlobal.unityNamespace.eventLog(\n "fetch table_id:",\n funcName,\n "; md5: ",\n GameGlobal.unityNamespace.CODE_FILE_MD5,\n "; subversion: ",\n GameGlobal.unityNamespace.WASM_SPLIT_SUB_VERSION,\n "; err: ",\n t\n );\n try {\n invokeWait(true);\n } catch (error) {\n if (error.needUpgradeApp) throw error;\n if (t && ("system error" === t.errmsg || "content is null" === t.errmsg)\n && typeof GameGlobal.onCrash === "function") {\n GameGlobal.onCrash();\n } else {\n wx.showModal({\n title: "网络状态异常",\n content: "请检查网络后重启 小游戏",\n showCancel: !1,\n confirmText: wx.restartMiniProgram ? "立即重启" : "确定",\n success() {\n wx.restartMiniProgram && wx.restartMiniProgram({})\n }\n });\n }\n // 整包未补齐时终止当前调用,避免继续调用空函数表项。\n throw error;\n }\n },\n });\n }\n let subCalledSet = new Set(),\n globalCalledSet = new Set();\n \n function _reportCalledFunc() {\n if (subCalledSet.size > 0) {\n GameGlobal.manager.reportCalledFuncs({\n called_func_list: Array.from(subCalledSet),\n sub_version: GameGlobal.unityNamespace.WASM_SPLIT_SUB_VERSION,\n func_type: 1,\n });\n subCalledSet.clear();\n }\n \n setTimeout(_reportCalledFunc, 5000);\n }\n \n GameGlobal.unityNamespace.reportCalledFunc = _reportCalledFunc;\n \n if (!GameGlobal.unityNamespace.pluginCalledMainCbs) {\n GameGlobal.unityNamespace.pluginCalledMainCbs = [];\n }\n \n if (!GameGlobal.unityNamespace.pluginCalledMainCb) {\n GameGlobal.unityNamespace.pluginCalledMainCb = function () {\n this.pluginCalledMainCbs.forEach((a) => a());\n };\n }\n \n isTrial &&\n !GameGlobal.canUseH5Renderer &&\n GameGlobal.unityNamespace.pluginCalledMainCbs.push(_reportCalledFunc);\n \n GameGlobal.unityNamespace.instantiateWasm = function (\n instantiateWasmInfo,\n receiveInstance\n ) {\n console.log("in wasm-split instantiateWasm");\n const module = GameGlobal.manager.gameInstance.Module,\n asm2wasm = (instantiateWasmInfo.asm2wasm =\n instantiateWasmInfo.asm2wasm || {});\n asm2wasm["f64-to-int"] =\n asm2wasm["f64-to-int"] ||\n function (a) {\n return 0 | a;\n };\n asm2wasm["f64-rem"] =\n asm2wasm["f64-rem"] ||\n function (a, e) {\n return a % e;\n };\n \n instantiateWasmInfo.env = instantiateWasmInfo.env || {};\n \n instantiateWasmInfo.primary = {\n table:\n instantiateWasmInfo.env.table ||\n new WebAssembly.Table({\n initial: tableSize,\n maximum: tableSize,\n element: "anyfunc",\n }),\n memory: instantiateWasmInfo.env.memory,\n };\n \n setImportGlobal(instantiateWasmInfo);\n \n instantiateWasmInfo.wasm_split = instantiateWasmInfo.wasm_split || {};\n instantiateWasmInfo.wasm_split.wait = function () {\n let waitTableId = GameGlobal.unityNamespace.waitTableId.value;\n GameGlobal.unityNamespace.eventLog("wait for func: ", waitTableId);\n if (isIOS && GameGlobal.canUseH5Renderer) {\n return innerInvokeWasmBuffer(waitTableId.toString(), 3);\n }\n invokeWait(true);\n };\n \n console.log("@@@canUseH5Renderer", GameGlobal.canUseH5Renderer);\n if (GameGlobal.canUseH5Renderer) {\n instantiateWasmInfo.wasm_split.logCall = function (a, e) {};\n } else {\n instantiateWasmInfo.wasm_split.logCall = function (a, e) {\n if (e) {\n if (!globalCalledSet.has(a)) {\n globalCalledSet.add(a);\n subCalledSet.add(a);\n }\n }\n };\n }\n instantiateWasmInfo.wasm_split.__wasm_split_waitTableId =\n GameGlobal.unityNamespace.waitTableId = new WebAssembly.Global({\n value: "i32",\n mutable: true,\n });\n \n window.wasm_split_info = instantiateWasmInfo;\n let wasmPath = module.wasmPath;\n WebAssembly.instantiate(wasmPath, instantiateWasmInfo).then(\n (resultObject) => {\n Object.entries(resultObject.instance.exports).forEach((instanceFunc) => {\n if (\n "object" == typeof instanceFunc[1] &&\n instanceFunc[1] instanceof WebAssembly.Memory\n ) {\n instantiateWasmInfo.primary.memory = instanceFunc[1];\n asm2wasm.__wasm_memory_size = window.__wasm_memory_size = () =>\n (instanceFunc[1].buffer.byteLength / 65536) | 0;\n }\n if (instanceFunc[0].startsWith("wasm_split.")) {\n instantiateWasmInfo.primary[instanceFunc[0]] = instanceFunc[1];\n }\n });\n instantiateWasmInfo.primary["wasm_split.initGlobal"] =\n resultObject.instance.exports.initGlobal;\n resultObject.instance.exports.initGlobal();\n module.asm = resultObject.instance.exports;\n if (isIOS && GameGlobal.canUseH5Renderer) {\n receiveInstance(resultObject.instance, resultObject.module);\n } else {\n invokeWait(true);\n reTry(() =>\n receiveInstance(resultObject.instance, resultObject.module)\n );\n }\n }\n );\n return {};\n };\n GameGlobal.unityNamespace.compileSubWasm = function () {\n return new Promise((resolve) => {\n return resolve(true);\n });\n };\n ',e.n=1,c(n,{compress:{drop_console:!1,drop_debugger:!0,pure_funcs:[]},mangle:{reserved:["GameGlobal","wx","WXWebAssembly","WebAssembly"]},format:{comments:!1}});case 1:if(!(t=e.v).error){e.n=2;break}return console.error("Terser 压缩失败:",t.error),e.a(2,n);case 2:return e.a(2,t.code);case 3:e.p=3,o=e.v,console.error("wasmSplitContent处理失败:",o);case 4:return e.a(2)}},e,null,[[0,3]])}),s=function(){var e=this,n=arguments;return new Promise(function(t,r){var o=a.apply(e,n);function s(e){i(o,t,r,s,c,"next",e)}function c(e){i(o,t,r,s,c,"throw",e)}s(void 0)})},function(){return s.apply(this,arguments)}),createImportFuncIndexCodeBySimd:function(e,n,t,r,o){return"export const importSubFuncIndexList = [];\nexport const tableSize = ".concat(e,";\nGameGlobal.unityNamespace.wasmSubVersion =").concat(n,';\nGameGlobal.unityNamespace.baseUrl ="').concat(t?"http://beta-vapp-ide.jd.com":"https://vapp-ide-pack.jd.com",'";\nGameGlobal.unityNamespace.requestToken = "').concat(r,'";\nexport function setImportGlobal(info) {info["primary"] = info["primary"] || {};info["primary"]["__stack_pointer"] = new WebAssembly.Global({\n value: "i32",\n mutable: true\n });info["primary"]["__stack_end"] = new WebAssembly.Global({\n value: "i32",\n mutable: true\n });info["primary"]["__stack_base"] = new WebAssembly.Global({\n value: "i32",\n mutable: true\n });};\n \n export function setStackPointer(info) {\n\n }\n \n export function setImportFunc(info, jCall) {\n \n }\n \n ')}}},6471:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a,s,c,u=t(9896),l=t(6928),f=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"validateProjectStructure",value:function(e){if(!this.isReadable(e.fullEntryPath))return this.ERROR_MESSAGES.ENTRY_NOT_FOUND;var n=l.resolve(e.fullEntryPath,"game.json");try{var t;if(null===(t=JSON.parse(u.readFileSync(n,"utf-8")).plugins)||void 0===t||!t.UnityPlugin)return this.ERROR_MESSAGES.NOT_UNITY_GAME}catch(e){return this.ERROR_MESSAGES.GAME_JSON_NOT_FOUND}return{valid:!0}}},{key:"isReadable",value:function(e){try{return u.accessSync(e,u.constants.R_OK),!0}catch(e){return!1}}}],(n=null)&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t}();a=f,c={ENTRY_NOT_FOUND:{code:-1,msg:"操作失败",errMsg:"请检查entry是否存在"},NOT_UNITY_GAME:{code:-1,msg:"操作失败",errMsg:"该游戏不是unity游戏"},GAME_JSON_NOT_FOUND:{code:-1,msg:"操作失败",errMsg:"请检查game.json是否存在"}},(s=i(s="ERROR_MESSAGES"))in a?Object.defineProperty(a,s,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[s]=c,e.exports=f},6589:e=>{function n(e){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}n.keys=()=>[],n.resolve=n,n.id=6589,e.exports=n},6626:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function i(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var a=t(6928),s=t(9896),c=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.environments={wasmdev:"http://beta-vapp-ide.jd.com",wasmgray:"https://gray-mp-console.jd.com",wasmprod:"https://vapp-ide-pack.jd.com"},this.currentEnv=this.resolveInitialEnv()},n=[{key:"resolveInitialEnv",value:function(){var e=process.argv||[];return e.includes("-gray")||e.includes("--gray")?"wasmgray":e.includes("-D")?"wasmdev":"wasmprod"}},{key:"getBaseUrl",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentEnv;return this.environments[e]||this.environments.wasmprod}},{key:"getApiUrls",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.currentEnv,n=this.getBaseUrl(e);return{UPLOAD_FILE:"".concat(n,"/wasm/upload"),ADD_GAME_VERSION:"".concat(n,"/wasm/packageBind"),INIT:"".concat(n,"/wasm/initialize"),QUERY_MD5_HISTORY_HAVE_RELEASE:"".concat(n,"/wasm/queryMd5HistoryHaveRelease"),QUERY_WASM_FUNCTION_ONLINE_FIND_LIST:"".concat(n,"/wasm/queryWasmFunctionOnlineFindList"),SPLIT:"".concat(n,"/wasm/build"),GET_GAME_SPLIT_INFO:"".concat(n,"/wasm/queryBuildResultBySubVersion"),DOWNLOAD_FILE:"".concat(n,"/wasm/download"),GET_SYMBOL_SIZE:"".concat(n,"/wasm/getSymbolSize"),GET_INIT_RES:"".concat(n,"/wasm/queryInitResult"),REPORT_FUNS:"".concat(n,"/wasm/reportWasmFunction"),QUERY_COUNT_REPORT_FUNS:"".concat(n,"/wasm/queryCountReportWasmFunction")}}},{key:"loadProjectConfig",value:function(e){var n=a.resolve(process.cwd(),"jgc.config.js"),r="function"==typeof require?require:t(220);delete r.cache[r.resolve(n)];var o=r(n),i=o.type,c=void 0===i?"game":i,u=o.entry,l=o.appId,f=o.requestToken,p=a.resolve(e||process.cwd(),u),d=a.resolve(p,".codesplitcache"),m=a.resolve(d,"original"),v=a.resolve(m,"wasmcode");return s.existsSync(d)||s.mkdirSync(d,{recursive:!0}),s.existsSync(m)||s.mkdirSync(m,{recursive:!0}),s.existsSync(v)||s.mkdirSync(v,{recursive:!0}),{type:c,entry:u,appId:l,requestToken:f,mainWasmCachePath:s.readdirSync(v).filter(function(e){return".br"===a.extname(e)})[0],originalCacheDir:m,fullEntryPath:p}}}],n&&o(e.prototype,n),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=new c},6858:e=>{"use strict";e.exports=require("commander")},6895:e=>{"use strict";e.exports=require("chalk")},6928:e=>{"use strict";e.exports=require("path")},6949:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s=t(9896),c=t(6928),u=t(5317).execSync,l=t(857),f=t(3785),p="function"==typeof require?require:t(3904),d=null,m=null;function v(){if(!d)try{d=p("brotli")}catch(e){console.error("加载 brotli 失败:",e.message)}return d}function y(){if(!m)try{m=p("wabt")}catch(e){console.error("加载 wabt 失败:",e.message)}return m}function h(e){if(e.length>=4&&0===e[0]&&97===e[1]&&115===e[2]&&109===e[3])return"wasm";try{var n=v();if(!n)return"unknown";var t=n.decompress(e);if(t&&t.length>=4&&0===t[0]&&97===t[1]&&115===t[2]&&109===t[3])return"wasm.br"}catch(e){}return"unknown"}function b(e){try{var n=v();if(!n)throw new Error("brotli 模块加载失败");var t=n.decompress(e);return Buffer.from(t)}catch(e){throw new Error("Brotli 解压失败: ".concat(e.message))}}function g(e){return new Promise(function(n,t){if(!function(){try{return u("wasm2wat --version",{stdio:"pipe"}),!0}catch(e){return!1}}()){var r=function(){var e="\n";switch(e+="╔══════════════════════════════════════════════════════════════════╗\n",e+="║ [wasmAnalyzer] 系统未安装 wasm2wat 命令行工具 ║\n",e+="║ 该工具用于解析使用了高级特性(如 SIMD)的大型 WASM 文件 ║\n",e+="╚══════════════════════════════════════════════════════════════════╝\n\n",l.platform()){case"darwin":e+="【macOS 安装方法】\n",e+=" 运行命令: brew install wabt\n";break;case"linux":e+="【Linux 安装方法】\n",e+=" Ubuntu/Debian: sudo apt-get install wabt\n",e+=" Fedora: sudo dnf install wabt\n",e+=" Arch: sudo pacman -S wabt\n";break;case"win32":e+="【Windows 安装方法】\n\n",e+=" 方式一:手动下载安装(推荐)\n",e+=" ─────────────────────────────\n",e+=" 1. 访问下载页面:\n",e+=" https://github.com/WebAssembly/wabt/releases\n\n",e+=" 2. 下载 Windows 版本 (如: wabt-1.0.36-windows.tar.gz)\n\n",e+=" 3. 解压到任意目录,例如: C:\\wabt\n\n",e+=" 4. 将 bin 目录添加到系统 PATH 环境变量:\n",e+=" - 右键「此电脑」→「属性」→「高级系统设置」\n",e+=" - 点击「环境变量」→ 在「系统变量」中找到 Path\n",e+=" - 点击「编辑」→「新建」→ 输入: C:\\wabt\\bin\n",e+=" - 点击「确定」保存\n\n",e+=" 5. 重新打开命令行窗口,输入以下命令验证:\n",e+=" wasm2wat --version\n\n",e+=" 方式二:使用 Scoop 包管理器\n",e+=" ─────────────────────────────\n",e+=" 如果已安装 Scoop,直接运行: scoop install wabt\n";break;default:e+="【安装方法】\n",e+=" 请访问 https://github.com/WebAssembly/wabt 获取安装说明\n"}return e+"\n安装完成后,请重新运行此命令。\n"}();return console.error(r),void t(new Error("系统未安装 wasm2wat 工具,请按照上述指南安装后重试"))}var o=l.tmpdir(),i=Date.now(),a=c.join(o,"wasm_analyzer_".concat(i,".wasm")),f=c.join(o,"wasm_analyzer_".concat(i,".wat"));try{s.writeFileSync(a,e),console.log("[wasmAnalyzer] 尝试调用系统 wasm2wat 工具..."),u('wasm2wat "'.concat(a,'" -o "').concat(f,'"'),{stdio:"inherit"});try{s.unlinkSync(a)}catch(e){}s.existsSync(f)?(console.log("[wasmAnalyzer] WAT 文件已生成:",f),n(f)):t(new Error("wasm2wat 命令执行完成但未生成输出文件"))}catch(e){try{s.existsSync(a)&&s.unlinkSync(a)}catch(e){}try{s.existsSync(f)&&s.unlinkSync(f)}catch(e){}t(e)}})}function w(e){return new Promise(function(n,t){var r=0,o=0,i=!1,a=s.createReadStream(e,{encoding:"utf8"}),c=f.createInterface({input:a,crlfDelay:1/0});c.on("line",function(e){var n=e.trim();if(n.includes("(import")&&n.includes("(func")&&r++,n.startsWith("(func")&&!n.includes("(import")){var t=n.match(/\(func\s+(\$[^\s\)]+)?/),a=t&&t[1]||"";if(a.startsWith("$redir_")||"$initGlobal"===a||a.startsWith("$initGlobal"))return;o++}!i&&n.includes("call $wasm_split.logCall")&&(i=!0)}),c.on("close",function(){try{s.unlinkSync(e)}catch(e){}n({importedCount:r,localCount:o,totalCount:r+o,isDevSplit:i})}),c.on("error",function(n){try{s.unlinkSync(e)}catch(e){}t(n)}),a.on("error",function(e){t(e)})})}function S(e){for(var n=e.split("\n"),t=0,r=0,o=0;o<n.length;o++){var i=n[o].trim();if(i.includes("(import")&&i.includes("(func")&&t++,i.startsWith("(func")&&!i.includes("(import")){var a=i.match(/\(func\s+(\$[^\s\)]+)?/),s=a&&a[1]||"";if(s.startsWith("$redir_")||"$initGlobal"===s||s.startsWith("$initGlobal"))continue;r++}}return{importedCount:t,localCount:r,totalCount:t+r,isDevSplit:e.includes("call $wasm_split.logCall")}}function k(e){return P.apply(this,arguments)}function P(){return(P=a(r().m(function e(n){var t,o,i,a,s,c,u,l,f,p,d,m;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,t=y()){e.n=1;break}throw new Error("wabt 模块加载失败");case 1:return e.n=2,t();case 2:return o=e.v,e.p=3,(i=o.readWasm(new Uint8Array(n),{readDebugNames:!0})).applyNames(),a=i.toText({foldExprs:!1,inlineExport:!1}),i.destroy(),e.a(2,S(a));case 4:return e.p=4,f=e.v,console.warn("[wasmAnalyzer] 标准转换失败 (".concat(f.message,"),尝试低内存模式...")),e.p=5,s=o.readWasm(new Uint8Array(n),{readDebugNames:!1}),c=s.toText({foldExprs:!1,inlineExport:!1}),s.destroy(),e.a(2,S(c));case 6:return e.p=6,p=e.v,console.warn("[wasmAnalyzer] 低内存模式也失败 (".concat(p.message,"),尝试调用系统 wasm2wat 工具...")),e.n=7,g(n);case 7:return u=e.v,e.n=8,w(u);case 8:case 12:return e.a(2,e.v);case 9:return e.p=9,d=e.v,console.warn("[wasmAnalyzer] wabt 初始化失败 (".concat(d.message,"),尝试调用系统 wasm2wat 工具...")),e.p=10,e.n=11,g(n);case 11:return l=e.v,e.n=12,w(l);case 13:throw e.p=13,m=e.v,new Error("WASM 解析失败。wabt 错误: ".concat(d.message,"。系统命令错误: ").concat(m.message));case 14:return e.a(2)}},e,null,[[10,13],[5,6],[3,4],[0,9]])}))).apply(this,arguments)}function j(e){return E.apply(this,arguments)}function E(){return(E=a(r().m(function e(n){var t,o,i,a,c,u;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(e.p=0,console.log("[wasmAnalyzer] analyzeWasmFile 开始:",n),s.existsSync(n)){e.n=1;break}return console.log("[wasmAnalyzer] 文件不存在:",n),e.a(2,null);case 1:t=s.readFileSync(n),console.log("[wasmAnalyzer] 文件大小:",t.length),o=h(t),console.log("[wasmAnalyzer] 文件类型:",o),c=o,e.n="wasm"===c?2:"wasm.br"===c?3:4;break;case 2:return i=t,e.a(3,5);case 3:return console.log("[wasmAnalyzer] 开始解压 Brotli..."),i=b(t),console.log("[wasmAnalyzer] 解压后大小:",i.length),e.a(3,5);case 4:return console.log("[wasmAnalyzer] 未知文件类型"),e.a(2,null);case 5:return console.log("[wasmAnalyzer] 开始解析 WASM..."),e.n=6,k(i);case 6:return a=e.v,console.log("[wasmAnalyzer] 解析完成:",a),e.a(2,a);case 7:return e.p=7,u=e.v,console.error("[wasmAnalyzer] WASM 分析错误: ".concat(u.message)),console.error("[wasmAnalyzer] 错误堆栈: ".concat(u.stack)),e.a(2,null)}},e,null,[[0,7]])}))).apply(this,arguments)}function O(e){if(!s.existsSync(e))return null;var n=s.readdirSync(e).find(function(e){return e.endsWith(".wasm")||e.endsWith(".wasm.br")||e.endsWith(".unityweb.wasm.br")||e.endsWith(".wasm.unityweb")});return n?c.join(e,n):null}function _(){return(_=a(r().m(function e(n,t){var o,i,a,s,u,l,f,p,d,m,v,y;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(console.log("[wasmAnalyzer] getSplitDetails 开始, entryPath:",n),o=c.join(n,"wasmcode"),i=c.join(n,"wasmcode1"),a=O(o),console.log("[wasmAnalyzer] 主包 WASM 路径:",a),a){e.n=1;break}return console.log("[wasmAnalyzer] 未找到主包 WASM 文件"),e.a(2,null);case 1:return s=O(i),console.log("[wasmAnalyzer] 子包 WASM 路径:",s),e.p=2,console.log("[wasmAnalyzer] 开始分析主包..."),e.n=3,j(a);case 3:if(u=e.v,console.log("[wasmAnalyzer] 主包分析结果:",u),u){e.n=4;break}return console.log("[wasmAnalyzer] 主包分析失败,返回 null"),e.a(2,null);case 4:return l=u.importedCount+u.localCount,f=0,"number"==typeof t&&t>0?f=Math.max(0,t-l):console.log("[wasmAnalyzer] totalFunctions 无效,无法通过差值计算子包函数数,默认返回 0"),p=t>0?parseFloat((l/t*100).toFixed(1)):0,d=u.isDevSplit?"Dev":"Prod",m="",v="warning",p<30?(m="不及格,继续加油收集!",v="warning"):p<40?(m="及格,继续加油!",v="success"):(m="优秀,点赞!👍",v="excellent"),e.a(2,{splitForm:d,mainFuncCount:l,subFuncCount:f,mainFuncRatio:p,splitTip:m,splitTipLevel:v,isDevSplit:u.isDevSplit});case 5:return e.p=5,y=e.v,console.error("获取分包详情失败: ".concat(y.message)),e.a(2,null)}},e,null,[[2,5]])}))).apply(this,arguments)}e.exports={analyzeWasmFile:j,getSplitDetails:function(e,n){return _.apply(this,arguments)},detectFileType:h,decompressBrotli:b,getWasmFunctionStats:k,parseWatForFunctions:S}},7172:e=>{"use strict";e.exports=require("archiver")},7175:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function i(e,n,t){return n&&o(e.prototype,n),t&&o(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function a(e,n,t){return(n=s(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var c=t(8320),u=new(i(function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),a(this,"wasmInit",function(e){return c.init(e)}),a(this,"wasmUpdate",function(e){return c.init(Object.assign(e,{isUpdate:!0}))}),a(this,"wasmSplitDev",function(e){return c.splitBase(Object.assign(e,{isRelease:!1}))}),a(this,"wasmSplitProd",function(e){return c.splitBase(Object.assign(e,{isRelease:!0}))}),a(this,"wasmSplitInfo",function(e){return c.getSplitInfo(e)}),a(this,"wasmSplitReport",function(e){return c.reportCalledFuncs(e)}),a(this,"wasmSplitReportIndex",function(e){return c.reportCalledFuncsIndex(e)}),a(this,"wasmRollBack",function(e){return c.rollbackEntryChanges(e)}),a(this,"initConfig",function(){return c.initConfig()})})),l=u.wasmInit,f=u.wasmUpdate,p=u.wasmSplitDev,d=u.wasmSplitProd,m=u.wasmSplitInfo,v=u.wasmSplitReport,y=u.wasmSplitReportIndex,h=u.wasmRollBack,b=u.initConfig;e.exports={wasmInit:l,wasmUpdate:f,wasmSplitDev:p,wasmSplitProd:d,wasmSplitInfo:m,wasmSplitReport:v,wasmSplitReportIndex:y,wasmRollBack:h,initConfig:b}},7252:e=>{"use strict";e.exports=require("express")},7372:e=>{var n=new Set;function t(e){var t=JSON.stringify(e);n.forEach(function(e){1===e.readyState&&e.send(t)})}e.exports={setupWebSocket:function(e){e.on("connection",function(e){n.add(e),console.log("WebSocket 客户端已连接"),e.on("close",function(){n.delete(e),console.log("WebSocket 客户端已断开")}),e.on("error",function(t){console.error("WebSocket 错误:",t.message),n.delete(e)}),e.send(JSON.stringify({type:"connected",message:"WebSocket 连接成功"}))})},broadcast:t,sendProgress:function(e,n,r){t({type:"progress",step:e,progress:n,message:r,timestamp:Date.now()})},sendComplete:function(e,n){t({type:"complete",action:e,result:n,timestamp:Date.now()})},sendError:function(e,n){t({type:"error",action:e,error:n,timestamp:Date.now()})},sendLog:function(e,n){t({type:"log",level:e,message:n,timestamp:Date.now()})}}},8085:e=>{e.exports={FAIL_CODE:-1,SUCCEED_CODE:0}},8320:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=a(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){c=!0,i=e},f:function(){try{s||null==t.return||t.return()}finally{if(c)throw i}}}}function i(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||a(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){if(e){if("string"==typeof e)return s(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?s(e,n):void 0}}function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function c(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var c=r&&r.prototype instanceof s?r:s,l=Object.create(c.prototype);return u(l,"_invoke",function(t,r,o){var i,s,c,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,s=0,c=e,p.n=t,a}};function d(t,r){for(s=t,c=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(s=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,s=0))}if(o||t>1)return a;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),s=l,c=m;(n=s<2?e:c)||!f;){i||(s?s<3?(s>1&&(p.n=-1),d(s,c)):p.n=c:p.v=c);try{if(u=2,i){if(s||(o="next"),n=i[o]){if(!(n=n.call(i,c)))throw TypeError("iterator result is not an object");if(!n.done)return n;c=n.value,s<2&&(s=0)}else 1===s&&(n=i.return)&&n.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((n=(f=p.n<0)?c:t.call(r,p))!==a)break}catch(n){i=e,s=1,c=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),l}var a={};function s(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(u(n={},r,function(){return this}),n),d=f.prototype=s.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,u(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,u(d,"constructor",f),u(f,"constructor",l),l.displayName="GeneratorFunction",u(f,o,"GeneratorFunction"),u(d),u(d,o,"Generator"),u(d,r,function(){return this}),u(d,"toString",function(){return"[object Generator]"}),(c=function(){return{w:i,m}})()}function u(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}u=function(e,n,t,r){function i(n,t){u(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},u(e,n,t,r)}function l(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function f(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){l(i,r,o,a,s,"next",e)}function s(e){l(i,r,o,a,s,"throw",e)}a(void 0)})}}function p(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,d(r.key),r)}}function d(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var m=t(6928),v=t(9896),y=t(8720),h=t(6626),b=t(6471),g=t(9664),w=t(5322),S=t(5759),k=t(2225),P=(t(3427).downloadFile,t(4901)),j=t(9937),E=function(){return e=function e(){var n,t,r;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),n=this,t="downloadSplitedFiles",r=function(){var e=f(c().m(function e(n){var t,r,o,i,a,s,u,l;return c().w(function(e){for(;;)if(0===e.n)return t=n.appId,r=n.requestToken,o=n.md5,i=n.subVersion,a=n.mainWasmFileUrl,s=n.mainWasmFilePath,u=n.subWasmFileUrl,l=n.subWasmFilePath,e.a(2,Promise.all([g.downloadFile({appId:t,requestToken:r,md5:o,subVersion:i,category:3,filePath:s,url:a}),g.downloadFile({appId:t,requestToken:r,md5:o,subVersion:i,category:4,filePath:l,url:u})]))},e)}));return function(n){return e.apply(this,arguments)}}(),(t=d(t))in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,this.config=null,this.codeMd5=null,this.uploadedWasmCodeBlobId=null,this.uploadedSymbolBlobId=null,this.importLength=null,this.tableSize=null,this.spinner=null},n=[{key:"initConfig",value:function(){return this.config=h.loadProjectConfig(),this.config}},{key:"ensureSpinner",value:function(){return this.spinner||(this.spinner=y()),this.spinner}},{key:"stopSpinner",value:function(){this.spinner&&this.spinner.isSpinning&&this.spinner.stop()}},{key:"validateProject",value:function(e,n,t,r,o){g.setEnv(o||t);try{return this.config=h.loadProjectConfig(n),this.config.isPre=t,this.config.wasmEnv=o||(t?"wasmdev":"wasmprod"),r&&(this.config.isRelease=!0),b.validateProjectStructure(this.config)}catch(e){return{code:-1,msg:null,errMsg:"配置加载失败: ".concat(e.message)}}}},{key:"uploadSplitBaseFiles",value:(H=f(c().m(function e(n){var t,r,o,i;return c().w(function(e){for(;;)if(0===e.n)return t=n.appId,r=n.requestToken,o=n.wasmFilePath,i=n.symbolFilePath,e.a(2,Promise.all([g.uploadFile({appId:t,requestToken:r,filePath:o,category:0}),g.uploadFile({appId:t,requestToken:r,filePath:i,category:1})]))},e)})),function(e){return H.apply(this,arguments)})},{key:"queryCountReportWasmFunction",value:(L=f(c().m(function e(){var n,t;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.readSplitConfig();case 1:if(n=e.v){e.n=2;break}return e.a(2,{code:-1,msg:"获取分包配置失败,无法获取在线函数列表",errMsg:"获取分包配置失败,无法获取在线函数列表"});case 2:return e.n=3,g.queryCountReportWasmFunction({appId:this.config.appId,requestToken:this.config.requestToken,md5:n.codeMd5,subVersion:n.subVersion});case 3:if(0===(t=e.v).code){e.n=4;break}throw new Error("获取在线函数列表失败,将不合并在线函数列表,错误日志: ".concat(t.errorMessage));case 4:return e.a(2,t.result)}},e,this)})),function(){return L.apply(this,arguments)})},{key:"addGameVersion",value:(B=f(c().m(function e(){var n;return c().w(function(e){for(;;)switch(e.n){case 0:return n={appId:this.config.appId,md5:this.codeMd5,versionDesc:"test",unityVersion:"1.0.0",unityPluginVersion:"1.0.0",wasmSplitPluginVersion:"1.0.0",wasmFileId:this.uploadedWasmCodeBlobId,symbolFileId:this.uploadedSymbolBlobId,requestToken:this.config.requestToken},e.n=1,g.addGameVersion(n);case 1:if(0===e.v.code){e.n=2;break}throw new Error("游戏版本已经存在");case 2:return e.a(2)}},e,this)})),function(){return B.apply(this,arguments)})},{key:"initialize",value:(U=f(c().m(function e(n){var t,r,o,i,a,s,u,l=this;return c().w(function(e){for(;;)switch(e.n){case 0:if(t=n.isUpdate,r=n.incrementMd5,o=r||null,!t){e.n=3;break}if(o){e.n=2;break}return e.n=1,this.queryMd5HistoryHaveRelease();case 1:o=e.v;case 2:this.spinner.succeed("增量更新版本:".concat(o));case 3:return i={appId:this.config.appId,md5:this.codeMd5,requestToken:this.config.requestToken,incrementUpdate:!!t},o&&(i.incrementMd5=o),this.spinner.start("".concat(t?"增量更新":"初始化","开始,请稍等……")),e.n=4,g.initialize(i);case 4:return a=e.v,s=a.result,u={appId:this.config.appId,md5:this.codeMd5,requestToken:this.config.requestToken,uuid:s},e.a(2,this.pollForResult(function(){return g.getInitResult(u)},function(){var e=f(c().m(function e(n){var o,i,a,s,u,f,p,d;return c().w(function(e){for(;;)switch(e.n){case 0:if(!n.result){e.n=7;break}if(o=n.result,i=o.importSize,a=o.tableSize,l.importLength=i,l.tableSize=a,l.spinner.succeed("wasmcode信息采样完成,tableSize: ".concat(a)),!t){e.n=6;break}return l.spinner.start("开始获取在线函数列表,请稍等……"),e.n=1,l.queryWasmFunctionOnlineFindList(l.codeMd5);case 1:if(s=e.v,l.spinner.succeed("在线函数列表个数: ".concat(s.length)),!(s.length>0)){e.n=6;break}u=500,f=0;case 2:if(!(f<s.length)){e.n=5;break}return p=s.slice(f,f+u),e.n=3,g.reportCalledFuncs({appId:l.config.appId,requestToken:l.config.requestToken,calledFuncList:p,subVersion:"-1",md5:l.codeMd5});case 3:0!==(d=e.v).code&&(l.spinner.fail("上报在线函数列表失败,错误信息:".concat(d.errorMessage)),process.exit(1));case 4:f+=u,e.n=2;break;case 5:l.spinner.succeed("".concat(r,"版本:合并在线玩家采集到的函数列表成功"));case 6:return e.a(2,!0);case 7:return e.a(2,!1)}},e)}));return function(n){return e.apply(this,arguments)}}()))}},e,this)})),function(e){return U.apply(this,arguments)})},{key:"formatHistoryDate",value:function(e){if(!e)return"-";try{var n=new Date(e),t=function(e){return e.toString().padStart(2,"0")};return"".concat(n.getFullYear(),"-").concat(t(n.getMonth()+1),"-").concat(t(n.getDate())," ").concat(t(n.getHours()),":").concat(t(n.getMinutes()),":").concat(t(n.getSeconds()))}catch(n){return e}}},{key:"ensureCodeMd5",value:(R=f(c().m(function e(){var n;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.codeMd5){e.n=1;break}return e.a(2,this.codeMd5);case 1:return e.p=1,e.n=2,this.readSplitConfig();case 2:if(!(n=e.v).codeMd5){e.n=3;break}return this.codeMd5=n.codeMd5,e.a(2,this.codeMd5);case 3:e.n=5;break;case 4:e.p=4,e.v;case 5:throw new Error("未找到分包配置,无法读取增量历史版本");case 6:return e.a(2)}},e,this,[[1,4]])})),function(){return R.apply(this,arguments)})},{key:"fetchIncrementHistoryList",value:(W=f(c().m(function e(){var n,t;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.ensureCodeMd5();case 1:return n=e.v,e.n=2,g.queryMd5HistoryHaveRelease({appId:this.config.appId,md5:n,requestToken:this.config.requestToken});case 2:if(0===(t=e.v).code){e.n=3;break}throw new Error("获取历史版本失败: ".concat(t.errorMessage||t.msg||"未知错误"));case 3:return e.a(2,t.result||[])}},e,this)})),function(){return W.apply(this,arguments)})},{key:"buildHistoryLabel",value:function(e){return"版本MD5: ".concat(e.md5," | 首包个数: ").concat(null!=e.mainSymbolSize?e.mainSymbolSize:"-"," | 创建时间: ").concat(e.createdAt?this.formatHistoryDate(e.createdAt):"-")}},{key:"getIncrementHistory",value:(q=f(c().m(function e(){var n,t=this;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.fetchIncrementHistoryList();case 1:return n=e.v,e.a(2,n.slice(0,10).map(function(e){return{md5:e.md5,mainFuncCount:null!=e.mainSymbolSize?e.mainSymbolSize:null,createdAt:e.createdAt||null,createdAtText:t.formatHistoryDate(e.createdAt),label:t.buildHistoryLabel(e)}}))}},e,this)})),function(){return q.apply(this,arguments)})},{key:"queryMd5HistoryHaveRelease",value:(D=f(c().m(function e(){var n,t,r,o,i=this;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.fetchIncrementHistoryList();case 1:if(0!==(n=e.v).length){e.n=2;break}throw new Error("没有历史版本");case 2:return t=n.slice(0,10).map(function(e){return{name:i.buildHistoryLabel(e),value:e.md5}}),e.n=3,j.prompt([{type:"list",name:"selectedMd5",message:"请选择历史版本进行增量分包(最近10个版本):",choices:t,pageSize:10}]);case 3:return r=e.v,o=r.selectedMd5,e.a(2,o)}},e,this)})),function(){return D.apply(this,arguments)})},{key:"queryWasmFunctionOnlineFindList",value:(N=f(c().m(function e(n){var t;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,g.queryWasmFunctionOnlineFindList({md5:n,appId:this.config.appId,requestToken:this.config.requestToken});case 1:if(0===(t=e.v).code){e.n=2;break}return this.spinner.fail("获取在线函数列表失败,将不合并在线函数列表,错误日志: ".concat(t.errorMessage)),e.a(2,[]);case 2:return e.a(2,t.result||[])}},e,this)})),function(e){return N.apply(this,arguments)})},{key:"pollForResult",value:(A=f(c().m(function e(n,t){var r,o=arguments;return c().w(function(e){for(;;)if(0===e.n)return r=o.length>2&&void 0!==o[2]?o[2]:5e3,e.a(2,new Promise(function(e,o){var i=function(){var a=f(c().m(function a(){var s,u;return c().w(function(a){for(;;)switch(a.p=a.n){case 0:return a.p=0,a.n=1,n();case 1:return s=a.v,a.n=2,t(s);case 2:if(!a.v){a.n=3;break}e(s),a.n=4;break;case 3:setTimeout(i,r);case 4:a.n=6;break;case 5:a.p=5,u=a.v,o(u);case 6:return a.a(2)}},a,null,[[0,5]])}));return function(){return a.apply(this,arguments)}}();i()}))},e)})),function(e,n){return A.apply(this,arguments)})},{key:"isHasInit",value:function(){var e=m.resolve(this.config.entry,".codesplitcache"),n=m.resolve(e,"codesplit-config.json");return v.existsSync(n)}},{key:"init",value:(M=f(c().m(function e(n){var t,r,o,i,a,s,u;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(this.ensureSpinner().start("文件备份开始,请不要再编辑项目文件……"),(t=this.validateProject("init",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid||(this.spinner.fail("项目校验失败: ".concat(t.errMsg)),process.exit(1)),e.p=1,r=m.resolve(this.config.entry,".codesplitcache"),o=m.resolve(r,"original"),i=m.resolve(r,"codesplit-config.json"),n.isUpdate||!v.existsSync(o)||!v.existsSync(i)){e.n=2;break}return this.spinner.succeed("项目已经初始化过,无需重复初始化"),this.spinner.info("如需重新初始化,请先删除 .codesplitcache 目录,或使用增量分包模式"),e.a(2);case 2:this.setupCacheDirectories(r,o),e.p=3,w.syncPluginCacheFiles(this.config.entry,o),this.spinner.succeed("文件备份完成"),e.n=5;break;case 4:throw e.p=4,a=e.v,this.spinner.fail("文件备份失败:".concat(a.message)),a;case 5:return v.existsSync(o)&&v.existsSync(i),e.n=6,this.processSymbolFiles(r,o);case 6:return this.spinner.start(),this.spinner.text="开始上传文件……",e.p=7,e.n=8,this.uploadFiles(o,r);case 8:e.n=10;break;case 9:e.p=9,s=e.v,this.spinner.fail("上传文件失败:".concat(s.message)),process.exit(1);case 10:return this.spinner.succeed("上传文件成功"),this.spinner.start(),this.spinner.text="添加游戏版本……",e.n=11,this.addGameVersion();case 11:return this.spinner.succeed("添加游戏版本成功"),this.spinner.info("开始初始化,请稍等……"),e.n=12,this.initialize({isUpdate:n.isUpdate,incrementMd5:n.incrementMd5});case 12:this.spinner.succeed("".concat(n.isUpdate?"增量更新":"初始化","完成")),this.saveSplitConfig(r),this.spinner.stop("WASM分包初始化完成"),n.isUpdate&&this.spinner.info("接下来请按以下步骤操作:\n 1. 执行 jgc wasm-split-dev 进行dev版本分包,jgc preview进行真机动态收集函数,反复执行直到没有新增函数;\n 2. 如无新增函数,执行 jgc wasm-split-prod 拆分成线上版本;\n 3. 执行 jgc upload 将分包结果上传到MP控制台;"),e.n=14;break;case 13:throw e.p=13,u=e.v,this.spinner.fail(u.message),u;case 14:return e.a(2)}},e,this,[[7,9],[3,4],[1,13]])})),function(e){return M.apply(this,arguments)})},{key:"setupCacheDirectories",value:function(e,n){var t=m.resolve(n,"wasmcode"),r=m.resolve(n,this.config.entry,"wasmcode1");[n,t].forEach(function(e){v.existsSync(e)||v.mkdirSync(e,{recursive:!0})}),v.existsSync(r)&&v.rmSync(r,{recursive:!0})}},{key:"processSymbolFiles",value:(G=f(c().m(function e(n,t){var r,o,i,a,s;return c().w(function(e){for(;;)switch(e.n){case 0:return r=m.resolve(n,"unpack"),o=m.resolve(this.config.entry,"webgl.wasm.symbols.unityweb"),i=m.resolve(r,"symbol.json"),v.existsSync(r)||v.mkdirSync(r,{recursive:!0}),e.n=1,k(o,i);case 1:return a=m.resolve(t,"wasmcode"),s=v.readdirSync(a).find(function(e){return".br"===m.extname(e)}),this.codeMd5=s.split(".")[0],e.a(2,{unpackSymbolsPath:i,mainWasmCachePath:s,mainWasmCacheDir:a})}},e,this)})),function(e,n){return G.apply(this,arguments)})},{key:"runIncrementInit",value:(C=f(c().m(function e(n){var t,r,o,i;return c().w(function(e){for(;;)switch(e.n){case 0:if(t=n.srcPath,r=n.isPreEnv,o=n.wasmEnv,i=n.incrementMd5){e.n=1;break}throw new Error("缺少增量版本 MD5");case 1:return e.a(2,this.init({srcPath:t,isPreEnv:r,wasmEnv:o,isUpdate:!0,incrementMd5:i}))}},e,this)})),function(e){return C.apply(this,arguments)})},{key:"uploadFiles",value:(x=f(c().m(function e(n,t){var r,o,a,s,u,l,f;return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.processSymbolFiles(t,n,!1);case 1:return r=e.v,o=r.unpackSymbolsPath,a=r.mainWasmCachePath,r.mainWasmCacheDir,e.n=2,this.uploadSplitBaseFiles({appId:this.config.appId,requestToken:this.config.requestToken,wasmFilePath:m.join(n,"wasmcode",a),symbolFilePath:o});case 2:if(s=e.v,u=i(s,2),l=u[0],f=u[1],l&&f){e.n=3;break}throw new Error("上传文件失败");case 3:this.uploadedWasmCodeBlobId=l,this.uploadedSymbolBlobId=f;case 4:return e.a(2)}},e,this)})),function(e,n){return x.apply(this,arguments)})},{key:"saveSplitConfig",value:function(e){var n=m.resolve(e,"codesplit-config.json"),t={appId:this.config.appId,codeMd5:this.codeMd5,tableSize:this.tableSize,uploadedWasmCodeBlobId:this.uploadedWasmCodeBlobId,uploadedSymbolBlobId:this.uploadedSymbolBlobId,importLength:this.importLength};v.writeFileSync(n,JSON.stringify(t,null,2))}},{key:"getSplitInfo",value:(I=f(c().m(function e(n){var t,r,o,i;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if((t=this.validateProject("getSplitInfo",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t);case 1:return e.p=1,e.n=2,this.readSplitConfig();case 2:if(r=e.v,(o={appId:this.config.appId,md5:r.codeMd5,requestToken:this.config.requestToken,subVersion:r.subVersion}).subVersion){e.n=3;break}throw new Error("暂无分包信息");case 3:return e.n=4,this.querySplitInfo(o);case 4:return e.a(2,e.v);case 5:return e.p=5,i=e.v,S.endLogProcess(null,i.message),e.a(2,{code:-1,msg:"获取分包信息失败",errMsg:i.message})}},e,this,[[1,5]])})),function(e){return I.apply(this,arguments)})},{key:"readSplitConfig",value:(T=f(c().m(function e(){var n,t,r,o;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:return n=m.resolve(this.config.entry,".codesplitcache"),t=m.resolve(n,"codesplit-config.json"),e.p=1,e.n=2,v.promises.readFile(t,"utf-8");case 2:return r=e.v,e.a(2,JSON.parse(r));case 3:throw e.p=3,o=e.v,new Error("读取分包配置文件失败: ".concat(o.message));case 4:return e.a(2)}},e,this,[[1,3]])})),function(){return T.apply(this,arguments)})},{key:"querySplitInfo",value:(F=f(c().m(function e(n){var t,r,o,i,a,s,u;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=n.appId,r=n.requestToken,o=n.md5,i=n.subVersion,e.p=1,a={appId:t,md5:o,requestToken:r,subVersion:i},e.n=2,g.getSymbolSize(a);case 2:if(s=e.v,null!=(u=s.result).mainSymbolSize&&null!=u.patchSymbolSize){e.n=3;break}throw new Error("未查询到分包函数信息");case 3:return e.a(2,{code:0,msg:"查询分包信息成功 \n主包函数数量:".concat(u.mainSymbolSize," \n子包函数数量:").concat(u.patchSymbolSize),errMsg:"查询分包信息成功"});case 4:throw e.p=4,e.v;case 5:return e.a(2)}},e,null,[[1,4]])})),function(e){return F.apply(this,arguments)})},{key:"getGameSplitRes",value:(_=f(c().m(function e(n){var t=this;return c().w(function(e){for(;;)if(0===e.n)return e.a(2,new Promise(function(e,r){var o=function(){var i=f(c().m(function i(a){var s,u,l,f;return c().w(function(i){for(;;)switch(i.p=i.n){case 0:return s=null,i.p=1,u={appId:t.config.appId,md5:t.codeMd5,subVersion:n.subVersion,requestToken:t.config.requestToken},i.n=2,g.getGameSplitInfo(u);case 2:if(0===(l=i.v).code){i.n=3;break}return s&&clearTimeout(s),r(new Error(l.errorMessage)),i.a(2);case 3:null!==l.result?(s&&clearTimeout(s),e(l.result)):(s&&clearTimeout(s),s=setTimeout(function(){return o()},5e3)),i.n=5;break;case 4:i.p=4,f=i.v,s&&clearTimeout(s),r(f);case 5:return i.a(2)}},i,null,[[1,4]])}));return function(e){return i.apply(this,arguments)}}();o()}))},e)})),function(e){return _.apply(this,arguments)})},{key:"splitBase",value:(O=f(c().m(function e(n){var t,r,o,i,a,s,u,l;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(t=(new Date).getTime(),(r=this.validateProject("split",n.srcPath,n.isPreEnv,n.isRelease,n.wasmEnv)).valid){e.n=1;break}return e.a(2,r);case 1:return e.p=1,o=this.initializeSplitConfig(),i=o.codeSplitConfigPath,a=o.splitConfig,this.codeMd5=a.codeMd5,this.ensureSpinner().start("发送分包请求……"),e.n=2,this.buildSubPackage(n,a,i);case 2:if(s=e.v,this.spinner.succeed("当前分包版本:"+s),s){e.n=3;break}return this.spinner.fail("分包构建失败,服务正忙"),e.a(2,{code:-1,msg:"分包构建失败,服务正忙",errMsg:"服务正忙"});case 3:return this.spinner.start("获取分包结果,请稍等……"),e.n=4,this.getGameSplitRes({subVersion:s});case 4:return u=e.v,this.spinner.succeed("获取分包结果完成"),this.spinner.start("下载分包代码中……"),e.n=5,this.processSplitFiles(u,a);case 5:return this.spinner.succeed("下载分包代码完成"),e.n=6,this.querySplitInfo({appId:this.config.appId,md5:a.codeMd5,requestToken:this.config.requestToken,subVersion:a.subVersion});case 6:return e.v,e.a(2,{code:0,subVersion:a.subVersion,msg:"WASM分包成功 \n分包总耗时:".concat((new Date).getTime()-t,"ms"),errMsg:null});case 7:return e.p=7,l=e.v,this.spinner.fail("分包构建失败,错误信息:"+l.message),this.spinner.info("如出现类似“it != indexes.functionIndexes.end()”的报错,基本是 Unity转出成小游戏,未在转换面板勾选 Profiling funcs"),e.a(2,{code:-1,msg:"分包构建失败,错误信息:".concat(l.message,",额外提示:如出现类似“it != indexes.functionIndexes.end()”的报错,基本是 Unity转出成小游戏,未在转换面板勾选 Profiling funcs"),errMsg:l.message})}},e,this,[[1,7]])})),function(e){return O.apply(this,arguments)})},{key:"initializeSplitConfig",value:function(){var e=m.resolve(this.config.entry,".codesplitcache"),n=m.resolve(e,"codesplit-config.json");return{cacheDir:e,codeSplitConfigPath:n,splitConfig:JSON.parse(v.readFileSync(n,"utf-8"))}}},{key:"buildSubPackage",value:(E=f(c().m(function e(n,t,r){var o,i,a;return c().w(function(e){for(;;)switch(e.n){case 0:return o={appId:this.config.appId,md5:this.codeMd5,requestToken:this.config.requestToken,isRelease:!!n.isRelease},e.n=1,g.split(o);case 1:if(0===(i=e.v).code){e.n=5;break}if(!this.isRetryableError(i.errorMessage)){e.n=3;break}if(a=t.subVersion,S.logInfo("尝试查找历史版本,subVersion:",a),a){e.n=2;break}return e.a(2,!1);case 2:e.n=4;break;case 3:throw new Error(i.errorMessage);case 4:e.n=6;break;case 5:a=i.result,t.subVersion=a,v.writeFileSync(r,JSON.stringify(t,null,2));case 6:return e.a(2,a)}},e,this)})),function(e,n,t){return E.apply(this,arguments)})},{key:"isRetryableError",value:function(e){return["当前md5有正在执行的构建任务,请稍后重试","资源超负荷运行啦,请稍后再试"].includes(e)}},{key:"processSplitFiles",value:(l=f(c().m(function e(n,t){var r,o,i,a,s;return c().w(function(e){for(;;)switch(e.n){case 0:return r=n.mainWasmFilePath,o=n.subWasmFilePath,i=this.config.fullEntryPath,a=this.config.mainWasmCachePath,s=this.createWasmPaths(i,a),e.n=1,this.downloadWasmFiles(r,o,s);case 1:w.processJavaScriptFiles(t,i,this.config),w.updateConfigFiles(t,i,this.config);case 2:return e.a(2)}},e,this)})),function(e,n){return l.apply(this,arguments)})},{key:"createWasmPaths",value:function(e,n){var t=m.resolve(e,"wasmcode",n),r=m.resolve(e,"wasmcode1",n);return v.existsSync(r)||v.mkdirSync(r,{recursive:!0}),{mainWasmPath:t,subWasmPath:r}}},{key:"downloadWasmFiles",value:(u=f(c().m(function e(n,t,r){return c().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.downloadSplitedFiles({mainWasmFileUrl:n,mainWasmFilePath:r.mainWasmPath,subWasmFileUrl:t,subWasmFilePath:r.subWasmPath});case 1:return e.a(2)}},e,this)})),function(e,n,t){return u.apply(this,arguments)})},{key:"reportCalledFuncs",value:(s=f(c().m(function e(){var n,t,r,a,s,u,l,f,p,d,y,h,b,w,S,k,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R,U,B,L,H,z,V,J,Q,Y=this,$=arguments;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if(V=function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,t=[],r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t},t=(n=$.length>0&&void 0!==$[0]?$[0]:{}).srcPath,r=void 0===t?"":t,a=n.isPreEnv,s=void 0!==a&&a,u=n.funcList,l=void 0===u?null:u,f=n.suppressExit,p=void 0!==f&&f,d=function(e){if(p)throw new Error(e);Y.ensureSpinner().fail(e),process.exit(1)},(y=this.validateProject("getSplitInfo",r,s,void 0,n.wasmEnv)).valid||d(y.errMsg||"校验失败:请先执行 jgc config 命令,并确保各项配置正确"),e.p=1,this.ensureSpinner().start("开始效验……"),h=Array.isArray(l)&&l.length>0,b=null,!h){e.n=2;break}b=l.map(function(e){return(e||"").trim()}).filter(function(e){return e.length>0}),e.n=5;break;case 2:return w=(new P).getPrompts(),e.n=3,j.prompt(w);case 3:return S=e.v,k=m.resolve(S.entry),v.existsSync(k)||(k=m.resolve(this.config.fullEntryPath,S.entry),v.existsSync(k)||(k=m.resolve(S.entry))),v.existsSync(k)||d("函数名文件所在路径不存在:".concat(k)),e.n=4,v.readFileSync(k,"utf8");case 4:E=e.v,(b=E.split(/\r?\n/).map(function(e){return e.trim()}).filter(function(e){return e.length>0})).shift();case 5:if(h&&b.length>0&&/func|函数/i.test(b[0])&&b.shift(),b&&0!==b.length||d("函数名文件为空,请检查文件内容"),O=m.resolve(this.config.fullEntryPath,".codesplitcache"),_=m.resolve(O,"codesplit-config.json"),v.existsSync(_)){e.n=6;break}return this.spinner.info("该项目还未执行wasm-init 命令,将自动执行 wasm-init 命令"),e.n=6,this.init({srcPath:r,isPreEnv:s,wasmEnv:n.wasmEnv,isUpdate:!1,skipUpload:!1});case 6:for(this.spinner.succeed("校验通过"),this.spinner.start(),this.spinner.text="函数名文件解析中……",F=[],T=m.resolve(O,"unpack"),I=m.resolve(T,"symbol.json"),x=v.readFileSync(I,"utf8"),C=JSON.parse(x),G=0,M=Object.entries(C);G<M.length;G++)A=i(M[G],2),N=A[0],D=A[1],b.includes(D)&&F.push(N);return e.n=7,this.readSplitConfig();case 7:q=e.v,this.spinner.succeed("函数名文件解析成功"),this.spinner.start(),this.spinner.text="函数名上报中……",W=0,R=o(V(F)),e.p=8,R.s();case 9:if((U=R.n()).done){e.n=13;break}return B=U.value,e.n=10,g.reportCalledFuncs({appId:this.config.appId,requestToken:this.config.requestToken,calledFuncList:B,subVersion:"-1",md5:q.codeMd5});case 10:if(0===(L=e.v).code){e.n=11;break}throw new Error("上报函数名失败: ".concat(L.errorMessage));case 11:W+=L.result;case 12:e.n=9;break;case 13:e.n=15;break;case 14:e.p=14,J=e.v,R.e(J);case 15:return e.p=15,R.f(),e.f(15);case 16:if(this.spinner.succeed("上报函数名完成:本次函数数量为".concat(F.length,"个,去重后上报数量为").concat(W,"个")),!p){e.n=17;break}return e.a(2,{code:0,msg:"上报函数名完成,数量".concat(F.length,"个"),reportedCount:F.length});case 17:return this.spinner.start(),this.spinner.text="dev模式拆包中,该环节耗时较长,请耐心等待……\n",e.n=18,this.splitBase({srcPath:"",isPreEnv:n.isPreEnv,wasmEnv:n.wasmEnv,isRelease:!1});case 18:return 0!==(H=e.v).code&&(this.spinner.fail("dev模式拆包失败,错误日志:".concat(H.errMsg)),this.spinner.info("处理方案:".concat(H.msg)),process.exit(1)),this.spinner.succeed("dev模式拆包完成"),this.spinner.start(),this.spinner.text="开始获取 dev分包结果,请稍等",e.n=19,this.getSplitInfo(n);case 19:0!==(z=e.v).code&&(this.spinner.fail("获取 dev 分包结果失败,报错信息:".concat(z.errMsg)),process.exit(1)),this.spinner.succeed("获取 dev分包结果完成"),this.spinner.info("接下来请按以下步骤操作:\n1. 执行 jgc preview 继续动态收集函数;\n2. 如无新增函数,执行 jgc wasm-split-prod 拆分成线上版本;\n3. 执行 jgc upload 将分包结果上传到MP控制台;\n"),process.exit(1),e.n=22;break;case 20:if(e.p=20,Q=e.v,!p){e.n=21;break}throw new Error(Q.message);case 21:this.spinner.fail("上传函数名失败,错误信息:".concat(Q.message)),process.exit(1);case 22:return e.a(2)}},e,this,[[8,14,15,16],[1,20]])})),function(){return s.apply(this,arguments)})},{key:"reportCalledFuncsIndex",value:(a=f(c().m(function e(n){var t,r,i,a,s,u,l,f,p,d,y,h,b,w,k;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if((t=this.validateProject("getSplitInfo",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t);case 1:return e.p=1,r=function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,t=[],r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t},i=(new P).getPrompts(),e.n=2,j.prompt(i);case 2:if(a=e.v,s=m.resolve(a.entry),v.existsSync(s)||(s=m.resolve(this.config.fullEntryPath,a.entry),v.existsSync(s)||(s=m.resolve(a.entry))),v.existsSync(s)){e.n=3;break}throw new Error("文件路径错误");case 3:return u=S.startLogProcess("函数名文件解析中"),e.n=4,v.readFileSync(s,"utf8");case 4:return l=e.v,(f=l.split(/\r?\n/)).shift(),e.n=5,this.readSplitConfig();case 5:p=e.v,u.stop("函数名文件解析成功"),u=S.startLogProcess("开始进行函数名索引上报中,请稍等"),d=o(r(f)),e.p=6,d.s();case 7:if((y=d.n()).done){e.n=10;break}return h=y.value,e.n=8,g.reportCalledFuncs({appId:this.config.appId,requestToken:this.config.requestToken,calledFuncList:h,subVersion:p.subVersion,md5:p.codeMd5});case 8:if(0===(b=e.v).code){e.n=9;break}throw new Error("上报函数名失败: ".concat(b.errorMessage));case 9:e.n=7;break;case 10:e.n=12;break;case 11:e.p=11,w=e.v,d.e(w);case 12:return e.p=12,d.f(),e.f(12);case 13:return u.stop("上报函数名成功"),e.a(2,{code:0,msg:"上报函数名完成,数量".concat(f.length,"个"),errMsg:null});case 14:return e.p=14,k=e.v,S.endLogProcess(null,k.message),e.a(2,{code:-1,msg:"上传函数名失败",errMsg:k.message})}},e,this,[[6,11,12,13],[1,14]])})),function(e){return a.apply(this,arguments)})},{key:"rollbackEntryChanges",value:(r=f(c().m(function e(n){var t,r,i,a,s,u,l,f,p,d,y,h,b,g,w,S,k,P,j,E;return c().w(function(e){for(;;)switch(e.p=e.n){case 0:if((t=this.validateProject("rollBack",n.srcPath,n.isPreEnv,void 0,n.wasmEnv)).valid){e.n=1;break}return e.a(2,t);case 1:if(e.p=1,this.config&&this.config.fullEntryPath){e.n=2;break}return e.a(2,{code:-1,msg:"回退失败",errMsg:"配置未初始化或entryPath未设置"});case 2:if(r=this.config.fullEntryPath,v.existsSync(r)){e.n=3;break}return e.a(2,{code:-1,msg:"回退失败",errMsg:"entryPath不存在: ".concat(r)});case 3:for(this.ensureSpinner().start("开始关闭分包功能,请稍等……"),i=0,a=["game.json","game.js","webgl.wasm.framework.unityweb.js","weapp-adapter.js"],s=0,u=["wasm-split.js","game.json","game.js","webgl.wasm.framework.unityweb.js","weapp-adapter.js","wasmcode1"];s<u.length;s++)l=u[s],f=m.resolve(r,l),v.existsSync(f)&&(v.statSync(f).isDirectory()?v.rmSync(f,{recursive:!0,force:!0}):v.unlinkSync(f),i++);if(p=m.resolve(r,"wasmcode"),v.existsSync(p)&&v.rmSync(p,{recursive:!0,force:!0}),v.mkdirSync(p,{recursive:!0}),d=m.resolve(this.config.originalCacheDir,"wasmcode"),y=m.resolve(d,this.config.mainWasmCachePath),v.existsSync(y)&&(h=m.resolve(p,this.config.mainWasmCachePath),v.copyFileSync(y,h),b=m.resolve(p,"game.js"),v.writeFileSync(b,""),this.spinner.succeed("恢复原始的 wasm.br 文件完成:".concat(y))),this.config.originalCacheDir&&v.existsSync(this.config.originalCacheDir)){g=o(a);try{for(g.s();!(w=g.n()).done;)S=w.value,k=m.resolve(this.config.originalCacheDir,S),P=m.resolve(r,S),v.existsSync(k)&&(v.copyFileSync(k,P),i++)}catch(e){g.e(e)}finally{g.f()}}return j=m.resolve(r,".codesplitcache"),v.existsSync(j)&&v.rmSync(j,{recursive:!0,force:!0}),this.spinner.succeed("回退完成,共处理 ".concat(i," 个文件/目录")),e.a(2,{code:0,msg:"关闭分包功能成功",errMsg:null,rollbackCount:i});case 4:return e.p=4,E=e.v,this.spinner.fail("回退失败: ".concat(E.message)),e.a(2,{code:-1,msg:"回退失败",errMsg:E.message})}},e,this,[[1,4]])})),function(e){return r.apply(this,arguments)})}],n&&p(e.prototype,n),t&&p(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t,r,a,s,u,l,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R,U,B,L,H}();e.exports=new E},8330:e=>{"use strict";e.exports=JSON.parse('{"name":"jd-minigame-ci","version":"1.2.3","description":"The jd-minigame-ci is a toolkit provided for developers of JD Mini Games. Developers can complete code upload and preview operations for JD Mini Games without the need to open the developer tools, simply by using this toolkit.","author":"chenlong328","license":"ISC","main":"dist/index.js","bin":{"jgc":"./dist/jgc.js"},"scripts":{"config":"NODE_ENV=development node ./dist/jgc.js config","preview":"NODE_ENV=development node ./dist/jgc.js preview","dev:config":"NODE_ENV=development node ./src/jgc.js config","dev:preview":"NODE_ENV=development node ./src/jgc.js preview","dev:upload":"NODE_ENV=development node ./src/jgc.js upload","dev:publish":"NODE_ENV=development node ./src/jgc.js publish","dev:wasm-split":"NODE_ENV=development node ./src/jgc.js wasm-split","dev:wasm-split:pre":"NODE_ENV=development node ./src/jgc.js wasm-split -D","build":"webpack --mode production --progress --config webpack.config.js && chmod 777 ./dist/index.js && chmod 777 ./dist/jgc.js"},"dependencies":{"@babel/cli":"^7.23.9","@babel/core":"^7.23.9","@babel/preset-env":"^7.23.9","archiver":"^6.0.1","axios":"^1.7.3","brotli":"^1.3.3","commander":"^11.1.0","cors":"^2.8.5","express":"^4.21.0","fs-extra":"^11.2.0","glob":"^10.3.10","inquirer":"8.2.6","jimp":"^0.22.12","jsqr":"1.4.0","marked":"^12.0.2","minimist":"^1.2.8","multer":"^1.4.5-lts.1","open":"^8.4.2","ora":"5.4.1","picocolors":"^1.0.0","qrcode":"^1.5.3","qrcode-terminal":"^0.12.0","string-width":"4.2.3","strip-ansi":"6.0.1","terser":"^5.44.0","wabt":"^1.0.36","ws":"^8.18.0"},"devDependencies":{"babel-loader":"^9.1.3","babel-minify-webpack-plugin":"^0.3.1","clean-webpack-plugin":"^4.0.0","copy-webpack-plugin":"^12.0.2","terser-webpack-plugin":"^5.3.10","webpack":"^5.90.3","webpack-cli":"^5.1.4","webpack-node-externals":"^3.0.0"},"files":["dist","package.json","README.md"]}')},8461:e=>{"use strict";e.exports=require("multer")},8522:e=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function t(e,n){for(var t=0;t<n.length;t++){var o=n[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,r(o.key),o)}}function r(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}var o=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.configPrompts=[{name:"type",type:"list",message:"请选择项目类型:",choices:[{name:"游戏",value:"game"},{name:"插件",value:"plugin"}],default:"game"},{name:"appId",type:"input",message:"请输入appId:",validate:function(e){return!!e||"appId不能为空"}},{name:"requestToken",type:"input",message:"请输入代码上传秘钥:",validate:function(e){return!!e||"代码上传秘钥不能为空"}},{name:"entry",type:"input",message:"请输入需要被打包的游戏(或者插件)的路径:",default:"./"},{name:"versionName",type:"input",message:"请输入需要被打包的游戏(或者插件)的版本号:",default:"1.0.0"},{name:"description",type:"input",message:"请输入需要被打包的游戏的备注:",when:function(e){return"game"===e.type},default:""}]},(n=[{key:"getPrompts",value:function(){return this.configPrompts}}])&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();e.exports=o},8577:e=>{"use strict";e.exports=require("cors")},8611:e=>{"use strict";e.exports=require("http")},8720:e=>{"use strict";e.exports=require("ora")},8879:(e,n,t)=>{var r=t(7252).Router();r.get("/docs/unity-wasm-split",function(e,n){n.redirect("https://mp-docs.jd.com/doc/minigame/gamdedev/gamedevtools/3186")}),e.exports=r},8938:e=>{"use strict";e.exports=require("axios")},9023:e=>{"use strict";e.exports=require("util")},9239:e=>{"use strict";e.exports=require("terser")},9278:e=>{"use strict";e.exports=require("net")},9538:(e,n,t)=>{function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}var a=t(4652),s=t(6928),c=t(7172),u=t(2410).globSync;function l(e){try{if(a.pathExistsSync(e))return!0;if(l(s.dirname(e)))return a.mkdirsSync(e),!0}catch(e){console.log("make dir error,",e)}}n.writeFile=function(){var e,n=(e=r().m(function e(n,t){var o,i=arguments;return r().w(function(e){for(;;)switch(e.n){case 0:o=i.length>2&&void 0!==i[2]?i[2]:"utf8",l(s.posix.parse(n).dir)&&a.writeFileSync(n,t,o);case 1:return e.a(2)}},e)}),function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})});return function(e,t){return n.apply(this,arguments)}}(),n.verifyGameRequiredFilesExist=function(e,n){return a.pathExistsSync(e)?"game"===n?f(e):"plugin"===n?p(e):{code:0,err_msg:"ok"}:{code:-1,err_msg:"当前入口文件目录不存在!"}};var f=function(e){var n=u("game.json",{cwd:e,ignore:"node_modules/**"}),t=u("game.js",{cwd:e,ignore:"node_modules/**"});return 0===n.length?{code:-1,err_msg:"被打包的游戏的目录下不存在game.json!"}:0===t.length?{code:-1,err_msg:"被打包的游戏的目录下不存在game.js!"}:{code:0,err_msg:"ok"}},p=function(e){return 0===u("plugin.json",{cwd:e,ignore:"node_modules/**"}).length?{code:-1,err_msg:"被打包的插件的目录下不存在plugin.json!"}:{code:0,err_msg:"ok"}};n.hasJgcConfigFile=function(e){try{return a.accessSync(e,a.constants.F_OK),!0}catch(e){return console.log("文件不存在"),!1}},n.compressDirectory=function(e,n){return new Promise(function(t,r){var o=a.createWriteStream(n),i=c("zip",{zlib:{level:9}});o.on("close",function(){return t(i.pointer())}),i.on("warning",function(e){return"ENOENT"!==e.code&&r(e)}),i.on("error",r),i.pipe(o),i.glob("**/*",{cwd:e,ignore:["**/.*","**/*.js.map"]}),i.finalize()})},n.deleteFile=function(e){a.existsSync(e)&&a.unlink(e,function(e){e&&console.log("删除zip文件失败: ",e)})}},9664:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,i,a,s=[],c=!0,u=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=i.call(t)).done)&&(s.push(r.value),s.length!==n);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return s}}(e,n)||function(e,n){if(e){if("string"==typeof e)return i(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?a(Object(t),!0).forEach(function(n){c(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e,n,t){return(n=m(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return l(u,"_invoke",function(t,r,o){var i,s,c,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,s=0,c=e,p.n=t,a}};function d(t,r){for(s=t,c=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(s=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,s=0))}if(o||t>1)return a;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),s=l,c=m;(n=s<2?e:c)||!f;){i||(s?s<3?(s>1&&(p.n=-1),d(s,c)):p.n=c:p.v=c);try{if(u=2,i){if(s||(o="next"),n=i[o]){if(!(n=n.call(i,c)))throw TypeError("iterator result is not an object");if(!n.done)return n;c=n.value,s<2&&(s=0)}else 1===s&&(n=i.return)&&n.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((n=(f=p.n<0)?c:t.call(r,p))!==a)break}catch(n){i=e,s=1,c=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),u}var a={};function s(){}function c(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(l(n={},r,function(){return this}),n),d=f.prototype=s.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,l(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=f,l(d,"constructor",f),l(f,"constructor",c),c.displayName="GeneratorFunction",l(f,o,"GeneratorFunction"),l(d),l(d,o,"Generator"),l(d,r,function(){return this}),l(d,"toString",function(){return"[object Generator]"}),(u=function(){return{w:i,m}})()}function l(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}l=function(e,n,t,r){function i(n,t){l(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},l(e,n,t,r)}function f(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function p(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){f(i,r,o,a,s,"next",e)}function s(e){f(i,r,o,a,s,"throw",e)}a(void 0)})}}function d(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,m(r.key),r)}}function m(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var v=t(8938),y=t(2305),h=t(9896),b=t(6626),g=t(3427).downloadFile,w=function(){return e=function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.apiUrls=b.getApiUrls(),this.defaultTimeout=6e4},n=[{key:"setEnv",value:function(e){var n="string"==typeof e?e:e?"wasmdev":"wasmprod";b.currentEnv=b.environments[n]?n:"wasmprod",this.apiUrls=b.getApiUrls(b.currentEnv)}},{key:"downloadFile",value:(j=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)if(0===e.n)return t=n.filePath,r=n.url,e.a(2,new Promise(function(e,n){g({filePath:t,url:r,success:e,fail:n})}))},e)})),function(e){return j.apply(this,arguments)})},{key:"uploadFile",value:(P=p(u().m(function e(n){var t,r,o,i,a,c,l,f,p,d,m;return u().w(function(e){for(;;)switch(e.p=e.n){case 0:return t=n.appId,r=n.requestToken,o=n.filePath,i=n.category,(a=new y).append("category",i),a.append("appId",t),a.append("requestToken",r),a.append("sourceFile",h.createReadStream(o)),c={method:"post",url:this.apiUrls.UPLOAD_FILE,headers:s(s({},a.getHeaders()),{},{appId:t,requestToken:r}),data:a,maxBodyLength:1/0,maxContentLength:1/0,timeout:6e5},e.p=1,e.n=2,v(c);case 2:if(l=e.v,f=l.data,p=f.code,d=f.result,0!==p){e.n=3;break}return e.a(2,d);case 3:throw new Error(l.data.errorMessage);case 4:e.n=6;break;case 5:throw e.p=5,m=e.v,new Error("上传文件失败 File upload failed: ".concat(m.message));case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return P.apply(this,arguments)})},{key:"addGameVersion",value:(k=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({method:"post",url:this.apiUrls.ADD_GAME_VERSION,data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return k.apply(this,arguments)})},{key:"initialize",value:(S=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({method:"post",url:this.apiUrls.INIT,timeout:this.defaultTimeout,data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return S.apply(this,arguments)})},{key:"queryMd5HistoryHaveRelease",value:(w=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.QUERY_MD5_HISTORY_HAVE_RELEASE,timeout:this.defaultTimeout,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error("获取历史md5列表,请求报错日志: ".concat(t.data.errorMessage));case 2:return e.a(2,t.data)}},e,this)})),function(e){return w.apply(this,arguments)})},{key:"queryWasmFunctionOnlineFindList",value:(m=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.QUERY_WASM_FUNCTION_ONLINE_FIND_LIST,timeout:this.defaultTimeout,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error("获取在线函数列表,请求报错日志: ".concat(t.data.errorMessage));case 2:return e.a(2,t.data)}},e,this)})),function(e){return m.apply(this,arguments)})},{key:"getInitResult",value:(f=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.GET_INIT_RES,timeout:this.defaultTimeout,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error(t.data.errorMessage);case 2:return e.a(2,t.data)}},e,this)})),function(e){return f.apply(this,arguments)})},{key:"split",value:(l=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({url:this.apiUrls.SPLIT,method:"post",data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return l.apply(this,arguments)})},{key:"getGameSplitInfo",value:(c=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({url:this.apiUrls.GET_GAME_SPLIT_INFO,method:"get",params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}return e.a(2,{code:-1,errorMessage:t.data.errorMessage,result:null});case 2:return e.a(2,t.data)}},e,this)})),function(e){return c.apply(this,arguments)})},{key:"getSymbolSize",value:(a=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.GET_SYMBOL_SIZE,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error(t.data.errorMessage);case 2:return e.a(2,t.data)}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"reportCalledFuncs",value:(i=p(u().m(function e(n){var t,r;return u().w(function(e){for(;;)switch(e.n){case 0:return t=new FormData,Object.entries(n).forEach(function(e){var n=o(e,2),r=n[0],i=n[1];return t.append(r,i)}),e.n=1,v({url:this.apiUrls.REPORT_FUNS,method:"post",data:t});case 1:if(0===(r=e.v).data.code){e.n=2;break}throw new Error(r.data.errorMessage);case 2:return e.a(2,r.data)}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"queryCountReportWasmFunction",value:(r=p(u().m(function e(n){var t;return u().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,v({method:"get",url:this.apiUrls.QUERY_COUNT_REPORT_FUNS,params:n});case 1:if(0===(t=e.v).data.code){e.n=2;break}throw new Error(t.data.errorMessage);case 2:return e.a(2,t.data)}},e,this)})),function(e){return r.apply(this,arguments)})}],n&&d(e.prototype,n),t&&d(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,t,r,i,a,c,l,f,m,w,S,k,P,j}();e.exports=new w},9739:(e,n,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function o(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,n){if(e){if("string"==typeof e)return i(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?i(e,n):void 0}}(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==t.return||t.return()}finally{if(c)throw a}}}}function i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function a(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function i(t,r,o,i){var a=r&&r.prototype instanceof u?r:u,l=Object.create(a.prototype);return s(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,o,i),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][r]?n(n([][r]())):(s(n={},r,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,o,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,s(d,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,o,"GeneratorFunction"),s(d),s(d,o,"Generator"),s(d,r,function(){return this}),s(d,"toString",function(){return"[object Generator]"}),(a=function(){return{w:i,m}})()}function s(e,n,t,r){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}s=function(e,n,t,r){function i(n,t){s(e,n,function(e){return this._invoke(n,t,e)})}n?o?o(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(i("next",0),i("throw",1),i("return",2))},s(e,n,t,r)}function c(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function u(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var i=e.apply(n,t);function a(e){c(i,r,o,a,s,"next",e)}function s(e){c(i,r,o,a,s,"throw",e)}a(void 0)})}}function l(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,f(r.key),r)}}function f(e){var n=function(e,n){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,n||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}(e,"string");return"symbol"==r(n)?n:n+""}var p=t(7252),d=t(8577),m=t(6928),v=t(9896),y=t(8611),h=t(5086),b=t(2080),g=t(5317).execSync,w=t(9278),S=t(4246),k=t(4218),P=t(2078),j=t(1426),E=t(8879),O=t(7372).setupWebSocket,_=function(){return e=function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.port=n.port||3456,this.isPreEnv=n.isPreEnv||!1,this.wasmEnv=n.wasmEnv||(this.isPreEnv?"wasmdev":"wasmprod"),this.app=p(),this.server=null,this.wss=null,this.pidFilePath=n.pidFilePath||m.resolve(__dirname,"../../.wasm-split-server.pid"),this.cleanupHandlerRegistered=!1},n=[{key:"setupMiddleware",value:function(){this.app.use(d()),this.app.use(p.json()),this.app.use(p.urlencoded({extended:!0}));for(var e,n=t(9896),r=0,o=[m.join(__dirname,"public"),m.join(__dirname,"wasm-server-public"),m.resolve(__dirname,"../wasm-server-public")];r<o.length;r++){var i=o[r];if(n.existsSync(i)&&n.existsSync(m.join(i,"index.html"))){e=i;break}}e||(console.warn("警告: 未找到静态资源目录,将使用默认路径"),e=m.join(__dirname,"public")),this.app.use(p.static(e)),this.publicPath=e}},{key:"setupRoutes",value:function(){var e=this;this.app.use(function(n,t,r){n.isPreEnv=e.isPreEnv,n.wasmEnv=e.wasmEnv,n.wss=e.wss,r()}),this.app.use("/api",S),this.app.use("/api",k),this.app.use("/api",P),this.app.use("/api",j),this.app.use("/",E),this.app.use("/api/*",function(e,n){n.status(404).json({code:-1,message:"未找到接口: ".concat(e.originalUrl)})}),this.app.get("*",function(n,t){t.sendFile(m.join(e.publicPath||m.join(__dirname,"public"),"index.html"))})}},{key:"setupWebSocketServer",value:function(){this.wss=new h.Server({server:this.server}),O(this.wss)}},{key:"killExistingServer",value:(f=u(a().m(function e(){var n,t,r,o;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(v.existsSync(this.pidFilePath)){e.n=1;break}return e.a(2);case 1:if(n=v.readFileSync(this.pidFilePath,"utf-8").trim(),(t=parseInt(n,10))&&t!==process.pid){e.n=2;break}try{v.unlinkSync(this.pidFilePath)}catch(e){}return e.a(2);case 2:return e.p=2,process.kill(t,"SIGTERM"),e.n=3,this.wait(500);case 3:return e.p=3,process.kill(t,0),process.kill(t,"SIGKILL"),e.n=4,this.wait(200);case 4:e.n=6;break;case 5:e.p=5,"ESRCH"!==(r=e.v).code&&console.warn("⚠️ 无法终止已存在的 WASM 分包进程 (PID: ".concat(t,"): ").concat(r.message));case 6:e.n=8;break;case 7:e.p=7,"ESRCH"!==(o=e.v).code&&console.warn("⚠️ 终止已有的 WASM 分包进程失败 (PID: ".concat(t,"): ").concat(o.message));case 8:e.p=8;try{v.unlinkSync(this.pidFilePath)}catch(e){}return e.f(8);case 9:return e.a(2)}},e,this,[[3,5],[2,7,8,9]])})),function(){return f.apply(this,arguments)})},{key:"writePidFile",value:function(){try{v.writeFileSync(this.pidFilePath,String(process.pid))}catch(e){console.warn("⚠️ 写入 PID 文件失败: ".concat(e.message))}}},{key:"registerCleanup",value:function(){var e=this;if(!this.cleanupHandlerRegistered){var n=function(){try{if(v.existsSync(e.pidFilePath)){var n=v.readFileSync(e.pidFilePath,"utf-8").trim();parseInt(n,10)===process.pid&&v.unlinkSync(e.pidFilePath)}}catch(e){}};process.once("exit",n),process.once("SIGINT",function(){n(),process.exit(0)}),process.once("SIGTERM",function(){n(),process.exit(0)}),this.cleanupHandlerRegistered=!0}}},{key:"start",value:(c=u(a().m(function e(){var n,t,r=this,o=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return n=!(o.length>0&&void 0!==o[0])||o[0],this.setupMiddleware(),this.setupRoutes(),e.n=1,this.killExistingServer();case 1:return e.p=1,e.n=2,this.waitForPortRelease(500);case 2:e.n=8;break;case 3:return e.p=3,e.v,e.p=4,e.n=5,this.killByPort();case 5:e.n=7;break;case 6:e.p=6,t=e.v,console.warn(t.message);case 7:return e.n=8,this.waitForPortRelease();case 8:return this.server=y.createServer(this.app),this.setupWebSocketServer(),e.a(2,new Promise(function(e,t){var o=!1,i=function(){r.server.listen(r.port,u(a().m(function t(){var o;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:if(o="http://localhost:".concat(r.port),console.log("\n✨ WASM 分包可视化界面已启动: ".concat(o,"\n")),r.writePidFile(),r.registerCleanup(),!n){t.n=4;break}return t.p=1,t.n=2,b(o);case 2:t.n=4;break;case 3:t.p=3,t.v,console.log("请手动打开浏览器访问: ".concat(o));case 4:e(r.server);case 5:return t.a(2)}},t,null,[[1,3]])})))},s=function(){var e=u(a().m(function e(n){var s;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if("EADDRINUSE"!==n.code||o){e.n=4;break}return o=!0,console.warn("检测到端口 ".concat(r.port," 已被占用,尝试自动释放...")),e.p=1,e.n=2,r.killByPort();case 2:return setTimeout(function(){i()},500),e.a(2);case 3:return e.p=3,s=e.v,t(s),e.a(2);case 4:t(n);case 5:return e.a(2)}},e,null,[[1,3]])}));return function(n){return e.apply(this,arguments)}}();r.server.on("error",s),i()}))}},e,this,[[4,6],[1,3]])})),function(){return c.apply(this,arguments)})},{key:"stop",value:function(){this.wss&&this.wss.close(),this.server&&this.server.close();try{if(v.existsSync(this.pidFilePath)){var e=v.readFileSync(this.pidFilePath,"utf-8").trim();parseInt(e,10)===process.pid&&v.unlinkSync(this.pidFilePath)}}catch(e){}}},{key:"wait",value:function(e){return new Promise(function(n){return setTimeout(n,e)})}},{key:"waitForPortRelease",value:(s=u(a().m(function e(){var n,t,r=this,o=arguments;return a().w(function(e){for(;;)if(0===e.n)return n=o.length>0&&void 0!==o[0]?o[0]:5e3,t=Date.now(),e.a(2,new Promise(function(e,o){var i=function(){var a=w.createServer();a.unref(),a.on("error",function(e){a.close(),"EADDRINUSE"===e.code?Date.now()-t>n?o(new Error("端口 ".concat(r.port," 长时间被占用,请手动结束占用进程后重试"))):setTimeout(i,200):o(e)}),a.listen(r.port,function(){a.close(e)})};i()}))},e)})),function(){return s.apply(this,arguments)})},{key:"killByPort",value:(i=u(a().m(function e(){var n,t,r,i,s,c,u,l,f,p,d;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if("darwin"===process.platform||"linux"===process.platform){e.n=1;break}throw new Error("端口 ".concat(this.port," 已被占用,请手动结束相关进程后重试"));case 1:if(e.p=1,n=g("lsof -ti tcp:".concat(this.port),{encoding:"utf-8"}).split("\n").map(function(e){return e.trim()}).filter(Boolean),0!==n.length){e.n=2;break}throw new Error("端口 ".concat(this.port," 已被占用,但无法定位进程,请手动处理"));case 2:t=o(n),e.p=3,t.s();case 4:if((r=t.n()).done){e.n=7;break}if(i=r.value,(s=parseInt(i,10))&&s!==process.pid){e.n=5;break}return e.a(3,6);case 5:try{process.kill(s,"SIGTERM")}catch(e){}case 6:e.n=4;break;case 7:e.n=9;break;case 8:e.p=8,p=e.v,t.e(p);case 9:return e.p=9,t.f(),e.f(9);case 10:return e.n=11,this.wait(500);case 11:c=o(n),e.p=12,c.s();case 13:if((u=c.n()).done){e.n=16;break}if(l=u.value,(f=parseInt(l,10))&&f!==process.pid){e.n=14;break}return e.a(3,15);case 14:try{process.kill(f,0),process.kill(f,"SIGKILL")}catch(e){}case 15:e.n=13;break;case 16:e.n=18;break;case 17:e.p=17,d=e.v,c.e(d);case 18:return e.p=18,c.f(),e.f(18);case 19:return e.n=20,this.wait(300);case 20:e.n=22;break;case 21:throw e.p=21,e.v,new Error("端口 ".concat(this.port," 被占用,且无法自动释放,请手动结束占用进程后重试"));case 22:return e.a(2)}},e,this,[[12,17,18,19],[3,8,9,10],[1,21]])})),function(){return i.apply(this,arguments)})}],n&&l(e.prototype,n),r&&l(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r,i,s,c,f}();e.exports=_},9890:(e,n,t)=>{var r=t(4420),o=t(241),i=t(2268);n.showQrCode=function(e){return new Promise(function(n,t){r.read(e).then(function(e){var t=e.bitmap,r=t.width,a=t.height,s=t.data,c=new Uint8ClampedArray(s),u=i(c,r,a);o.generate(u.data,{small:!0}),n(!0)}).catch(function(e){t(!1)})})},n.getBase64=function(e){return r.read(e).then(function(e){return e.getBase64Async("image/png")}).catch(function(){throw new Error("获取二维码base64失败")})}},9896:e=>{"use strict";e.exports=require("fs")},9937:e=>{"use strict";e.exports=require("inquirer")}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={exports:{}};return e[r](i,i.exports,t),i.exports}t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n);function r(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,n,t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",a=t.toStringTag||"@@toStringTag";function s(t,r,i,a){var s=r&&r.prototype instanceof u?r:u,l=Object.create(s.prototype);return o(l,"_invoke",function(t,r,o){var i,a,s,u=0,l=o||[],f=!1,p={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return i=n,a=0,s=e,p.n=t,c}};function d(t,r){for(a=t,s=r,n=0;!f&&u&&!o&&n<l.length;n++){var o,i=l[n],d=p.p,m=i[2];t>3?(o=m===r)&&(s=i[(a=i[4])?5:(a=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=t<2&&d<i[1])?(a=0,p.v=r,p.n=i[1]):d<m&&(o=t<3||i[0]>r||r>m)&&(i[4]=t,i[5]=r,p.n=m,a=0))}if(o||t>1)return c;throw f=!0,r}return function(o,l,m){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,m),a=l,s=m;(n=a<2?e:s)||!f;){i||(a?a<3?(a>1&&(p.n=-1),d(a,s)):p.n=s:p.v=s);try{if(u=2,i){if(a||(o="next"),n=i[o]){if(!(n=n.call(i,s)))throw TypeError("iterator result is not an object");if(!n.done)return n;s=n.value,a<2&&(a=0)}else 1===a&&(n=i.return)&&n.call(i),a<2&&(s=TypeError("The iterator does not provide a '"+o+"' method"),a=1);i=e}else if((n=(f=p.n<0)?s:t.call(r,p))!==c)break}catch(n){i=e,a=1,s=n}finally{u=1}}return{value:n,done:f}}}(t,i,a),!0),l}var c={};function u(){}function l(){}function f(){}n=Object.getPrototypeOf;var p=[][i]?n(n([][i]())):(o(n={},i,function(){return this}),n),d=f.prototype=u.prototype=Object.create(p);function m(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,o(e,a,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,o(d,"constructor",f),o(f,"constructor",l),l.displayName="GeneratorFunction",o(f,a,"GeneratorFunction"),o(d),o(d,a,"Generator"),o(d,i,function(){return this}),o(d,"toString",function(){return"[object Generator]"}),(r=function(){return{w:s,m}})()}function o(e,n,t,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,n,t,r){function a(n,t){o(e,n,function(e){return this._invoke(n,t,e)})}n?i?i(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(a("next",0),a("throw",1),a("return",2))},o(e,n,t,r)}function i(e,n,t,r,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function a(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){i(a,r,o,s,c,"next",e)}function c(e){i(a,r,o,s,c,"throw",e)}s(void 0)})}}var s=t(6928),c=t(857),u=t(8720),l=t(5205),f=new(0,t(6858).Command),p=t(9937),d=t(8938),m=t(8522),v=t(593),y=t(9538),h=t(1060),b=t(2425),g=t(9890),w=t(8085).SUCCEED_CODE,S=t(8330),k=t(3121),P=t(7175);function j(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.gray?"wasmgray":e.D?"wasmdev":"wasmprod"}function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=j(e);return Object.assign(e,{srcPath:"",isPreEnv:"wasmdev"===n,wasmEnv:n})}function O(e){return _.apply(this,arguments)}function _(){return _=a(r().m(function e(n){var o,i,a,f,p,d,m,v,S,P,j,E,O,_,F,T,I,x,C,G,M,A,N,D,q,W,R,U,B,L,H,z,V,J,Q,Y,$,K,Z,X,ee,ne,te,re,oe,ie=arguments;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:if(o=!(ie.length>1&&void 0!==ie[1])||ie[1],i=ie.length>2&&void 0!==ie[2]?ie[2]:{},a=Date.now(),f=1===n?"preview":"upload",!(i.appId&&i.requestToken&&i.entry)){e.n=1;break}p={type:i.game?"game":"plugin",appId:i.appId,requestToken:i.requestToken,entry:i.entry,versionName:i.versionName||"1.0.0",description:i.description||""},e.n=3;break;case 1:if(d=s.posix.resolve("","./jgc.config.js"),y.hasJgcConfigFile(d)){e.n=2;break}return e.a(2,console.log("".concat(l.red("请先创建配置文件,或通过命令行参数传入配置!"))));case 2:m="function"==typeof require?require:t(6589),p=m(d);case 3:if((v=h.checkConfigOptions(p,n)).code===w){e.n=4;break}return e.a(2,console.log(v.err_msg));case 4:if(P=(S=p).appId,j=S.requestToken,E=S.versionName,O=S.entry,_=S.description,(F=y.verifyGameRequiredFilesExist(O)).code===w){e.n=5;break}return e.a(2,console.log(F.err_msg));case 5:if(T="upload"===f?c.tmpdir()+s.sep+"jd_game_temp.zip":c.tmpdir()+s.sep+"package.jd.zip",y.deleteFile(T),I=u("文件压缩").start(),e.p=6,"preview"!==f){e.n=8;break}return e.n=7,new Promise(function(e,n){k(O,T,function(t,r){t?n(t):e(r)})});case 7:C=t(9896).statSync(T),x=C.size,e.n=10;break;case 8:return e.n=9,y.compressDirectory(O,T);case 9:x=e.v;case 10:I.succeed("压缩完成,共"+x/1e3+"KB"),e.n=12;break;case 11:e.p=11,ne=e.v,I.fail("压缩失败:".concat(ne)),process.exit(1);case 12:return G=new b(o?"prod":"dev"),I.start(),I.text="上传中……",M=Date.now(),A=null,e.p=13,e.n=14,G.uploadProject({sourceFile:T,appId:P,requestToken:j,isProd:o,showType:f});case 14:(A=e.v).code!==w&&(I.fail("上传代码包报错 --\x3e".concat(A.err_msg)),process.exit(1)),N=Date.now(),D=(N-M)/1e3,I.succeed("上传代码包完成,耗时:"+D+"s"),e.n=16;break;case 15:e.p=15,te=e.v,I.fail("上传代码包报错 --\x3e".concat(te)),process.exit(1);case 16:return I.start(),I.text="代码包构建中……",q=Date.now(),W=null,e.p=17,e.n=18,G.loopQueryBuildStatus({appId:P,requestToken:j,isProd:o,showType:f},A.uuid);case 18:(W=e.v).code!==w&&(I.fail(W.err_msg),process.exit(1)),R=Date.now(),U=(R-q)/1e3,I.succeed("代码包构建完成,耗时:".concat(U,"s")),e.n=20;break;case 19:e.p=19,re=e.v,I.fail("代码包构建报错 --\x3e".concat(re)),process.exit(1);case 20:if(B=W.packId,e.p=21,"preview"!==f){e.n=24;break}return e.n=22,G.generateQrCode({packId:B,appId:P,requestToken:j,showType:f});case 22:return(L=e.v).code!==w&&(I.fail(L.err_msg),process.exit(1)),H=L.imgUrl,z=L.expiredTime,e.n=23,g.showQrCode(H);case 23:I.succeed("二维码生成完成,将于".concat(z,"过期")),I.info("二维码imgUrl(如二维码不清晰,浏览器打开): ".concat(H)),I.info("二维码仅支持协作成员访问"),V=Date.now(),J=(V-a)/1e3,I.info("本次耗费时长:".concat(J,"s")),e.n=29;break;case 24:if("upload"!==f){e.n=29;break}return I.start(),e.n=25,G.commitDevVersion({appId:P,requestToken:j,versionName:E,description:_},B);case 25:return(Q=e.v).code!==w&&(I.fail(Q.err_msg),process.exit(1)),Y=Q.devId,I.succeed("开发版设置完成, devId:"+Y),e.n=26,G.setDevExperience({appId:P,requestToken:j},Y);case 26:return($=e.v).code!==w&&(I.fail($.err_msg),process.exit(1)),I.succeed("体验版设置完成"),e.n=27,G.queryExperienceQrcodeByPackId({appId:P,requestToken:j});case 27:return(K=e.v).code!==w&&(I.fail(K.err_msg),process.exit(1)),Z=K.imgUrl,e.n=28,g.showQrCode(Z);case 28:I.info("二维码仅支持协作成员访问"),X=Date.now(),ee=(X-a)/1e3,I.info("本次耗费时长:".concat(ee,"s"));case 29:e.n=31;break;case 30:e.p=30,oe=e.v,I.fail("CLI执行报错 --\x3e".concat(oe)),process.exit(1);case 31:return e.a(2)}},e,null,[[21,30],[17,19],[13,15],[6,11]])})),_.apply(this,arguments)}function F(e){return T.apply(this,arguments)}function T(){return(T=a(r().m(function e(n){var o,i,a,f,d,m,g,S,k,P,j,E,O,_,F,T,I,x,C,G,M;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return o=(new v).getPrompts(),e.n=1,p.prompt(o);case 1:if(i=e.v,a=Date.now(),f=s.posix.resolve("","./jgc.config.js"),y.hasJgcConfigFile(f)){e.n=2;break}return e.a(2,console.log("".concat(l.red("请先创建配置文件!"))));case 2:if(d="function"==typeof require?require:t(6589),m=d(f),(g=h.checkPluginConfig(m)).code===w){e.n=3;break}return e.a(2,console.log(g.err_msg));case 3:return S=m.appId,k=m.requestToken,P=m.entry,j=m.versionName,E=c.tmpdir()+s.sep+"jd_game_temp.zip",y.deleteFile(E),O=u("文件压缩").start(),e.p=4,e.n=5,y.compressDirectory(P,E);case 5:(_=e.v)>4194304&&(O.fail("压缩包超过4MB,请检查文件大小"),process.exit(1)),O.succeed("压缩完成,共"+_/1e3+"KB"),e.n=7;break;case 6:e.p=6,G=e.v,O.fail("压缩失败:",G),process.exit(1);case 7:return F=new b(n),e.p=8,e.n=9,F.uploadPlugin({sourceFile:E,appId:S,requestToken:k,versionName:j});case 9:if((T=e.v).code===w){e.n=10;break}O.fail(T.err_msg),process.exit(1),e.n=12;break;case 10:return O.succeed("插件构建成功"),e.n=11,F.publishPlugin({versionName:i.versionName,versionFeature:i.versionFeature,useGuide:i.useGuide,packId:T.result.packId,appId:S,requestToken:k});case 11:(I=e.v).code!==w&&(O.fail(I.err_msg),process.exit(1)),O.succeed("插件发布成功"),x=Date.now(),C=(x-a)/1e3,O.info("本次耗费时长:".concat(C,"s"));case 12:e.n=14;break;case 13:e.p=13,M=e.v,O.fail("CLI执行报错 --\x3e".concat(M)),process.exit(1);case 14:return e.a(2)}},e,null,[[8,13],[4,6]])}))).apply(this,arguments)}function I(e){return x.apply(this,arguments)}function x(){return(x=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitInfo(E(n)).then(function(e){var n=e.code,t=e.msg;0===n?console.log(t):console.error("查询函数符号表失败:",e)}).catch(function(e){console.error("查询函数符号表异常:",e)});case 1:return e.a(2)}},e)}))).apply(this,arguments)}return f.command("config").description("小游戏配置").action(a(r().m(function e(){var n,t,o,i;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return n=(new m).getPrompts(),e.n=1,p.prompt(n);case 1:if(t=e.v,(o=y.verifyGameRequiredFilesExist(t.entry,t.type)).code===w){e.n=2;break}return e.a(2,console.log("".concat(l.red(o.err_msg))));case 2:return e.p=2,y.writeFile("./".concat("jgc.config.js"),"module.exports = ".concat(JSON.stringify(t,null,2)),"utf-8"),e.a(2,console.log("✨ ".concat(l.green("创建小游戏配置文件成功"))));case 3:e.p=3,i=e.v,console.log("创建小游戏配置文件失败:",i);case 4:return e.a(2)}},e,null,[[2,3]])}))),f.command("preview").description("小游戏真机预览").option("-D","预发环境").option("-a, --appId <appId>","应用ID").option("-t, --requestToken <requestToken>","代码上传秘钥").option("-e, --entry <entry>","游戏/插件路径").option("-n, --versionName <versionName>","版本号").option("-d, --description <description>","备注").option("--game","项目类型为游戏").action(function(){var e=a(r().m(function e(n){var t;return r().w(function(e){for(;;)if(0===e.n)return t=!n.D,n.D&&console.log("小游戏真机预览-预发环境"),e.a(2,O(1,t,n))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("upload").description("小游戏发布").option("-D","预发环境").option("-a, --appId <appId>","应用ID").option("-t, --requestToken <requestToken>","代码上传秘钥").option("-e, --entry <entry>","游戏/插件路径").option("-n, --versionName <versionName>","版本号").option("-d, --description <description>","备注").option("--game","项目类型为游戏").action(function(){var e=a(r().m(function e(n){var t;return r().w(function(e){for(;;)if(0===e.n)return t=!n.D,n.D&&console.log("小游戏发布-预发环境"),e.a(2,O(2,t,n))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("publish").description("插件发布").option("-D","预发环境").option("-T","测试环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:if(!n.D){e.n=1;break}return console.log("插件发布-预发环境"),e.a(2,F("dev"));case 1:if(!n.T){e.n=2;break}return console.log("插件发布-测试环境"),e.a(2,F("test"));case 2:return console.log("插件发布-生产环境"),e.a(2,F("prod"));case 3:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.version(S.version,"-v, -V").description("获取本地京东小游戏CLI工具版本"),f.command("latest").description("获取并对比京东小游戏CLI工具最新版本").action(a(r().m(function e(){var n,t,o,i,a;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,n=u("npm最新版本获取中……").start(),e.n=1,d.get("https://registry.npmjs.org/jd-minigame-ci/latest");case 1:t=e.v,o=t.data.version,i=S.version,n.succeed("最新版本: ".concat(o)),o===i?n.info("当前版本 (".concat(i,") 已是最新版本。")):(n.info("本地版本: ".concat(i)),n.info("请更新到最新版本以获取最新功能和修复。")),e.n=3;break;case 2:e.p=2,a=e.v,spinner.fail("获取最新版本信息失败: ".concat(a));case 3:return e.a(2)}},e,null,[[0,2]])}))),f.command("wasm-split").description("启动 WASM 分包可视化界面").option("-D","预发环境").option("--gray","灰度环境").option("-p, --port <port>","服务端口","3456").action(function(){var e=a(r().m(function e(n){var o,i,a,c,u,f,p,d,m;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:o=s.posix.resolve("","./jgc.config.js"),y.hasJgcConfigFile(o)||(console.log("".concat(l.red("项目校验失败,请确认是否正确执行了 jgc config 命令,是否存在配置文件:jgc.config.js"))),process.exit(1)),i="function"==typeof require?require:t(6589);try{delete i.cache[i.resolve(o)],a=i(o)}catch(e){console.log("".concat(l.red("配置文件加载失败:")," ").concat(e.message)),process.exit(1)}return(c=h.checkConfigOptions(a,1)).code!==w&&(console.log("".concat(l.red("项目校验失败:"))),console.log(c.err_msg),process.exit(1)),u=a.entry,(f=y.verifyGameRequiredFilesExist(u)).code!==w&&(console.log("".concat(l.red("项目校验失败:"))),console.log(f.err_msg),process.exit(1)),P.initConfig()||(console.log("".concat(l.red("配置文件加载失败:"))),process.exit(1)),p=t(9739),d=new p({port:parseInt(n.port)||3456,isPreEnv:n.D||!1,wasmEnv:j(n)}),e.p=1,e.n=2,d.start(!0);case 2:console.log("".concat(l.green("WASM 分包服务已启动"))),console.log("".concat(l.cyan("按 Ctrl+C 关闭服务"))),e.n=4;break;case 3:e.p=3,m=e.v,console.error("".concat(l.red("启动失败:")," ").concat(m.message)),process.exit(1);case 4:return e.a(2)}},e,null,[[1,3]])}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-init").description("WASM分包初始化").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)if(0===e.n)return e.a(2,P.wasmInit(E(n)))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-update").description("WASM分包增量更新").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)if(0===e.n)return e.a(2,P.wasmUpdate(E(n)))},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-dev").description("WASM分包dev").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitDev(E(n)).then(function(e){var t=e.code;e.msg;if(0!==t)return console.error("WASM分包失败:",e),{code:-1,msg:"WASM分包失败",errMsg:e.errorMessage};I(n)}).catch(function(e){console.error("WASM分包异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-prod").description("WASM分包prod").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitProd(E(n)).then(function(e){var t=e.code,r=e.msg;0===t?(console.log(r),I(n)):console.error("WASM分包失败:",e)}).catch(function(e){console.error("WASM分包异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-info").description("查询函数符号表").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:I(n);case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-report").description("上报函数名").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitReport(E(n));case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-rollback").description("关闭分包功能").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmRollBack(E(n)).then(function(e){var n=e.code,t=e.msg;0===n?console.log(t):console.error("关闭分包功能失败:",e)}).catch(function(e){console.error("关闭分包功能异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.command("wasm-split-report-index").description("上报函数名索引").option("-D","预发环境").option("--gray","灰度环境").action(function(){var e=a(r().m(function e(n){return r().w(function(e){for(;;)switch(e.n){case 0:P.wasmSplitReportIndex(E(n)).then(function(e){var n=e.code,t=e.msg;0===n?console.log(t):console.error("上报函数名索引失败:",e)}).catch(function(e){console.error("上报函数名索引异常:",e)});case 1:return e.a(2)}},e)}));return function(n){return e.apply(this,arguments)}}()),f.parse(process.argv.map(function(e){return"-gray"===e?"--gray":e})),{}})());
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jd-minigame-ci",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.4",
|
|
4
4
|
"description": "The jd-minigame-ci is a toolkit provided for developers of JD Mini Games. Developers can complete code upload and preview operations for JD Mini Games without the need to open the developer tools, simply by using this toolkit.",
|
|
5
5
|
"author": "chenlong328",
|
|
6
6
|
"license": "ISC",
|