UNPKG

2.73 kBJavaScriptView Raw
1"use strict";exports.__esModule=!0;var tslib_1=require("tslib"),LarkLogger_1=require("@kemao/lark/Server/Log/LarkLogger/LarkLogger"),PackageTools_1=require("@kemao/package-tools/PackageTools/PackageTools"),Path=require("path"),webpack=require("webpack"),HelperTask_1=require("../Task/HelperTask"),logger=new LarkLogger_1.LarkLogger("WebpackTaskBase"),WebpackTaskBase=function(){function e(){this.taskName="WebpackTaskBase",this.count=0,this.projectRoot=Path.resolve("."),this.hasError=!1}return e.prototype.webpack=function(t){return tslib_1.__awaiter(this,void 0,void 0,function(){var r=this;return tslib_1.__generator(this,function(e){return[2,new Promise(function(o,n){return tslib_1.__awaiter(r,void 0,void 0,function(){var r,s=this;return tslib_1.__generator(this,function(e){return r=webpack(t),HelperTask_1.HelperTask.getWatchModel()?r.watch({},function(r,t){return tslib_1.__awaiter(s,void 0,void 0,function(){return tslib_1.__generator(this,function(e){switch(e.label){case 0:return[4,this.done(r,t)];case 1:return e.sent(),o(),[2]}})})}):r.run(function(t,a){return tslib_1.__awaiter(s,void 0,void 0,function(){var r;return tslib_1.__generator(this,function(e){switch(e.label){case 0:if(t)return[2,n(t)];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,this.done(t,a)];case 2:return e.sent(),[3,4];case 3:return r=e.sent(),[2,n(r)];case 4:return o(),[2]}})})}),[2]})})})]})})},e.prototype.doneCallback=function(){return tslib_1.__awaiter(this,void 0,void 0,function(){return tslib_1.__generator(this,function(e){return logger.trace("doneCallback"),[2]})})},e.prototype.minifyCode=function(){return new webpack.optimize.UglifyJsPlugin({comments:!1})},e.prototype.done=function(s,o){return tslib_1.__awaiter(this,void 0,void 0,function(){var r,t,a;return tslib_1.__generator(this,function(e){switch(e.label){case 0:return this.count++,1<this.count?[4,(new PackageTools_1.PackageTools).buildPackageJSON()]:[3,2];case 1:e.sent(),e.label=2;case 2:if(s)return logger.error("webpackSelfError",s.stack||s),s.details&&logger.error("webpackSelfError.details",s.details),HelperTask_1.HelperTask.sendMessage("webpack运行有错"+this.count),[2];if(r=o.toJson(),t=r.errors,logger.warnIf(0<t.length,"共有错误数:",t.length),r.warnings,0<t.length?this.hasError=!0:this.hasError=!1,o.hasErrors()){if(t.forEach(function(e){logger.error(e)}),a=t[0],HelperTask_1.HelperTask.sendMessage(a.message,"代码有错误","error"),!1===HelperTask_1.HelperTask.getWatchModel())throw new Error("fail")}else logger.log(this.taskName+".done",this.count),HelperTask_1.HelperTask.sendMessage("编译结束计数:"+this.count,this.taskName);return[4,this.doneCallback()];case 3:return e.sent(),[2]}})})},e}();exports.WebpackTaskBase=WebpackTaskBase;
\No newline at end of file