UNPKG

sdin

Version:

JavaScript package builder.

2 lines 3.51 kB
var e=require("@babel/runtime/helpers/interopRequireDefault"),i=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.SdinApplicationModule=void 0,e(require("@babel/runtime/helpers/defineProperty"))),a=require("../utils/array"),r=require("lodash"),s=require("../utils/path"),o=require("../tools/errors"),t=require("../utils/npm"),n=require("../tools/check"),l=require("../utils/check"),h=require("./abstract-module"),u=require("./application-page"),c=require("../utils/print");function p(t,e){var r,i=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)),i}function d(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?p(Object(r),!0).forEach(function(e){(0,i.default)(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}class E extends h.SdinAbstractModule{constructor(e,t){super(e,t,"csr",""),this.title=null!=(e=t.title)?e:null,this.path=(0,s.resolvePosixSlash)(null!=(e=t.path)?e:this.name,!0,!0),this.astSrc=this.withRoot(t.astSrc||"pro/assets"),this.astPath=(0,s.resolvePosixSlash)(t.astPath||"ast",!1,!0),this.minify=null==(e=t.minify)||e,this.uglify=null==(e=t.uglify)||e,this.sourceMap=null!=(e=t.sourceMap)?e:this.minify||this.uglify,this.externals=t.externals||{},this.sassModule=null==(e=t.sassModule)||e,this.mixinClass=null==(e=t.mixinClass)||e,this.babelIncludes=(0,a.filterNotNone)(t.babelIncludes),this.babelExcludes=[/node_modules/,...(0,a.filterNotNone)(t.babelExcludes)],this.rawRule=t.rawRule||{},this.fontRule=t.fontRule||{},this.imageRule=t.imageRule||{},this.audioRule=t.audioRule||{},this.videoRule=t.videoRule||{},this.rules=(0,a.filterNotNone)(t.rules),this.devLog=null!=(e=t.devLog)&&e,this.devEmoji=null!=(e=t.devEmoji)?e:"⚡",this.devPort=t.devPort||8080,this.devProxies=(0,a.filterNotNone)(t.devProxies),this.datas=d(d(d({},this.parent.datas),this.params.datas),{},{SDIN_MODULE_ENV:"unknown",SDIN_MODULE_TYPE:this.type,SDIN_MODULE_MODE:this.mode,SDIN_MODULE_NAME:this.name,SDIN_MODULE_TITLE:this.title,SDIN_MODULE_PATH:this.path,SDIN_MODULE_ASSETS_PATH:this.path+this.astPath}),this.pages=this.createPages(t.pages);e=(0,r.keyBy)(this.pages,"name");this.index=e[t.index||"index"],this.error=e[t.error||"error"]}createPages(e){var t,r=[],i={};for(t of(0,a.filterNotNone)(e)){var s=new u.SdinApplicationPage(this.ancestor,this,t);if(i[s.name])throw new o.SdinConfigError(o.SdinConfigError.MODULE_NAME_IS_REPEATED,"Module ".concat((0,c.yellow)(this.name),' Page name "').concat((0,c.yellow)(s.name),'" is repeated.'));r.push(s),i[s.name]=!0}return r}async validate(){if(await super.validate(),await(0,a.asyncForEach)(this.pages,e=>e.validate()),(0,l.matchRegExpOrThrow)("module ".concat((0,c.yellow)(this.name)," path"),this.path,n.ABSOLUTE_URL_PATH_EXP),["react","react-dom"].some(e=>!(0,t.getDependenceVersion)(this.pkg,e)))throw new o.SdinConfigError(o.SdinConfigError.ABSENT_PACKAGE_DEPENDENCE,"please install react、react-dom dependence.")}withPath(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,s.joinPosix)(this.path,...t)}setEnv(t){this.datas.SDIN_MODULE_ENV=t,this.pages.forEach(e=>e.datas.SDIN_MODULE_ENV=t)}}exports.SdinApplicationModule=E; //# sourceMappingURL=application-module.js.map