Skip to Content
🎉 Hyperse Wizard has been published.
DocumentationCustom Plugin

How to create a custom plugin

A plugin is a function that accepts a Wizard instance and returns a Wizard instance.

Usage

plugin.ts
import { definePlugin, createWizard } from '@hyperse/wizard'; // define plugin export const createNewPlugin = () => { return definePlugin({ // locale message key name: 'plugins.newPlugin.name', localeMessages: versionMessages, setup: (wizard) => { let cli = wizard.register( defineCommand('print', { // locale message key description: 'plugins.newPlugin.command.description', }).handler(() => { process.stdout.write('hello world'); }) ); return cli; }, }); }; // use plugin const cli = createWizard({ name: 'hps_cli', // locale message key description: 'cli.versionCli.description', version: (t) => { // locale message key return t('cli.versionCli.version', { version: '1.0.0' }); }, localeMessages: versionCliMessages, errorHandler: (e) => { console.log('CLI errorHandler \n', e); }, }) .use(createNewPlugin()) .parse(); // execute command // node ./cli.js print
Last updated on