Kuzzle loads plugins as Node.js requirable modules.
This means that a plugin directory must contain either:
- a valid
package.jsonfile. If the plugin's entrypoint is not the
index.jsfile in the plugin's root directory, then the "main" property must be filled
Kuzzle needs a few informations to make your plugin work properly. These informations must be provided in a
manifest.json file, in the plugin directory.
The following properties can be defined in this
name(required): Plugin unique identifier. Names can only contain lowercase letters, numbers, hyphens and underscores.
kuzzleVersion: a non-empty string describing a semver range, limiting the range of Kuzzle versions supported by this Plugin. If not set, a warning is displayed on the console, and Kuzzle assumes that the Plugin is only compatible with Kuzzle v1.x
Deprecated since Kuzzle 1.5.0Kuzzle still allows plugins to be loaded without a `manifest.json` file, for backward compatibility reasons, falling back to [the `package.json` file](https://docs.npmjs.com/files/package.json#name) to retrieve a plugin's name. This will change in next major releases of Kuzzle.