Skip to content

Berkmann18/ServerBuilder

Repository files navigation

ServerBuilder

NPM Inline docs

devDependencies Status dependencies Status

GH Downloads GitHub commit activity the past year GitHub contributors Github search hit counter

Build Status codecov.io Code Coverage mocha Known Vulnerabilities

GitHub contributions welcome Commitizen friendly Dependabot Status

GitHub top language GitHub language count GitHub code size in bytes

BCH compliance Codacy Badge

It's a simple NodeJS/Express server builder allowing you to get a working server up in just a few lines.

Install

To install it you need to run the following:

npm i serverbuilder

Note: Don't forget to use -g, --save, --save-dev if appropriate.

Usage

  • Using HTTP/1:
const app = require('express')(),
      Server = require('serverbuilder');
const options = {
  name: 'My Server',
  publicIP: true
};

const server = new Server(app, process.env.PORT || 3e3, options);
server
  .run()
  .then(serv => app.set('port', serv.port), console.error);
  • Or with HTTPS/1:
const fs = require('fs'),
      app = require('express')(),
      Server = require('serverbuilder');

const options = {
  name: 'My Server',
  useHttps: true,
  securityOptions: {
    key: fs.readFileSync('server-key.pem'),
    cert: fs.readFileSync('server-cert.pem')
  },
  publicIP: true
};

const server = new Server(app, process.env.PORT || 3e3, options);
server
  .run()
  .then(serv => app.set('port', serv.port), console.error);
  • Or with HTTP/2:
const fs = require('fs'),
      app = require('express')(),
      Server = require('serverbuilder');

const options = {
  name: 'My Server',
  useHttp2: true,
  securityOptions: {
    key: fs.readFileSync('server-key.pem'),
    cert: fs.readFileSync('server-cert.pem')
  },
  publicIP: true
};

const server = new Server(app, process.env.PORT || 3e3, options);
server
  .run()
  .then(serv => app.set('port', serv.port), console.error);

Contribution

If you discover bugs, errors or/and have suggestions/feedback please create an issue or/and submit a PR.

If you want to contribute, make sure you stick with the coding style that ESLint is enforcing (cf. configuration file). To check if a file stick to the standards:

eslint -c ./config/.eslintrc.js yourFile.js
#Or `npm lint` if appropriate

To fix formatting errors and such, run: Same as above but with --fix at the end. Fore more details, please check the contribution guideline.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Maximilian Berkmann

πŸ› πŸ’» πŸ“– πŸ€” πŸ’¬ πŸ‘€ πŸ›‘οΈ ⚠️

Dependabot

πŸ”§ πŸ›‘οΈ

Semantic Release Bot

πŸ“– πŸ“¦

Snyk bot

πŸ›‘οΈ

This project follows the all-contributors specification. Contributions of any kind welcome!

License

MIT