Files
pwcli/docs/plugins.md
T
2022-01-19 07:28:09 +01:00

1.0 KiB

Plugin guide for pwcli

Plugins allow you to add features to pwcli, such as commands and extensions to the toolbox object that provides the majority of the functionality used by pwcli.

Creating a pwcli 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 pwcli-*), install it to your project using npm install --save-dev pwcli-PLUGINNAME, and pwcli will pick it up automatically.