@k8slens/extensions 6.2.0-git.edd9a11415.0 → 6.2.0-git.f4d5097d2f.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/src/common/app-event-bus/app-event-bus.injectable.d.ts +3 -1
  2. package/dist/src/common/app-event-bus/emit-event.injectable.d.ts +4 -2
  3. package/dist/src/common/app-event-bus/event-bus.d.ts +3 -2
  4. package/dist/src/common/cluster-store/cluster-store.d.ts +3 -1
  5. package/dist/src/common/event-emitter.d.ts +1 -1
  6. package/dist/src/common/fs/exec-file.injectable.d.ts +2 -3
  7. package/dist/src/common/helm/add-helm-repository-channel.d.ts +1 -1
  8. package/dist/src/common/helm/remove-helm-repository-channel.d.ts +1 -1
  9. package/dist/src/common/user-store/user-store.d.ts +2 -0
  10. package/dist/src/common/utils/async-result.d.ts +5 -2
  11. package/dist/src/extensions/common-api/event-bus.d.ts +1 -1
  12. package/dist/src/extensions/extension-api.js +65 -21
  13. package/dist/src/main/electron-app/runnables/setup-ipc-main-handlers/setup-ipc-main-handlers.d.ts +5 -1
  14. package/dist/src/main/helm/exec-helm/exec-helm.injectable.d.ts +5 -1
  15. package/dist/src/main/helm/repositories/add-helm-repository/add-helm-repository-channel-listener.injectable.d.ts +1 -1
  16. package/dist/src/main/helm/repositories/add-helm-repository/add-helm-repository.injectable.d.ts +1 -2
  17. package/dist/src/main/helm/repositories/remove-helm-repository/remove-helm-repository-channel-listener.injectable.d.ts +1 -1
  18. package/dist/src/main/helm/repositories/remove-helm-repository/remove-helm-repository.injectable.d.ts +2 -1
  19. package/dist/src/main/lens-proxy/lens-proxy.d.ts +4 -0
  20. package/dist/src/main/resource-applier/create-resource-applier.injectable.d.ts +5 -0
  21. package/dist/src/main/{resource-applier.d.ts → resource-applier/resource-applier.d.ts} +19 -4
  22. package/dist/src/main/shell-session/shell-session.d.ts +4 -0
  23. package/dist/src/renderer/frames/cluster-frame/init-cluster-frame/init-cluster-frame.d.ts +3 -3
  24. package/package.json +1 -1
  25. package/dist/src/common/__tests__/event-bus.test.d.ts +0 -5
  26. package/dist/src/common/app-event-bus/app-event-bus.global-override-for-injectable.d.ts +0 -5
@@ -7,6 +7,8 @@ import type { AskUserForFilePaths } from "../../../ipc/ask-user-for-file-paths.i
7
7
  import type { ApplicationMenuItemTypes } from "../../../../features/application-menu/main/menu-items/application-menu-item-injection-token";
8
8
  import type { Composite } from "../../../../common/utils/composite/get-composite/get-composite";
9
9
  import type { MenuItemRoot } from "../../../../features/application-menu/main/application-menu-item-composite.injectable";
