morpha
Version:
A Web-IDE or Desktop-IDE creator.
65 lines (45 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _keys = require('babel-runtime/core-js/object/keys');
var _keys2 = _interopRequireDefault(_keys);
exports.default = createApplication;
var _ClientApplication = require('./ClientApplication');
var _ClientApplication2 = _interopRequireDefault(_ClientApplication);
var _client = require('./services/envService/client');
var _client2 = _interopRequireDefault(_client);
var _client3 = require('./services/electronService/client');
var _client4 = _interopRequireDefault(_client3);
var _client5 = require('./services/ipcService/client');
var _client6 = _interopRequireDefault(_client5);
var _client7 = require('./services/mochaService/client');
var _client8 = _interopRequireDefault(_client7);
var _loadPackages = require('../common/loadPackages');
var _loadPackages2 = _interopRequireDefault(_loadPackages);
var _utils = require('./common/utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createApplication() {
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var app = new _ClientApplication2.default(args);
app.loadServices([(0, _client2.default)(args), _client4.default, _client6.default]);
if (args.readyLoadPackages && args.readyLoadPackages.length > 0) {
args.readyLoadPackages.forEach(function (thePack) {
var packs = (0, _loadPackages2.default)(thePack, { isClient: true }, app.getPackages());
(0, _keys2.default)(packs).map(function (key) {
var pack = packs[key];
var fn = (0, _utils.safeRequire)(pack.main);
app.loadService({
name: pack.name,
dependencies: pack.dependencies,
styles: pack.styles,
fn: fn.default || fn
});
});
});
}
if (args.test) {
app.loadService(_client8.default);
}
return app;
}