Package Exports
- fastify-plugin
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (fastify-plugin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
fastify-plugin
fastify-plugin
is a plugin helper for Fastify.
When you build plugins for Fastify and you want that them to be accessible in the same context where you require them, you have two ways:
- Use the
skip-override
hidden property - Use this module
In addition if you use this module when creating new plugins, you can declare the dependencies, the name and the expected Fastify version that your plugin needs.
Usage
fastify-plugin
can do three things for you:
- Add the
skip-override
hidden property - Check the bare-minimum version of Fastify
- Pass some custom metadata of the plugin to Fastify
Example:
const fp = require('fastify-plugin')
module.exports = fp(function (fastify, opts, next) {
// your plugin code
next()
})
If you need to set a bare-minimum version of Fastify for your plugin, just add the semver range that you need:
const fp = require('fastify-plugin')
module.exports = fp(function (fastify, opts, next) {
// your plugin code
next()
}, { fastify: '0.x' })
You can check here how to define a semver
range.
You can also pass some metadata that will be handled by Fastify, such as the dependencies of your plugin.
const fp = require('fastify-plugin')
function plugin (fastify, opts, next) {
// your plugin code
next()
}
module.exports = fp(plugin, {
fastify: '0.x',
dependencies: {
fastify: ['plugin1', 'plugin2'],
reply: ['compress']
}
})
Acknowledgements
This project is kindly sponsored by:
License
Licensed under MIT.