mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
- Add distinction between `getInstance` and `getInstanceOrCreate` since it is not always possible to create an instance (since you might not know the correct arguments) - Remove all the `export const *Store = *Store.getInstance<*Store>();` calls as it defeats the purpose of `Singleton`. Plus with the typing changes the appropriate `*Store.getInstance()` is "short enough". - Special case the two extension export facades to not need to use `getInstanceOrCreate`. Plus since they are just facades it is always possible to create them. - Move some other types to be also `Singleton`'s: ExtensionLoader, ExtensionDiscovery, ThemeStore, LocalizationStore, ... - Fixed dev-run always using the same port with electron inspect - Update Store documentation with new recommendations about creating instances of singletons - Fix all unit tests to create their dependent singletons Signed-off-by: Sebastian Malton <sebastian@malton.name>
38 lines
2.3 KiB
Markdown
38 lines
2.3 KiB
Markdown
# Extension Guides
|
|
|
|
This section explains how to use specific Lens Extension APIs.
|
|
It includes detailed guides and code samples.
|
|
For introductory information about the Lens Extension API, please see [Your First Extension](../get-started/your-first-extension.md).
|
|
|
|
Each guide or code sample includes the following:
|
|
|
|
- Clearly commented source code.
|
|
- Instructions for running the sample extension.
|
|
- An image showing the sample extension's appearance and usage.
|
|
- A listing of the Extension API being used.
|
|
- An explanation of the concepts relevant to the Extension.
|
|
|
|
## Guides
|
|
|
|
| Guide | APIs |
|
|
| ----- | ----- |
|
|
| [Generate new extension project](generator.md) ||
|
|
| [Main process extension](main-extension.md) | LensMainExtension |
|
|
| [Renderer process extension](renderer-extension.md) | LensRendererExtension |
|
|
| [Stores](stores.md) | |
|
|
| [Components](components.md) | |
|
|
| [KubeObjectListLayout](kube-object-list-layout.md) | |
|
|
| [Working with mobx](working-with-mobx.md) | |
|
|
| [Protocol Handlers](protocol-handlers.md) | |
|
|
|
|
## Samples
|
|
|
|
| Sample | APIs |
|
|
| ----- | ----- |
|
|
[hello-world](https://github.com/lensapp/lens-extension-samples/tree/master/helloworld-sample) | LensMainExtension <br> LensRendererExtension <br> Component.Icon <br> Component.IconProps |
|
|
[minikube](https://github.com/lensapp/lens-extension-samples/tree/master/minikube-sample) | LensMainExtension <br> Store.ClusterStore <br> Store.workspaceStore |
|
|
[styling-css-modules-sample](https://github.com/lensapp/lens-extension-samples/tree/master/styling-css-modules-sample) | LensMainExtension <br> LensRendererExtension <br> Component.Icon <br> Component.IconProps |
|
|
[styling-emotion-sample](https://github.com/lensapp/lens-extension-samples/tree/master/styling-emotion-sample) | LensMainExtension <br> LensRendererExtension <br> Component.Icon <br> Component.IconProps |
|
|
[styling-sass-sample](https://github.com/lensapp/lens-extension-samples/tree/master/styling-sass-sample) | LensMainExtension <br> LensRendererExtension <br> Component.Icon <br> Component.IconProps |
|
|
[custom-resource-page](https://github.com/lensapp/lens-extension-samples/tree/master/custom-resource-page) | LensRendererExtension <br> K8sApi.KubeApi <br> K8sApi.KubeObjectStore <br> Component.KubeObjectListLayout <br> Component.KubeObjectDetailsProps <br> Component.IconProps |
|