2.0.2 • Published 5 years ago

hemera-plugin v2.0.2

Weekly downloads
2,672
License
MIT
Repository
github
Last release
5 years ago

Hemera-plugin package

npm styled with prettier

hemera-plugin is a plugin helper for Hemera.

Usage

hemera-plugin can do some things for you:

  • Check the bare-minimum version of Hemera
  • Provide consistent interface to register plugins even when the api is changed
  • Pass metadata to intialize your plugin with correct dependencies, default options and name.
const hp = require('hemera-plugin')

module.exports = hp(function(hemera, opts, next) {
  next()
})

If you need to set a bare-minimum version of Hemera for your plugin, just add the semver range that you need:

const hp = require('hemera-plugin')

module.exports = hp(function(hemera, opts, next) {
  next()
}, '0.x')

You can check here how to define a semver range.

Async / Await

const hp = require('hemera-plugin')

module.exports = hp(async function(hemera, opts) {
  // your plugin code
}, '0.x')

You can also pass some metadata that will be handled by Hemera, such as the dependencies, default options and the name of your plugin.

const hp = require('hemera-plugin')

function plugin(hemera, opts, next) {
  // your plugin code
  next()
}

module.exports = hp(plugin, {
  hemera: '0.x', // bare-minimum version of Hemera
  name: 'my-plugin', // name of your plugin, will be used e.g for logging purposes
  scoped: false, // when false no hemera plugin is created. This is useful if you want to extend the core but don't need a seperate plugin scope.
  options: { host: 'localhost', port: 8003 }, // default options for your plugin
  // Plugin dependencies
  decorators: ['joi'],
  dependencies: ['plugin2']
})

Credits

fastify-plugin