1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Fix tests by faking the version detector

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-01-10 08:23:15 -05:00
parent 488546123a
commit 120a5f757d
34 changed files with 37 additions and 161 deletions

View File

@ -408,6 +408,7 @@
"jest": "^28.1.3", "jest": "^28.1.3",
"jest-environment-jsdom": "^28.1.3", "jest-environment-jsdom": "^28.1.3",
"jest-mock-extended": "^2.0.9", "jest-mock-extended": "^2.0.9",
"jest-watch-suspend": "^1.1.2",
"make-plural": "^6.2.2", "make-plural": "^6.2.2",
"memfs": "^3.4.12", "memfs": "^3.4.12",
"memorystream": "^0.3.1", "memorystream": "^0.3.1",

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import changePathModeInjectable from "./change-path-mode.injectable";
export default getGlobalOverride(changePathModeInjectable, () => () => {
throw new Error("tried to change path mode without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import copyFileInjectable from "./copy-file.injectable";
export default getGlobalOverride(copyFileInjectable, () => () => {
throw new Error("tried to copy a file without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import copyInjectable from "./copy.injectable";
export default getGlobalOverride(copyInjectable, () => async () => {
throw new Error("tried to copy filepaths without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import createReadFileStreamInjectable from "./create-read-file-stream.injectable";
export default getGlobalOverride(createReadFileStreamInjectable, () => () => {
throw new Error("tried to create read stream for a file without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import createWriteFileStreamInjectable from "./create-write-file-stream.injectable";
export default getGlobalOverride(createWriteFileStreamInjectable, () => () => {
throw new Error("tried to create a file write stream without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import ensureDirectoryInjectable from "./ensure-directory.injectable";
export default getGlobalOverride(ensureDirectoryInjectable, () => async () => {
throw new Error("tried to ensure directory without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import lstatInjectable from "./lstat.injectable";
export default getGlobalOverride(lstatInjectable, () => async () => {
throw new Error("tried to lstat a filepath without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import readDirectoryInjectable from "./read-directory.injectable";
export default getGlobalOverride(readDirectoryInjectable, () => async () => {
throw new Error("tried to read a directory's content without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import removePathInjectable from "./remove.injectable";
export default getGlobalOverride(removePathInjectable, () => async () => {
throw new Error("tried to remove path without override");
});

View File

@ -1,11 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getGlobalOverride } from "../test-utils/get-global-override";
import writeFileInjectable from "./write-file.injectable";
export default getGlobalOverride(writeFileInjectable, () => async () => {
throw new Error("tried to write file without override");
});

View File

@ -25,7 +25,7 @@ import getBasenameOfPathInjectable from "../../common/path/get-basename.injectab
import getDirnameOfPathInjectable from "../../common/path/get-dirname.injectable"; import getDirnameOfPathInjectable from "../../common/path/get-dirname.injectable";
import getRelativePathInjectable from "../../common/path/get-relative-path.injectable"; import getRelativePathInjectable from "../../common/path/get-relative-path.injectable";
import joinPathsInjectable from "../../common/path/join-paths.injectable"; import joinPathsInjectable from "../../common/path/join-paths.injectable";
import removePathInjectable from "../../common/fs/remove.injectable"; import removePathInjectable from "../../common/fs/remove-path.injectable";
import homeDirectoryPathInjectable from "../../common/os/home-directory-path.injectable"; import homeDirectoryPathInjectable from "../../common/os/home-directory-path.injectable";
import lensResourcesDirInjectable from "../../common/vars/lens-resources-dir.injectable"; import lensResourcesDirInjectable from "../../common/vars/lens-resources-dir.injectable";

View File

@ -15,7 +15,7 @@ import readJsonFileInjectable from "../../common/fs/read-json-file.injectable";
import pathExistsInjectable from "../../common/fs/path-exists.injectable"; import pathExistsInjectable from "../../common/fs/path-exists.injectable";
import watchInjectable from "../../common/fs/watch/watch.injectable"; import watchInjectable from "../../common/fs/watch/watch.injectable";
import extensionApiVersionInjectable from "../../common/vars/extension-api-version.injectable"; import extensionApiVersionInjectable from "../../common/vars/extension-api-version.injectable";
import removePathInjectable from "../../common/fs/remove.injectable"; import removePathInjectable from "../../common/fs/remove-path.injectable";
import type { JoinPaths } from "../../common/path/join-paths.injectable"; import type { JoinPaths } from "../../common/path/join-paths.injectable";
import joinPathsInjectable from "../../common/path/join-paths.injectable"; import joinPathsInjectable from "../../common/path/join-paths.injectable";
import homeDirectoryPathInjectable from "../../common/os/home-directory-path.injectable"; import homeDirectoryPathInjectable from "../../common/os/home-directory-path.injectable";

View File

@ -28,7 +28,7 @@ import type { JoinPaths } from "../../common/path/join-paths.injectable";
import type { GetBasenameOfPath } from "../../common/path/get-basename.injectable"; import type { GetBasenameOfPath } from "../../common/path/get-basename.injectable";
import type { GetDirnameOfPath } from "../../common/path/get-dirname.injectable"; import type { GetDirnameOfPath } from "../../common/path/get-dirname.injectable";
import type { GetRelativePath } from "../../common/path/get-relative-path.injectable"; import type { GetRelativePath } from "../../common/path/get-relative-path.injectable";
import type { RemovePath } from "../../common/fs/remove.injectable"; import type { RemovePath } from "../../common/fs/remove-path.injectable";
import type TypedEventEmitter from "typed-emitter"; import type TypedEventEmitter from "typed-emitter";
interface Dependencies { interface Dependencies {

View File

@ -6,7 +6,7 @@ import emitAppEventInjectable from "../../../../common/app-event-bus/emit-event.
import clusterFramesInjectable from "../../../../common/cluster-frames.injectable"; import clusterFramesInjectable from "../../../../common/cluster-frames.injectable";
import clusterStoreInjectable from "../../../../common/cluster-store/cluster-store.injectable"; import clusterStoreInjectable from "../../../../common/cluster-store/cluster-store.injectable";
import directoryForLensLocalStorageInjectable from "../../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable"; import directoryForLensLocalStorageInjectable from "../../../../common/directory-for-lens-local-storage/directory-for-lens-local-storage.injectable";
import removePathInjectable from "../../../../common/fs/remove.injectable"; import removePathInjectable from "../../../../common/fs/remove-path.injectable";
import joinPathsInjectable from "../../../../common/path/join-paths.injectable"; import joinPathsInjectable from "../../../../common/path/join-paths.injectable";
import { noop } from "../../../../common/utils"; import { noop } from "../../../../common/utils";
import { getRequestChannelListenerInjectable } from "../../../../main/utils/channel/channel-listeners/listener-tokens"; import { getRequestChannelListenerInjectable } from "../../../../main/utils/channel/channel-listeners/listener-tokens";

View File

@ -790,8 +790,9 @@ exports[`preferences - navigation to kubernetes preferences given in preferences
class="preventedDragging" class="preventedDragging"
> >
<i <i
class="Icon material interactive disabled focusable" class="Icon material interactive focusable"
data-testid="history-back" data-testid="history-back"
tabindex="0"
> >
<span <span
class="icon" class="icon"

View File

@ -65,6 +65,7 @@ import fsInjectable from "../../common/fs/fs.injectable";
import joinPathsInjectable from "../../common/path/join-paths.injectable"; import joinPathsInjectable from "../../common/path/join-paths.injectable";
import homeDirectoryPathInjectable from "../../common/os/home-directory-path.injectable"; import homeDirectoryPathInjectable from "../../common/os/home-directory-path.injectable";
import type { ClusterId } from "../../common/cluster-types"; import type { ClusterId } from "../../common/cluster-types";
import { ClusterMetadataKey } from "../../common/cluster-types";
import getClusterByIdInjectable from "../../common/cluster-store/get-by-id.injectable"; import getClusterByIdInjectable from "../../common/cluster-store/get-by-id.injectable";
import createClusterInjectable from "../../main/create-cluster/create-cluster.injectable"; import createClusterInjectable from "../../main/create-cluster/create-cluster.injectable";
import { onLoadOfApplicationInjectionToken } from "../../main/start-main-application/runnable-tokens/on-load-of-application-injection-token"; import { onLoadOfApplicationInjectionToken } from "../../main/start-main-application/runnable-tokens/on-load-of-application-injection-token";
@ -81,6 +82,8 @@ import type { MemoryHistory } from "history";
import { object } from "../../common/utils"; import { object } from "../../common/utils";
import catalogEntityRegistryInjectable from "../../renderer/api/catalog/entity/registry.injectable"; import catalogEntityRegistryInjectable from "../../renderer/api/catalog/entity/registry.injectable";
import { testUsingFakeTime } from "../../common/test-utils/use-fake-time"; import { testUsingFakeTime } from "../../common/test-utils/use-fake-time";
import createVersionDetectorInjectable from "../../main/cluster-detectors/create-version-detector.injectable";
import type { VersionDetector } from "../../main/cluster-detectors/version-detector";
type Callback = (di: DiContainer) => void | Promise<void>; type Callback = (di: DiContainer) => void | Promise<void>;
@ -368,6 +371,13 @@ export const setupInitializingApplicationBuilder = (init: (builder: ApplicationB
.map(([apiName, data]) => ({ apiName, ...data })) .map(([apiName, data]) => ({ apiName, ...data }))
)); ));
mainDi.override(requestNamespaceListPermissionsForInjectable, () => () => async () => (resource) => allowedResourcesState.has(formatKubeApiResource(resource))); mainDi.override(requestNamespaceListPermissionsForInjectable, () => () => async () => (resource) => allowedResourcesState.has(formatKubeApiResource(resource)));
mainDi.override(createVersionDetectorInjectable, () => () => ({
detect: async () => ({
accuracy: 100,
value: "1.25",
}),
key: ClusterMetadataKey.VERSION,
} as VersionDetector));
runInAction(() => { runInAction(() => {
mainDi.register(getInjectable({ mainDi.register(getInjectable({

View File

@ -25,8 +25,8 @@ import type { WriteFile } from "../../common/fs/write-file.injectable";
import writeFileInjectable from "../../common/fs/write-file.injectable"; import writeFileInjectable from "../../common/fs/write-file.injectable";
import type { PathExists } from "../../common/fs/path-exists.injectable"; import type { PathExists } from "../../common/fs/path-exists.injectable";
import pathExistsInjectable from "../../common/fs/path-exists.injectable"; import pathExistsInjectable from "../../common/fs/path-exists.injectable";
import type { RemovePath } from "../../common/fs/remove.injectable"; import type { RemovePath } from "../../common/fs/remove-path.injectable";
import removePathInjectable from "../../common/fs/remove.injectable"; import removePathInjectable from "../../common/fs/remove-path.injectable";
import pathExistsSyncInjectable from "../../common/fs/path-exists-sync.injectable"; import pathExistsSyncInjectable from "../../common/fs/path-exists-sync.injectable";
import readJsonSyncInjectable from "../../common/fs/read-json-sync.injectable"; import readJsonSyncInjectable from "../../common/fs/read-json-sync.injectable";
import writeJsonSyncInjectable from "../../common/fs/write-json-sync.injectable"; import writeJsonSyncInjectable from "../../common/fs/write-json-sync.injectable";

View File

@ -13,8 +13,7 @@ const createVersionDetectorInjectable = getInjectable({
instantiate: (di) => { instantiate: (di) => {
const k8sRequest = di.inject(k8sRequestInjectable); const k8sRequest = di.inject(k8sRequestInjectable);
return (cluster: Cluster) => return (cluster: Cluster) => new VersionDetector(cluster, k8sRequest);
new VersionDetector(cluster, k8sRequest);
}, },
}); });

View File

@ -10,14 +10,11 @@ export class VersionDetector extends BaseClusterDetector {
key = ClusterMetadataKey.VERSION; key = ClusterMetadataKey.VERSION;
public async detect() { public async detect() {
const version = await this.getKubernetesVersion();
return { value: version, accuracy: 100 };
}
public async getKubernetesVersion() {
const response = await this.k8sRequest("/version") as { gitVersion: string }; const response = await this.k8sRequest("/version") as { gitVersion: string };
return response.gitVersion; return {
value: response.gitVersion,
accuracy: 100,
};
} }
} }

View File

@ -8,7 +8,7 @@ import loggerInjectable from "../../../common/logger.injectable";
import tempy from "tempy"; import tempy from "tempy";
import getHelmReleaseInjectable from "./get-helm-release.injectable"; import getHelmReleaseInjectable from "./get-helm-release.injectable";
import writeFileInjectable from "../../../common/fs/write-file.injectable"; import writeFileInjectable from "../../../common/fs/write-file.injectable";
import removePathInjectable from "../../../common/fs/remove.injectable"; import removePathInjectable from "../../../common/fs/remove-path.injectable";
import execHelmInjectable from "../exec-helm/exec-helm.injectable"; import execHelmInjectable from "../exec-helm/exec-helm.injectable";
export interface UpdateChartArgs { export interface UpdateChartArgs {

View File

@ -6,7 +6,7 @@ import { getInjectable } from "@ogre-tools/injectable";
import { dump } from "js-yaml"; import { dump } from "js-yaml";
import tempy from "tempy"; import tempy from "tempy";
import type { JsonValue } from "type-fest"; import type { JsonValue } from "type-fest";
import removePathInjectable from "../../common/fs/remove.injectable"; import removePathInjectable from "../../common/fs/remove-path.injectable";
import writeFileInjectable from "../../common/fs/write-file.injectable"; import writeFileInjectable from "../../common/fs/write-file.injectable";
import execHelmInjectable from "./exec-helm/exec-helm.injectable"; import execHelmInjectable from "./exec-helm/exec-helm.injectable";

View File

@ -13,7 +13,7 @@ import joinPathsInjectable from "../../common/path/join-paths.injectable";
import getDirnameOfPathInjectable from "../../common/path/get-dirname.injectable"; import getDirnameOfPathInjectable from "../../common/path/get-dirname.injectable";
import pathExistsInjectable from "../../common/fs/path-exists.injectable"; import pathExistsInjectable from "../../common/fs/path-exists.injectable";
import writeFileInjectable from "../../common/fs/write-file.injectable"; import writeFileInjectable from "../../common/fs/write-file.injectable";
import removePathInjectable from "../../common/fs/remove.injectable"; import removePathInjectable from "../../common/fs/remove-path.injectable";
import lensProxyCertificateInjectable from "../../common/certificate/lens-proxy-certificate.injectable"; import lensProxyCertificateInjectable from "../../common/certificate/lens-proxy-certificate.injectable";
export interface KubeConfigManagerInstantiationParameter { export interface KubeConfigManagerInstantiationParameter {

View File

@ -13,7 +13,7 @@ import type { Logger } from "../../common/logger";
import type { JoinPaths } from "../../common/path/join-paths.injectable"; import type { JoinPaths } from "../../common/path/join-paths.injectable";
import type { GetDirnameOfPath } from "../../common/path/get-dirname.injectable"; import type { GetDirnameOfPath } from "../../common/path/get-dirname.injectable";
import type { PathExists } from "../../common/fs/path-exists.injectable"; import type { PathExists } from "../../common/fs/path-exists.injectable";
import type { RemovePath } from "../../common/fs/remove.injectable"; import type { RemovePath } from "../../common/fs/remove-path.injectable";
import type { WriteFile } from "../../common/fs/write-file.injectable"; import type { WriteFile } from "../../common/fs/write-file.injectable";
import type { SelfSignedCert } from "selfsigned"; import type { SelfSignedCert } from "selfsigned";

View File

@ -23,7 +23,7 @@ import copyFileInjectable from "../../common/fs/copy-file.injectable";
import createWriteFileStreamInjectable from "../../common/fs/create-write-file-stream.injectable"; import createWriteFileStreamInjectable from "../../common/fs/create-write-file-stream.injectable";
import execFileInjectable from "../../common/fs/exec-file.injectable"; import execFileInjectable from "../../common/fs/exec-file.injectable";
import pathExistsInjectable from "../../common/fs/path-exists.injectable"; import pathExistsInjectable from "../../common/fs/path-exists.injectable";
import removePathInjectable from "../../common/fs/remove.injectable"; import removePathInjectable from "../../common/fs/remove-path.injectable";
import writeFileInjectable from "../../common/fs/write-file.injectable"; import writeFileInjectable from "../../common/fs/write-file.injectable";
import ensureDirectoryInjectable from "../../common/fs/ensure-directory.injectable"; import ensureDirectoryInjectable from "../../common/fs/ensure-directory.injectable";
import fetchInjectable from "../../common/fetch/fetch.injectable"; import fetchInjectable from "../../common/fetch/fetch.injectable";

View File

@ -21,7 +21,7 @@ import type { WriteFile } from "../../common/fs/write-file.injectable";
import type { CopyFile } from "../../common/fs/copy-file.injectable"; import type { CopyFile } from "../../common/fs/copy-file.injectable";
import type { CreateWriteFileStream } from "../../common/fs/create-write-file-stream.injectable"; import type { CreateWriteFileStream } from "../../common/fs/create-write-file-stream.injectable";
import type { Fetch } from "../../common/fetch/fetch.injectable"; import type { Fetch } from "../../common/fetch/fetch.injectable";
import type { RemovePath } from "../../common/fs/remove.injectable"; import type { RemovePath } from "../../common/fs/remove-path.injectable";
const initScriptVersionString = "# lens-initscript v3"; const initScriptVersionString = "# lens-initscript v3";
const pipeline = promisify(stream.pipeline); const pipeline = promisify(stream.pipeline);

View File

@ -5,7 +5,7 @@
import { getInjectable } from "@ogre-tools/injectable"; import { getInjectable } from "@ogre-tools/injectable";
import emitAppEventInjectable from "../../common/app-event-bus/emit-event.injectable"; import emitAppEventInjectable from "../../common/app-event-bus/emit-event.injectable";
import type { Cluster } from "../../common/cluster/cluster"; import type { Cluster } from "../../common/cluster/cluster";
import removePathInjectable from "../../common/fs/remove.injectable"; import removePathInjectable from "../../common/fs/remove-path.injectable";
import execFileInjectable from "../../common/fs/exec-file.injectable"; import execFileInjectable from "../../common/fs/exec-file.injectable";
import writeFileInjectable from "../../common/fs/write-file.injectable"; import writeFileInjectable from "../../common/fs/write-file.injectable";
import loggerInjectable from "../../common/logger.injectable"; import loggerInjectable from "../../common/logger.injectable";

View File

@ -11,7 +11,7 @@ import type { KubernetesObject } from "@kubernetes/client-node";
import type { EmitAppEvent } from "../../common/app-event-bus/emit-event.injectable"; import type { EmitAppEvent } from "../../common/app-event-bus/emit-event.injectable";
import type { Logger } from "../../common/logger"; import type { Logger } from "../../common/logger";
import type { WriteFile } from "../../common/fs/write-file.injectable"; import type { WriteFile } from "../../common/fs/write-file.injectable";
import type { RemovePath } from "../../common/fs/remove.injectable"; import type { RemovePath } from "../../common/fs/remove-path.injectable";
import type { ExecFile } from "../../common/fs/exec-file.injectable"; import type { ExecFile } from "../../common/fs/exec-file.injectable";
import type { JoinPaths } from "../../common/path/join-paths.injectable"; import type { JoinPaths } from "../../common/path/join-paths.injectable";
import type { AsyncResult } from "../../common/utils/async-result"; import type { AsyncResult } from "../../common/utils/async-result";

View File

@ -8,7 +8,7 @@ import loggerInjectable from "../../common/logger.injectable";
import requestShellApiTokenInjectable from "../../features/terminal/renderer/request-shell-api-token.injectable"; import requestShellApiTokenInjectable from "../../features/terminal/renderer/request-shell-api-token.injectable";
import hostedClusterIdInjectable from "../cluster-frame-context/hosted-cluster-id.injectable"; import hostedClusterIdInjectable from "../cluster-frame-context/hosted-cluster-id.injectable";
import currentLocationInjectable from "./current-location.injectable"; import currentLocationInjectable from "./current-location.injectable";
import defaultWebsocketApiParamsInjectable from "./default-websocket-params.injectable"; import defaultWebsocketApiParamsInjectable from "./default-websocket-api-params.injectable";
import type { TerminalApiDependencies, TerminalApiQuery } from "./terminal-api"; import type { TerminalApiDependencies, TerminalApiQuery } from "./terminal-api";
import { TerminalApi } from "./terminal-api"; import { TerminalApi } from "./terminal-api";

View File

@ -1,22 +0,0 @@
/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import { getInjectable } from "@ogre-tools/injectable";
import type { TerminalMessage } from "../../common/terminal/channels";
import { TerminalChannels } from "../../common/terminal/channels";
import isDevelopmentInjectable from "../../common/vars/is-development.injectable";
export type DefaultWebsocketApiParams = ReturnType<(typeof defaultWebsocketApiParamsInjectable)["instantiate"]>;
const defaultWebsocketApiParamsInjectable = getInjectable({
id: "default-websocket-api-params",
instantiate: (di) => ({
logging: di.inject(isDevelopmentInjectable),
reconnectDelay: 10,
flushOnOpen: true,
pingMessage: JSON.stringify({ type: TerminalChannels.PING } as TerminalMessage),
}),
});
export default defaultWebsocketApiParamsInjectable;

View File

@ -7,7 +7,7 @@ import { observable, makeObservable } from "mobx";
import EventEmitter from "events"; import EventEmitter from "events";
import type TypedEventEmitter from "typed-emitter"; import type TypedEventEmitter from "typed-emitter";
import type { Defaulted } from "../utils"; import type { Defaulted } from "../utils";
import type { DefaultWebsocketApiParams } from "./default-websocket-params.injectable"; import type { DefaultWebsocketApiParams } from "./default-websocket-api-params.injectable";
import type { Logger } from "../../common/logger"; import type { Logger } from "../../common/logger";
interface WebsocketApiParams { interface WebsocketApiParams {

View File

@ -23,8 +23,8 @@ import installExtensionFromInputInjectable from "../install-extension-from-input
import type { ExtensionInstallationStateStore } from "../../../../extensions/extension-installation-state-store/extension-installation-state-store"; import type { ExtensionInstallationStateStore } from "../../../../extensions/extension-installation-state-store/extension-installation-state-store";
import extensionInstallationStateStoreInjectable from "../../../../extensions/extension-installation-state-store/extension-installation-state-store.injectable"; import extensionInstallationStateStoreInjectable from "../../../../extensions/extension-installation-state-store/extension-installation-state-store.injectable";
import { observable, when } from "mobx"; import { observable, when } from "mobx";
import type { RemovePath } from "../../../../common/fs/remove.injectable"; import type { RemovePath } from "../../../../common/fs/remove-path.injectable";
import removePathInjectable from "../../../../common/fs/remove.injectable"; import removePathInjectable from "../../../../common/fs/remove-path.injectable";
import type { DownloadBinary } from "../../../../common/fetch/download-binary.injectable"; import type { DownloadBinary } from "../../../../common/fetch/download-binary.injectable";
import downloadBinaryInjectable from "../../../../common/fetch/download-binary.injectable"; import downloadBinaryInjectable from "../../../../common/fetch/download-binary.injectable";
import currentlyInClusterFrameInjectable from "../../../routes/currently-in-cluster-frame.injectable"; import currentlyInClusterFrameInjectable from "../../../routes/currently-in-cluster-frame.injectable";

View File

@ -2749,7 +2749,7 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@types/ws@^8.5.1", "@types/ws@^8.5.3": "@types/ws@^8.5.1":
version "8.5.3" version "8.5.3"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d"
integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==