Kibana Monorepo Packages

edit

Currently Kibana works as a monorepo composed by a core, plugins and packages. The latest are located in a folder called packages and are pieces of software that composes a set of features that can be isolated and reused across the entire repository. They are also supposed to be able to imported just like any other node_module.

Previously we relied solely on @kbn/pm to manage the development tools of those packages, but we are now in the middle of migrating those responsibilities into Bazel. Every package already migrated will contain in its root folder a BUILD.bazel file and other build and watching strategies should be used.

Remember that any time you need to make sure the monorepo is ready to be used just run:

yarn kbn bootstrap

Building Non Bazel Packages

edit

Non Bazel packages can be built independently with

yarn kbn run build -i PACKAGE_NAME

Watching Non Bazel Packages

edit

Non Bazel packages can be watched independently with

yarn kbn watch -i PACKAGE_NAME

Building Bazel Packages

edit

Bazel packages are built as a whole for now. You can use:

yarn kbn build-bazel

Watching Bazel Packages

edit

Bazel packages are watched as a whole for now. You can use:

yarn kbn watch-bazel

List of Already Migrated Packages to Bazel

edit
  • @elastic/datemath
  • @kbn/apm-utils
  • @kbn/babel-preset
  • @kbn/config-schema
  • @kbn/tinymath
  • @kbn/utility-types