10
+ import type { EmitAppEvent } from "../../../../common/app-event-bus/emit-event.injectable";
11
+ import type { CreateResourceApplier } from "../../../resource-applier/create-resource-applier.injectable";
10
12
  interface Dependencies {
11
13
  applicationMenuItemComposite: IComputedValue<Composite<ApplicationMenuItemTypes | MenuItemRoot>>;
12
14
  clusterManager: ClusterManager;
@@ -14,6 +16,8 @@ interface Dependencies {
14
16
  clusterStore: ClusterStore;
15
17
  operatingSystemTheme: IComputedValue<Theme>;
16
18
  askUserForFilePaths: AskUserForFilePaths;
19
+ emitAppEvent: EmitAppEvent;
20
+ createResourceApplier: CreateResourceApplier;
17
21
  }
18
- export declare const setupIpcMainHandlers: ({ applicationMenuItemComposite, clusterManager, catalogEntityRegistry, clusterStore, operatingSystemTheme, askUserForFilePaths, }: Dependencies) => void;
22
+ export declare const setupIpcMainHandlers: ({ applicationMenuItemComposite, clusterManager, catalogEntityRegistry, clusterStore, operatingSystemTheme, askUserForFilePaths, emitAppEvent, createResourceApplier, }: Dependencies) => void;
19
23
  export {};
@@ -1,4 +1,8 @@
1
+ /// <reference types="node" />
2
+ import type { ExecFileException } from "child_process";
1
3
  import type { AsyncResult } from "../../../common/utils/async-result";
2
- export declare type ExecHelm = (args: string[]) => Promise<AsyncResult<string, string>>;
4
+ export declare type ExecHelm = (args: string[]) => Promise<AsyncResult<string, ExecFileException & {
5
+ stderr: string;
6
+ }>>;
3
7
  declare const execHelmInjectable: import("@ogre-tools/injectable").Injectable<ExecHelm, unknown, void>;
4
8
  export default execHelmInjectable;
@@ -1,5 +1,5 @@
1
1
  declare const addHelmRepositoryChannelListenerInjectable: import("@ogre-tools/injectable").Injectable<{
2
2
  channel: import("../../../../common/helm/add-helm-repository-channel").AddHelmRepositoryChannel;
3
- handler: (req: import("../../../../common/helm/helm-repo").HelmRepo) => import("../../../../common/utils/async-result").AsyncResult<string, string> | Promise<import("../../../../common/utils/async-result").AsyncResult<string, string>>;
3
+ handler: (req: import("../../../../common/helm/helm-repo").HelmRepo) => import("../../../../common/utils/async-result").AsyncResult<void, string> | Promise<import("../../../../common/utils/async-result").AsyncResult<void, string>>;
4
4
  }, import("../../../utils/channel/channel-listeners/listener-tokens").RequestChannelListener<import("../../../../common/utils/channel/request-channel-listener-injection-token").RequestChannel<unknown, unknown>>, void>;
5
5
  export default addHelmRepositoryChannelListenerInjectable;
@@ -1,3 +1,2 @@
1
- import type { HelmRepo } from "../../../../common/helm/helm-repo";
2
- declare const addHelmRepositoryInjectable: import("@ogre-tools/injectable").Injectable<(repo: HelmRepo) => Promise<import("../../../../common/utils/async-result").AsyncResult<string, string>>, unknown, void>;
1
+ declare const addHelmRepositoryInjectable: import("@ogre-tools/injectable").Injectable<(req: import("../../../../common/helm/helm-repo").HelmRepo) => import("../../../../common/utils/async-result").AsyncResult<void, string> | Promise<import("../../../../common/utils/async-result").AsyncResult<void, string>>, unknown, void>;
3
2
  export default addHelmRepositoryInjectable;
@@ -1,5 +1,5 @@
1
1
  declare const removeHelmRepositoryChannelListenerInjectable: import("@ogre-tools/injectable").Injectable<{
2
2
  channel: import("../../../../common/helm/remove-helm-repository-channel").RemoveHelmRepositoryChannel;
3
- handler: (req: import("../../../../common/helm/helm-repo").HelmRepo) => import("../../../../common/utils/async-result").AsyncResult<string, string> | Promise<import("../../../../common/utils/async-result").AsyncResult<string, string>>;
3
+ handler: (req: import("../../../../common/helm/helm-repo").HelmRepo) => import("../../../../common/utils/async-result").AsyncResult<void, string> | Promise<import("../../../../common/utils/async-result").AsyncResult<void, string>>;
4
4
  }, import("../../../utils/channel/channel-listeners/listener-tokens").RequestChannelListener<import("../../../../common/utils/channel/request-channel-listener-injection-token").RequestChannel<unknown, unknown>>, void>;
5
5
  export default removeHelmRepositoryChannelListenerInjectable;
@@ -1,3 +1,4 @@
1
1
  import type { HelmRepo } from "../../../../common/helm/helm-repo";
2
- declare const removeHelmRepositoryInjectable: import("@ogre-tools/injectable").Injectable<(repo: HelmRepo) => Promise<import("../../../../common/utils/async-result").AsyncResult<string, string>>, unknown, void>;
2
+ import type { AsyncResult } from "../../../../common/utils/async-result";
3
+ declare const removeHelmRepositoryInjectable: import("@ogre-tools/injectable").Injectable<(repo: HelmRepo) => Promise<AsyncResult<void, string>>, unknown, void>;
3
4
  export default removeHelmRepositoryInjectable;
@@ -10,18 +10,22 @@ import type { ClusterContextHandler } from "../context-handler/context-handler";
10
10
  import type { Cluster } from "../../common/cluster/cluster";
11
11
  import type { ProxyApiRequestArgs } from "./proxy-functions";
12
12
  import type { SetRequired } from "type-fest";
13
+ import type { EmitAppEvent } from "../../common/app-event-bus/emit-event.injectable";
14
+ import type { Logger } from "../../common/logger";
13
15
  declare type GetClusterForRequest = (req: http.IncomingMessage) => Cluster | undefined;
14
16
  export declare type ServerIncomingMessage = SetRequired<http.IncomingMessage, "url" | "method">;
15
17
  interface Dependencies {
16
18
  getClusterForRequest: GetClusterForRequest;
17
19
  shellApiRequest: (args: ProxyApiRequestArgs) => void | Promise<void>;
18
20
  kubeApiUpgradeRequest: (args: ProxyApiRequestArgs) => void | Promise<void>;
21
+ emitAppEvent: EmitAppEvent;
19
22
  readonly router: Router;
20
23
  readonly proxy: httpProxy;
21
24
  readonly lensProxyPort: {
22
25
  set: (portNumber: number) => void;
23
26
  };
24
27
  readonly contentSecurityPolicy: string;
28
+ readonly logger: Logger;
25
29
  }
26
30
  export declare function isLongRunningRequest(reqUrl: string): boolean;
27
31
  export declare class LensProxy {
@@ -0,0 +1,5 @@
1
+ import type { Cluster } from "../../common/cluster/cluster";
2
+ import { ResourceApplier } from "./resource-applier";
3
+ export declare type CreateResourceApplier = (cluster: Cluster) => ResourceApplier;
4
+ declare const createResourceApplierInjectable: import("@ogre-tools/injectable").Injectable<CreateResourceApplier, unknown, void>;
5
+ export default createResourceApplierInjectable;
@@ -2,11 +2,26 @@
2
2
  * Copyright (c) OpenLens Authors. All rights reserved.
3
3
  * Licensed under MIT License. See LICENSE in root directory for more information.
4
4
  */
5
- import type { Cluster } from "../common/cluster/cluster";
5
+ import type { Cluster } from "../../common/cluster/cluster";
6
6
  import type { Patch } from "rfc6902";
7
+ import type { EmitAppEvent } from "../../common/app-event-bus/emit-event.injectable";
8
+ import type { Logger } from "../../common/logger";
9
+ import type { WriteFile } from "../../common/fs/write-file.injectable";
10
+ import type { DeleteFile } from "../../common/fs/delete-file.injectable";
11
+ import type { ExecFile } from "../../common/fs/exec-file.injectable";
12
+ import type { JoinPaths } from "../../common/path/join-paths.injectable";
13
+ export interface ResourceApplierDependencies {
14
+ emitAppEvent: EmitAppEvent;
15
+ writeFile: WriteFile;
16
+ deleteFile: DeleteFile;
17
+ execFile: ExecFile;
18
+ joinPaths: JoinPaths;
19
+ readonly logger: Logger;
20
+ }
7
21
  export declare class ResourceApplier {
8
- protected cluster: Cluster;
9
- constructor(cluster: Cluster);
22
+ protected readonly dependencies: ResourceApplierDependencies;
23
+ protected readonly cluster: Cluster;
24
+ constructor(dependencies: ResourceApplierDependencies, cluster: Cluster);
10
25
  /**
11
26
  * Patch a kube resource's manifest, throwing any error that occurs.
12
27
  * @param name The name of the kube resource
@@ -19,6 +34,6 @@ export declare class ResourceApplier {
19
34
  protected kubectlApply(content: string): Promise<string>;
20
35
  kubectlApplyAll(resources: string[], extraArgs?: string[]): Promise<string>;
21
36
  kubectlDeleteAll(resources: string[], extraArgs?: string[]): Promise<string>;
22
- protected kubectlCmdAll(subCmd: string, resources: string[], args?: string[]): Promise<string>;
37
+ protected kubectlCmdAll(subCmd: string, resources: string[], parentArgs?: string[]): Promise<string>;
23
38
  protected sanitizeObject(resource: string): string;
24
39
  }
@@ -11,6 +11,8 @@ import type { Logger } from "../../common/logger";
11
11
  import type { ComputeShellEnvironment } from "../utils/shell-env/compute-shell-environment.injectable";
12
12
  import type { SpawnPty } from "./spawn-pty.injectable";
13
13
  import type { InitializableState } from "../../common/initializable-state/create";
14
+ import type { EmitAppEvent } from "../../common/app-event-bus/emit-event.injectable";
15
+ import type { Stat } from "../../common/fs/stat/stat.injectable";
14
16
  export declare class ShellOpenError extends Error {
15
17
  constructor(message: string, options?: ErrorOptions);
16
18
  }
@@ -98,6 +100,8 @@ export interface ShellSessionDependencies {
98
100
  readonly buildVersion: InitializableState<string>;
99
101
  computeShellEnvironment: ComputeShellEnvironment;
100
102
  spawnPty: SpawnPty;
103
+ emitAppEvent: EmitAppEvent;
104
+ stat: Stat;
101
105
  }
102
106
  export interface ShellSessionArgs {
103
107
  kubectl: Kubectl;
@@ -4,16 +4,16 @@
4
4
  */
5
5
  import type { Cluster } from "../../../../common/cluster/cluster";
6
6
  import type { CatalogEntityRegistry } from "../../../api/catalog/entity/registry";
7
- import type { AppEvent } from "../../../../common/app-event-bus/event-bus";
8
7
  import type { CatalogEntity } from "../../../../common/catalog";
9
8
  import type { ClusterFrameContext } from "../../../cluster-frame-context/cluster-frame-context";
9
+ import type { EmitAppEvent } from "../../../../common/app-event-bus/emit-event.injectable";
10
10
  interface Dependencies {
11
11
  hostedCluster: Cluster;
12
12
  loadExtensions: (getCluster: () => CatalogEntity) => void;
13
13
  catalogEntityRegistry: CatalogEntityRegistry;
14
14
  frameRoutingId: number;
15
- emitEvent: (event: AppEvent) => void;
15
+ emitAppEvent: EmitAppEvent;
16
16
  clusterFrameContext: ClusterFrameContext;
17
17
  }
18
- export declare const initClusterFrame: ({ hostedCluster, loadExtensions, catalogEntityRegistry, frameRoutingId, emitEvent, clusterFrameContext, }: Dependencies) => (unmountRoot: () => void) => Promise<void>;
18
+ export declare const initClusterFrame: ({ hostedCluster, loadExtensions, catalogEntityRegistry, frameRoutingId, emitAppEvent, clusterFrameContext, }: Dependencies) => (unmountRoot: () => void) => Promise<void>;
19
19
  export {};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@k8slens/extensions",
3
3
  "productName": "OpenLens extensions",
4
4
  "description": "OpenLens - Open Source Kubernetes IDE: extensions",
5
- "version": "6.2.0-git.edd9a11415.0",
5
+ "version": "6.2.0-git.f4d5097d2f.0",
6
6
  "copyright": "© 2022 OpenLens Authors",
7
7
  "license": "MIT",
8
8
  "main": "dist/src/extensions/extension-api.js",
@@ -1,5 +0,0 @@
1
- /**
2
- * Copyright (c) OpenLens Authors. All rights reserved.
3
- * Licensed under MIT License. See LICENSE in root directory for more information.
4
- */
5
- export {};
@@ -1,5 +0,0 @@
1
- declare const _default: {
2
- injectable: import("@ogre-tools/injectable").Injectable<(data_0: import("./event-bus").AppEvent) => void, unknown, void>;
3
- overridingInstantiate: import("@ogre-tools/injectable").Instantiate<(data_0: import("./event-bus").AppEvent) => void, void>;
4
- };
5
- export default _default;