mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 10:40:07 -04:00
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. |
||
---|---|---|
.. | ||
src | ||
index.ts | ||
jest.config.js | ||
kibana.jsonc | ||
package.json | ||
README.mdx | ||
tsconfig.json |
--- id: kibDevDocsOpsKibanaManifestSchema slug: /kibana-dev-docs/ops/kibana-manifest-schema title: "@kbn/kibana-manifest-schema" description: The JSON schema for Kibana manifest files date: 2022-05-24 tags: ['kibana', 'dev', 'contributor', 'operations', 'json', 'schema', 'manifest'] --- This package exposes JSON-Schema definitions for the `kibana.json` and `kibana.jsonc` manifest files. The JSON-Schemas are not used for validation, but are instead installed in the `.vscode` directory to provide autocomplete for these files in VSCode.