UNPKG

763 BJavaScriptView Raw
1const Proto = require('uberproto');
2const Application = require('./application');
3const version = require('./version');
4const { ACTIVATE_HOOKS, activateHooks } = require('./hooks');
5// A base object Prototype that does not inherit from a
6// potentially polluted Object prototype
7const baseObject = Object.create(null);
8
9function createApplication () {
10 const app = Object.create(baseObject);
11
12 // Mix in the base application
13 Proto.mixin(Application, app);
14
15 app.init();
16
17 return app;
18}
19
20createApplication.version = version;
21createApplication.ACTIVATE_HOOKS = ACTIVATE_HOOKS;
22createApplication.activateHooks = activateHooks;
23
24module.exports = createApplication;
25
26// For better ES module (TypeScript) compatibility
27module.exports.default = createApplication;