kibana/packages/kbn-repo-packages
Spencer 376bed5d16
implement "plugin" package type (#149370)
This PR updates the core discovery logic to support loading plugins from
packages. This logic is additive, so that the existing plugins in the
repo and third-party plugins can continue to be loaded via the existing
mechanism, but with https://github.com/elastic/kibana/pull/148130 we
will be automatically migrating all plugins in the repo to packages,
which will use this logic.

The logic is already in-use in that PR, and was developed there, but
extracted here for easier review.

The logic is relatively simple, where a list of packages in the repo are
attached to the core `Env` and then filtered by core before converting
all plugin packages to `PluginWrapper`. The `PluginWrapper` still
exposes the plugin manifest to the rest of the code, and it is used in
many places, so rather than making changes to the `PluginWrapper` I'm
faking a legacy plugin manifest with the plugin package manifest.

@elastic/kibana-core: I'm going to need some help identifying what we
need to get test coverage for. This is a pretty simple addition to the
core IMO, and if it didn't work then nothing would work, so I'm pretty
confident in it, but would still appreciate your feedback.
2023-01-30 10:47:53 -07:00
..
legacy Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
modern implement "plugin" package type (#149370) 2023-01-30 10:47:53 -07:00
utils Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
BUILD.bazel Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
index.js implement "plugin" package type (#149370) 2023-01-30 10:47:53 -07:00
jest.config.js Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
kibana.jsonc Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
package.json Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
README.md Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
tsconfig.json Implement package linter (#148496) 2023-01-09 16:49:29 -07:00

@kbn/repo-packages

APIs for dealing with packages in the Kibana repo