mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Restructure to monorepo (#6907)
* wip: restructure to monorepo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor create-release-pr to a package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * github workflow fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix typo Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * add webpack-env types to core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix github workflows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * refactor/fix integration tests Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * lint fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * yarn run dev Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * eslint settings for vscode Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * move templates to right package Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * open-lens build fixes Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * integration test fix Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix nx task dependencies Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * use bash shell for unit tests in test workflow Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix test:unit for windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix win-ca webpack error in open-lens Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * fix build:app on windows Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove ELECTRON_BUILDER_EXTRA_ARGS Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * sync src/ from master Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> * remove Makefile from core Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com> Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
1 parent
0066ca4ea2
commit
2657df2293
3321 files changed
+28699
-11447
No files matched your search
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
|
||||
import type { CatalogCategory, CatalogEntity } from "../../common/catalog";
|
||||
import type { CatalogEntityOnBeforeRun } from "../../renderer/api/catalog/entity/registry";
|
||||
import type { Disposer } from "../../common/utils";
|
||||
import catalogCategoryRegistryInjectable from "../../common/catalog/category-registry.injectable";
|
||||
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
|
||||
import catalogEntityRegistryInjectable from "../../renderer/api/catalog/entity/registry.injectable";
|
||||
import activeKubernetesClusterInjectable from "../../renderer/cluster-frame-context/active-kubernetes-cluster.injectable";
|
||||
|
||||
export const catalogCategories = asLegacyGlobalForExtensionApi(catalogCategoryRegistryInjectable);
|
||||
|
||||
const internalEntityRegistry = asLegacyGlobalForExtensionApi(catalogEntityRegistryInjectable);
|
||||
|
||||
export class CatalogEntityRegistry {
|
||||
/**
|
||||
* Currently active/visible entity
|
||||
*/
|
||||
get activeEntity() {
|
||||
return internalEntityRegistry.activeEntity;
|
||||
}
|
||||
|
||||
get entities(): Map<string, CatalogEntity> {
|
||||
return internalEntityRegistry.entities;
|
||||
}
|
||||
|
||||
getById(id: string) {
|
||||
return this.entities.get(id);
|
||||
}
|
||||
|
||||
getItemsForApiKind<T extends CatalogEntity>(apiVersion: string, kind: string): T[] {
|
||||
return internalEntityRegistry.getItemsForApiKind<T>(apiVersion, kind);
|
||||
}
|
||||
|
||||
getItemsForCategory<T extends CatalogEntity>(category: CatalogCategory): T[] {
|
||||
return internalEntityRegistry.getItemsForCategory(category);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a onBeforeRun hook to a catalog entities. If `onBeforeRun` was previously
|
||||
* added then it will not be added again.
|
||||
* @param onBeforeRun The function to be called with a `CatalogRunEvent`
|
||||
* event target will be the catalog entity. onBeforeRun hook can call event.preventDefault()
|
||||
* to stop run sequence
|
||||
* @returns A function to remove that hook
|
||||
*/
|
||||
addOnBeforeRun(onBeforeRun: CatalogEntityOnBeforeRun): Disposer {
|
||||
return internalEntityRegistry.addOnBeforeRun(onBeforeRun);
|
||||
}
|
||||
}
|
||||
|
||||
export const catalogEntities = new CatalogEntityRegistry();
|
||||
|
||||
export const activeCluster = asLegacyGlobalForExtensionApi(
|
||||
activeKubernetesClusterInjectable,
|
||||
);
|
||||
@@ -0,0 +1,173 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { asLegacyGlobalFunctionForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api";
|
||||
import createTerminalTabInjectable from "../../renderer/components/dock/terminal/create-terminal-tab.injectable";
|
||||
import terminalStoreInjectable from "../../renderer/components/dock/terminal/store.injectable";
|
||||
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
|
||||
import logTabStoreInjectable from "../../renderer/components/dock/logs/tab-store.injectable";
|
||||
|
||||
import commandOverlayInjectable from "../../renderer/components/command-palette/command-overlay.injectable";
|
||||
import createPodLogsTabInjectable from "../../renderer/components/dock/logs/create-pod-logs-tab.injectable";
|
||||
import createWorkloadLogsTabInjectable from "../../renderer/components/dock/logs/create-workload-logs-tab.injectable";
|
||||
import sendCommandInjectable from "../../renderer/components/dock/terminal/send-command.injectable";
|
||||
import renameTabInjectable from "../../renderer/components/dock/dock/rename-tab.injectable";
|
||||
import { asLegacyGlobalObjectForExtensionApiWithModifications } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api-with-modifications";
|
||||
import { ConfirmDialog as _ConfirmDialog } from "../../renderer/components/confirm-dialog";
|
||||
import type { ConfirmDialogBooleanParams, ConfirmDialogParams, ConfirmDialogProps } from "../../renderer/components/confirm-dialog";
|
||||
import openConfirmDialogInjectable from "../../renderer/components/confirm-dialog/open.injectable";
|
||||
import confirmInjectable from "../../renderer/components/confirm-dialog/confirm.injectable";
|
||||
import notificationsStoreInjectable from "../../renderer/components/notifications/notifications-store.injectable";
|
||||
import podStoreInjectable from "../../renderer/components/+workloads-pods/store.injectable";
|
||||
import getDetailsUrlInjectable from "../../renderer/components/kube-detail-params/get-details-url.injectable";
|
||||
import showDetailsInjectable from "../../renderer/components/kube-detail-params/show-details.injectable";
|
||||
import showCheckedErrorNotificationInjectable from "../../renderer/components/notifications/show-checked-error.injectable";
|
||||
import showErrorNotificationInjectable from "../../renderer/components/notifications/show-error-notification.injectable";
|
||||
import showInfoNotificationInjectable from "../../renderer/components/notifications/show-info-notification.injectable";
|
||||
import showShortInfoNotificationInjectable from "../../renderer/components/notifications/show-short-info.injectable";
|
||||
import showSuccessNotificationInjectable from "../../renderer/components/notifications/show-success-notification.injectable";
|
||||
|
||||
// layouts
|
||||
export * from "../../renderer/components/layout/main-layout";
|
||||
export * from "../../renderer/components/layout/setting-layout";
|
||||
export * from "../../renderer/components/layout/page-layout";
|
||||
export * from "../../renderer/components/layout/wizard-layout";
|
||||
export * from "../../renderer/components/layout/tab-layout";
|
||||
|
||||
// form-controls
|
||||
export * from "../../renderer/components/button";
|
||||
export * from "../../renderer/components/checkbox";
|
||||
export * from "../../renderer/components/radio";
|
||||
export * from "../../renderer/components/select";
|
||||
export * from "../../renderer/components/slider";
|
||||
export * from "../../renderer/components/switch";
|
||||
export * from "../../renderer/components/input/input";
|
||||
|
||||
// command-overlay
|
||||
export const CommandOverlay = asLegacyGlobalForExtensionApi(commandOverlayInjectable);
|
||||
|
||||
export type {
|
||||
CategoryColumnRegistration,
|
||||
AdditionalCategoryColumnRegistration,
|
||||
} from "../../renderer/components/+catalog/custom-category-columns";
|
||||
|
||||
// other components
|
||||
export type {
|
||||
ConfirmDialogBooleanParams,
|
||||
ConfirmDialogParams,
|
||||
ConfirmDialogProps,
|
||||
};
|
||||
export const ConfirmDialog = Object.assign(_ConfirmDialog, {
|
||||
open: asLegacyGlobalFunctionForExtensionApi(openConfirmDialogInjectable),
|
||||
confirm: asLegacyGlobalFunctionForExtensionApi(confirmInjectable),
|
||||
});
|
||||
|
||||
export * from "../../renderer/components/icon";
|
||||
export * from "../../renderer/components/tooltip";
|
||||
export * from "../../renderer/components/tabs";
|
||||
export * from "../../renderer/components/table";
|
||||
export * from "../../renderer/components/badge";
|
||||
export * from "../../renderer/components/drawer";
|
||||
export * from "../../renderer/components/dialog";
|
||||
export * from "../../renderer/components/line-progress";
|
||||
export * from "../../renderer/components/menu";
|
||||
|
||||
export {
|
||||
NotificationStatus,
|
||||
type CreateNotificationOptions,
|
||||
type Notification,
|
||||
type NotificationId,
|
||||
type NotificationMessage,
|
||||
type ShowNotification,
|
||||
type NotificationsStore,
|
||||
} from "../../renderer/components/notifications";
|
||||
|
||||
export const Notifications = {
|
||||
ok: asLegacyGlobalFunctionForExtensionApi(showSuccessNotificationInjectable),
|
||||
error: asLegacyGlobalFunctionForExtensionApi(showErrorNotificationInjectable),
|
||||
checkedError: asLegacyGlobalFunctionForExtensionApi(showCheckedErrorNotificationInjectable),
|
||||
info: asLegacyGlobalFunctionForExtensionApi(showInfoNotificationInjectable),
|
||||
shortInfo: asLegacyGlobalFunctionForExtensionApi(showShortInfoNotificationInjectable),
|
||||
};
|
||||
|
||||
export * from "../../renderer/components/spinner";
|
||||
export * from "../../renderer/components/stepper";
|
||||
export * from "../../renderer/components/wizard";
|
||||
export * from "../../renderer/components/+workloads-pods/pod-details-list";
|
||||
export * from "../../renderer/components/+namespaces/namespace-select";
|
||||
export * from "../../renderer/components/+namespaces/namespace-select-filter";
|
||||
export * from "../../renderer/components/layout/sub-title";
|
||||
export * from "../../renderer/components/input/search-input";
|
||||
export * from "../../renderer/components/chart/bar-chart";
|
||||
export * from "../../renderer/components/chart/pie-chart";
|
||||
export {
|
||||
MonacoEditor,
|
||||
type MonacoEditorProps, type MonacoEditorId,
|
||||
type MonacoTheme, type MonacoCustomTheme,
|
||||
} from "../../renderer/components/monaco-editor";
|
||||
|
||||
/**
|
||||
* @deprecated Use `Renderer.Navigation.getDetailsUrl`
|
||||
*/
|
||||
export const getDetailsUrl = asLegacyGlobalFunctionForExtensionApi(getDetailsUrlInjectable);
|
||||
|
||||
/**
|
||||
* @deprecated Use `Renderer.Navigation.showDetails`
|
||||
*/
|
||||
export const showDetails = asLegacyGlobalFunctionForExtensionApi(showDetailsInjectable);
|
||||
|
||||
// kube helpers
|
||||
export * from "../../renderer/components/kube-object-details";
|
||||
export * from "../../renderer/components/kube-object-list-layout";
|
||||
export * from "../../renderer/components/kube-object-menu";
|
||||
export * from "../../renderer/components/kube-object-meta";
|
||||
export * from "../../renderer/components/+events/kube-event-details";
|
||||
|
||||
// specific exports
|
||||
export * from "../../renderer/components/status-brick";
|
||||
|
||||
export const createTerminalTab = asLegacyGlobalFunctionForExtensionApi(createTerminalTabInjectable);
|
||||
|
||||
export const terminalStore = asLegacyGlobalObjectForExtensionApiWithModifications(
|
||||
terminalStoreInjectable,
|
||||
{
|
||||
sendCommand: asLegacyGlobalFunctionForExtensionApi(sendCommandInjectable),
|
||||
},
|
||||
);
|
||||
|
||||
const renameTab = asLegacyGlobalFunctionForExtensionApi(renameTabInjectable);
|
||||
const podStore = asLegacyGlobalForExtensionApi(podStoreInjectable);
|
||||
|
||||
export const logTabStore = asLegacyGlobalObjectForExtensionApiWithModifications(
|
||||
logTabStoreInjectable,
|
||||
{
|
||||
createPodTab: asLegacyGlobalFunctionForExtensionApi(createPodLogsTabInjectable),
|
||||
createWorkloadTab: asLegacyGlobalFunctionForExtensionApi(createWorkloadLogsTabInjectable),
|
||||
renameTab: (tabId: string): void => {
|
||||
const { selectedPodId } = logTabStore.getData(tabId) ?? {};
|
||||
const pod = selectedPodId && podStore.getById(selectedPodId);
|
||||
|
||||
if (pod) {
|
||||
renameTab(tabId, `Pod ${pod.getName()}`);
|
||||
}
|
||||
},
|
||||
tabs: undefined,
|
||||
},
|
||||
);
|
||||
|
||||
export class TerminalStore {
|
||||
static getInstance() {
|
||||
return terminalStore;
|
||||
}
|
||||
|
||||
static createInstance() {
|
||||
return terminalStore;
|
||||
}
|
||||
|
||||
static resetInstance() {
|
||||
console.warn("TerminalStore.resetInstance() does nothing");
|
||||
}
|
||||
}
|
||||
|
||||
export const notificationsStore = asLegacyGlobalForExtensionApi(notificationsStoreInjectable);
|
||||
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
// Lens-extensions apis, required in renderer process runtime
|
||||
|
||||
// APIs
|
||||
import * as Catalog from "./catalog";
|
||||
import * as Component from "./components";
|
||||
import * as K8sApi from "./k8s-api";
|
||||
import * as Navigation from "./navigation";
|
||||
import * as Theme from "./theming";
|
||||
import { IpcRenderer as Ipc } from "../ipc/ipc-renderer";
|
||||
import { LensRendererExtension as LensExtension } from "../lens-renderer-extension";
|
||||
|
||||
export {
|
||||
Catalog,
|
||||
Component,
|
||||
K8sApi,
|
||||
Navigation,
|
||||
Theme,
|
||||
Ipc,
|
||||
LensExtension,
|
||||
};
|
||||
@@ -0,0 +1,129 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import type { KubeResource } from "../../common/rbac";
|
||||
import { apiResourceRecord } from "../../common/rbac";
|
||||
import { getLegacyGlobalDiForExtensionApi } from "../as-legacy-globals-for-extension-api/legacy-global-di-for-extension-api";
|
||||
import clusterRoleBindingApiInjectable from "../../common/k8s-api/endpoints/cluster-role-binding.api.injectable";
|
||||
import clusterRoleApiInjectable from "../../common/k8s-api/endpoints/cluster-role.api.injectable";
|
||||
import serviceAccountApiInjectable from "../../common/k8s-api/endpoints/service-account.api.injectable";
|
||||
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
|
||||
import roleApiInjectable from "../../common/k8s-api/endpoints/role.api.injectable";
|
||||
import podApiInjectable from "../../common/k8s-api/endpoints/pod.api.injectable";
|
||||
import daemonSetApiInjectable from "../../common/k8s-api/endpoints/daemon-set.api.injectable";
|
||||
import replicaSetApiInjectable from "../../common/k8s-api/endpoints/replica-set.api.injectable";
|
||||
import statefulSetApiInjectable from "../../common/k8s-api/endpoints/stateful-set.api.injectable";
|
||||
import deploymentApiInjectable from "../../common/k8s-api/endpoints/deployment.api.injectable";
|
||||
import jobApiInjectable from "../../common/k8s-api/endpoints/job.api.injectable";
|
||||
import cronJobApiInjectable from "../../common/k8s-api/endpoints/cron-job.api.injectable";
|
||||
import nodeApiInjectable from "../../common/k8s-api/endpoints/node.api.injectable";
|
||||
import configMapApiInjectable from "../../common/k8s-api/endpoints/config-map.api.injectable";
|
||||
import secretApiInjectable from "../../common/k8s-api/endpoints/secret.api.injectable";
|
||||
import resourceQuotaApiInjectable from "../../common/k8s-api/endpoints/resource-quota.api.injectable";
|
||||
import limitRangeApiInjectable from "../../common/k8s-api/endpoints/limit-range.api.injectable";
|
||||
import horizontalPodAutoscalerApiInjectable from "../../common/k8s-api/endpoints/horizontal-pod-autoscaler.api.injectable";
|
||||
import podDisruptionBudgetApiInjectable from "../../common/k8s-api/endpoints/pod-disruption-budget.api.injectable";
|
||||
import priorityClassStoreApiInjectable from "../../common/k8s-api/endpoints/priority-class.api.injectable";
|
||||
import serviceApiInjectable from "../../common/k8s-api/endpoints/service.api.injectable";
|
||||
import endpointsApiInjectable from "../../common/k8s-api/endpoints/endpoint.api.injectable";
|
||||
import ingressApiInjectable from "../../common/k8s-api/endpoints/ingress.api.injectable";
|
||||
import networkPolicyApiInjectable from "../../common/k8s-api/endpoints/network-policy.api.injectable";
|
||||
import persistentVolumeApiInjectable from "../../common/k8s-api/endpoints/persistent-volume.api.injectable";
|
||||
import persistentVolumeClaimApiInjectable from "../../common/k8s-api/endpoints/persistent-volume-claim.api.injectable";
|
||||
import storageClassApiInjectable from "../../common/k8s-api/endpoints/storage-class.api.injectable";
|
||||
import namespaceApiInjectable from "../../common/k8s-api/endpoints/namespace.api.injectable";
|
||||
import kubeEventApiInjectable from "../../common/k8s-api/endpoints/events.api.injectable";
|
||||
import roleBindingApiInjectable from "../../common/k8s-api/endpoints/role-binding.api.injectable";
|
||||
import customResourceDefinitionApiInjectable from "../../common/k8s-api/endpoints/custom-resource-definition.api.injectable";
|
||||
import { shouldShowResourceInjectionToken } from "../../common/cluster-store/allowed-resources-injection-token";
|
||||
|
||||
export function isAllowedResource(resources: KubeResource | KubeResource[]) {
|
||||
const di = getLegacyGlobalDiForExtensionApi();
|
||||
|
||||
return [resources].flat().every((resourceName) => {
|
||||
const resource = apiResourceRecord[resourceName];
|
||||
|
||||
if (!resource) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const _isAllowedResource = di.inject(shouldShowResourceInjectionToken, {
|
||||
apiName: resourceName,
|
||||
group: resource.group,
|
||||
});
|
||||
|
||||
// Note: Legacy isAllowedResource does not advertise reactivity
|
||||
return _isAllowedResource.get();
|
||||
});
|
||||
}
|
||||
|
||||
export const serviceAccountsApi = asLegacyGlobalForExtensionApi(serviceAccountApiInjectable);
|
||||
export const clusterRoleApi = asLegacyGlobalForExtensionApi(clusterRoleApiInjectable);
|
||||
export const clusterRoleBindingApi = asLegacyGlobalForExtensionApi(clusterRoleBindingApiInjectable);
|
||||
export const roleApi = asLegacyGlobalForExtensionApi(roleApiInjectable);
|
||||
export const podsApi = asLegacyGlobalForExtensionApi(podApiInjectable);
|
||||
export const daemonSetApi = asLegacyGlobalForExtensionApi(daemonSetApiInjectable);
|
||||
export const replicaSetApi = asLegacyGlobalForExtensionApi(replicaSetApiInjectable);
|
||||
export const statefulSetApi = asLegacyGlobalForExtensionApi(statefulSetApiInjectable);
|
||||
export const deploymentApi = asLegacyGlobalForExtensionApi(deploymentApiInjectable);
|
||||
export const jobApi = asLegacyGlobalForExtensionApi(jobApiInjectable);
|
||||
export const cronJobApi = asLegacyGlobalForExtensionApi(cronJobApiInjectable);
|
||||
export const nodesApi = asLegacyGlobalForExtensionApi(nodeApiInjectable);
|
||||
export const secretsApi = asLegacyGlobalForExtensionApi(secretApiInjectable);
|
||||
export const configMapApi = asLegacyGlobalForExtensionApi(configMapApiInjectable);
|
||||
export const resourceQuotaApi = asLegacyGlobalForExtensionApi(resourceQuotaApiInjectable);
|
||||
export const limitRangeApi = asLegacyGlobalForExtensionApi(limitRangeApiInjectable);
|
||||
export const serviceApi = asLegacyGlobalForExtensionApi(serviceApiInjectable);
|
||||
export const hpaApi = asLegacyGlobalForExtensionApi(horizontalPodAutoscalerApiInjectable);
|
||||
export const pdbApi = asLegacyGlobalForExtensionApi(podDisruptionBudgetApiInjectable);
|
||||
export const pcApi = asLegacyGlobalForExtensionApi(priorityClassStoreApiInjectable);
|
||||
export const endpointApi = asLegacyGlobalForExtensionApi(endpointsApiInjectable);
|
||||
export const ingressApi = asLegacyGlobalForExtensionApi(ingressApiInjectable);
|
||||
export const networkPolicyApi = asLegacyGlobalForExtensionApi(networkPolicyApiInjectable);
|
||||
export const persistentVolumeApi = asLegacyGlobalForExtensionApi(persistentVolumeApiInjectable);
|
||||
export const pvcApi = asLegacyGlobalForExtensionApi(persistentVolumeClaimApiInjectable);
|
||||
export const storageClassApi = asLegacyGlobalForExtensionApi(storageClassApiInjectable);
|
||||
export const namespacesApi = asLegacyGlobalForExtensionApi(namespaceApiInjectable);
|
||||
export const eventApi = asLegacyGlobalForExtensionApi(kubeEventApiInjectable);
|
||||
export const roleBindingApi = asLegacyGlobalForExtensionApi(roleBindingApiInjectable);
|
||||
export const crdApi = asLegacyGlobalForExtensionApi(customResourceDefinitionApiInjectable);
|
||||
|
||||
export * from "../common-api/k8s-api";
|
||||
|
||||
export {
|
||||
KubeObjectStatusLevel,
|
||||
type KubeObjectStatus,
|
||||
} from "../../common/k8s-api/kube-object-status";
|
||||
|
||||
// stores
|
||||
export type { EventStore } from "../../renderer/components/+events/store";
|
||||
export type { PodStore as PodsStore } from "../../renderer/components/+workloads-pods/store";
|
||||
export type { NodeStore as NodesStore } from "../../renderer/components/+nodes/store";
|
||||
export type { DeploymentStore } from "../../renderer/components/+workloads-deployments/store";
|
||||
export type { DaemonSetStore } from "../../renderer/components/+workloads-daemonsets/store";
|
||||
export type { StatefulSetStore } from "../../renderer/components/+workloads-statefulsets/store";
|
||||
export type { JobStore } from "../../renderer/components/+workloads-jobs/store";
|
||||
export type { CronJobStore } from "../../renderer/components/+workloads-cronjobs/store";
|
||||
export type { ConfigMapStore as ConfigMapsStore } from "../../renderer/components/+config-maps/store";
|
||||
export type { SecretStore as SecretsStore } from "../../renderer/components/+config-secrets/store";
|
||||
export type { ReplicaSetStore } from "../../renderer/components/+workloads-replicasets/store";
|
||||
export type { ResourceQuotaStore as ResourceQuotasStore } from "../../renderer/components/+config-resource-quotas/store";
|
||||
export type { LimitRangeStore as LimitRangesStore } from "../../renderer/components/+config-limit-ranges/store";
|
||||
export type { HorizontalPodAutoscalerStore as HPAStore } from "../../renderer/components/+config-autoscalers/store";
|
||||
export type { PodDisruptionBudgetStore as PodDisruptionBudgetsStore } from "../../renderer/components/+config-pod-disruption-budgets/store";
|
||||
export type { PriorityClassStore as PriorityClassStoreStore } from "../../renderer/components/+config-priority-classes/store";
|
||||
export type { ServiceStore } from "../../renderer/components/+network-services/store";
|
||||
export type { EndpointsStore as EndpointStore } from "../../renderer/components/+network-endpoints/store";
|
||||
export type { IngressStore } from "../../renderer/components/+network-ingresses/ingress-store";
|
||||
export type { IngressClassStore } from "../../renderer/components/+network-ingresses/ingress-class-store";
|
||||
export type { NetworkPolicyStore } from "../../renderer/components/+network-policies/store";
|
||||
export type { PersistentVolumeStore as PersistentVolumesStore } from "../../renderer/components/+storage-volumes/store";
|
||||
export type { PersistentVolumeClaimStore as VolumeClaimStore } from "../../renderer/components/+storage-volume-claims/store";
|
||||
export type { StorageClassStore } from "../../renderer/components/+storage-classes/store";
|
||||
export type { NamespaceStore } from "../../renderer/components/+namespaces/store";
|
||||
export type { ServiceAccountStore as ServiceAccountsStore } from "../../renderer/components/+user-management/+service-accounts/store";
|
||||
export type { RoleStore as RolesStore } from "../../renderer/components/+user-management/+roles/store";
|
||||
export type { RoleBindingStore as RoleBindingsStore } from "../../renderer/components/+user-management/+role-bindings/store";
|
||||
export type { CustomResourceDefinitionStore as CRDStore } from "../../renderer/components/+custom-resources/definition.store";
|
||||
export type { CustomResourceStore as CRDResourceStore } from "../../common/k8s-api/api-manager/resource.store";
|
||||
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import getDetailsUrlInjectable from "../../renderer/components/kube-detail-params/get-details-url.injectable";
|
||||
import hideDetailsInjectable from "../../renderer/components/kube-detail-params/hide-details.injectable";
|
||||
import showDetailsInjectable from "../../renderer/components/kube-detail-params/show-details.injectable";
|
||||
import createPageParamInjectable from "../../renderer/navigation/create-page-param.injectable";
|
||||
import isActiveRouteInjectable from "../../renderer/navigation/is-route-active.injectable";
|
||||
import navigateInjectable from "../../renderer/navigation/navigate.injectable";
|
||||
import { asLegacyGlobalFunctionForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-function-for-extension-api";
|
||||
|
||||
export type { PageParamInit, PageParam } from "../../renderer/navigation/page-param";
|
||||
export type { URLParams } from "../../common/utils/buildUrl";
|
||||
|
||||
export const getDetailsUrl = asLegacyGlobalFunctionForExtensionApi(getDetailsUrlInjectable);
|
||||
export const showDetails = asLegacyGlobalFunctionForExtensionApi(showDetailsInjectable);
|
||||
export const hideDetails = asLegacyGlobalFunctionForExtensionApi(hideDetailsInjectable);
|
||||
export const createPageParam = asLegacyGlobalFunctionForExtensionApi(createPageParamInjectable);
|
||||
export const isActiveRoute = asLegacyGlobalFunctionForExtensionApi(isActiveRouteInjectable);
|
||||
export const navigate = asLegacyGlobalFunctionForExtensionApi(navigateInjectable);
|
||||
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import activeThemeInjectable from "../../renderer/themes/active.injectable";
|
||||
import type { LensTheme } from "../../renderer/themes/lens-theme";
|
||||
import { asLegacyGlobalForExtensionApi } from "../as-legacy-globals-for-extension-api/as-legacy-global-object-for-extension-api";
|
||||
|
||||
export const activeTheme = asLegacyGlobalForExtensionApi(activeThemeInjectable);
|
||||
|
||||
/**
|
||||
* @deprecated This hides the reactivity of active theme, use {@link activeTheme} instead
|
||||
*/
|
||||
export function getActiveTheme() {
|
||||
return activeTheme.get();
|
||||
}
|
||||
|
||||
export type { LensTheme };
|
||||
Reference in new issue
Block a user