kibana/docs/developer/getting-started/monorepo-packages.asciidoc
Tiago Costa fb34ba0337
chore(NA): moving @kbn/logging into bazel (#98564)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-04-28 16:01:22 +01:00

78 lines
1.7 KiB
Plaintext

[[monorepo-packages]]
== {kib} Monorepo Packages
Currently {kib} 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:
[source,bash]
----
yarn kbn bootstrap
----
[discrete]
=== Building Non Bazel Packages
Non Bazel packages can be built independently with
[source,bash]
----
yarn kbn run build -i PACKAGE_NAME
----
[discrete]
=== Watching Non Bazel Packages
Non Bazel packages can be watched independently with
[source,bash]
----
yarn kbn watch -i PACKAGE_NAME
----
[discrete]
=== Building Bazel Packages
Bazel packages are built as a whole for now. You can use:
[source,bash]
----
yarn kbn build-bazel
----
[discrete]
=== Watching Bazel Packages
Bazel packages are watched as a whole for now. You can use:
[source,bash]
----
yarn kbn watch-bazel
----
[discrete]
=== List of Already Migrated Packages to Bazel
- @elastic/datemath
- @elastic/safer-lodash-set
- @kbn/apm-config-loader
- @kbn/apm-utils
- @kbn/babel-code-parser
- @kbn/babel-preset
- @kbn/config-schema
- @kbn/expect
- @kbn/logging
- @kbn/std
- @kbn/tinymath
- @kbn/utility-types
- @kbn/utils