Skip to content

customer-portal-labs/shield-server

Repository files navigation

Shield Server

Build Status npm version shield: project TypeScript code style: prettier codecov License: MIT

Shield Server is a express middlewares bundle, which could help developer to bootstrap a backend project in few minutes.

The features provided by Shield Server

Top features are powered by following popular middlewares:

Getting Started

Installation

npm install @cplabs/shield-server

# or use yarn

yarn add @cplabs/shield-server

Usage

Codeless mode

# Default
shield-server .
Codeless CLI Configuration
  • --port
  • --cors
  • --debug
  • --history-api-fallback
  • --ssl-cert
  • --ssl-key

Middleware mode

const express = require('express');
const {
  defaultMiddlewares,
  defaultErrorHandlers,
  logger,
} = require('@cplabs/shield-server');

const app = express();

app.use(defaultMiddlewares());
app.use(defaultErrorHandlers());

app.listen(8080, () => {
  logger.info(`Server start...`);
});

Configuration

Default configs

const defaultConfig: ShieldConfig = {
name: 'shield-server',
compression: true,
cors: true,
mode: 'static',
morganFormat: 'combined',
port: 8080,
debug: false,
splunk: {
httpRequest: false,
},
historyApiFallback: false,
helmetOption: {
contentSecurityPolicy: false,
referrerPolicy: false,
},
loggerLevel: 'info',
requestBodySize: '100kb',
};

Options

name

type String

The application name

compression

cors

corsOption

mode

  • static
  • api
  • fullstack

morganFormat

  • combined
  • common
  • dev
  • short
  • tiny

port

type int

default 8080

debug

type boolean

default false

ssl

splunk

splunk.httpRequest
splunk.

staticDir

publicPath

proxies

rewrite

historyApiFallback

helmetOption

loggerLevel

requestBodySize