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