npm.io
1.3.0 • Published 1 year ago

@zvs001/express

Licence
Version
1.3.0
Deps
14
Size
187 kB
Vulns
0
Weekly
0

Express with minimal shared setup. Also includes some shared middlewares

npm

Install

yarn add @zvs001/express

Usage

Configure server

import { createServer, createIPRateLimitMiddleWare, createRequestLogger } from '@zvs001/express'
import bodyParser from 'body-parser'
import redisClient from '@libs/redis'

const isTest = process.env.NODE_ENV === 'test'

function createAppServer() {
  const app = createServer()

  app.use(bodyParser.json())

  if (!isTest) app.use(createRequestLogger())

  app.use([
    createIPRateLimitMiddleWare({
      serviceName: 'my-service',
      redisClient,
    }),
  ])

  return app
}

export default createAppServer

Apply server

import { applyPostMiddleWares } from '@zvs001/express/src/middlewares'
import adminRouter from './api/admin/router'
import createServer from './lib/express/createServer'

const server = createServer()

server.use('/admin', adminRouter)

applyPostMiddleWares(server)

Keywords