Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

@artlife/micro

0.0.67 • Public • Published

micro

A tiny and very opinionated microservices framework inspired by expressjs.

This library hosts all the common and boring features shared between our microservices.

WARNING: This library is a work in progress and isn't intended to be general purpose.

Things like:

  • logging
  • basic error handling
  • metrics
  • health checks
  • tracing requests and events across services

Environment variables

Configuration of the microserver can be done via environment variables (if not configure specifically in the code):

  • HOST - Sets the host for the REST API (defaults to 0.0.0.0).
  • PORT - Sets the port number for the REST API (defaults to 3000).
  • MESSAGING_HOST - Sets the connection to the RabbitMQ server (defaults to amqp://guest:guest@localhost:5672).
  • NODE_ENV - When set to PRODUCTION Morgan request tracing is disabled.
  • ENABLE_MORGAN - When set to "true" Morgan request tracing is enabled (can be used to enable request tracing in production).

Installation

npm install --save @artlife/micro

Example Usage

For an example use, please see the template microservice:

https://github.com/artlife-solutions/template-microservice

Building the code

Open folder in Visual Studio Code and hit Ctrl+Shift+B

Or run

npm run build

Or

npx tsc

Tests

Run

npm test

Or

npm run test:watch

Or

npx mocha --opts ./src/test/mocha.opts

Or

npx mocha --watch --watch-extensions ts --opts ./src/test/mocha.opts

Debugging

Debugging the command line app

  • Open in Visual Studio Code.
  • Select 'Main' debug configuration.
  • Set your breakpoints.
  • Hit F5 to run.

Debugging the tests

  • Open in Visual Studio Code.
  • Select 'Mocha' debug configuration.
  • Open the test source file to execute.
  • Set your breakpoints.
  • Hit F5 to run.

Keywords

none

Install

npm i @artlife/[email protected]

Version

0.0.67

License

MIT

Unpacked Size

73.1 kB

Total Files

13

Last publish

Collaborators

  • avatar