@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
53 lines (42 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.serviceSetup = serviceSetup;
var _sockets = require("./sockets");
var _express = require("./express");
var _spy = require("./spy");
var _env = require("../shared/env");
var _background = require("./background");
async function buildDeps(config, logger) {
var _config$buildDeps, _config$buildDeps2;
const d = await ((_config$buildDeps = (_config$buildDeps2 = config.buildDeps) === null || _config$buildDeps2 === void 0 ? void 0 : _config$buildDeps2.call(config)) !== null && _config$buildDeps !== void 0 ? _config$buildDeps : Promise.resolve({}));
const deps = Object.assign({
logger
}, d);
return deps;
}
async function serviceSetup(server, config, params, logger) {
const deps = await buildDeps(config, logger);
const spy = await (0, _spy.setupSpy)(config, deps);
const background = await (0, _background.setupBackground)(config, deps);
const app = await (0, _express.setupExpress)(server, config, deps);
const ws = await (0, _sockets.setupSockets)(server, config, deps);
return async mode => {
await ws(mode);
await app(mode);
await background(mode);
await spy(mode);
if (mode === 'watch-mode') {
const shouldLoadEnvFiles = typeof config.shouldLoadEnvFiles === 'boolean' ? config.shouldLoadEnvFiles : true;
if (shouldLoadEnvFiles) {
await (0, _env.loadEnv)({
envFile: params.envFile,
reset: true,
logger
});
}
}
};
}
//# sourceMappingURL=index.js.map