upmk docs

Basics Commands install secrets deploy dev dyna build generate package pull push filters Templating Dynamic Pages Redirects JSON endpoints Auth Serving Files Editor Templates AddOns Plugins

Plugins

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

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