docker-volume-manager/docs/plugins.md

1.1 KiB

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:

// 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.

// 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.