A remi extension that allows registering plugins that are returning promises during their registration or are registered synchronously
npm install remi-runner
const remi = require('remi')
const remiRunner = require('remi-runner')
const app = {}
const registrator = remi(app)
registrator.hook(remiRunner())
registrator.register([cbPlugin, promisePlugin, syncPlugin])
// a traditional plugin that uses an error-first-callback
// this will work w/o using the remi-runner
function cbPlugin(app, opts, next) {
// ...
next()
}
cbPlugin.attributes = { name: 'cbPlugin' }
// a plugin that returns a Promise. This type of plugin will be registered correctly
// only if remi is hooked with remi-runner
function promisePlugin(app, opts) {
// ...
return Promise.resolve()
}
cbPlugin.attributes = { name: 'promisePlugin' }
// a synchronous plugin. This type of plugin will be registered correctly
// only if remi is hooked with remi-runner
function syncPlugin(app, opts) {
// ...
}
cbPlugin.attributes = { name: 'syncPlugin' }
MIT © Zoltan Kochan