react-torch
Version:
A lib to server-side render with react.
36 lines (35 loc) • 1.41 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var express_1 = __importDefault(require("express"));
var morgan_1 = __importDefault(require("morgan"));
var cookie_parser_1 = __importDefault(require("cookie-parser"));
var compression_1 = __importDefault(require("compression"));
var serve_favicon_1 = __importDefault(require("serve-favicon"));
var helmet_1 = __importDefault(require("helmet"));
var body_parser_1 = __importDefault(require("body-parser"));
function createServer(config) {
var isDev = process.env.NODE_ENV === 'development';
var loggerFormat = isDev ? 'dev' : 'common';
var cookieParserSecret = isDev ? 'torch' : '__TORCH__';
var app = (0, express_1.default)();
// helmet
app.use((0, helmet_1.default)());
// compression
app.use((0, compression_1.default)());
// favicon
if (config.favicon) {
app.use((0, serve_favicon_1.default)(config.favicon));
}
// logger
app.use((0, morgan_1.default)(loggerFormat));
// body parser
app.use(body_parser_1.default.json());
app.use(body_parser_1.default.urlencoded({ extended: false }));
// cookie parser
app.use((0, cookie_parser_1.default)(cookieParserSecret));
return app;
}
exports.default = createServer;