/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/vulpejs@0.1.39/lib/vulpe.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";module.exports=function(e){e||(e={});var s=require("path");return global.root={dir:s.resolve(__dirname+"/../../../"),vulpejs:{dir:s.resolve(__dirname)},context:""},process.env.APP_ENV&&(e.env=process.env.APP_ENV),global.vulpejs={root:{dir:global.root.vulpejs.dir},log:require("./log"),cache:require("./cache"),models:require("./models"),routes:require("./routes"),utils:require("./utils"),http:require("./http"),io:require("./io"),mail:require("./mail"),templates:require("./templates"),schedules:require("./schedules"),ui:require("./ui"),async:require("async"),crypto:require("crypto"),i18n:require("i18n"),mongoose:require("mongoose"),moment:require("moment"),xml2js:require("xml2js"),cron:require("cron"),jwt:require("jsonwebtoken"),plugins:{},app:{cors:{enabled:!1},url:{development:"http://localhost:3000",test:"http://localhost:3001",production:"http://localhost:3000"},cluster:{development:!1,test:!1,production:!0},ports:{development:3e3,test:3001,production:3e3},root:global.root,models:{},routes:{},javascripts:[],database:{development:{host:"localhost",port:27017,name:"appName",auth:{source:"admin",user:"admin",pass:"vulpejs"}},test:{host:"localhost",port:27017,name:"appName-test",auth:{source:"admin",user:"admin",pass:"vulpejs"}},production:{host:"localhost",port:27017,name:"appName-production",auth:{source:"admin",user:"admin",pass:"vulpejs"}}},session:{mongo:{development:{host:"localhost",name:"express",port:27017,collection:"session",auth:{source:"admin",user:"admin",pass:"vulpejs"}},test:{host:"localhost",name:"express-test",port:27017,collection:"session",auth:{source:"admin",user:"admin",pass:"vulpejs"}},production:{host:"localhost",name:"express-production",port:27017,collection:"session",auth:{source:"admin",user:"admin",pass:"vulpejs"}}}},uploader:{development:{dir:{public:global.root.dir+"/public/uploaded",tmp:global.root.dir+"/public/uploaded/tmp",files:global.root.dir+"/public/uploaded/files"}},test:{dir:{public:global.root.dir+"/public/uploaded",tmp:global.root.dir+"/public/uploaded/tmp",files:global.root.dir+"/public/uploaded/files"}},production:{dir:{public:global.root.dir+"/public/uploaded",tmp:global.root.dir+"/public/uploaded/tmp",files:global.root.dir+"/public/uploaded/files"}}},backend:!1,release:"",version:"",env:"development",debug:!1,callback:{login:{error:function(e){},success:function(e){},unauthorized:function(e){}},logout:function(e){},model:{save:{success:function(e){},error:function(e){}},remove:{success:function(e){},error:function(e){}},list:{success:function(e){},error:function(e){}}}},smtp:{host:"localhost",port:25,auth:{user:"root@localhost",pass:"vulpejs"}},security:{routes:[{uri:"/**",roles:["SUPER","ADMIN"]}]},pagination:{items:15,history:5},minifier:{development:!1,test:!1,production:!0}},start:function(){var e=function(){var e=vulpejs.log.server(vulpejs.app.name),s=require("http"),o=function(e){var s=parseInt(e,10);if(isNaN(s))return e;if(s>=0)return s;return!1}(process.env.PORT||vulpejs.app.ports[vulpejs.app.env]||3e3);vulpejs.express.app.set("port",o);var r=s.createServer(vulpejs.express.app);r.listen(o),r.on("error",(function(e){if("listen"!==e.syscall)throw e;var s="string"==typeof o?"Pipe "+o:"Port "+o;switch(e.code){case"EACCES":console.error(s+" requires elevated privileges"),process.exit(1);break;case"EADDRINUSE":console.error(s+" is already in use"),process.exit(1);break;default:throw e}})),r.on("listening",(function(){var s=r.address(),o="string"==typeof s?"pipe "+s:"port "+s.port;e("Listening on "+o)}))};if(vulpejs.app.cluster&&vulpejs.app.cluster[vulpejs.app.env]){var s=require("cluster"),o=require("os").cpus().length;if(s.isMaster){for(var r=0;r<o;r++)s.fork();s.on("exit",(function(e){vulpejs.log.info("Cluster","Worker "+e.process.pid+" died"),s.fork()}))}else e()}else e()}},vulpejs.app.name=e.name||"appName",e.backend&&(vulpejs.app.backend=e.backend),e.cluster&&(vulpejs.app.cluster=e.cluster),e.ports&&(vulpejs.app.ports=e.ports),e.cors&&(vulpejs.app.cors=e.cors),e.url&&(vulpejs.app.url=e.url),e.release&&(vulpejs.app.release=e.release),e.version&&(vulpejs.app.version=e.version),e.debug&&(vulpejs.app.debug=e.debug),e.callback&&(vulpejs.app.callback=e.callback),e.root&&e.root.context&&(vulpejs.app.root.context=e.root.context),e.login&&(vulpejs.app.login=e.login),e.security&&(vulpejs.app.security=e.security),vulpejs.app.security.auth||(vulpejs.app.security.auth={jwt:{secret:"vulpejs",options:{expiresIn:300}}}),e.smtp&&(vulpejs.app.smtp=e.smtp),e.env&&(vulpejs.app.env=e.env),e.pagination&&(vulpejs.app.pagination=e.pagination),e.minifier&&(vulpejs.app.minifier=e.minifier),e.uploader&&(vulpejs.app.uploader=e.uploader),e.on&&(vulpejs.app.on=e.on),e.database&&(vulpejs.app.database=e.database),e.session&&(vulpejs.app.session=e.session),e.routes&&(vulpejs.app.routes=e.routes),e.models&&(vulpejs.app.models=e.models),vulpejs.express=require("./express")(),e.i18n||(e.i18n={locales:["pt","en","es"],defaultLocale:"pt",cookie:"appLanguage",indent:"  ",directory:global.root.dir+"/locales"}),vulpejs.i18n.configure(e.i18n),vulpejs.express.app.use(vulpejs.i18n.init),setTimeout((function(){vulpejs.app.models.ignore||vulpejs.models.init(),vulpejs.routes.init(),vulpejs.mail.init(),vulpejs.app.on&&vulpejs.utils.execute(vulpejs.app.on.ready)}),100),vulpejs};
//# sourceMappingURL=/sm/c7d7aa4d9e327fd9c5c9056afd099cdea9cc3ac2a4feae1ee8a84a90379a9f3b.map