Description
openedon Jul 14, 2020
With our plan to remove support for legacy plugins in an upcoming minor version, we should ensure that the tooling is in place to support building and installing Kibana Platform plugins. While some things "work" today, there is no real supported workflow for getting a 3rd party plugin working in production.
Generating
The plugin-generator has already been updated. I do not expect any significant changes required here.
Building
Currently, there is no immediately obvious way to build a plugin for installation in a distributable Kibana. We need some way for developers to build their plugins, and at a minimum, we should support:
- Building frontend assets using
@kbn/optimizer
- Transpiling server-side code
- Bundling dependencies
- Creating a zip archive for installation
Previously, the plugin-generator
would include a package.json script for building a zip archive by leveraging the plugin-helpers
package. This package handles most of these tasks already, except for the @kbn/optimizer
piece. We can probably add some steps to this package to make it suitable for what we need. Once that is in place, we should consider updating plugin-generator
to include this script by default.
Side note: Ideally we'd use the same scripts for building 1st party plugins and 3rd party ones.
Installing
Currently, the only way to "install" a Platform plugin is by unpacking the plugin in the plugins
directory. For legacy plugins, we have the kibana-plugin
CLI for installing and removing plugins. We should update for anything we need to support platform plugins, including a version check against the kibana.json
file. #56482
Related: