Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 1.97 KB

File metadata and controls

50 lines (40 loc) · 1.97 KB

Plugin tooling

Automatic plugin generator

We recommend that you kick-start your plugin by generating it with the {kib-repo}tree/{branch}/packages/kbn-plugin-generator[{kib} Plugin Generator]. Run the following in the {kib} repo, and you will be asked a couple of questions, see some progress bars, and have a freshly generated plugin ready for you to play with in {kib}'s plugins folder.

node scripts/generate_plugin my_plugin_name # replace "my_plugin_name" with your desired plugin name

Plugin location

The {kib} directory must be named kibana, and your plugin directory should be located in the root of kibana in a plugins directory, for example:

.
└── kibana
    └── plugins
        ├── foo-plugin
        └── bar-plugin

Build plugin distributable

Warning
{kib} distributable is not shipped with @kbn/optimizer anymore. You need to pre-build your plugin for use in production.

You can leverage {kib-repo}blob/{branch}/packages/kbn-plugin-helpers[@kbn/plugin-helpers] to build a distributable archive for your plugin. The package transpiles the plugin code, adds polyfills, and links necessary js modules in the runtime. You don’t need to install the plugin-helpers: the package.json is already pre-configured if you created your plugin with node scripts/generate_plugin script. To build your plugin run within your plugin folder:

yarn build

It will output a`zip` archive in kibana/plugins/my_plugin_name/build/ folder.

Install a plugin from archive

Run {kib} with your plugin in dev mode

Run yarn start in the {kib} root folder. Make sure {kib} found and bootstrapped your plugin:

[info][plugins-system] Setting up […] plugins: […, myPluginName, …]