Monodeploy

View GitHub Project

Plugins

You can add a plugin via a config file or CLI:

plugins: ['@monodeploy/plugin-github']
yarn monodeploy --plugins @monodeploy/plugin-github

A plugin is a module which exports a function as the default. This function takes PluginHooks as the first argument and plugin options as the second.

Plugin options can only be passed through a config file, and are not supported through the command line.

Note: when passing options to a plugin, the plugin entry must be an array with the plugin name first and the options second

plugins: [
'@monodeploy/plugin-without-options',
['@monodeploy/plugin-with-options', { someArbitraryOption: 'value' }]
]

You can then "tap" into the hooks.

Available Plugins

GitHub

Plugin: @monodeploy/plugin-github.

The GitHub plugin creates GitHub releases. It requires a GH_TOKEN environment variable which should be set to a Personal Access Token with write access to GitHub releases.

By default, implicit version updates do not get a dedicated release. To change this behaviour, set includeImplicitUpdates to true:

plugins: [
['@monodeploy/plugin-github', { includeImplicitUpdates: true }]
]

Plugin Development

We use tapable for an experimental plugin system.

Hooks

onReleaseAvailable

This hook is triggered once a release is available, after publishing to npm, and after pushing any artifacts such as git tags to the repository (assuming running with autoCommit and push mode).