kibana/packages/kbn-plugin-discovery
Spencer 4f817ad8a0
[kbn/pm] rewrite to avoid needing a build process (#136207)
* [kbn/pm] rewrite to avoid needing a build process

* uncomment timing reporting

* throw in a few missing comments

* Update README.md

* remove extra SomeDevLog interface from ci-stats-core

* remove non-stdio logging from bazel_runner, improve output formatting

* use private fields instead of just ts private props

* promote args to a positional arg

* optionally require the ci-stats-reporter after each command

* allow opt-ing out of vscode config management

* reduce to a single import

* add bit of docs regarding weird imports and package deps of kbn/pm

* clean extraDirs from Kibana's package.json file too

* tweak logging of run-in-packages to use --quiet and not just CI=true

* remove unlazy-loader

* add readme for @kbn/yarn-lock-validator

* convert @kbn/some-dev-logs docs to mdx

* remove missing navigation id and fix id in dev-cli-runner docs

* fix title of some-dev-logs docs page

* typo
2022-07-18 08:46:13 -07:00
..
src [kbn/pm] rewrite to avoid needing a build process (#136207) 2022-07-18 08:46:13 -07:00
BUILD.bazel [kbn/pm] rewrite to avoid needing a build process (#136207) 2022-07-18 08:46:13 -07:00
package.json [plugin-discovery] move logic to a package (#128684) 2022-03-29 13:19:58 -06:00
README.mdx [kbn/pm] rewrite to avoid needing a build process (#136207) 2022-07-18 08:46:13 -07:00
tsconfig.json [kbn/pm] rewrite to avoid needing a build process (#136207) 2022-07-18 08:46:13 -07:00

---
id: kibDevDocsOpsPluginDiscovery
slug: /kibana-dev-docs/ops/plugin-discovery
title: "@kbn/plugin-discovery"
description: A package with logic used to find plugins in the repository
date: 2022-06-06
tags: ['kibana', 'dev', 'contributor', 'operations', 'plugin', 'discovery']
---

At the moment plugins can live in a couple of different places and in the future will be able 
to live anywhere in the repository. This is a package that holds custom logic useful to find and 
parse those.

## API

### parseKibanaPlatformPlugin

It returns a platform plugin for a given manifest path

### getPluginSearchPaths

It returns the paths where plugins will be searched for

### simpleKibanaPlatformPluginDiscovery

It finds and returns the new platform plugins 

## NOTE:

This code is needed in order to properly bootstrap the repository. As such, it can't have any NPM dependencies or require being built. This code is loaded directly into the node.js process that boostraps the repository from source while also being built into a package and exposed to the rest of the package system. Please consider this when making any changes to the source.

The code is still type-checked as JS with JSDoc comments, and a single .ts file which provides interfaces to the JS validation and are publically available to package consumers.