@leafage/server
Version:
The React Server Side Render Framework
54 lines (51 loc) • 1.68 kB
JavaScript
/**
* @leafage/server v1.3.2
*
* Copyright (c) Leafage.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/
import express from 'express';
import 'express-async-errors';
import { utils, logger } from '@leafage/toolkit';
import { createRenderer } from '@leafage/renderer';
import { basePreset } from './presets/base.js';
import { devPreset } from './presets/dev.js';
import { staticPreset } from './presets/static.js';
import { proxyPreset } from './presets/proxy.js';
import { serverPreset } from './presets/server.js';
import { routerPreset } from './presets/router.js';
import { errorPreset } from './presets/error.js';
var startServer = function startServer(app, context) {
app.listen(context.options.server.port, context.options.server.host, function () {
context.callHook('server:start');
logger.ready({
message: "Server listening on http://".concat(context.options.server.host, ":").concat(context.options.server.port),
badge: true
});
});
};
var createServer = function createServer(context) {
var app = express();
var renderer = createRenderer(context);
context.callHook('server:create');
context.runWithContext(function () {
utils.applyPresets({
app: app,
context: context,
options: context.options,
renderer: renderer,
isDev: context.options.dev
}, [basePreset, devPreset, staticPreset, proxyPreset, serverPreset, routerPreset, errorPreset]);
});
return {
app: app,
start: function start() {
return startServer(app, context);
}
};
};
export { createServer };