0.13.0 • Published 5 years ago

@emeralt/server v0.13.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

@emeralt/server

Emeralt Node.js HTTP server module

Install

Using npm:

npm install @emeralt/server

or using yarn:

yarn add @emeralt/server

Example

// import server 
import { createEmeraltServer } from '@emeralt/server'

// import plugins - auth, database and storage
import { EmeraltAuthInMemory } from '@emeralt/auth-inmemory'
import { EmeraltDatabaseInMemory } from '@emeralt/database-inmemory'
import { EmeraltStorageInMemory } from '@emeralt/storage-inmemory'

const config: TEmeraltServerConfig = {}

// create server
createEmeraltServer({
  config: config,
  auth: EmeraltAuthInMemory(),
  database: EmeraltDatabaseInMemory(),
  storage: EmeraltStorageInMemory(),
}).then(({ server, plugins }) => {
  // listen on 8080
  server.listen(8080, () => {
    console.log('Listening on 8080')
  })
})
Config
type TEmeraltServerConfig = {
  // server url, used as tarballs url
  url: string

  // default: "development"
  logLevel?: 'silent' | 'development' | 'production'

  // redirect 404, eg. http://registry.npmjs.org
  upstream?: false

  // jsonwebtoken options
  jwt?: {
    // default: "secret"
    secret?: string

    // default: "7d"
    expiresIn?: string | number
  }

  // execute healtcheck in initialization
  // default: true
  initialHealthcheck?: boolean

  // enable specific endpoint
  // default: all true
  endpoints?: {
    ping?: boolean
    search?: boolean
    login?: boolean
    adduser?: boolean
    package?: {
      get?: boolean
      publish?: boolean
    }
    distTags?: {
      get?: boolean
      create?: boolean
      delete?: boolean
    }
    sys?: {
      healthz: boolean
    }
  }
}

Sys endpoints

Additionally, server exposes a number of system endpoints used to manage server itself.

Healthcheck

GET /-/sys/health

Healthcheck verifies that every plugin is healthy and able to serve the server needs. Returns 200 if everything is OK, 503 else

Drop data

PATCH /-/sys/dropdata

Dropdata drops all registry data. Requires authentication.

Architecture

0.13.0

5 years ago

0.12.1

5 years ago

0.12.0

5 years ago

0.11.0

5 years ago

0.10.0

5 years ago

0.9.0

5 years ago

0.8.0

5 years ago

0.7.0

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.3.0-alpha.0

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.19

5 years ago

0.0.19-alpha.2

5 years ago

0.0.19-alpha.1

5 years ago

0.0.19-alpha.0

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.6

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago