docker-volume-manager/docs/plugins.md

48 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

2024-08-07 10:43:19 +02:00
# Plugin guide for docker-volume-manager
Plugins allow you to add features to docker-volume-manager, such as commands and
extensions to the `toolbox` object that provides the majority of the functionality
used by docker-volume-manager.
Creating a docker-volume-manager plugin is easy. Just create a repo with two folders:
```
commands/
extensions/
```
A command is a file that looks something like this:
```js
// commands/foo.js
module.exports = {
run: (toolbox) => {
const { print, filesystem } = toolbox
const desktopDirectories = filesystem.subdirectories(`~/Desktop`)
print.info(desktopDirectories)
}
}
```
An extension lets you add additional features to the `toolbox`.
```js
// extensions/bar-extension.js
module.exports = (toolbox) => {
const { print } = toolbox
toolbox.bar = () => { print.info('Bar!') }
}
```
This is then accessible in your plugin's commands as `toolbox.bar`.
# Loading a plugin
To load a particular plugin (which has to start with `docker-volume-manager-*`),
install it to your project using `npm install --save-dev docker-volume-manager-PLUGINNAME`,
and docker-volume-manager will pick it up automatically.