From 460dfe4d2b8082e1989bfe09666f3e62421581e6 Mon Sep 17 00:00:00 2001 From: Panu Horsmalahti Date: Thu, 19 Nov 2020 18:12:28 +0200 Subject: [PATCH] Use @typescript-eslint/semi. Signed-off-by: Panu Horsmalahti --- .eslintrc.js | 6 ++-- build/download_kubectl.ts | 6 ++-- src/common/event-bus.ts | 2 +- src/common/rbac.ts | 2 +- src/common/user-store.ts | 6 ++-- src/common/workspace-store.ts | 12 +++---- src/extensions/cluster-feature.ts | 2 +- src/extensions/extension-loader.ts | 2 +- src/extensions/extension-manager.ts | 8 ++--- src/extensions/extension-store.ts | 2 +- src/extensions/lens-main-extension.ts | 2 +- src/extensions/lens-renderer-extension.ts | 20 +++++------ .../renderer-api/kube-object-status.ts | 2 +- src/main/app-updater.ts | 2 +- .../base-cluster-detector.ts | 6 ++-- .../cluster-detectors/cluster-id-detector.ts | 2 +- .../distribution-detector.ts | 4 +-- .../cluster-detectors/last-seen-detector.ts | 2 +- .../cluster-detectors/nodes-count-detector.ts | 2 +- .../cluster-detectors/version-detector.ts | 4 +-- src/main/cluster.ts | 4 +-- src/main/context-handler.ts | 8 ++--- src/main/helm/helm-chart-manager.ts | 6 ++-- src/main/helm/helm-repo-manager.ts | 8 ++--- src/main/kube-auth-proxy.ts | 12 +++---- src/main/kubeconfig-manager.ts | 2 +- src/main/kubectl.ts | 14 ++++---- src/main/lens-binary.ts | 22 ++++++------ src/main/lens-proxy.ts | 10 +++--- src/main/menu.ts | 2 +- src/main/node-shell-session.ts | 4 +-- src/main/port_spec.ts | 8 ++--- src/main/prometheus/helm.ts | 6 ++-- src/main/prometheus/lens.ts | 6 ++-- src/main/prometheus/operator.ts | 6 ++-- src/main/prometheus/provider-registry.ts | 18 +++++----- src/main/prometheus/stacklight.ts | 6 ++-- src/main/routes/metrics-route.ts | 2 +- src/main/routes/port-forward-route.ts | 18 +++++----- src/main/routes/watch-route.ts | 12 +++---- src/main/shell-session.ts | 8 ++--- .../api/endpoints/cluster-role-binding.api.ts | 6 ++-- .../api/endpoints/cluster-role.api.ts | 6 ++-- src/renderer/api/endpoints/cluster.api.ts | 10 +++--- .../api/endpoints/component-status.api.ts | 8 ++--- src/renderer/api/endpoints/configmap.api.ts | 4 +-- src/renderer/api/endpoints/crd.api.ts | 12 +++---- src/renderer/api/endpoints/cron-job.api.ts | 16 ++++----- src/renderer/api/endpoints/daemon-set.api.ts | 10 +++--- src/renderer/api/endpoints/deployment.api.ts | 10 +++--- src/renderer/api/endpoints/endpoint.api.ts | 8 ++--- src/renderer/api/endpoints/events.api.ts | 28 +++++++-------- src/renderer/api/endpoints/helm-charts.api.ts | 34 +++++++++---------- .../api/endpoints/helm-releases.api.ts | 14 ++++---- src/renderer/api/endpoints/hpa.api.ts | 8 ++--- src/renderer/api/endpoints/ingress.api.ts | 10 +++--- src/renderer/api/endpoints/job.api.ts | 10 +++--- src/renderer/api/endpoints/namespaces.api.ts | 2 +- .../api/endpoints/network-policy.api.ts | 8 ++--- src/renderer/api/endpoints/nodes.api.ts | 10 +++--- .../endpoints/persistent-volume-claims.api.ts | 10 +++--- .../api/endpoints/persistent-volume.api.ts | 10 +++--- src/renderer/api/endpoints/pod-metrics.api.ts | 12 +++---- .../api/endpoints/poddisruptionbudget.api.ts | 4 +-- src/renderer/api/endpoints/pods.api.ts | 10 +++--- .../api/endpoints/podsecuritypolicy.api.ts | 8 ++--- src/renderer/api/endpoints/replica-set.api.ts | 10 +++--- .../api/endpoints/resource-quota.api.ts | 10 +++--- .../api/endpoints/role-binding.api.ts | 10 +++--- src/renderer/api/endpoints/role.api.ts | 8 ++--- src/renderer/api/endpoints/secret.api.ts | 8 ++--- .../endpoints/selfsubjectrulesreviews.api.ts | 10 +++--- .../api/endpoints/service-accounts.api.ts | 6 ++-- src/renderer/api/endpoints/service.api.ts | 10 +++--- .../api/endpoints/stateful-set.api.ts | 10 +++--- .../api/endpoints/storage-class.api.ts | 8 ++--- src/renderer/api/kube-api.ts | 14 ++++---- src/renderer/api/kube-object.ts | 4 +-- src/renderer/api/terminal-api.ts | 2 +- src/renderer/bootstrap.tsx | 2 +- .../components/+add-cluster/add-cluster.tsx | 16 ++++----- .../+apps-helm-charts/helm-charts.tsx | 4 +-- .../+apps-releases/release-details.tsx | 4 +-- .../release-rollback-dialog.tsx | 4 +-- .../components/+apps-releases/releases.tsx | 4 +-- .../+cluster-settings/cluster-settings.tsx | 2 +- .../components/cluster-home-dir-setting.tsx | 2 +- .../components/cluster-name-setting.tsx | 2 +- .../components/cluster-prometheus-setting.tsx | 4 +-- .../components/cluster-proxy-setting.tsx | 2 +- .../components/+cluster/cluster.store.ts | 2 +- .../+config-autoscalers/hpa.store.ts | 2 +- .../+config-maps/config-map-details.tsx | 2 +- .../+config-maps/config-maps.store.ts | 2 +- .../pod-disruption-budgets.store.ts | 2 +- .../add-quota-dialog.tsx | 12 +++---- .../resource-quotas.store.ts | 2 +- .../+config-secrets/add-secret-dialog.tsx | 14 ++++---- .../+config-secrets/secret-details.tsx | 4 +-- .../+config-secrets/secrets.store.ts | 2 +- .../components/+custom-resources/crd.store.ts | 2 +- .../components/+events/event.store.ts | 4 +-- .../components/+extensions/extensions.tsx | 2 +- .../+namespaces/add-namespace-dialog.tsx | 4 +-- .../+namespaces/namespace-select.tsx | 2 +- .../+network-endpoints/endpoints.store.ts | 2 +- .../+network-policies/network-policy.store.ts | 2 +- .../+network-services/services.store.ts | 2 +- src/renderer/components/+nodes/nodes.store.ts | 2 +- .../pod-security-policies.store.ts | 2 +- .../components/+preferences/preferences.tsx | 4 +-- .../+storage-classes/storage-class.store.ts | 2 +- .../volume-claim.store.ts | 2 +- .../+storage-volumes/volumes.store.ts | 2 +- .../add-role-binding-dialog.tsx | 8 ++--- .../role-bindings.store.ts | 2 +- .../add-role-dialog.tsx | 6 ++-- .../+user-management-roles/roles.store.ts | 2 +- .../create-service-account-dialog.tsx | 8 ++--- .../service-accounts-details.tsx | 2 +- .../service-accounts-secret.tsx | 2 +- .../service-accounts.store.ts | 2 +- .../components/+whats-new/whats-new.tsx | 2 +- .../cronjob-trigger-dialog.tsx | 8 ++--- .../+workloads-cronjobs/cronjob.store.ts | 2 +- .../+workloads-daemonsets/daemonsets.store.ts | 2 +- .../deployment-scale-dialog.tsx | 12 +++---- .../deployments.store.ts | 2 +- .../components/+workloads-jobs/job.store.ts | 2 +- .../overview-workload-status.tsx | 2 +- .../+workloads-pods/pod-details-list.tsx | 4 +-- .../replicasets.store.ts | 2 +- .../+workloads-replicasets/replicasets.tsx | 2 +- .../statefulset.store.ts | 2 +- .../components/+workspaces/workspaces.tsx | 12 +++---- src/renderer/components/chart/chart.tsx | 6 ++-- .../components/chart/useRealTimeMetrics.ts | 2 +- .../cluster-manager/cluster-status.tsx | 4 +-- .../cluster-manager/clusters-menu.tsx | 6 ++-- .../confirm-dialog/confirm-dialog.tsx | 6 ++-- src/renderer/components/dialog/dialog.tsx | 12 +++---- .../components/dialog/logs-dialog.tsx | 2 +- .../components/dock/create-resource.tsx | 6 ++-- src/renderer/components/dock/dock.tsx | 4 +-- .../components/dock/edit-resource.tsx | 4 +-- src/renderer/components/dock/editor-panel.tsx | 10 +++--- src/renderer/components/dock/info-panel.tsx | 8 ++--- .../components/dock/install-chart.tsx | 2 +- .../components/dock/pod-logs.store.ts | 6 ++-- src/renderer/components/dock/pod-logs.tsx | 12 +++---- src/renderer/components/dock/terminal.ts | 18 +++++----- .../components/dock/upgrade-chart.tsx | 6 ++-- .../drawer/drawer-param-toggler.tsx | 4 +-- src/renderer/components/drawer/drawer.tsx | 18 +++++----- .../error-boundary/error-boundary.tsx | 4 +-- src/renderer/components/input/file-input.tsx | 4 +-- src/renderer/components/input/input.tsx | 4 +-- .../components/input/search-input-url.tsx | 10 +++--- .../components/input/search-input.tsx | 6 ++-- .../item-object-list/item-list-layout.tsx | 2 +- .../item-object-list/page-filters-list.tsx | 6 ++-- .../item-object-list/page-filters-select.tsx | 6 ++-- .../kube-object/kube-object-details.tsx | 2 +- .../kube-object/kube-object-list-layout.tsx | 2 +- .../kubeconfig-dialog/kubeconfig-dialog.tsx | 8 ++--- .../components/layout/main-layout.tsx | 4 +-- .../components/layout/page-layout.tsx | 2 +- src/renderer/components/menu/menu-actions.tsx | 2 +- src/renderer/components/radio/radio.tsx | 6 ++-- .../resizing-anchor/resizing-anchor.tsx | 12 +++---- .../resource-metrics/resource-metrics.tsx | 2 +- src/renderer/components/select/select.tsx | 2 +- src/renderer/components/table/table-head.tsx | 2 +- src/renderer/components/table/table.tsx | 4 +-- src/renderer/components/tabs/tabs.tsx | 2 +- .../components/virtual-list/virtual-list.tsx | 6 ++-- src/renderer/components/wizard/wizard.tsx | 8 ++--- src/renderer/i18n.ts | 2 +- src/renderer/utils/createStorage.ts | 2 +- 179 files changed, 556 insertions(+), 554 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 211d4ee87f..e50982d63a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -49,7 +49,8 @@ module.exports = { "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/no-empty-interface": "off", "indent": ["error", 2], - "semi": ["error", "always"], + "semi": "off", + "@typescript-eslint/semi": ["error"], }, }, { @@ -78,7 +79,8 @@ module.exports = { "@typescript-eslint/ban-types": "off", "@typescript-eslint/no-empty-function": "off", "indent": ["error", 2], - "semi": ["error", "always"], + "semi": "off", + "@typescript-eslint/semi": ["error"], }, } ] diff --git a/build/download_kubectl.ts b/build/download_kubectl.ts index c3d6621bcb..137588ff58 100644 --- a/build/download_kubectl.ts +++ b/build/download_kubectl.ts @@ -7,10 +7,10 @@ import { ensureDir, pathExists } from "fs-extra"; import path from "path"; class KubectlDownloader { - public kubectlVersion: string - protected url: string + public kubectlVersion: string; + protected url: string; protected path: string; - protected dirname: string + protected dirname: string; constructor(clusterVersion: string, platform: string, arch: string, target: string) { this.kubectlVersion = clusterVersion; diff --git a/src/common/event-bus.ts b/src/common/event-bus.ts index 887a839431..a05a43bcd1 100644 --- a/src/common/event-bus.ts +++ b/src/common/event-bus.ts @@ -4,6 +4,6 @@ export type AppEvent = { name: string; action: string; params?: object; -} +}; export const appEventBus = new EventEmitter<[AppEvent]>(); diff --git a/src/common/rbac.ts b/src/common/rbac.ts index 363a94f3e2..4097de95c9 100644 --- a/src/common/rbac.ts +++ b/src/common/rbac.ts @@ -4,7 +4,7 @@ export type KubeResource = "namespaces" | "nodes" | "events" | "resourcequotas" | "services" | "secrets" | "configmaps" | "ingresses" | "networkpolicies" | "persistentvolumes" | "storageclasses" | "pods" | "daemonsets" | "deployments" | "statefulsets" | "replicasets" | "jobs" | "cronjobs" | - "endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets" + "endpoints" | "customresourcedefinitions" | "horizontalpodautoscalers" | "podsecuritypolicies" | "poddisruptionbudgets"; export interface KubeApiResource { resource: KubeResource; // valid resource name diff --git a/src/common/user-store.ts b/src/common/user-store.ts index 8e89677df5..c1eba70a43 100644 --- a/src/common/user-store.ts +++ b/src/common/user-store.ts @@ -31,7 +31,7 @@ export interface UserPreferences { } export class UserStore extends BaseStore { - static readonly defaultTheme: ThemeId = "lens-dark" + static readonly defaultTheme: ThemeId = "lens-dark"; private constructor() { super({ @@ -42,7 +42,7 @@ export class UserStore extends BaseStore { this.handleOnLoad(); } - @observable lastSeenAppVersion = "0.0.0" + @observable lastSeenAppVersion = "0.0.0"; @observable kubeConfigPath = kubeConfigDefaultPath; // used in add-cluster page for providing context @observable seenContexts = observable.set(); @observable newContexts = observable.set(); @@ -113,7 +113,7 @@ export class UserStore extends BaseStore { logger.error(err); this.resetKubeConfigPath(); } - } + }; @action markNewContextsAsSeen() { diff --git a/src/common/workspace-store.ts b/src/common/workspace-store.ts index b58a478a59..67e1c4d22a 100644 --- a/src/common/workspace-store.ts +++ b/src/common/workspace-store.ts @@ -25,11 +25,11 @@ export interface WorkspaceState { } export class Workspace implements WorkspaceModel, WorkspaceState { - @observable id: WorkspaceId - @observable name: string - @observable description?: string - @observable ownerRef?: string - @observable enabled: boolean + @observable id: WorkspaceId; + @observable name: string; + @observable description?: string; + @observable ownerRef?: string; + @observable enabled: boolean; constructor(data: WorkspaceModel) { Object.assign(this, data); @@ -72,7 +72,7 @@ export class Workspace implements WorkspaceModel, WorkspaceState { } export class WorkspaceStore extends BaseStore { - static readonly defaultId: WorkspaceId = "default" + static readonly defaultId: WorkspaceId = "default"; private constructor() { super({ diff --git a/src/extensions/cluster-feature.ts b/src/extensions/cluster-feature.ts index f2680fc17d..6381d267cc 100644 --- a/src/extensions/cluster-feature.ts +++ b/src/extensions/cluster-feature.ts @@ -26,7 +26,7 @@ export abstract class ClusterFeature { installed: false, latestVersion: null, canUpgrade: false - } + }; abstract async install(cluster: Cluster): Promise; diff --git a/src/extensions/extension-loader.ts b/src/extensions/extension-loader.ts index 050b186ee1..c71fe90db2 100644 --- a/src/extensions/extension-loader.ts +++ b/src/extensions/extension-loader.ts @@ -18,7 +18,7 @@ export function extensionPackagesRoot() { export class ExtensionLoader { protected extensions = observable.map(); protected instances = observable.map(); - protected readonly requestExtensionsChannel = "extensions:loaded" + protected readonly requestExtensionsChannel = "extensions:loaded"; @observable isLoaded = false; whenLoaded = when(() => this.isLoaded); diff --git a/src/extensions/extension-manager.ts b/src/extensions/extension-manager.ts index e5ef9fd218..0e51eeb666 100644 --- a/src/extensions/extension-manager.ts +++ b/src/extensions/extension-manager.ts @@ -16,19 +16,19 @@ export interface InstalledExtension { type Dependencies = { [name: string]: string; -} +}; type PackageJson = { dependencies: Dependencies; -} +}; export class ExtensionManager { - protected bundledFolderPath: string + protected bundledFolderPath: string; protected packagesJson: PackageJson = { dependencies: {} - } + }; get extensionPackagesRoot() { return extensionPackagesRoot(); diff --git a/src/extensions/extension-store.ts b/src/extensions/extension-store.ts index 4150835200..a8078994ca 100644 --- a/src/extensions/extension-store.ts +++ b/src/extensions/extension-store.ts @@ -3,7 +3,7 @@ import * as path from "path"; import { LensExtension } from "./lens-extension"; export abstract class ExtensionStore extends BaseStore { - protected extension: LensExtension + protected extension: LensExtension; async loadExtension(extension: LensExtension) { this.extension = extension; diff --git a/src/extensions/lens-main-extension.ts b/src/extensions/lens-main-extension.ts index 1e1a3c4f5c..b425c5bf46 100644 --- a/src/extensions/lens-main-extension.ts +++ b/src/extensions/lens-main-extension.ts @@ -5,7 +5,7 @@ import { WindowManager } from "../main/window-manager"; import { getExtensionPageUrl } from "./registries/page-registry"; export class LensMainExtension extends LensExtension { - @observable.shallow appMenus: MenuRegistration[] = [] + @observable.shallow appMenus: MenuRegistration[] = []; async navigate

(pageId?: string, params?: P, frameId?: number) { const windowManager = WindowManager.getInstance(); diff --git a/src/extensions/lens-renderer-extension.ts b/src/extensions/lens-renderer-extension.ts index 156109574b..56ed90684f 100644 --- a/src/extensions/lens-renderer-extension.ts +++ b/src/extensions/lens-renderer-extension.ts @@ -4,16 +4,16 @@ import { LensExtension } from "./lens-extension"; import { getExtensionPageUrl } from "./registries/page-registry"; export class LensRendererExtension extends LensExtension { - @observable.shallow globalPages: PageRegistration[] = [] - @observable.shallow clusterPages: PageRegistration[] = [] - @observable.shallow globalPageMenus: PageMenuRegistration[] = [] - @observable.shallow clusterPageMenus: PageMenuRegistration[] = [] - @observable.shallow kubeObjectStatusTexts: KubeObjectStatusRegistration[] = [] - @observable.shallow appPreferences: AppPreferenceRegistration[] = [] - @observable.shallow clusterFeatures: ClusterFeatureRegistration[] = [] - @observable.shallow statusBarItems: StatusBarRegistration[] = [] - @observable.shallow kubeObjectDetailItems: KubeObjectDetailRegistration[] = [] - @observable.shallow kubeObjectMenuItems: KubeObjectMenuRegistration[] = [] + @observable.shallow globalPages: PageRegistration[] = []; + @observable.shallow clusterPages: PageRegistration[] = []; + @observable.shallow globalPageMenus: PageMenuRegistration[] = []; + @observable.shallow clusterPageMenus: PageMenuRegistration[] = []; + @observable.shallow kubeObjectStatusTexts: KubeObjectStatusRegistration[] = []; + @observable.shallow appPreferences: AppPreferenceRegistration[] = []; + @observable.shallow clusterFeatures: ClusterFeatureRegistration[] = []; + @observable.shallow statusBarItems: StatusBarRegistration[] = []; + @observable.shallow kubeObjectDetailItems: KubeObjectDetailRegistration[] = []; + @observable.shallow kubeObjectMenuItems: KubeObjectMenuRegistration[] = []; async navigate

(pageId?: string, params?: P) { const { navigate } = await import("../renderer/navigation"); diff --git a/src/extensions/renderer-api/kube-object-status.ts b/src/extensions/renderer-api/kube-object-status.ts index 22994ee85d..f609d736fe 100644 --- a/src/extensions/renderer-api/kube-object-status.ts +++ b/src/extensions/renderer-api/kube-object-status.ts @@ -2,7 +2,7 @@ export type KubeObjectStatus = { level: KubeObjectStatusLevel; text: string; timestamp?: string; -} +}; export enum KubeObjectStatusLevel { INFO = 1, diff --git a/src/main/app-updater.ts b/src/main/app-updater.ts index 563c219534..c7b6659149 100644 --- a/src/main/app-updater.ts +++ b/src/main/app-updater.ts @@ -2,7 +2,7 @@ import { autoUpdater } from "electron-updater"; import logger from "./logger"; export class AppUpdater { - static readonly defaultUpdateIntervalMs = 1000 * 60 * 60 * 24 // once a day + static readonly defaultUpdateIntervalMs = 1000 * 60 * 60 * 24; // once a day static checkForUpdates() { return autoUpdater.checkForUpdatesAndNotify(); diff --git a/src/main/cluster-detectors/base-cluster-detector.ts b/src/main/cluster-detectors/base-cluster-detector.ts index b35d75ee70..f73cc2ac81 100644 --- a/src/main/cluster-detectors/base-cluster-detector.ts +++ b/src/main/cluster-detectors/base-cluster-detector.ts @@ -4,11 +4,11 @@ import { Cluster } from "../cluster"; export type ClusterDetectionResult = { value: string | number | boolean accuracy: number -} +}; export class BaseClusterDetector { - cluster: Cluster - key: string + cluster: Cluster; + key: string; constructor(cluster: Cluster) { this.cluster = cluster; diff --git a/src/main/cluster-detectors/cluster-id-detector.ts b/src/main/cluster-detectors/cluster-id-detector.ts index 669cb5e1ba..8419ae9db4 100644 --- a/src/main/cluster-detectors/cluster-id-detector.ts +++ b/src/main/cluster-detectors/cluster-id-detector.ts @@ -3,7 +3,7 @@ import { createHash } from "crypto"; import { ClusterMetadataKey } from "../cluster"; export class ClusterIdDetector extends BaseClusterDetector { - key = ClusterMetadataKey.CLUSTER_ID + key = ClusterMetadataKey.CLUSTER_ID; public async detect() { let id: string; diff --git a/src/main/cluster-detectors/distribution-detector.ts b/src/main/cluster-detectors/distribution-detector.ts index 5b8b96831d..181425cb26 100644 --- a/src/main/cluster-detectors/distribution-detector.ts +++ b/src/main/cluster-detectors/distribution-detector.ts @@ -2,8 +2,8 @@ import { BaseClusterDetector } from "./base-cluster-detector"; import { ClusterMetadataKey } from "../cluster"; export class DistributionDetector extends BaseClusterDetector { - key = ClusterMetadataKey.DISTRIBUTION - version: string + key = ClusterMetadataKey.DISTRIBUTION; + version: string; public async detect() { this.version = await this.getKubernetesVersion(); diff --git a/src/main/cluster-detectors/last-seen-detector.ts b/src/main/cluster-detectors/last-seen-detector.ts index e915925e69..d56483625a 100644 --- a/src/main/cluster-detectors/last-seen-detector.ts +++ b/src/main/cluster-detectors/last-seen-detector.ts @@ -2,7 +2,7 @@ import { BaseClusterDetector } from "./base-cluster-detector"; import { ClusterMetadataKey } from "../cluster"; export class LastSeenDetector extends BaseClusterDetector { - key = ClusterMetadataKey.LAST_SEEN + key = ClusterMetadataKey.LAST_SEEN; public async detect() { if (!this.cluster.accessible) return null; diff --git a/src/main/cluster-detectors/nodes-count-detector.ts b/src/main/cluster-detectors/nodes-count-detector.ts index dcb2af1ea9..ba5fc93583 100644 --- a/src/main/cluster-detectors/nodes-count-detector.ts +++ b/src/main/cluster-detectors/nodes-count-detector.ts @@ -2,7 +2,7 @@ import { BaseClusterDetector } from "./base-cluster-detector"; import { ClusterMetadataKey } from "../cluster"; export class NodesCountDetector extends BaseClusterDetector { - key = ClusterMetadataKey.NODES_COUNT + key = ClusterMetadataKey.NODES_COUNT; public async detect() { if (!this.cluster.accessible) return null; diff --git a/src/main/cluster-detectors/version-detector.ts b/src/main/cluster-detectors/version-detector.ts index 11eb34e1dc..e59e6291b9 100644 --- a/src/main/cluster-detectors/version-detector.ts +++ b/src/main/cluster-detectors/version-detector.ts @@ -2,8 +2,8 @@ import { BaseClusterDetector } from "./base-cluster-detector"; import { ClusterMetadataKey } from "../cluster"; export class VersionDetector extends BaseClusterDetector { - key = ClusterMetadataKey.VERSION - value: string + key = ClusterMetadataKey.VERSION; + value: string; public async detect() { const version = await this.getKubernetesVersion(); diff --git a/src/main/cluster.ts b/src/main/cluster.ts index 0c6643e1e5..e2831e8c3f 100644 --- a/src/main/cluster.ts +++ b/src/main/cluster.ts @@ -32,7 +32,7 @@ export enum ClusterMetadataKey { export type ClusterRefreshOptions = { refreshMetadata?: boolean -} +}; export interface ClusterState { initialized: boolean; @@ -50,7 +50,7 @@ export interface ClusterState { export class Cluster implements ClusterModel, ClusterState { public id: ClusterId; - public kubeCtl: Kubectl + public kubeCtl: Kubectl; public contextHandler: ContextHandler; public ownerRef: string; protected kubeconfigManager: KubeconfigManager; diff --git a/src/main/context-handler.ts b/src/main/context-handler.ts index e148b12c6e..10f84ced6d 100644 --- a/src/main/context-handler.ts +++ b/src/main/context-handler.ts @@ -12,10 +12,10 @@ import { KubeAuthProxy } from "./kube-auth-proxy"; export class ContextHandler { public proxyPort: number; public clusterUrl: UrlWithStringQuery; - protected kubeAuthProxy: KubeAuthProxy - protected apiTarget: httpProxy.ServerOptions - protected prometheusProvider: string - protected prometheusPath: string + protected kubeAuthProxy: KubeAuthProxy; + protected apiTarget: httpProxy.ServerOptions; + protected prometheusProvider: string; + protected prometheusPath: string; constructor(protected cluster: Cluster) { this.clusterUrl = url.parse(cluster.apiUrl); diff --git a/src/main/helm/helm-chart-manager.ts b/src/main/helm/helm-chart-manager.ts index 46a2670aae..42c1a30ed2 100644 --- a/src/main/helm/helm-chart-manager.ts +++ b/src/main/helm/helm-chart-manager.ts @@ -7,11 +7,11 @@ import { helmCli } from "./helm-cli"; type CachedYaml = { entries: any; // todo: types -} +}; export class HelmChartManager { - protected cache: any = {} - protected repo: HelmRepo + protected cache: any = {}; + protected repo: HelmRepo; constructor(repo: HelmRepo){ this.cache = HelmRepoManager.cache; diff --git a/src/main/helm/helm-repo-manager.ts b/src/main/helm/helm-repo-manager.ts index 1c9647ae4f..dff372a301 100644 --- a/src/main/helm/helm-repo-manager.ts +++ b/src/main/helm/helm-repo-manager.ts @@ -10,7 +10,7 @@ import logger from "../logger"; export type HelmEnv = Record & { HELM_REPOSITORY_CACHE?: string; HELM_REPOSITORY_CONFIG?: string; -} +}; export interface HelmRepoConfig { repositories: HelmRepo[] @@ -29,11 +29,11 @@ export interface HelmRepo { } export class HelmRepoManager extends Singleton { - static cache = {} // todo: remove implicit updates in helm-chart-manager.ts + static cache = {}; // todo: remove implicit updates in helm-chart-manager.ts protected repos: HelmRepo[]; - protected helmEnv: HelmEnv - protected initialized: boolean + protected helmEnv: HelmEnv; + protected initialized: boolean; async loadAvailableRepos(): Promise { const res = await customRequestPromise({ diff --git a/src/main/kube-auth-proxy.ts b/src/main/kube-auth-proxy.ts index b773bbb944..3ad76e52b0 100644 --- a/src/main/kube-auth-proxy.ts +++ b/src/main/kube-auth-proxy.ts @@ -12,13 +12,13 @@ export interface KubeAuthProxyLog { } export class KubeAuthProxy { - public lastError: string + public lastError: string; - protected cluster: Cluster - protected env: NodeJS.ProcessEnv = null - protected proxyProcess: ChildProcess - protected port: number - protected kubectl: Kubectl + protected cluster: Cluster; + protected env: NodeJS.ProcessEnv = null; + protected proxyProcess: ChildProcess; + protected port: number; + protected kubectl: Kubectl; constructor(cluster: Cluster, port: number, env: NodeJS.ProcessEnv) { this.env = env; diff --git a/src/main/kubeconfig-manager.ts b/src/main/kubeconfig-manager.ts index 757a6f768b..a8b3ae3fce 100644 --- a/src/main/kubeconfig-manager.ts +++ b/src/main/kubeconfig-manager.ts @@ -8,7 +8,7 @@ import { dumpConfigYaml, loadConfig } from "../common/kube-helpers"; import logger from "./logger"; export class KubeconfigManager { - protected configDir = app.getPath("temp") + protected configDir = app.getPath("temp"); protected tempFile: string; private constructor(protected cluster: Cluster, protected contextHandler: ContextHandler, protected port: number) { } diff --git a/src/main/kubectl.ts b/src/main/kubectl.ts index b2c3623a3f..5d3f12746e 100644 --- a/src/main/kubectl.ts +++ b/src/main/kubectl.ts @@ -54,18 +54,18 @@ export function bundledKubectlPath(): string { } export class Kubectl { - public kubectlVersion: string - protected directory: string - protected url: string - protected path: string - protected dirname: string + public kubectlVersion: string; + protected directory: string; + protected url: string; + protected path: string; + protected dirname: string; static get kubectlDir() { return path.join((app || remote.app).getPath("userData"), "binaries", "kubectl"); } - public static readonly bundledKubectlVersion: string = bundledVersion - public static invalidBundle = false + public static readonly bundledKubectlVersion: string = bundledVersion; + public static invalidBundle = false; private static bundledInstance: Kubectl; // Returns the single bundled Kubectl instance diff --git a/src/main/lens-binary.ts b/src/main/lens-binary.ts index 5cec928225..fc6b59ee74 100644 --- a/src/main/lens-binary.ts +++ b/src/main/lens-binary.ts @@ -12,22 +12,22 @@ export type LensBinaryOpts = { originalBinaryName: string; newBinaryName?: string; requestOpts?: request.Options; -} +}; export class LensBinary { - public binaryVersion: string - protected directory: string - protected url: string + public binaryVersion: string; + protected directory: string; + protected url: string; protected path: string; protected tarPath: string; - protected dirname: string - protected binaryName: string - protected platformName: string - protected arch: string - protected originalBinaryName: string - protected requestOpts: request.Options - protected logger: Console | winston.Logger + protected dirname: string; + protected binaryName: string; + protected platformName: string; + protected arch: string; + protected originalBinaryName: string; + protected requestOpts: request.Options; + protected logger: Console | winston.Logger; constructor(opts: LensBinaryOpts) { const baseDir = opts.baseDir; diff --git a/src/main/lens-proxy.ts b/src/main/lens-proxy.ts index 236b23850c..03b1b15d29 100644 --- a/src/main/lens-proxy.ts +++ b/src/main/lens-proxy.ts @@ -12,11 +12,11 @@ import { ContextHandler } from "./context-handler"; import logger from "./logger"; export class LensProxy { - protected origin: string - protected proxyServer: http.Server - protected router: Router - protected closed = false - protected retryCounters = new Map() + protected origin: string; + protected proxyServer: http.Server; + protected router: Router; + protected closed = false; + protected retryCounters = new Map(); static create(port: number, clusterManager: ClusterManager) { return new LensProxy(port, clusterManager).listen(); diff --git a/src/main/menu.ts b/src/main/menu.ts index 1baad66a8b..99a0d0bb55 100644 --- a/src/main/menu.ts +++ b/src/main/menu.ts @@ -11,7 +11,7 @@ import { menuRegistry } from "../extensions/registries/menu-registry"; import logger from "./logger"; import { exitApp } from "./exit-app"; -export type MenuTopId = "mac" | "file" | "edit" | "view" | "help" +export type MenuTopId = "mac" | "file" | "edit" | "view" | "help"; export function initMenu(windowManager: WindowManager) { return autorun(() => buildMenu(windowManager), { diff --git a/src/main/node-shell-session.ts b/src/main/node-shell-session.ts index b5a2ca2a77..3d48afebc5 100644 --- a/src/main/node-shell-session.ts +++ b/src/main/node-shell-session.ts @@ -10,8 +10,8 @@ import { appEventBus } from "../common/event-bus"; export class NodeShellSession extends ShellSession { protected nodeName: string; - protected podId: string - protected kc: KubeConfig + protected podId: string; + protected kc: KubeConfig; constructor(socket: WebSocket, cluster: Cluster, nodeName: string) { super(socket, cluster); diff --git a/src/main/port_spec.ts b/src/main/port_spec.ts index ea8a6972b1..bf01eb5dde 100644 --- a/src/main/port_spec.ts +++ b/src/main/port_spec.ts @@ -10,15 +10,15 @@ jest.mock("net", () => { listen = jest.fn(() => { this.emit('listening'); return this; - }) + }); address = () => { newPort = Math.round(Math.random() * 10000); return { port: newPort }; - } - unref = jest.fn() - close = jest.fn(cb => cb()) + }; + unref = jest.fn(); + close = jest.fn(cb => cb()); }; }, }; diff --git a/src/main/prometheus/helm.ts b/src/main/prometheus/helm.ts index 33d4bd0c61..56d739c630 100644 --- a/src/main/prometheus/helm.ts +++ b/src/main/prometheus/helm.ts @@ -4,9 +4,9 @@ import { PrometheusService } from "./provider-registry"; import logger from "../logger"; export class PrometheusHelm extends PrometheusLens { - id = "helm" - name = "Helm" - rateAccuracy = "5m" + id = "helm"; + name = "Helm"; + rateAccuracy = "5m"; public async getPrometheusService(client: CoreV1Api): Promise { const labelSelector = "app=prometheus,component=server,heritage=Helm"; diff --git a/src/main/prometheus/lens.ts b/src/main/prometheus/lens.ts index af3c3a2f70..76a459212d 100644 --- a/src/main/prometheus/lens.ts +++ b/src/main/prometheus/lens.ts @@ -3,9 +3,9 @@ import { CoreV1Api } from "@kubernetes/client-node"; import logger from "../logger"; export class PrometheusLens implements PrometheusProvider { - id = "lens" - name = "Lens" - rateAccuracy = "1m" + id = "lens"; + name = "Lens"; + rateAccuracy = "1m"; public async getPrometheusService(client: CoreV1Api): Promise { try { diff --git a/src/main/prometheus/operator.ts b/src/main/prometheus/operator.ts index 06044414c1..8e27a4a6f3 100644 --- a/src/main/prometheus/operator.ts +++ b/src/main/prometheus/operator.ts @@ -3,9 +3,9 @@ import { CoreV1Api, V1Service } from "@kubernetes/client-node"; import logger from "../logger"; export class PrometheusOperator implements PrometheusProvider { - rateAccuracy = "1m" - id = "operator" - name = "Prometheus Operator" + rateAccuracy = "1m"; + id = "operator"; + name = "Prometheus Operator"; public async getPrometheusService(client: CoreV1Api): Promise { try { diff --git a/src/main/prometheus/provider-registry.ts b/src/main/prometheus/provider-registry.ts index 58e6dafdc0..641b1b8cf2 100644 --- a/src/main/prometheus/provider-registry.ts +++ b/src/main/prometheus/provider-registry.ts @@ -11,7 +11,7 @@ export type PrometheusClusterQuery = { cpuCapacity: string; podUsage: string; podCapacity: string; -} +}; export type PrometheusNodeQuery = { memoryUsage: string; @@ -20,7 +20,7 @@ export type PrometheusNodeQuery = { cpuCapacity: string; fsSize: string; fsUsage: string; -} +}; export type PrometheusPodQuery = { memoryUsage: string; @@ -32,32 +32,32 @@ export type PrometheusPodQuery = { fsUsage: string; networkReceive: string; networkTransmit: string; -} +}; export type PrometheusPvcQuery = { diskUsage: string; diskCapacity: string; -} +}; export type PrometheusIngressQuery = { bytesSentSuccess: string; bytesSentFailure: string; requestDurationSeconds: string; responseDurationSeconds: string; -} +}; export type PrometheusQueryOpts = { [key: string]: string | any; }; -export type PrometheusQuery = PrometheusNodeQuery | PrometheusClusterQuery | PrometheusPodQuery | PrometheusPvcQuery | PrometheusIngressQuery +export type PrometheusQuery = PrometheusNodeQuery | PrometheusClusterQuery | PrometheusPodQuery | PrometheusPvcQuery | PrometheusIngressQuery; export type PrometheusService = { id: string; namespace: string; service: string; port: number; -} +}; export interface PrometheusProvider { id: string; @@ -68,10 +68,10 @@ export interface PrometheusProvider { export type PrometheusProviderList = { [key: string]: PrometheusProvider; -} +}; export class PrometheusProviderRegistry { - private static prometheusProviders: PrometheusProviderList = {} + private static prometheusProviders: PrometheusProviderList = {}; static getProvider(type: string): PrometheusProvider { if (!this.prometheusProviders[type]) { diff --git a/src/main/prometheus/stacklight.ts b/src/main/prometheus/stacklight.ts index d613aa852a..35394336d3 100644 --- a/src/main/prometheus/stacklight.ts +++ b/src/main/prometheus/stacklight.ts @@ -3,9 +3,9 @@ import { CoreV1Api } from "@kubernetes/client-node"; import logger from "../logger"; export class PrometheusStacklight implements PrometheusProvider { - id = "stacklight" - name = "Stacklight" - rateAccuracy = "1m" + id = "stacklight"; + name = "Stacklight"; + rateAccuracy = "1m"; public async getPrometheusService(client: CoreV1Api): Promise { try { diff --git a/src/main/routes/metrics-route.ts b/src/main/routes/metrics-route.ts index f0d6763424..254abe188f 100644 --- a/src/main/routes/metrics-route.ts +++ b/src/main/routes/metrics-route.ts @@ -5,7 +5,7 @@ import _ from "lodash"; export type IMetricsQuery = string | string[] | { [metricName: string]: string; -} +}; // This is used for backoff retry tracking. const MAX_ATTEMPTS = 5; diff --git a/src/main/routes/port-forward-route.ts b/src/main/routes/port-forward-route.ts index 84121c48fd..55402ff72f 100644 --- a/src/main/routes/port-forward-route.ts +++ b/src/main/routes/port-forward-route.ts @@ -8,7 +8,7 @@ import * as tcpPortUsed from "tcp-port-used"; import logger from "../logger"; class PortForward { - public static portForwards: PortForward[] = [] + public static portForwards: PortForward[] = []; static getPortforward(forward: {clusterId: string; kind: string; name: string; namespace: string; port: string}) { return PortForward.portForwards.find((pf) => { @@ -22,14 +22,14 @@ class PortForward { }); } - public clusterId: string - public process: ChildProcessWithoutNullStreams - public kubeConfig: string - public kind: string - public namespace: string - public name: string - public port: string - public localPort: number + public clusterId: string; + public process: ChildProcessWithoutNullStreams; + public kubeConfig: string; + public kind: string; + public namespace: string; + public name: string; + public port: string; + public localPort: number; constructor(obj: any) { Object.assign(this, obj); diff --git a/src/main/routes/watch-route.ts b/src/main/routes/watch-route.ts index abc92389c4..dd42460a9d 100644 --- a/src/main/routes/watch-route.ts +++ b/src/main/routes/watch-route.ts @@ -6,12 +6,12 @@ import { Request } from "request"; import logger from "../logger"; class ApiWatcher { - private apiUrl: string - private response: ServerResponse - private watchRequest: Request - private watch: Watch - private processor: NodeJS.Timeout - private eventBuffer: any[] = [] + private apiUrl: string; + private response: ServerResponse; + private watchRequest: Request; + private watch: Watch; + private processor: NodeJS.Timeout; + private eventBuffer: any[] = []; constructor(apiUrl: string, kubeConfig: KubeConfig, response: ServerResponse) { this.apiUrl = apiUrl; diff --git a/src/main/shell-session.ts b/src/main/shell-session.ts index d67636ce5f..42e0039047 100644 --- a/src/main/shell-session.ts +++ b/src/main/shell-session.ts @@ -13,11 +13,11 @@ import { appEventBus } from "../common/event-bus"; import { userStore } from "../common/user-store"; export class ShellSession extends EventEmitter { - static shellEnvs: Map = new Map() + static shellEnvs: Map = new Map(); - protected websocket: WebSocket - protected shellProcess: pty.IPty - protected kubeconfigPath: string + protected websocket: WebSocket; + protected shellProcess: pty.IPty; + protected kubeconfigPath: string; protected nodeShellPod: string; protected kubectl: Kubectl; protected kubectlBinDir: string; diff --git a/src/renderer/api/endpoints/cluster-role-binding.api.ts b/src/renderer/api/endpoints/cluster-role-binding.api.ts index 35e4ded7e7..d566717bff 100644 --- a/src/renderer/api/endpoints/cluster-role-binding.api.ts +++ b/src/renderer/api/endpoints/cluster-role-binding.api.ts @@ -2,9 +2,9 @@ import { RoleBinding } from "./role-binding.api"; import { KubeApi } from "../kube-api"; export class ClusterRoleBinding extends RoleBinding { - static kind = "ClusterRoleBinding" - static namespaced = false - static apiBase = "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings" + static kind = "ClusterRoleBinding"; + static namespaced = false; + static apiBase = "/apis/rbac.authorization.k8s.io/v1/clusterrolebindings"; } export const clusterRoleBindingApi = new KubeApi({ diff --git a/src/renderer/api/endpoints/cluster-role.api.ts b/src/renderer/api/endpoints/cluster-role.api.ts index 8a99f7ad27..9e3c90ca2e 100644 --- a/src/renderer/api/endpoints/cluster-role.api.ts +++ b/src/renderer/api/endpoints/cluster-role.api.ts @@ -4,9 +4,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class ClusterRole extends Role { - static kind = "ClusterRole" - static namespaced = false - static apiBase = "/apis/rbac.authorization.k8s.io/v1/clusterroles" + static kind = "ClusterRole"; + static namespaced = false; + static apiBase = "/apis/rbac.authorization.k8s.io/v1/clusterroles"; } export const clusterRoleApi = new KubeApi({ diff --git a/src/renderer/api/endpoints/cluster.api.ts b/src/renderer/api/endpoints/cluster.api.ts index d7e70433e6..43783e1c00 100644 --- a/src/renderer/api/endpoints/cluster.api.ts +++ b/src/renderer/api/endpoints/cluster.api.ts @@ -3,8 +3,8 @@ import { KubeObject } from "../kube-object"; import { KubeApi } from "../kube-api"; export class ClusterApi extends KubeApi { - static kind = "Cluster" - static namespaced = true + static kind = "Cluster"; + static namespaced = true; async getMetrics(nodeNames: string[], params?: IMetricsReqParams): Promise { const nodes = nodeNames.join("|"); @@ -52,7 +52,7 @@ export interface IClusterMetrics { export class Cluster extends KubeObject { static kind = "Cluster"; - static apiBase = "/apis/cluster.k8s.io/v1alpha1/clusters" + static apiBase = "/apis/cluster.k8s.io/v1alpha1/clusters"; spec: { clusterNetwork?: { @@ -69,7 +69,7 @@ export class Cluster extends KubeObject { profile: string; }; }; - } + }; status?: { apiEndpoints: { host: string; @@ -84,7 +84,7 @@ export class Cluster extends KubeObject { }; errorMessage?: string; errorReason?: string; - } + }; getStatus() { if (this.metadata.deletionTimestamp) return ClusterStatus.REMOVING; diff --git a/src/renderer/api/endpoints/component-status.api.ts b/src/renderer/api/endpoints/component-status.api.ts index 7f7e04fe2a..fec4dda1da 100644 --- a/src/renderer/api/endpoints/component-status.api.ts +++ b/src/renderer/api/endpoints/component-status.api.ts @@ -8,11 +8,11 @@ export interface IComponentStatusCondition { } export class ComponentStatus extends KubeObject { - static kind = "ComponentStatus" - static namespaced = false - static apiBase = "/api/v1/componentstatuses" + static kind = "ComponentStatus"; + static namespaced = false; + static apiBase = "/api/v1/componentstatuses"; - conditions: IComponentStatusCondition[] + conditions: IComponentStatusCondition[]; getTruthyConditions() { return this.conditions.filter(c => c.status === "True"); diff --git a/src/renderer/api/endpoints/configmap.api.ts b/src/renderer/api/endpoints/configmap.api.ts index 59f3e3b090..042fb59d86 100644 --- a/src/renderer/api/endpoints/configmap.api.ts +++ b/src/renderer/api/endpoints/configmap.api.ts @@ -7,7 +7,7 @@ import { KubeApi } from "../kube-api"; export class ConfigMap extends KubeObject { static kind = "ConfigMap"; static namespaced = true; - static apiBase = "/api/v1/configmaps" + static apiBase = "/api/v1/configmaps"; constructor(data: KubeJsonApiData) { super(data); @@ -16,7 +16,7 @@ export class ConfigMap extends KubeObject { data: { [param: string]: string; - } + }; getKeys(): string[] { return Object.keys(this.data); diff --git a/src/renderer/api/endpoints/crd.api.ts b/src/renderer/api/endpoints/crd.api.ts index 1ff305642e..02690a2afd 100644 --- a/src/renderer/api/endpoints/crd.api.ts +++ b/src/renderer/api/endpoints/crd.api.ts @@ -7,20 +7,20 @@ type AdditionalPrinterColumnsCommon = { type: "integer" | "number" | "string" | "boolean" | "date"; priority: number; description: string; -} +}; export type AdditionalPrinterColumnsV1 = AdditionalPrinterColumnsCommon & { jsonPath: string; -} +}; type AdditionalPrinterColumnsV1Beta = AdditionalPrinterColumnsCommon & { JSONPath: string; -} +}; export class CustomResourceDefinition extends KubeObject { static kind = "CustomResourceDefinition"; static namespaced = false; - static apiBase = "/apis/apiextensions.k8s.io/v1/customresourcedefinitions" + static apiBase = "/apis/apiextensions.k8s.io/v1/customresourcedefinitions"; spec: { group: string; @@ -45,7 +45,7 @@ export class CustomResourceDefinition extends KubeObject { webhook?: any; }; additionalPrinterColumns?: AdditionalPrinterColumnsV1Beta[]; // removed in v1 - } + }; status: { conditions: { lastTransitionTime: string; @@ -62,7 +62,7 @@ export class CustomResourceDefinition extends KubeObject { listKind: string; }; storedVersions: string[]; - } + }; getResourceUrl() { return crdResourcesURL({ diff --git a/src/renderer/api/endpoints/cron-job.api.ts b/src/renderer/api/endpoints/cron-job.api.ts index 0ddb32fb73..2cca8bfb3d 100644 --- a/src/renderer/api/endpoints/cron-job.api.ts +++ b/src/renderer/api/endpoints/cron-job.api.ts @@ -7,12 +7,12 @@ import { KubeApi } from "../kube-api"; @autobind() export class CronJob extends KubeObject { - static kind = "CronJob" - static namespaced = true - static apiBase = "/apis/batch/v1beta1/cronjobs" + static kind = "CronJob"; + static namespaced = true; + static apiBase = "/apis/batch/v1beta1/cronjobs"; - kind: string - apiVersion: string + kind: string; + apiVersion: string; metadata: { name: string; namespace: string; @@ -26,7 +26,7 @@ export class CronJob extends KubeObject { annotations: { [key: string]: string; }; - } + }; spec: { schedule: string; concurrencyPolicy: string; @@ -59,10 +59,10 @@ export class CronJob extends KubeObject { }; successfulJobsHistoryLimit: number; failedJobsHistoryLimit: number; - } + }; status: { lastScheduleTime?: string; - } + }; getSuspendFlag() { return this.spec.suspend.toString(); diff --git a/src/renderer/api/endpoints/daemon-set.api.ts b/src/renderer/api/endpoints/daemon-set.api.ts index 41bd01c6af..63fc6363e4 100644 --- a/src/renderer/api/endpoints/daemon-set.api.ts +++ b/src/renderer/api/endpoints/daemon-set.api.ts @@ -6,9 +6,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class DaemonSet extends WorkloadKubeObject { - static kind = "DaemonSet" - static namespaced = true - static apiBase = "/apis/apps/v1/daemonsets" + static kind = "DaemonSet"; + static namespaced = true; + static apiBase = "/apis/apps/v1/daemonsets"; spec: { selector: { @@ -51,7 +51,7 @@ export class DaemonSet extends WorkloadKubeObject { }; }; revisionHistoryLimit: number; - } + }; status: { currentNumberScheduled: number; numberMisscheduled: number; @@ -61,7 +61,7 @@ export class DaemonSet extends WorkloadKubeObject { updatedNumberScheduled: number; numberAvailable: number; numberUnavailable: number; - } + }; getImages() { const containers: IPodContainer[] = get(this, "spec.template.spec.containers", []); diff --git a/src/renderer/api/endpoints/deployment.api.ts b/src/renderer/api/endpoints/deployment.api.ts index da65003e73..28ed71f86a 100644 --- a/src/renderer/api/endpoints/deployment.api.ts +++ b/src/renderer/api/endpoints/deployment.api.ts @@ -48,9 +48,9 @@ export class DeploymentApi extends KubeApi { @autobind() export class Deployment extends WorkloadKubeObject { - static kind = "Deployment" - static namespaced = true - static apiBase = "/apis/apps/v1/deployments" + static kind = "Deployment"; + static namespaced = true; + static apiBase = "/apis/apps/v1/deployments"; spec: { replicas: number; @@ -151,7 +151,7 @@ export class Deployment extends WorkloadKubeObject { maxSurge: number; }; }; - } + }; status: { observedGeneration: number; replicas: number; @@ -167,7 +167,7 @@ export class Deployment extends WorkloadKubeObject { reason: string; message: string; }[]; - } + }; getConditions(activeOnly = false) { const { conditions } = this.status; diff --git a/src/renderer/api/endpoints/endpoint.api.ts b/src/renderer/api/endpoints/endpoint.api.ts index d04d553b18..121836a637 100644 --- a/src/renderer/api/endpoints/endpoint.api.ts +++ b/src/renderer/api/endpoints/endpoint.api.ts @@ -98,11 +98,11 @@ export class EndpointSubset implements IEndpointSubset { @autobind() export class Endpoint extends KubeObject { - static kind = "Endpoints" - static namespaced = true - static apiBase = "/api/v1/endpoints" + static kind = "Endpoints"; + static namespaced = true; + static apiBase = "/api/v1/endpoints"; - subsets: IEndpointSubset[] + subsets: IEndpointSubset[]; getEndpointSubsets(): EndpointSubset[] { const subsets = this.subsets || []; diff --git a/src/renderer/api/endpoints/events.api.ts b/src/renderer/api/endpoints/events.api.ts index 31ebe09045..51dbf3c3b5 100644 --- a/src/renderer/api/endpoints/events.api.ts +++ b/src/renderer/api/endpoints/events.api.ts @@ -6,9 +6,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class KubeEvent extends KubeObject { - static kind = "Event" - static namespaced = true - static apiBase = "/api/v1/events" + static kind = "Event"; + static namespaced = true; + static apiBase = "/api/v1/events"; involvedObject: { kind: string; @@ -18,20 +18,20 @@ export class KubeEvent extends KubeObject { apiVersion: string; resourceVersion: string; fieldPath: string; - } - reason: string - message: string + }; + reason: string; + message: string; source: { component: string; host: string; - } - firstTimestamp: string - lastTimestamp: string - count: number - type: string - eventTime: null - reportingComponent: string - reportingInstance: string + }; + firstTimestamp: string; + lastTimestamp: string; + count: number; + type: string; + eventTime: null; + reportingComponent: string; + reportingInstance: string; isWarning() { return this.type === "Warning"; diff --git a/src/renderer/api/endpoints/helm-charts.api.ts b/src/renderer/api/endpoints/helm-charts.api.ts index 69246143a6..e6328f136b 100644 --- a/src/renderer/api/endpoints/helm-charts.api.ts +++ b/src/renderer/api/endpoints/helm-charts.api.ts @@ -61,27 +61,27 @@ export class HelmChart { return new HelmChart(data); } - apiVersion: string - name: string - version: string - repo: string - kubeVersion?: string - created: string - description?: string - digest: string - keywords?: string[] - home?: string - sources?: string[] + apiVersion: string; + name: string; + version: string; + repo: string; + kubeVersion?: string; + created: string; + description?: string; + digest: string; + keywords?: string[]; + home?: string; + sources?: string[]; maintainers?: { name: string; email: string; url: string; - }[] - engine?: string - icon?: string - appVersion?: string - deprecated?: boolean - tillerVersion?: string + }[]; + engine?: string; + icon?: string; + appVersion?: string; + deprecated?: boolean; + tillerVersion?: string; getId() { return this.digest; diff --git a/src/renderer/api/endpoints/helm-releases.api.ts b/src/renderer/api/endpoints/helm-releases.api.ts index 6edbe4145b..0ddbf1c734 100644 --- a/src/renderer/api/endpoints/helm-releases.api.ts +++ b/src/renderer/api/endpoints/helm-releases.api.ts @@ -135,13 +135,13 @@ export class HelmRelease implements ItemObject { return new HelmRelease(data); } - appVersion: string - name: string - namespace: string - chart: string - status: string - updated: string - revision: string + appVersion: string; + name: string; + namespace: string; + chart: string; + status: string; + updated: string; + revision: string; getId() { return this.namespace + this.name; diff --git a/src/renderer/api/endpoints/hpa.api.ts b/src/renderer/api/endpoints/hpa.api.ts index 9df5ab188b..79e6cada0f 100644 --- a/src/renderer/api/endpoints/hpa.api.ts +++ b/src/renderer/api/endpoints/hpa.api.ts @@ -20,7 +20,7 @@ export type IHpaMetricData = T & { currentAverageValue?: string; targetAverageUtilization?: number; targetAverageValue?: string; -} +}; export interface IHpaMetric { [kind: string]: IHpaMetricData; @@ -41,7 +41,7 @@ export interface IHpaMetric { export class HorizontalPodAutoscaler extends KubeObject { static kind = "HorizontalPodAutoscaler"; static namespaced = true; - static apiBase = "/apis/autoscaling/v2beta1/horizontalpodautoscalers" + static apiBase = "/apis/autoscaling/v2beta1/horizontalpodautoscalers"; spec: { scaleTargetRef: { @@ -52,7 +52,7 @@ export class HorizontalPodAutoscaler extends KubeObject { minReplicas: number; maxReplicas: number; metrics: IHpaMetric[]; - } + }; status: { currentReplicas: number; desiredReplicas: number; @@ -64,7 +64,7 @@ export class HorizontalPodAutoscaler extends KubeObject { status: string; type: string; }[]; - } + }; getMaxPods() { return this.spec.maxReplicas || 0; diff --git a/src/renderer/api/endpoints/ingress.api.ts b/src/renderer/api/endpoints/ingress.api.ts index d5ff66be82..0594e3446e 100644 --- a/src/renderer/api/endpoints/ingress.api.ts +++ b/src/renderer/api/endpoints/ingress.api.ts @@ -31,9 +31,9 @@ export interface ILoadBalancerIngress { } @autobind() export class Ingress extends KubeObject { - static kind = "Ingress" - static namespaced = true - static apiBase = "/apis/extensions/v1beta1/ingresses" + static kind = "Ingress"; + static namespaced = true; + static apiBase = "/apis/extensions/v1beta1/ingresses"; spec: { tls: { @@ -55,12 +55,12 @@ export class Ingress extends KubeObject { serviceName: string; servicePort: number; }; - } + }; status: { loadBalancer: { ingress: ILoadBalancerIngress[]; }; - } + }; getRoutes() { const { spec: { tls, rules } } = this; diff --git a/src/renderer/api/endpoints/job.api.ts b/src/renderer/api/endpoints/job.api.ts index 0083df2cc8..1dc78fdc94 100644 --- a/src/renderer/api/endpoints/job.api.ts +++ b/src/renderer/api/endpoints/job.api.ts @@ -7,9 +7,9 @@ import { JsonApiParams } from "../json-api"; @autobind() export class Job extends WorkloadKubeObject { - static kind = "Job" - static namespaced = true - static apiBase = "/apis/batch/v1/jobs" + static kind = "Job"; + static namespaced = true; + static apiBase = "/apis/batch/v1/jobs"; spec: { parallelism?: number; @@ -56,7 +56,7 @@ export class Job extends WorkloadKubeObject { serviceAccountName?: string; serviceAccount?: string; schedulerName?: string; - } + }; status: { conditions: { type: string; @@ -68,7 +68,7 @@ export class Job extends WorkloadKubeObject { startTime: string; completionTime: string; succeeded: number; - } + }; getDesiredCompletions() { return this.spec.completions || 0; diff --git a/src/renderer/api/endpoints/namespaces.api.ts b/src/renderer/api/endpoints/namespaces.api.ts index c615789cd9..430565bf57 100644 --- a/src/renderer/api/endpoints/namespaces.api.ts +++ b/src/renderer/api/endpoints/namespaces.api.ts @@ -15,7 +15,7 @@ export class Namespace extends KubeObject { status?: { phase: string; - } + }; getStatus() { return this.status ? this.status.phase : "-"; diff --git a/src/renderer/api/endpoints/network-policy.api.ts b/src/renderer/api/endpoints/network-policy.api.ts index e1b1860d3d..4ecd333854 100644 --- a/src/renderer/api/endpoints/network-policy.api.ts +++ b/src/renderer/api/endpoints/network-policy.api.ts @@ -37,9 +37,9 @@ export interface IPolicyEgress { @autobind() export class NetworkPolicy extends KubeObject { - static kind = "NetworkPolicy" - static namespaced = true - static apiBase = "/apis/networking.k8s.io/v1/networkpolicies" + static kind = "NetworkPolicy"; + static namespaced = true; + static apiBase = "/apis/networking.k8s.io/v1/networkpolicies"; spec: { podSelector: { @@ -51,7 +51,7 @@ export class NetworkPolicy extends KubeObject { policyTypes: string[]; ingress: IPolicyIngress[]; egress: IPolicyEgress[]; - } + }; getMatchLabels(): string[] { if (!this.spec.podSelector || !this.spec.podSelector.matchLabels) return []; diff --git a/src/renderer/api/endpoints/nodes.api.ts b/src/renderer/api/endpoints/nodes.api.ts index 2b6ad85083..c85cd8f9b0 100644 --- a/src/renderer/api/endpoints/nodes.api.ts +++ b/src/renderer/api/endpoints/nodes.api.ts @@ -30,9 +30,9 @@ export interface INodeMetrics { @autobind() export class Node extends KubeObject { - static kind = "Node" - static namespaced = false - static apiBase = "/api/v1/nodes" + static kind = "Node"; + static namespaced = false; + static apiBase = "/api/v1/nodes"; spec: { podCIDR: string; @@ -43,7 +43,7 @@ export class Node extends KubeObject { effect: string; }[]; unschedulable?: boolean; - } + }; status: { capacity: { cpu: string; @@ -83,7 +83,7 @@ export class Node extends KubeObject { names: string[]; sizeBytes: number; }[]; - } + }; getNodeConditionText() { const { conditions } = this.status; diff --git a/src/renderer/api/endpoints/persistent-volume-claims.api.ts b/src/renderer/api/endpoints/persistent-volume-claims.api.ts index 91d1663a43..9aa73bb0bc 100644 --- a/src/renderer/api/endpoints/persistent-volume-claims.api.ts +++ b/src/renderer/api/endpoints/persistent-volume-claims.api.ts @@ -23,9 +23,9 @@ export interface IPvcMetrics { @autobind() export class PersistentVolumeClaim extends KubeObject { - static kind = "PersistentVolumeClaim" - static namespaced = true - static apiBase = "/api/v1/persistentvolumeclaims" + static kind = "PersistentVolumeClaim"; + static namespaced = true; + static apiBase = "/api/v1/persistentvolumeclaims"; spec: { accessModes: string[]; @@ -45,10 +45,10 @@ export class PersistentVolumeClaim extends KubeObject { storage: string; // 8Gi }; }; - } + }; status: { phase: string; // Pending - } + }; getPods(allPods: Pod[]): Pod[] { const pods = allPods.filter(pod => pod.getNs() === this.getNs()); diff --git a/src/renderer/api/endpoints/persistent-volume.api.ts b/src/renderer/api/endpoints/persistent-volume.api.ts index c985215c52..5e31eeb028 100644 --- a/src/renderer/api/endpoints/persistent-volume.api.ts +++ b/src/renderer/api/endpoints/persistent-volume.api.ts @@ -5,9 +5,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class PersistentVolume extends KubeObject { - static kind = "PersistentVolume" - static namespaced = false - static apiBase = "/api/v1/persistentvolumes" + static kind = "PersistentVolume"; + static namespaced = false; + static apiBase = "/api/v1/persistentvolumes"; spec: { capacity: { @@ -38,12 +38,12 @@ export class PersistentVolume extends KubeObject { path: string; server: string; }; - } + }; status: { phase: string; reason?: string; - } + }; getCapacity(inBytes = false) { const capacity = this.spec.capacity; diff --git a/src/renderer/api/endpoints/pod-metrics.api.ts b/src/renderer/api/endpoints/pod-metrics.api.ts index 7e01a1a990..acf6e7b20f 100644 --- a/src/renderer/api/endpoints/pod-metrics.api.ts +++ b/src/renderer/api/endpoints/pod-metrics.api.ts @@ -2,19 +2,19 @@ import { KubeObject } from "../kube-object"; import { KubeApi } from "../kube-api"; export class PodMetrics extends KubeObject { - static kind = "Pod" - static namespaced = true - static apiBase = "/apis/metrics.k8s.io/v1beta1/pods" + static kind = "Pod"; + static namespaced = true; + static apiBase = "/apis/metrics.k8s.io/v1beta1/pods"; - timestamp: string - window: string + timestamp: string; + window: string; containers: { name: string; usage: { cpu: string; memory: string; }; - }[] + }[]; } export const podMetricsApi = new KubeApi({ diff --git a/src/renderer/api/endpoints/poddisruptionbudget.api.ts b/src/renderer/api/endpoints/poddisruptionbudget.api.ts index ea7e0575ff..b76260ae6f 100644 --- a/src/renderer/api/endpoints/poddisruptionbudget.api.ts +++ b/src/renderer/api/endpoints/poddisruptionbudget.api.ts @@ -12,13 +12,13 @@ export class PodDisruptionBudget extends KubeObject { minAvailable: string; maxUnavailable: string; selector: { matchLabels: { [app: string]: string } }; - } + }; status: { currentHealthy: number desiredHealthy: number disruptionsAllowed: number expectedPods: number - } + }; getSelectors() { const selector = this.spec.selector; diff --git a/src/renderer/api/endpoints/pods.api.ts b/src/renderer/api/endpoints/pods.api.ts index 31ead8eb9d..a5c833b5fa 100644 --- a/src/renderer/api/endpoints/pods.api.ts +++ b/src/renderer/api/endpoints/pods.api.ts @@ -171,9 +171,9 @@ export interface IPodContainerStatus { @autobind() export class Pod extends WorkloadKubeObject { - static kind = "Pod" - static namespaced = true - static apiBase = "/api/v1/pods" + static kind = "Pod"; + static namespaced = true; + static apiBase = "/api/v1/pods"; spec: { volumes?: { @@ -215,7 +215,7 @@ export class Pod extends WorkloadKubeObject { tolerationSeconds: number; }[]; affinity: IAffinity; - } + }; status: { phase: string; conditions: { @@ -231,7 +231,7 @@ export class Pod extends WorkloadKubeObject { containerStatuses?: IPodContainerStatus[]; qosClass: string; reason?: string; - } + }; getInitContainers() { return this.spec.initContainers || []; diff --git a/src/renderer/api/endpoints/podsecuritypolicy.api.ts b/src/renderer/api/endpoints/podsecuritypolicy.api.ts index aa705c8748..c7981f65be 100644 --- a/src/renderer/api/endpoints/podsecuritypolicy.api.ts +++ b/src/renderer/api/endpoints/podsecuritypolicy.api.ts @@ -4,9 +4,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class PodSecurityPolicy extends KubeObject { - static kind = "PodSecurityPolicy" - static namespaced = false - static apiBase = "/apis/policy/v1beta1/podsecuritypolicies" + static kind = "PodSecurityPolicy"; + static namespaced = false; + static apiBase = "/apis/policy/v1beta1/podsecuritypolicies"; spec: { allowPrivilegeEscalation?: boolean; @@ -66,7 +66,7 @@ export class PodSecurityPolicy extends KubeObject { ranges: { max: number; min: number }[]; }; volumes?: string[]; - } + }; isPrivileged() { return !!this.spec.privileged; diff --git a/src/renderer/api/endpoints/replica-set.api.ts b/src/renderer/api/endpoints/replica-set.api.ts index 71e415ae2e..d1081811e9 100644 --- a/src/renderer/api/endpoints/replica-set.api.ts +++ b/src/renderer/api/endpoints/replica-set.api.ts @@ -6,9 +6,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class ReplicaSet extends WorkloadKubeObject { - static kind = "ReplicaSet" - static namespaced = true - static apiBase = "/apis/apps/v1/replicasets" + static kind = "ReplicaSet"; + static namespaced = true; + static apiBase = "/apis/apps/v1/replicasets"; spec: { replicas?: number; @@ -37,14 +37,14 @@ export class ReplicaSet extends WorkloadKubeObject { terminationGracePeriodSeconds?: number; dnsPolicy?: string; schedulerName?: string; - } + }; status: { replicas: number; fullyLabeledReplicas: number; readyReplicas: number; availableReplicas: number; observedGeneration: number; - } + }; getImages() { const containers: IPodContainer[] = get(this, "spec.template.spec.containers", []); diff --git a/src/renderer/api/endpoints/resource-quota.api.ts b/src/renderer/api/endpoints/resource-quota.api.ts index f58a224c0e..a19e4025c5 100644 --- a/src/renderer/api/endpoints/resource-quota.api.ts +++ b/src/renderer/api/endpoints/resource-quota.api.ts @@ -31,9 +31,9 @@ export interface IResourceQuotaValues { } export class ResourceQuota extends KubeObject { - static kind = "ResourceQuota" - static namespaced = true - static apiBase = "/api/v1/resourcequotas" + static kind = "ResourceQuota"; + static namespaced = true; + static apiBase = "/api/v1/resourcequotas"; constructor(data: KubeJsonApiData) { super(data); @@ -49,12 +49,12 @@ export class ResourceQuota extends KubeObject { values: string[]; }[]; }; - } + }; status: { hard: IResourceQuotaValues; used: IResourceQuotaValues; - } + }; getScopeSelector() { const { matchExpressions = [] } = this.spec.scopeSelector || {}; diff --git a/src/renderer/api/endpoints/role-binding.api.ts b/src/renderer/api/endpoints/role-binding.api.ts index b13b853172..866656ee56 100644 --- a/src/renderer/api/endpoints/role-binding.api.ts +++ b/src/renderer/api/endpoints/role-binding.api.ts @@ -11,16 +11,16 @@ export interface IRoleBindingSubject { @autobind() export class RoleBinding extends KubeObject { - static kind = "RoleBinding" - static namespaced = true - static apiBase = "/apis/rbac.authorization.k8s.io/v1/rolebindings" + static kind = "RoleBinding"; + static namespaced = true; + static apiBase = "/apis/rbac.authorization.k8s.io/v1/rolebindings"; - subjects?: IRoleBindingSubject[] + subjects?: IRoleBindingSubject[]; roleRef: { kind: string; name: string; apiGroup?: string; - } + }; getSubjects() { return this.subjects || []; diff --git a/src/renderer/api/endpoints/role.api.ts b/src/renderer/api/endpoints/role.api.ts index 400761cfbe..c89834ed05 100644 --- a/src/renderer/api/endpoints/role.api.ts +++ b/src/renderer/api/endpoints/role.api.ts @@ -2,16 +2,16 @@ import { KubeObject } from "../kube-object"; import { KubeApi } from "../kube-api"; export class Role extends KubeObject { - static kind = "Role" - static namespaced = true - static apiBase = "/apis/rbac.authorization.k8s.io/v1/roles" + static kind = "Role"; + static namespaced = true; + static apiBase = "/apis/rbac.authorization.k8s.io/v1/roles"; rules: { verbs: string[]; apiGroups: string[]; resources: string[]; resourceNames?: string[]; - }[] + }[]; getRules() { return this.rules || []; diff --git a/src/renderer/api/endpoints/secret.api.ts b/src/renderer/api/endpoints/secret.api.ts index f2166abbe1..16262570df 100644 --- a/src/renderer/api/endpoints/secret.api.ts +++ b/src/renderer/api/endpoints/secret.api.ts @@ -21,15 +21,15 @@ export interface ISecretRef { @autobind() export class Secret extends KubeObject { - static kind = "Secret" - static namespaced = true - static apiBase = "/api/v1/secrets" + static kind = "Secret"; + static namespaced = true; + static apiBase = "/api/v1/secrets"; type: SecretType; data: { [prop: string]: string; token?: string; - } + }; constructor(data: KubeJsonApiData) { super(data); diff --git a/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts b/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts index dbb95fe5ae..149a94e678 100644 --- a/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts +++ b/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts @@ -21,20 +21,20 @@ export interface ISelfSubjectReviewRule { } export class SelfSubjectRulesReview extends KubeObject { - static kind = "SelfSubjectRulesReview" - static namespaced = false - static apiBase = "/apis/authorization.k8s.io/v1/selfsubjectrulesreviews" + static kind = "SelfSubjectRulesReview"; + static namespaced = false; + static apiBase = "/apis/authorization.k8s.io/v1/selfsubjectrulesreviews"; spec: { // todo: add more types from api docs namespace?: string; - } + }; status: { resourceRules: ISelfSubjectReviewRule[]; nonResourceRules: ISelfSubjectReviewRule[]; incomplete: boolean; - } + }; getResourceRules() { const rules = this.status && this.status.resourceRules || []; diff --git a/src/renderer/api/endpoints/service-accounts.api.ts b/src/renderer/api/endpoints/service-accounts.api.ts index 4f3ae47014..9f449cdec4 100644 --- a/src/renderer/api/endpoints/service-accounts.api.ts +++ b/src/renderer/api/endpoints/service-accounts.api.ts @@ -6,14 +6,14 @@ import { KubeApi } from "../kube-api"; export class ServiceAccount extends KubeObject { static kind = "ServiceAccount"; static namespaced = true; - static apiBase = "/api/v1/serviceaccounts" + static apiBase = "/api/v1/serviceaccounts"; secrets?: { name: string; - }[] + }[]; imagePullSecrets?: { name: string; - }[] + }[]; getSecrets() { return this.secrets || []; diff --git a/src/renderer/api/endpoints/service.api.ts b/src/renderer/api/endpoints/service.api.ts index 7ab2711244..5524e85263 100644 --- a/src/renderer/api/endpoints/service.api.ts +++ b/src/renderer/api/endpoints/service.api.ts @@ -31,9 +31,9 @@ export class ServicePort implements IServicePort { @autobind() export class Service extends KubeObject { - static kind = "Service" - static namespaced = true - static apiBase = "/api/v1/services" + static kind = "Service"; + static namespaced = true; + static apiBase = "/api/v1/services"; spec: { type: string; @@ -44,7 +44,7 @@ export class Service extends KubeObject { selector: { [key: string]: string }; ports: ServicePort[]; externalIPs?: string[]; // https://kubernetes.io/docs/concepts/services-networking/service/#external-ips - } + }; status: { loadBalancer?: { @@ -53,7 +53,7 @@ export class Service extends KubeObject { hostname?: string; }[]; }; - } + }; getClusterIp() { return this.spec.clusterIP; diff --git a/src/renderer/api/endpoints/stateful-set.api.ts b/src/renderer/api/endpoints/stateful-set.api.ts index 119c4001b8..6a6f8c151d 100644 --- a/src/renderer/api/endpoints/stateful-set.api.ts +++ b/src/renderer/api/endpoints/stateful-set.api.ts @@ -6,9 +6,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class StatefulSet extends WorkloadKubeObject { - static kind = "StatefulSet" - static namespaced = true - static apiBase = "/apis/apps/v1/statefulsets" + static kind = "StatefulSet"; + static namespaced = true; + static apiBase = "/apis/apps/v1/statefulsets"; spec: { serviceName: string; @@ -62,7 +62,7 @@ export class StatefulSet extends WorkloadKubeObject { }; }; }[]; - } + }; status: { observedGeneration: number; replicas: number; @@ -70,7 +70,7 @@ export class StatefulSet extends WorkloadKubeObject { currentRevision: string; updateRevision: string; collisionCount: number; - } + }; getImages() { const containers: IPodContainer[] = get(this, "spec.template.spec.containers", []); diff --git a/src/renderer/api/endpoints/storage-class.api.ts b/src/renderer/api/endpoints/storage-class.api.ts index 2ff187698d..adb2059e4a 100644 --- a/src/renderer/api/endpoints/storage-class.api.ts +++ b/src/renderer/api/endpoints/storage-class.api.ts @@ -4,9 +4,9 @@ import { KubeApi } from "../kube-api"; @autobind() export class StorageClass extends KubeObject { - static kind = "StorageClass" - static namespaced = false - static apiBase = "/apis/storage.k8s.io/v1/storageclasses" + static kind = "StorageClass"; + static namespaced = false; + static apiBase = "/apis/storage.k8s.io/v1/storageclasses"; provisioner: string; // e.g. "storage.k8s.io/v1" mountOptions?: string[]; @@ -14,7 +14,7 @@ export class StorageClass extends KubeObject { reclaimPolicy: string; parameters: { [param: string]: string; // every provisioner has own set of these parameters - } + }; isDefault() { const annotations = this.metadata.annotations || {}; diff --git a/src/renderer/api/kube-api.ts b/src/renderer/api/kube-api.ts index c95d409eac..d4840d3620 100644 --- a/src/renderer/api/kube-api.ts +++ b/src/renderer/api/kube-api.ts @@ -62,14 +62,14 @@ export class KubeApi { return () => disposers.forEach(unwatch => unwatch()); } - readonly kind: string - readonly apiBase: string - readonly apiPrefix: string - readonly apiGroup: string - readonly apiVersion: string + readonly kind: string; + readonly apiBase: string; + readonly apiPrefix: string; + readonly apiGroup: string; + readonly apiVersion: string; readonly apiVersionPreferred?: string; - readonly apiResource: string - readonly isNamespaced: boolean + readonly apiResource: string; + readonly isNamespaced: boolean; public objectConstructor: IKubeObjectConstructor; protected request: KubeJsonApi; diff --git a/src/renderer/api/kube-object.ts b/src/renderer/api/kube-object.ts index 6f89b6b48d..8d0e6123f3 100644 --- a/src/renderer/api/kube-object.ts +++ b/src/renderer/api/kube-object.ts @@ -72,8 +72,8 @@ export class KubeObject implements ItemObject { Object.assign(this, data); } - apiVersion: string - kind: string + apiVersion: string; + kind: string; metadata: IKubeObjectMetadata; status?: any; // todo: type-safety support diff --git a/src/renderer/api/terminal-api.ts b/src/renderer/api/terminal-api.ts index bcffd316be..4f66544f86 100644 --- a/src/renderer/api/terminal-api.ts +++ b/src/renderer/api/terminal-api.ts @@ -28,7 +28,7 @@ export type TerminalApiQuery = Record & { id: string; node?: string; type?: string | "node"; -} +}; export class TerminalApi extends WebSocketApi { protected size: { Width: number; Height: number }; diff --git a/src/renderer/bootstrap.tsx b/src/renderer/bootstrap.tsx index 35fad54719..7aa78f1682 100644 --- a/src/renderer/bootstrap.tsx +++ b/src/renderer/bootstrap.tsx @@ -18,7 +18,7 @@ import { extensionLoader } from "../extensions/extension-loader"; type AppComponent = React.ComponentType & { init?(): Promise; -} +}; export { React, diff --git a/src/renderer/components/+add-cluster/add-cluster.tsx b/src/renderer/components/+add-cluster/add-cluster.tsx index 62254f5804..abb28d090e 100644 --- a/src/renderer/components/+add-cluster/add-cluster.tsx +++ b/src/renderer/components/+add-cluster/add-cluster.tsx @@ -39,10 +39,10 @@ export class AddCluster extends React.Component { @observable selectedContexts = observable.array(); @observable sourceTab = KubeConfigSourceTab.FILE; @observable kubeConfigPath = ""; - @observable customConfig = "" - @observable proxyServer = "" - @observable isWaiting = false - @observable showSettings = false + @observable customConfig = ""; + @observable proxyServer = ""; + @observable isWaiting = false; + @observable showSettings = false; @observable dropAreaActive = false; componentDidMount() { @@ -117,7 +117,7 @@ export class AddCluster extends React.Component { if (!canceled && filePaths.length) { this.setKubeConfig(filePaths[0]); } - } + }; @action addClusters = () => { @@ -183,7 +183,7 @@ export class AddCluster extends React.Component { } finally { this.isWaiting = false; } - } + }; renderInfo() { return ( @@ -328,13 +328,13 @@ export class AddCluster extends React.Component { this.setKubeConfig(userStore.kubeConfigPath); // revert to previous valid path } } - } + }; onKubeConfigTabChange = (tabId: KubeConfigSourceTab) => { this.sourceTab = tabId; this.error = ""; this.refreshContexts(); - } + }; protected formatContextLabel = ({ value: context }: SelectOption) => { const isNew = userStore.newContexts.has(context); diff --git a/src/renderer/components/+apps-helm-charts/helm-charts.tsx b/src/renderer/components/+apps-helm-charts/helm-charts.tsx index 27ecc4b679..c8b5312800 100644 --- a/src/renderer/components/+apps-helm-charts/helm-charts.tsx +++ b/src/renderer/components/+apps-helm-charts/helm-charts.tsx @@ -44,11 +44,11 @@ export class HelmCharts extends Component { } })); } - } + }; hideDetails = () => { this.showDetails(null); - } + }; render() { return ( diff --git a/src/renderer/components/+apps-releases/release-details.tsx b/src/renderer/components/+apps-releases/release-details.tsx index 1a8f32796a..a27db5dc83 100644 --- a/src/renderer/components/+apps-releases/release-details.tsx +++ b/src/renderer/components/+apps-releases/release-details.tsx @@ -94,13 +94,13 @@ export class ReleaseDetails extends Component { Notifications.error(err); } this.saving = false; - } + }; upgradeVersion = () => { const { release, hideDetails } = this.props; createUpgradeChartTab(release); hideDetails(); - } + }; renderValues() { const { values, saving } = this; diff --git a/src/renderer/components/+apps-releases/release-rollback-dialog.tsx b/src/renderer/components/+apps-releases/release-rollback-dialog.tsx index afadaaa508..f1c1841775 100644 --- a/src/renderer/components/+apps-releases/release-rollback-dialog.tsx +++ b/src/renderer/components/+apps-releases/release-rollback-dialog.tsx @@ -46,7 +46,7 @@ export class ReleaseRollbackDialog extends React.Component { this.revisions.replace(releases); this.revision = this.revisions[0]; this.isLoading = false; - } + }; rollback = async () => { const revisionNumber = this.revision.revision; @@ -60,7 +60,7 @@ export class ReleaseRollbackDialog extends React.Component { close = () => { ReleaseRollbackDialog.close(); - } + }; renderContent() { const { revision, revisions } = this; diff --git a/src/renderer/components/+apps-releases/releases.tsx b/src/renderer/components/+apps-releases/releases.tsx index 38e4329a8c..29dd11deb8 100644 --- a/src/renderer/components/+apps-releases/releases.tsx +++ b/src/renderer/components/+apps-releases/releases.tsx @@ -58,11 +58,11 @@ export class HelmReleases extends Component { } })); } - } + }; hideDetails = () => { this.showDetails(null); - } + }; renderRemoveDialogMessage(selectedItems: HelmRelease[]) { const releaseNames = selectedItems.map(item => item.getName()).join(", "); diff --git a/src/renderer/components/+cluster-settings/cluster-settings.tsx b/src/renderer/components/+cluster-settings/cluster-settings.tsx index 2d399ec0fb..6188e8867e 100644 --- a/src/renderer/components/+cluster-settings/cluster-settings.tsx +++ b/src/renderer/components/+cluster-settings/cluster-settings.tsx @@ -45,7 +45,7 @@ export class ClusterSettings extends React.Component { await requestMain(clusterActivateHandler, this.cluster.id); await requestMain(clusterRefreshHandler, this.cluster.id); } - } + }; render() { const cluster = this.cluster; diff --git a/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx b/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx index 965333d4db..35c18cc5e5 100644 --- a/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx +++ b/src/renderer/components/+cluster-settings/components/cluster-home-dir-setting.tsx @@ -27,7 +27,7 @@ export class ClusterHomeDirSetting extends React.Component { onChange = (value: string) => { this.directory = value; - } + }; render() { return ( diff --git a/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx b/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx index 54d76c08eb..631c6d54ef 100644 --- a/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx +++ b/src/renderer/components/+cluster-settings/components/cluster-name-setting.tsx @@ -28,7 +28,7 @@ export class ClusterNameSetting extends React.Component { onChange = (value: string) => { this.name = value; - } + }; render() { return ( diff --git a/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx b/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx index d66f555410..d3bc9b4e46 100644 --- a/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx +++ b/src/renderer/components/+cluster-settings/components/cluster-prometheus-setting.tsx @@ -60,13 +60,13 @@ export class ClusterPrometheusSetting extends React.Component { port: parseInt(parsed[2]), prefix: apiPrefix }; - } + }; onSaveProvider = () => { this.props.cluster.preferences.prometheusProvider = this.provider ? { type: this.provider } : null; - } + }; onSavePath = () => { this.props.cluster.preferences.prometheus = this.parsePrometheusPath(); diff --git a/src/renderer/components/+cluster-settings/components/cluster-proxy-setting.tsx b/src/renderer/components/+cluster-settings/components/cluster-proxy-setting.tsx index 8409cc5bde..d43f571495 100644 --- a/src/renderer/components/+cluster-settings/components/cluster-proxy-setting.tsx +++ b/src/renderer/components/+cluster-settings/components/cluster-proxy-setting.tsx @@ -28,7 +28,7 @@ export class ClusterProxySetting extends React.Component { onChange = (value: string) => { this.proxy = value; - } + }; render() { return ( diff --git a/src/renderer/components/+cluster/cluster.store.ts b/src/renderer/components/+cluster/cluster.store.ts index 7c61a3579e..63d8f07b3b 100644 --- a/src/renderer/components/+cluster/cluster.store.ts +++ b/src/renderer/components/+cluster/cluster.store.ts @@ -18,7 +18,7 @@ export enum MetricNodeRole { @autobind() export class ClusterStore extends KubeObjectStore { - api = clusterApi + api = clusterApi; @observable metrics: Partial = {}; @observable liveMetrics: Partial = {}; diff --git a/src/renderer/components/+config-autoscalers/hpa.store.ts b/src/renderer/components/+config-autoscalers/hpa.store.ts index 240f42a309..478c2ca563 100644 --- a/src/renderer/components/+config-autoscalers/hpa.store.ts +++ b/src/renderer/components/+config-autoscalers/hpa.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class HPAStore extends KubeObjectStore { - api = hpaApi + api = hpaApi; } export const hpaStore = new HPAStore(); diff --git a/src/renderer/components/+config-maps/config-map-details.tsx b/src/renderer/components/+config-maps/config-map-details.tsx index 2a692e0e09..bd796a2323 100644 --- a/src/renderer/components/+config-maps/config-map-details.tsx +++ b/src/renderer/components/+config-maps/config-map-details.tsx @@ -47,7 +47,7 @@ export class ConfigMapDetails extends React.Component { } finally { this.isSaving = false; } - } + }; render() { const { object: configMap } = this.props; diff --git a/src/renderer/components/+config-maps/config-maps.store.ts b/src/renderer/components/+config-maps/config-maps.store.ts index d6dcc5f916..23a80a9f4a 100644 --- a/src/renderer/components/+config-maps/config-maps.store.ts +++ b/src/renderer/components/+config-maps/config-maps.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class ConfigMapsStore extends KubeObjectStore { - api = configMapApi + api = configMapApi; } export const configMapsStore = new ConfigMapsStore(); diff --git a/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets.store.ts b/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets.store.ts index 1eca71e1ba..0f0d79ab2d 100644 --- a/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets.store.ts +++ b/src/renderer/components/+config-pod-disruption-budgets/pod-disruption-budgets.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class PodDisruptionBudgetsStore extends KubeObjectStore { - api = pdbApi + api = pdbApi; } export const podDisruptionBudgetsStore = new PodDisruptionBudgetsStore(); diff --git a/src/renderer/components/+config-resource-quotas/add-quota-dialog.tsx b/src/renderer/components/+config-resource-quotas/add-quota-dialog.tsx index 02cb2110f6..3759958750 100644 --- a/src/renderer/components/+config-resource-quotas/add-quota-dialog.tsx +++ b/src/renderer/components/+config-resource-quotas/add-quota-dialog.tsx @@ -45,7 +45,7 @@ export class AddQuotaDialog extends React.Component { "count/deployments.extensions": "", }; - public defaultNamespace = "default" + public defaultNamespace = "default"; @observable quotaName = ""; @observable quotaSelectValue = ""; @@ -83,11 +83,11 @@ export class AddQuotaDialog extends React.Component { if (!this.quotaSelectValue) return; this.quotas[this.quotaSelectValue] = this.quotaInputValue; this.quotaInputValue = ""; - } + }; close = () => { AddQuotaDialog.close(); - } + }; reset = () => { this.quotaName = ""; @@ -95,7 +95,7 @@ export class AddQuotaDialog extends React.Component { this.quotaInputValue = ""; this.namespace = this.defaultNamespace; this.quotas = AddQuotaDialog.defaultQuotas; - } + }; addQuota = async () => { try { @@ -113,7 +113,7 @@ export class AddQuotaDialog extends React.Component { } catch (err) { Notifications.error(err); } - } + }; onInputQuota = (evt: React.KeyboardEvent) => { switch (evt.key) { @@ -122,7 +122,7 @@ export class AddQuotaDialog extends React.Component { evt.preventDefault(); // don't submit form break; } - } + }; render() { const { ...dialogProps } = this.props; diff --git a/src/renderer/components/+config-resource-quotas/resource-quotas.store.ts b/src/renderer/components/+config-resource-quotas/resource-quotas.store.ts index b5450da9cd..554fec891a 100644 --- a/src/renderer/components/+config-resource-quotas/resource-quotas.store.ts +++ b/src/renderer/components/+config-resource-quotas/resource-quotas.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class ResourceQuotasStore extends KubeObjectStore { - api = resourceQuotaApi + api = resourceQuotaApi; } export const resourceQuotaStore = new ResourceQuotasStore(); diff --git a/src/renderer/components/+config-secrets/add-secret-dialog.tsx b/src/renderer/components/+config-secrets/add-secret-dialog.tsx index a1b69602b1..8519be5bda 100644 --- a/src/renderer/components/+config-secrets/add-secret-dialog.tsx +++ b/src/renderer/components/+config-secrets/add-secret-dialog.tsx @@ -58,7 +58,7 @@ export class AddSecretDialog extends React.Component { { key: "kubernetes.io/service-account.uid", required: true } ], }, - } + }; get types() { return Object.keys(this.secretTemplate) as SecretType[]; @@ -72,11 +72,11 @@ export class AddSecretDialog extends React.Component { reset = () => { this.name = ""; this.secret = this.secretTemplate; - } + }; close = () => { AddSecretDialog.close(); - } + }; private getDataFromFields = (fields: ISecretTemplateField[] = [], processValue?: (val: string) => string) => { return fields.reduce((data, field) => { @@ -86,7 +86,7 @@ export class AddSecretDialog extends React.Component { } return data; }, {}); - } + }; createSecret = async () => { const { name, namespace, type } = this; @@ -109,18 +109,18 @@ export class AddSecretDialog extends React.Component { } catch (err) { Notifications.error(err); } - } + }; addField = (field: ISecretField) => { const fields = this.secret[this.type][field] || []; fields.push({ key: "", value: "" }); this.secret[this.type][field] = fields; - } + }; removeField = (field: ISecretField, index: number) => { const fields = this.secret[this.type][field] || []; fields.splice(index, 1); - } + }; renderFields(field: ISecretField) { const fields = this.secret[this.type][field] || []; diff --git a/src/renderer/components/+config-secrets/secret-details.tsx b/src/renderer/components/+config-secrets/secret-details.tsx index 255cd3cb73..5937737a5a 100644 --- a/src/renderer/components/+config-secrets/secret-details.tsx +++ b/src/renderer/components/+config-secrets/secret-details.tsx @@ -49,11 +49,11 @@ export class SecretDetails extends React.Component { Notifications.error(err); } this.isSaving = false; - } + }; editData = (name: string, value: string, encoded: boolean) => { this.data[name] = encoded ? value : base64.encode(value); - } + }; render() { const { object: secret } = this.props; diff --git a/src/renderer/components/+config-secrets/secrets.store.ts b/src/renderer/components/+config-secrets/secrets.store.ts index df5a78b3ac..9dfc8cb6af 100644 --- a/src/renderer/components/+config-secrets/secrets.store.ts +++ b/src/renderer/components/+config-secrets/secrets.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class SecretsStore extends KubeObjectStore { - api = secretsApi + api = secretsApi; } export const secretsStore = new SecretsStore(); diff --git a/src/renderer/components/+custom-resources/crd.store.ts b/src/renderer/components/+custom-resources/crd.store.ts index 587fa8656d..54e1d3df66 100644 --- a/src/renderer/components/+custom-resources/crd.store.ts +++ b/src/renderer/components/+custom-resources/crd.store.ts @@ -20,7 +20,7 @@ function initStore(crd: CustomResourceDefinition) { @autobind() export class CRDStore extends KubeObjectStore { - api = crdApi + api = crdApi; constructor() { super(); diff --git a/src/renderer/components/+events/event.store.ts b/src/renderer/components/+events/event.store.ts index b40957d765..484c9701c1 100644 --- a/src/renderer/components/+events/event.store.ts +++ b/src/renderer/components/+events/event.store.ts @@ -10,8 +10,8 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class EventStore extends KubeObjectStore { - api = eventApi - limit = 1000 + api = eventApi; + limit = 1000; protected bindWatchEventsUpdater() { return super.bindWatchEventsUpdater(5000); diff --git a/src/renderer/components/+extensions/extensions.tsx b/src/renderer/components/+extensions/extensions.tsx index df0fd0fb9b..875861a8dd 100644 --- a/src/renderer/components/+extensions/extensions.tsx +++ b/src/renderer/components/+extensions/extensions.tsx @@ -15,7 +15,7 @@ import { extensionManager } from "../../../extensions/extension-manager"; @observer export class Extensions extends React.Component { - @observable search = "" + @observable search = ""; @computed get extensions() { const searchText = this.search.toLowerCase(); diff --git a/src/renderer/components/+namespaces/add-namespace-dialog.tsx b/src/renderer/components/+namespaces/add-namespace-dialog.tsx index 86e5e596cc..a31a44de94 100644 --- a/src/renderer/components/+namespaces/add-namespace-dialog.tsx +++ b/src/renderer/components/+namespaces/add-namespace-dialog.tsx @@ -33,7 +33,7 @@ export class AddNamespaceDialog extends React.Component { close = () => { AddNamespaceDialog.close(); - } + }; addNamespace = async () => { const { namespace } = this; @@ -45,7 +45,7 @@ export class AddNamespaceDialog extends React.Component { Notifications.error(err); onError && onError(err); } - } + }; render() { const { ...dialogProps } = this.props; diff --git a/src/renderer/components/+namespaces/namespace-select.tsx b/src/renderer/components/+namespaces/namespace-select.tsx index 05c2b279a0..e1c64f8342 100644 --- a/src/renderer/components/+namespaces/namespace-select.tsx +++ b/src/renderer/components/+namespaces/namespace-select.tsx @@ -62,7 +62,7 @@ export class NamespaceSelect extends React.Component { {value} ); - } + }; render() { const { className, showIcons, showClusterOption, clusterOptionLabel, customizeOptions, ...selectProps } = this.props; diff --git a/src/renderer/components/+network-endpoints/endpoints.store.ts b/src/renderer/components/+network-endpoints/endpoints.store.ts index 5d4a6b6ff7..d61a12126e 100644 --- a/src/renderer/components/+network-endpoints/endpoints.store.ts +++ b/src/renderer/components/+network-endpoints/endpoints.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class EndpointStore extends KubeObjectStore { - api = endpointApi + api = endpointApi; } export const endpointStore = new EndpointStore(); diff --git a/src/renderer/components/+network-policies/network-policy.store.ts b/src/renderer/components/+network-policies/network-policy.store.ts index 0f37de3ac0..e33a17fa09 100644 --- a/src/renderer/components/+network-policies/network-policy.store.ts +++ b/src/renderer/components/+network-policies/network-policy.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class NetworkPolicyStore extends KubeObjectStore { - api = networkPolicyApi + api = networkPolicyApi; } export const networkPolicyStore = new NetworkPolicyStore(); diff --git a/src/renderer/components/+network-services/services.store.ts b/src/renderer/components/+network-services/services.store.ts index d3e3c7b983..8c6d16d746 100644 --- a/src/renderer/components/+network-services/services.store.ts +++ b/src/renderer/components/+network-services/services.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class ServiceStore extends KubeObjectStore { - api = serviceApi + api = serviceApi; } export const serviceStore = new ServiceStore(); diff --git a/src/renderer/components/+nodes/nodes.store.ts b/src/renderer/components/+nodes/nodes.store.ts index 6d2a7d7829..94fd3e4dd9 100644 --- a/src/renderer/components/+nodes/nodes.store.ts +++ b/src/renderer/components/+nodes/nodes.store.ts @@ -6,7 +6,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class NodesStore extends KubeObjectStore { - api = nodesApi + api = nodesApi; @observable metrics: Partial = {}; @observable nodeMetrics: Partial = null; diff --git a/src/renderer/components/+pod-security-policies/pod-security-policies.store.ts b/src/renderer/components/+pod-security-policies/pod-security-policies.store.ts index 1cb1237dd2..53ecde3d9d 100644 --- a/src/renderer/components/+pod-security-policies/pod-security-policies.store.ts +++ b/src/renderer/components/+pod-security-policies/pod-security-policies.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class PodSecurityPoliciesStore extends KubeObjectStore { - api = pspApi + api = pspApi; } export const podSecurityPoliciesStore = new PodSecurityPoliciesStore(); diff --git a/src/renderer/components/+preferences/preferences.tsx b/src/renderer/components/+preferences/preferences.tsx index fa9a987c14..78f2896a73 100644 --- a/src/renderer/components/+preferences/preferences.tsx +++ b/src/renderer/components/+preferences/preferences.tsx @@ -89,7 +89,7 @@ export class Preferences extends React.Component { this.helmLoading = true; await this.addRepo(repo); this.helmLoading = false; - } + }; formatHelmOptionLabel = ({ value: repo }: SelectOption) => { const isAdded = this.helmAddedRepos.has(repo.name); @@ -99,7 +99,7 @@ export class Preferences extends React.Component { {isAdded && } ); - } + }; render() { const { preferences } = userStore; diff --git a/src/renderer/components/+storage-classes/storage-class.store.ts b/src/renderer/components/+storage-classes/storage-class.store.ts index 9ff90bc921..9e388456a5 100644 --- a/src/renderer/components/+storage-classes/storage-class.store.ts +++ b/src/renderer/components/+storage-classes/storage-class.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class StorageClassStore extends KubeObjectStore { - api = storageClassApi + api = storageClassApi; } export const storageClassStore = new StorageClassStore(); diff --git a/src/renderer/components/+storage-volume-claims/volume-claim.store.ts b/src/renderer/components/+storage-volume-claims/volume-claim.store.ts index ea07c4c6c1..8c4baaaf76 100644 --- a/src/renderer/components/+storage-volume-claims/volume-claim.store.ts +++ b/src/renderer/components/+storage-volume-claims/volume-claim.store.ts @@ -6,7 +6,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class VolumeClaimStore extends KubeObjectStore { - api = pvcApi + api = pvcApi; @observable metrics: IPvcMetrics = null; @action diff --git a/src/renderer/components/+storage-volumes/volumes.store.ts b/src/renderer/components/+storage-volumes/volumes.store.ts index f065c562c9..ea61525735 100644 --- a/src/renderer/components/+storage-volumes/volumes.store.ts +++ b/src/renderer/components/+storage-volumes/volumes.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class PersistentVolumesStore extends KubeObjectStore { - api = persistentVolumeApi + api = persistentVolumeApi; } export const volumesStore = new PersistentVolumesStore(); diff --git a/src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx b/src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx index 2bade4b600..227b2d936e 100644 --- a/src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx +++ b/src/renderer/components/+user-management-roles-bindings/add-role-binding-dialog.tsx @@ -72,7 +72,7 @@ export class AddRoleBindingDialog extends React.Component { close = () => { AddRoleBindingDialog.close(); - } + }; async loadData() { const stores = [ @@ -96,13 +96,13 @@ export class AddRoleBindingDialog extends React.Component { this.bindContext = role.getNs() || ""; } } - } + }; reset = () => { this.selectedRoleId = ""; this.bindContext = ""; this.selectedAccounts.clear(); - } + }; onBindContextChange = (namespace: string) => { this.bindContext = namespace; @@ -110,7 +110,7 @@ export class AddRoleBindingDialog extends React.Component { if (this.bindContext && this.bindContext !== roleContext) { this.selectedRoleId = ""; // reset previously selected role for specific context } - } + }; createBindings = async () => { const { selectedRole, bindContext: namespace, selectedBindings, bindingName, useRoleForBindingName } = this; diff --git a/src/renderer/components/+user-management-roles-bindings/role-bindings.store.ts b/src/renderer/components/+user-management-roles-bindings/role-bindings.store.ts index d990cb5378..ed3e1c0a4f 100644 --- a/src/renderer/components/+user-management-roles-bindings/role-bindings.store.ts +++ b/src/renderer/components/+user-management-roles-bindings/role-bindings.store.ts @@ -7,7 +7,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class RoleBindingsStore extends KubeObjectStore { - api = clusterRoleBindingApi + api = clusterRoleBindingApi; subscribe() { return super.subscribe([clusterRoleBindingApi, roleBindingApi]); diff --git a/src/renderer/components/+user-management-roles/add-role-dialog.tsx b/src/renderer/components/+user-management-roles/add-role-dialog.tsx index 55cf790145..56766c816d 100644 --- a/src/renderer/components/+user-management-roles/add-role-dialog.tsx +++ b/src/renderer/components/+user-management-roles/add-role-dialog.tsx @@ -31,11 +31,11 @@ export class AddRoleDialog extends React.Component { close = () => { AddRoleDialog.close(); - } + }; reset = () => { this.roleName = ""; - } + }; createRole = async () => { try { @@ -46,7 +46,7 @@ export class AddRoleDialog extends React.Component { } catch (err) { Notifications.error(err.toString()); } - } + }; render() { const { ...dialogProps } = this.props; diff --git a/src/renderer/components/+user-management-roles/roles.store.ts b/src/renderer/components/+user-management-roles/roles.store.ts index 8bba3a8a92..d3f17e520c 100644 --- a/src/renderer/components/+user-management-roles/roles.store.ts +++ b/src/renderer/components/+user-management-roles/roles.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class RolesStore extends KubeObjectStore { - api = clusterRoleApi + api = clusterRoleApi; subscribe() { return super.subscribe([roleApi, clusterRoleApi]); diff --git a/src/renderer/components/+user-management-service-accounts/create-service-account-dialog.tsx b/src/renderer/components/+user-management-service-accounts/create-service-account-dialog.tsx index d2dc8b43a8..ce677c3353 100644 --- a/src/renderer/components/+user-management-service-accounts/create-service-account-dialog.tsx +++ b/src/renderer/components/+user-management-service-accounts/create-service-account-dialog.tsx @@ -22,8 +22,8 @@ interface Props extends Partial { export class CreateServiceAccountDialog extends React.Component { @observable static isOpen = false; - @observable name = "" - @observable namespace = "default" + @observable name = ""; + @observable namespace = "default"; static open() { CreateServiceAccountDialog.isOpen = true; @@ -35,7 +35,7 @@ export class CreateServiceAccountDialog extends React.Component { close = () => { CreateServiceAccountDialog.close(); - } + }; createAccount = async () => { const { name, namespace } = this; @@ -47,7 +47,7 @@ export class CreateServiceAccountDialog extends React.Component { } catch (err) { Notifications.error(err); } - } + }; render() { const { ...dialogProps } = this.props; diff --git a/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx b/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx index ab5f9b4519..d560cd9199 100644 --- a/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx +++ b/src/renderer/components/+user-management-service-accounts/service-accounts-details.tsx @@ -42,7 +42,7 @@ export class ServiceAccountsDetails extends React.Component { return secretsStore.load({ name, namespace }).catch(_err => { return this.generateDummySecretObject(name); }); }); this.imagePullSecrets = await Promise.all(imagePullSecrets); - }) + }); renderSecrets() { const { secrets } = this; diff --git a/src/renderer/components/+user-management-service-accounts/service-accounts-secret.tsx b/src/renderer/components/+user-management-service-accounts/service-accounts-secret.tsx index 57d05fb474..ad3eec3d2e 100644 --- a/src/renderer/components/+user-management-service-accounts/service-accounts-secret.tsx +++ b/src/renderer/components/+user-management-service-accounts/service-accounts-secret.tsx @@ -18,7 +18,7 @@ interface State { export class ServiceAccountsSecret extends React.Component { public state: State = { showToken: false, - } + }; renderSecretValue() { const { secret } = this.props; diff --git a/src/renderer/components/+user-management-service-accounts/service-accounts.store.ts b/src/renderer/components/+user-management-service-accounts/service-accounts.store.ts index ff958567ae..1d3faa6b1c 100644 --- a/src/renderer/components/+user-management-service-accounts/service-accounts.store.ts +++ b/src/renderer/components/+user-management-service-accounts/service-accounts.store.ts @@ -5,7 +5,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class ServiceAccountsStore extends KubeObjectStore { - api = serviceAccountsApi + api = serviceAccountsApi; protected async createItem(params: { name: string; namespace?: string }) { await super.createItem(params); diff --git a/src/renderer/components/+whats-new/whats-new.tsx b/src/renderer/components/+whats-new/whats-new.tsx index 278483c2b4..9b0df95d70 100644 --- a/src/renderer/components/+whats-new/whats-new.tsx +++ b/src/renderer/components/+whats-new/whats-new.tsx @@ -16,7 +16,7 @@ export class WhatsNew extends React.Component { ok = () => { navigate("/"); userStore.saveLastSeenAppVersion(); - } + }; render() { const logo = require("../../components/icon/lens-logo.svg"); diff --git a/src/renderer/components/+workloads-cronjobs/cronjob-trigger-dialog.tsx b/src/renderer/components/+workloads-cronjobs/cronjob-trigger-dialog.tsx index 8a12acddd1..5dda5989ae 100644 --- a/src/renderer/components/+workloads-cronjobs/cronjob-trigger-dialog.tsx +++ b/src/renderer/components/+workloads-cronjobs/cronjob-trigger-dialog.tsx @@ -39,18 +39,18 @@ export class CronJobTriggerDialog extends Component { close = () => { CronJobTriggerDialog.close(); - } + }; onOpen = async () => { const { cronjob } = this; this.jobName = cronjob ? cronjob.getName() + "-manual-" + Math.random().toString(36).slice(2, 7) : ""; this.jobName = this.jobName.slice(0, 63); this.ready = true; - } + }; onClose = () => { this.ready = false; - } + }; trigger = async () => { const { cronjob } = this; @@ -72,7 +72,7 @@ export class CronJobTriggerDialog extends Component { } catch (err) { Notifications.error(err); } - } + }; renderContents() { return ( diff --git a/src/renderer/components/+workloads-cronjobs/cronjob.store.ts b/src/renderer/components/+workloads-cronjobs/cronjob.store.ts index 2c9026107f..30915f733c 100644 --- a/src/renderer/components/+workloads-cronjobs/cronjob.store.ts +++ b/src/renderer/components/+workloads-cronjobs/cronjob.store.ts @@ -6,7 +6,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class CronJobStore extends KubeObjectStore { - api = cronJobApi + api = cronJobApi; getStatuses(cronJobs?: CronJob[]) { const status = { suspended: 0, scheduled: 0 }; diff --git a/src/renderer/components/+workloads-daemonsets/daemonsets.store.ts b/src/renderer/components/+workloads-daemonsets/daemonsets.store.ts index 8e048aac8a..e21bcc7548 100644 --- a/src/renderer/components/+workloads-daemonsets/daemonsets.store.ts +++ b/src/renderer/components/+workloads-daemonsets/daemonsets.store.ts @@ -7,7 +7,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class DaemonSetStore extends KubeObjectStore { - api = daemonSetApi + api = daemonSetApi; @observable metrics: IPodMetrics = null; diff --git a/src/renderer/components/+workloads-deployments/deployment-scale-dialog.tsx b/src/renderer/components/+workloads-deployments/deployment-scale-dialog.tsx index afb15973fc..92ac7cfc97 100644 --- a/src/renderer/components/+workloads-deployments/deployment-scale-dialog.tsx +++ b/src/renderer/components/+workloads-deployments/deployment-scale-dialog.tsx @@ -39,7 +39,7 @@ export class DeploymentScaleDialog extends Component { close = () => { DeploymentScaleDialog.close(); - } + }; @computed get scaleMax() { const { currentReplicas } = this; @@ -57,15 +57,15 @@ export class DeploymentScaleDialog extends Component { }); this.desiredReplicas = this.currentReplicas; this.ready = true; - } + }; onClose = () => { this.ready = false; - } + }; onChange = (evt: React.ChangeEvent, value: number) => { this.desiredReplicas = value; - } + }; scale = async () => { const { deployment } = this; @@ -81,11 +81,11 @@ export class DeploymentScaleDialog extends Component { } catch (err) { Notifications.error(err); } - } + }; desiredReplicasUp = () => { this.desiredReplicas < this.scaleMax && this.desiredReplicas++; - } + }; desiredReplicasDown = () => { this.desiredReplicas > 1 && this.desiredReplicas--; diff --git a/src/renderer/components/+workloads-deployments/deployments.store.ts b/src/renderer/components/+workloads-deployments/deployments.store.ts index 89f32c573f..18697eab1d 100644 --- a/src/renderer/components/+workloads-deployments/deployments.store.ts +++ b/src/renderer/components/+workloads-deployments/deployments.store.ts @@ -7,7 +7,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class DeploymentStore extends KubeObjectStore { - api = deploymentApi + api = deploymentApi; @observable metrics: IPodMetrics = null; protected sortItems(items: Deployment[]) { diff --git a/src/renderer/components/+workloads-jobs/job.store.ts b/src/renderer/components/+workloads-jobs/job.store.ts index ca3d9f1fe0..1661ee6a62 100644 --- a/src/renderer/components/+workloads-jobs/job.store.ts +++ b/src/renderer/components/+workloads-jobs/job.store.ts @@ -7,7 +7,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class JobStore extends KubeObjectStore { - api = jobApi + api = jobApi; getChildPods(job: Job): Pod[] { return podsStore.getPodsByOwner(job); diff --git a/src/renderer/components/+workloads-overview/overview-workload-status.tsx b/src/renderer/components/+workloads-overview/overview-workload-status.tsx index 4aa9dce6fd..127fce2778 100644 --- a/src/renderer/components/+workloads-overview/overview-workload-status.tsx +++ b/src/renderer/components/+workloads-overview/overview-workload-status.tsx @@ -18,7 +18,7 @@ interface Props { @observer export class OverviewWorkloadStatus extends React.Component { - @observable elem: HTMLElement + @observable elem: HTMLElement; componentDidMount() { this.elem = findDOMNode(this) as HTMLElement; diff --git a/src/renderer/components/+workloads-pods/pod-details-list.tsx b/src/renderer/components/+workloads-pods/pod-details-list.tsx index d2c96f399c..111562d06a 100644 --- a/src/renderer/components/+workloads-pods/pod-details-list.tsx +++ b/src/renderer/components/+workloads-pods/pod-details-list.tsx @@ -38,7 +38,7 @@ interface OptionalProps { export class PodDetailsList extends React.Component { static defaultProps: OptionalProps = { showTitle: true - } + }; private metricsWatcher = interval(120, () => { podsStore.loadKubeMetrics(this.props.owner.getNs()); @@ -49,7 +49,7 @@ export class PodDetailsList extends React.Component { [sortBy.namespace]: (pod: Pod) => pod.getNs(), [sortBy.cpu]: (pod: Pod) => podsStore.getPodKubeMetrics(pod).cpu, [sortBy.memory]: (pod: Pod) => podsStore.getPodKubeMetrics(pod).memory, - } + }; componentDidMount() { this.metricsWatcher.start(true); diff --git a/src/renderer/components/+workloads-replicasets/replicasets.store.ts b/src/renderer/components/+workloads-replicasets/replicasets.store.ts index 75fc99dedd..f28c11203b 100644 --- a/src/renderer/components/+workloads-replicasets/replicasets.store.ts +++ b/src/renderer/components/+workloads-replicasets/replicasets.store.ts @@ -7,7 +7,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class ReplicaSetStore extends KubeObjectStore { - api = replicaSetApi + api = replicaSetApi; @observable metrics: IPodMetrics = null; async loadMetrics(replicaSet: ReplicaSet) { diff --git a/src/renderer/components/+workloads-replicasets/replicasets.tsx b/src/renderer/components/+workloads-replicasets/replicasets.tsx index 58101bc32c..41e8d9a0a9 100644 --- a/src/renderer/components/+workloads-replicasets/replicasets.tsx +++ b/src/renderer/components/+workloads-replicasets/replicasets.tsx @@ -32,7 +32,7 @@ export class ReplicaSets extends React.Component { [sortBy.namespace]: (replicaSet: ReplicaSet) => replicaSet.getNs(), [sortBy.age]: (replicaSet: ReplicaSet) => replicaSet.metadata.creationTimestamp, [sortBy.pods]: (replicaSet: ReplicaSet) => this.getPodsLength(replicaSet), - } + }; getPodsLength(replicaSet: ReplicaSet) { return replicaSetStore.getChildPods(replicaSet).length; diff --git a/src/renderer/components/+workloads-statefulsets/statefulset.store.ts b/src/renderer/components/+workloads-statefulsets/statefulset.store.ts index 77d7358224..719d253c87 100644 --- a/src/renderer/components/+workloads-statefulsets/statefulset.store.ts +++ b/src/renderer/components/+workloads-statefulsets/statefulset.store.ts @@ -7,7 +7,7 @@ import { apiManager } from "../../api/api-manager"; @autobind() export class StatefulSetStore extends KubeObjectStore { - api = statefulSetApi + api = statefulSetApi; @observable metrics: IPodMetrics = null; async loadMetrics(statefulSet: StatefulSet) { diff --git a/src/renderer/components/+workspaces/workspaces.tsx b/src/renderer/components/+workspaces/workspaces.tsx index d471419729..459f095cec 100644 --- a/src/renderer/components/+workspaces/workspaces.tsx +++ b/src/renderer/components/+workspaces/workspaces.tsx @@ -54,7 +54,7 @@ export class Workspaces extends React.Component { if (workspaceStore.addWorkspace(workspace)) { this.clearEditing(id); } - } + }; addWorkspace = () => { const workspaceId = uuid(); @@ -63,16 +63,16 @@ export class Workspaces extends React.Component { name: "", description: "" })); - } + }; editWorkspace = (id: WorkspaceId) => { const workspace = workspaceStore.getById(id); this.editingWorkspaces.set(id, toJS(workspace)); - } + }; clearEditing = (id: WorkspaceId) => { this.editingWorkspaces.delete(id); - } + }; removeWorkspace = (id: WorkspaceId) => { const workspace = workspaceStore.getById(id); @@ -97,7 +97,7 @@ export class Workspaces extends React.Component { ), }); - } + }; onInputKeypress = (evt: React.KeyboardEvent, workspaceId: WorkspaceId) => { if (evt.key == 'Enter') { @@ -106,7 +106,7 @@ export class Workspaces extends React.Component { evt.currentTarget.focus(); this.saveWorkspace(workspaceId); } - } + }; render() { return ( diff --git a/src/renderer/components/chart/chart.tsx b/src/renderer/components/chart/chart.tsx index 01d16c96ec..5de0c9cf44 100644 --- a/src/renderer/components/chart/chart.tsx +++ b/src/renderer/components/chart/chart.tsx @@ -51,11 +51,11 @@ const defaultProps: Partial = { export class Chart extends React.Component { static defaultProps = defaultProps as object; - private canvas = React.createRef() - private chart: ChartJS + private canvas = React.createRef(); + private chart: ChartJS; // ChartJS adds _meta field to any data object passed to it. // We clone new data prop into currentChartData to compare props and prevProps - private currentChartData: ChartData + private currentChartData: ChartData; componentDidMount() { const { showChart } = this.props; diff --git a/src/renderer/components/chart/useRealTimeMetrics.ts b/src/renderer/components/chart/useRealTimeMetrics.ts index 066817ca6b..7983d38b00 100644 --- a/src/renderer/components/chart/useRealTimeMetrics.ts +++ b/src/renderer/components/chart/useRealTimeMetrics.ts @@ -3,7 +3,7 @@ import { useState, useEffect } from "react"; import { useInterval } from "../../hooks"; type IMetricValues = [number, string][]; -type IChartData = { x: number; y: string }[] +type IChartData = { x: number; y: string }[]; const defaultParams = { fetchInterval: 15, diff --git a/src/renderer/components/cluster-manager/cluster-status.tsx b/src/renderer/components/cluster-manager/cluster-status.tsx index e0d91d3319..bd8be870c2 100644 --- a/src/renderer/components/cluster-manager/cluster-status.tsx +++ b/src/renderer/components/cluster-manager/cluster-status.tsx @@ -50,14 +50,14 @@ export class ClusterStatus extends React.Component { activateCluster = async (force = false) => { await requestMain(clusterActivateHandler, this.props.clusterId, force); - } + }; reconnect = async () => { this.authOutput = []; this.isReconnecting = true; await this.activateCluster(true); this.isReconnecting = false; - } + }; renderContent() { const { authOutput, cluster, hasErrors } = this; diff --git a/src/renderer/components/cluster-manager/clusters-menu.tsx b/src/renderer/components/cluster-manager/clusters-menu.tsx index 127d6b3363..7f11cf395f 100644 --- a/src/renderer/components/cluster-manager/clusters-menu.tsx +++ b/src/renderer/components/cluster-manager/clusters-menu.tsx @@ -33,11 +33,11 @@ interface Props { export class ClustersMenu extends React.Component { showCluster = (clusterId: ClusterId) => { navigate(clusterViewURL({ params: { clusterId } })); - } + }; addCluster = () => { navigate(addClusterURL()); - } + }; showContextMenu = (cluster: Cluster) => { const { Menu, MenuItem } = remote; @@ -87,7 +87,7 @@ export class ClustersMenu extends React.Component { menu.popup({ window: remote.getCurrentWindow() }); - } + }; @autobind() swapClusterIconOrder(result: DropResult) { diff --git a/src/renderer/components/confirm-dialog/confirm-dialog.tsx b/src/renderer/components/confirm-dialog/confirm-dialog.tsx index 1208170a42..491ba99012 100644 --- a/src/renderer/components/confirm-dialog/confirm-dialog.tsx +++ b/src/renderer/components/confirm-dialog/confirm-dialog.tsx @@ -57,15 +57,15 @@ export class ConfirmDialog extends React.Component { this.isSaving = false; } this.close(); - } + }; onClose = () => { this.isSaving = false; - } + }; close = () => { ConfirmDialog.close(); - } + }; render() { const { className, ...dialogProps } = this.props; diff --git a/src/renderer/components/dialog/dialog.tsx b/src/renderer/components/dialog/dialog.tsx index 5a4ce48f4e..7b08ab6e5d 100644 --- a/src/renderer/components/dialog/dialog.tsx +++ b/src/renderer/components/dialog/dialog.tsx @@ -42,11 +42,11 @@ export class Dialog extends React.PureComponent { }; @disposeOnUnmount - closeOnNavigate = reaction(() => navigation.getPath(), () => this.close()) + closeOnNavigate = reaction(() => navigation.getPath(), () => this.close()); public state: DialogState = { isOpen: this.props.isOpen, - } + }; get elem() { return findDOMNode(this) as HTMLElement; @@ -95,7 +95,7 @@ export class Dialog extends React.PureComponent { // Using document.body target to handle keydown event before Drawer does document.body.addEventListener('keydown', this.onEscapeKey); } - } + }; onClose = () => { this.props.onClose(); @@ -103,7 +103,7 @@ export class Dialog extends React.PureComponent { if (this.elem) this.elem.removeEventListener('click', this.onClickOutside); document.body.removeEventListener('keydown', this.onEscapeKey); } - } + }; onEscapeKey = (evt: KeyboardEvent) => { const escapeKey = evt.code === "Escape"; @@ -111,7 +111,7 @@ export class Dialog extends React.PureComponent { this.close(); evt.stopPropagation(); } - } + }; onClickOutside = (evt: MouseEvent) => { const target = evt.target as HTMLElement; @@ -119,7 +119,7 @@ export class Dialog extends React.PureComponent { this.close(); evt.stopPropagation(); } - } + }; render() { const { modal, animated, pinned } = this.props; diff --git a/src/renderer/components/dialog/logs-dialog.tsx b/src/renderer/components/dialog/logs-dialog.tsx index 67afcc7ba7..cfb7aecbe5 100644 --- a/src/renderer/components/dialog/logs-dialog.tsx +++ b/src/renderer/components/dialog/logs-dialog.tsx @@ -24,7 +24,7 @@ export class LogsDialog extends React.Component { if (copyToClipboard(this.logsElem)) { Notifications.ok(_i18n._(t`Logs copied to clipboard.`)); } - } + }; render() { const { title, logs, ...dialogProps } = this.props; diff --git a/src/renderer/components/dock/create-resource.tsx b/src/renderer/components/dock/create-resource.tsx index 9d4f5c09fb..8fa20cad3e 100644 --- a/src/renderer/components/dock/create-resource.tsx +++ b/src/renderer/components/dock/create-resource.tsx @@ -22,7 +22,7 @@ interface Props { @observer export class CreateResource extends React.Component { - @observable error = "" + @observable error = ""; get tabId() { return this.props.tab.id; @@ -35,7 +35,7 @@ export class CreateResource extends React.Component { onChange = (value: string, error?: string) => { createResourceStore.setData(this.tabId, value); this.error = error; - } + }; create = async () => { if (this.error) return; @@ -63,7 +63,7 @@ export class CreateResource extends React.Component { ); Notifications.ok(successMessage); return successMessage; - } + }; render() { const { tabId, data, error, create, onChange } = this; diff --git a/src/renderer/components/dock/dock.tsx b/src/renderer/components/dock/dock.tsx index 70ac2a2a84..112a02b09b 100644 --- a/src/renderer/components/dock/dock.tsx +++ b/src/renderer/components/dock/dock.tsx @@ -42,13 +42,13 @@ export class Dock extends React.Component { if (selectedTab.pinned) close(); else closeTab(selectedTab.id); } - } + }; onChangeTab = (tab: IDockTab) => { const { open, selectTab } = dockStore; open(); selectTab(tab.id); - } + }; @autobind() renderTab(tab: IDockTab) { diff --git a/src/renderer/components/dock/edit-resource.tsx b/src/renderer/components/dock/edit-resource.tsx index 5e33c3668d..471a6aa75c 100644 --- a/src/renderer/components/dock/edit-resource.tsx +++ b/src/renderer/components/dock/edit-resource.tsx @@ -62,7 +62,7 @@ export class EditResource extends React.Component { onChange = (draft: string, error?: string) => { this.error = error; this.saveDraft(draft); - } + }; save = async () => { if (this.error) { @@ -79,7 +79,7 @@ export class EditResource extends React.Component { {resourceType} {resourceName} updated.

); - } + }; render() { const { tabId, resource, tabData, error, onChange, save } = this; diff --git a/src/renderer/components/dock/editor-panel.tsx b/src/renderer/components/dock/editor-panel.tsx index db718f27a2..8dee3ffa96 100644 --- a/src/renderer/components/dock/editor-panel.tsx +++ b/src/renderer/components/dock/editor-panel.tsx @@ -21,7 +21,7 @@ export class EditorPanel extends React.Component { public editor: AceEditor; - @observable yamlError = "" + @observable yamlError = ""; componentDidMount() { // validate and run callback with optional error @@ -44,23 +44,23 @@ export class EditorPanel extends React.Component { onTabChange = () => { this.editor.focus(); - } + }; onResize = () => { this.editor.resize(); this.editor.focus(); - } + }; onCursorPosChange = (pos: Ace.Point) => { EditorPanel.cursorPos.setData(this.props.tabId, pos); - } + }; onChange = (value: string) => { this.validate(value); if (this.props.onChange) { this.props.onChange(value, this.yamlError); } - } + }; render() { const { value, tabId } = this.props; diff --git a/src/renderer/components/dock/info-panel.tsx b/src/renderer/components/dock/info-panel.tsx index 1500dbae2d..0404cc5981 100644 --- a/src/renderer/components/dock/info-panel.tsx +++ b/src/renderer/components/dock/info-panel.tsx @@ -38,7 +38,7 @@ export class InfoPanel extends Component { showSubmitClose: true, showInlineInfo: true, showNotifications: true, - } + }; @observable error = ""; @observable waiting = false; @@ -66,16 +66,16 @@ export class InfoPanel extends Component { } finally { this.waiting = false; } - } + }; submitAndClose = async () => { await this.submit(); this.close(); - } + }; close = () => { dockStore.closeTab(this.props.tabId); - } + }; renderErrorIcon() { if (!this.props.showInlineInfo || !this.errorInfo) { diff --git a/src/renderer/components/dock/install-chart.tsx b/src/renderer/components/dock/install-chart.tsx index 388c6a2d94..0c0713007d 100644 --- a/src/renderer/components/dock/install-chart.tsx +++ b/src/renderer/components/dock/install-chart.tsx @@ -103,7 +103,7 @@ export class InstallChart extends Component { return (

Chart Release {details.release.name} successfully created.

); - } + }; render() { const { tabId, chartData, values, versions, install } = this; diff --git a/src/renderer/components/dock/pod-logs.store.ts b/src/renderer/components/dock/pod-logs.store.ts index 3d6e0abf00..6d2fae1545 100644 --- a/src/renderer/components/dock/pod-logs.store.ts +++ b/src/renderer/components/dock/pod-logs.store.ts @@ -78,7 +78,7 @@ export class PodLogsStore extends DockTabStore { this.refresher.stop(); this.logs.set(tabId, message); } - } + }; /** * Function is used to refreser/stream-like requests. @@ -94,7 +94,7 @@ export class PodLogsStore extends DockTabStore { }); // Add newly received logs to bottom this.logs.set(tabId, [...oldLogs, ...logs]); - } + }; /** * Main logs loading function adds necessary data to payload and makes @@ -119,7 +119,7 @@ export class PodLogsStore extends DockTabStore { logs.pop(); // Remove last empty element return logs; }); - } + }; /** * Sets newLogSince separator timestamp to split old logs from new ones diff --git a/src/renderer/components/dock/pod-logs.tsx b/src/renderer/components/dock/pod-logs.tsx index a3fb4070c8..1e7d7e4a14 100644 --- a/src/renderer/components/dock/pod-logs.tsx +++ b/src/renderer/components/dock/pod-logs.tsx @@ -79,13 +79,13 @@ export class PodLogs extends React.Component { this.ready = false; await podLogsStore.load(this.tabId); this.ready = true; - } + }; reload = async () => { podLogsStore.clearLogs(this.tabId); this.lastLineIsShown = true; await this.load(); - } + }; /** * Function loads more logs (usually after user scrolls to top) and sets proper @@ -101,7 +101,7 @@ export class PodLogs extends React.Component { // Set scroll position back to place where preloading started this.logsElement.current.scrollTop = (podLogsStore.lines - lines) * lineHeight; } - } + }; /** * A function for various actions after search is happened @@ -167,7 +167,7 @@ export class PodLogs extends React.Component { this.showJumpToBottom = true; } } - } + }; @action scrollToBottom = () => { @@ -177,7 +177,7 @@ export class PodLogs extends React.Component { this.showJumpToBottom = false; // Showing horizontal scrollbar after VirtualList settles down setTimeout(() => this.hideHorizontalScroll = false, 500); - } + }; /** * A function is called by VirtualList for rendering each of the row @@ -221,7 +221,7 @@ export class PodLogs extends React.Component { )} ); - } + }; renderJumpToBottom() { if (!this.logsElement) return null; diff --git a/src/renderer/components/dock/terminal.ts b/src/renderer/components/dock/terminal.ts index 167fdbe20d..d0009f3c8b 100644 --- a/src/renderer/components/dock/terminal.ts +++ b/src/renderer/components/dock/terminal.ts @@ -132,39 +132,39 @@ export class Terminal { focus = () => { this.xterm.focus(); - } + }; onApiData = (data: string) => { this.xterm.write(data); - } + }; onData = (data: string) => { if (!this.api.isReady) return; this.api.sendCommand(data); - } + }; onScroll = () => { this.scrollPos = this.viewport.scrollTop; - } + }; onClear = () => { this.xterm.clear(); - } + }; onResize = () => { this.fitLazy(); this.focus(); - } + }; onActivate = () => { this.fit(); setTimeout(() => this.focus(), 250); // delay used to prevent focus on active tab this.viewport.scrollTop = this.scrollPos; // restore last scroll position - } + }; onClickLink = (evt: MouseEvent, link: string) => { window.open(link, "_blank"); - } + }; keyHandler = (evt: KeyboardEvent): boolean => { const { code, ctrlKey, type } = evt; @@ -190,7 +190,7 @@ export class Terminal { } return true; - } + }; } Terminal.init(); diff --git a/src/renderer/components/dock/upgrade-chart.tsx b/src/renderer/components/dock/upgrade-chart.tsx index 6fb50e90bc..0f9ed625ce 100644 --- a/src/renderer/components/dock/upgrade-chart.tsx +++ b/src/renderer/components/dock/upgrade-chart.tsx @@ -62,7 +62,7 @@ export class UpgradeChart extends React.Component { onChange = (value: string, error?: string) => { upgradeChartStore.values.setData(this.tabId, value); this.error = error; - } + }; upgrade = async () => { if (this.error) return; @@ -79,13 +79,13 @@ export class UpgradeChart extends React.Component { Release {releaseName} successfully upgraded to version {version}

); - } + }; formatVersionLabel = ({ value }: SelectOption) => { const chartName = this.release.getChart(); const { repo, version } = value; return `${repo}/${chartName}-${version}`; - } + }; render() { const { tabId, release, value, error, onChange, upgrade, versions, version } = this; diff --git a/src/renderer/components/drawer/drawer-param-toggler.tsx b/src/renderer/components/drawer/drawer-param-toggler.tsx index c4ec8fe1a3..181965e848 100644 --- a/src/renderer/components/drawer/drawer-param-toggler.tsx +++ b/src/renderer/components/drawer/drawer-param-toggler.tsx @@ -13,11 +13,11 @@ interface State { open?: boolean; } export class DrawerParamToggler extends React.Component { - public state: State = {} + public state: State = {}; toggle = () => { this.setState({ open: !this.state.open }); - } + }; render() { const { label, children } = this.props; diff --git a/src/renderer/components/drawer/drawer.tsx b/src/renderer/components/drawer/drawer.tsx index 7d3bb977db..0c425c1624 100644 --- a/src/renderer/components/drawer/drawer.tsx +++ b/src/renderer/components/drawer/drawer.tsx @@ -30,9 +30,9 @@ const defaultProps: Partial = { export class Drawer extends React.Component { static defaultProps = defaultProps as object; - private mouseDownTarget: HTMLElement - private contentElem: HTMLElement - private scrollElem: HTMLElement + private mouseDownTarget: HTMLElement; + private contentElem: HTMLElement; + private scrollElem: HTMLElement; private scrollPos = new Map(); private stopListenLocation = history.listen(() => { @@ -57,13 +57,13 @@ export class Drawer extends React.Component { if (!this.scrollElem) return; const key = history.location.key; this.scrollPos.set(key, this.scrollElem.scrollTop); - } + }; restoreScrollPos = () => { if (!this.scrollElem) return; const key = history.location.key; this.scrollElem.scrollTop = this.scrollPos.get(key) || 0; - } + }; onEscapeKey = (evt: KeyboardEvent) => { if (!this.props.open) { @@ -72,7 +72,7 @@ export class Drawer extends React.Component { if (evt.code === "Escape") { this.close(); } - } + }; onClickOutside = (evt: MouseEvent) => { const { contentElem, mouseDownTarget, close, props: { open } } = this; @@ -85,18 +85,18 @@ export class Drawer extends React.Component { close(); } this.mouseDownTarget = null; - } + }; onMouseDown = (evt: MouseEvent) => { if (this.props.open) { this.mouseDownTarget = evt.target as HTMLElement; } - } + }; close = () => { const { open, onClose } = this.props; if (open) onClose(); - } + }; render() { const { open, position, title, animation, children, toolbar, size, usePortal } = this.props; diff --git a/src/renderer/components/error-boundary/error-boundary.tsx b/src/renderer/components/error-boundary/error-boundary.tsx index 81f9de3784..87a214ff67 100644 --- a/src/renderer/components/error-boundary/error-boundary.tsx +++ b/src/renderer/components/error-boundary/error-boundary.tsx @@ -25,7 +25,7 @@ export class ErrorBoundary extends React.Component { resetOnNavigate = reaction( () => navigation.getPath(), () => this.setState({ error: null, errorInfo: null }) - ) + ); componentDidCatch(error: Error, errorInfo: ErrorInfo) { this.setState({ error, errorInfo }); @@ -33,7 +33,7 @@ export class ErrorBoundary extends React.Component { back = () => { navigation.goBack(); - } + }; render() { const { error, errorInfo } = this.state; diff --git a/src/renderer/components/input/file-input.tsx b/src/renderer/components/input/file-input.tsx index c3356b04f1..1293163797 100644 --- a/src/renderer/components/input/file-input.tsx +++ b/src/renderer/components/input/file-input.tsx @@ -24,7 +24,7 @@ export class FileInput extends React.Component { selectFiles = () => { this.input.click(); // opens system dialog for selecting files - } + }; protected onChange = async (evt: React.ChangeEvent) => { const fileList = Array.from(evt.target.files); @@ -49,7 +49,7 @@ export class FileInput extends React.Component { selectedFiles = await Promise.all(readingFiles); } this.props.onSelectFiles(...selectedFiles); - } + }; render() { const { onSelectFiles, readAsText, ...props } = this.props; diff --git a/src/renderer/components/input/input.tsx b/src/renderer/components/input/input.tsx index 256b74ab0c..e61ecc3020 100644 --- a/src/renderer/components/input/input.tsx +++ b/src/renderer/components/input/input.tsx @@ -31,7 +31,7 @@ export type InputProps = Omit): void; onSubmit?(value: T): void; -} +}; interface State { focused?: boolean; @@ -59,7 +59,7 @@ export class Input extends React.Component { dirty: !!this.props.dirty, valid: true, errors: [], - } + }; setValue(value: string) { if (value !== this.getValue()) { diff --git a/src/renderer/components/input/search-input-url.tsx b/src/renderer/components/input/search-input-url.tsx index d05fcf116c..854adc1024 100644 --- a/src/renderer/components/input/search-input-url.tsx +++ b/src/renderer/components/input/search-input-url.tsx @@ -15,25 +15,25 @@ export class SearchInputUrl extends React.Component { @observable inputVal = ""; // fix: use empty string to avoid react warnings @disposeOnUnmount - updateInput = autorun(() => this.inputVal = getSearch()) - updateUrl = debounce((val: string) => setSearch(val), 250) + updateInput = autorun(() => this.inputVal = getSearch()); + updateUrl = debounce((val: string) => setSearch(val), 250); setValue = (value: string) => { this.inputVal = value; this.updateUrl(value); - } + }; clear = () => { this.setValue(""); this.updateUrl.flush(); - } + }; onChange = (val: string, evt: React.ChangeEvent) => { this.setValue(val); if (this.props.onChange) { this.props.onChange(val, evt); } - } + }; render() { const { inputVal } = this; diff --git a/src/renderer/components/input/search-input.tsx b/src/renderer/components/input/search-input.tsx index 26852ffd8a..9c9530030b 100644 --- a/src/renderer/components/input/search-input.tsx +++ b/src/renderer/components/input/search-input.tsx @@ -40,11 +40,11 @@ export class SearchInput extends React.Component { if (this.props.onClear) { this.props.onClear(); } - } + }; onChange = (val: string, evt: React.ChangeEvent) => { this.props.onChange(val, evt); - } + }; onKeyDown = (evt: React.KeyboardEvent) => { if (this.props.onKeyDown) { @@ -56,7 +56,7 @@ export class SearchInput extends React.Component { this.clear(); evt.stopPropagation(); } - } + }; @autobind() focus(evt: KeyboardEvent) { diff --git a/src/renderer/components/item-object-list/item-list-layout.tsx b/src/renderer/components/item-object-list/item-list-layout.tsx index 045b1f86d4..9fbcb54add 100644 --- a/src/renderer/components/item-object-list/item-list-layout.tsx +++ b/src/renderer/components/item-object-list/item-list-layout.tsx @@ -154,7 +154,7 @@ export class ItemListLayout extends React.Component { } return items; }, - } + }; @computed get isReady() { const { isReady, store } = this.props; diff --git a/src/renderer/components/item-object-list/page-filters-list.tsx b/src/renderer/components/item-object-list/page-filters-list.tsx index f73ce3bfa0..492dffe20a 100644 --- a/src/renderer/components/item-object-list/page-filters-list.tsx +++ b/src/renderer/components/item-object-list/page-filters-list.tsx @@ -18,10 +18,10 @@ export class PageFiltersList extends React.Component { get filters() { return pageFilters.activeFilters; } - } + }; - reset = () => pageFilters.reset() - remove = (filter: Filter) => pageFilters.removeFilter(filter) + reset = () => pageFilters.reset(); + remove = (filter: Filter) => pageFilters.removeFilter(filter); renderContent() { const { filters } = this.props; diff --git a/src/renderer/components/item-object-list/page-filters-select.tsx b/src/renderer/components/item-object-list/page-filters-select.tsx index 25b3eae8fd..3727d1824a 100644 --- a/src/renderer/components/item-object-list/page-filters-select.tsx +++ b/src/renderer/components/item-object-list/page-filters-select.tsx @@ -26,7 +26,7 @@ export class PageFiltersSelect extends React.Component { static defaultProps: Props = { allowEmpty: true, disableFilters: {}, - } + }; @computed get groupedOptions() { const options: GroupSelectOption[] = []; @@ -65,7 +65,7 @@ export class PageFiltersSelect extends React.Component { {selected && } ); - } + }; private onSelect = (option: SelectOptionFilter) => { const { type, value, selected } = option; @@ -77,7 +77,7 @@ export class PageFiltersSelect extends React.Component { else { removeFilter(filter); } - } + }; render() { const { groupedOptions, formatLabel, onSelect, options } = this; diff --git a/src/renderer/components/kube-object/kube-object-details.tsx b/src/renderer/components/kube-object/kube-object-details.tsx index 6f04693089..fe5f665af1 100644 --- a/src/renderer/components/kube-object/kube-object-details.tsx +++ b/src/renderer/components/kube-object/kube-object-details.tsx @@ -60,7 +60,7 @@ export class KubeObjectDetails extends React.Component { } } } - }) + }); render() { const { object, isLoading, loadingError, isCrdInstance } = this; diff --git a/src/renderer/components/kube-object/kube-object-list-layout.tsx b/src/renderer/components/kube-object/kube-object-list-layout.tsx index 32aff7c804..880c933e64 100644 --- a/src/renderer/components/kube-object/kube-object-list-layout.tsx +++ b/src/renderer/components/kube-object/kube-object-list-layout.tsx @@ -25,7 +25,7 @@ export class KubeObjectListLayout extends React.Component { close = () => { KubeConfigDialog.close(); - } + }; onOpen = () => { this.loadConfig(); - } + }; async loadConfig() { const config = await this.data.loader().catch(err => { @@ -64,11 +64,11 @@ export class KubeConfigDialog extends React.Component { if (this.config && copyToClipboard(this.configTextArea)) { Notifications.ok(Config copied to clipboard); } - } + }; download = () => { downloadFile("config", this.config, "text/yaml"); - } + }; render() { const { isOpen, data = {} } = KubeConfigDialog; diff --git a/src/renderer/components/layout/main-layout.tsx b/src/renderer/components/layout/main-layout.tsx index 9eb1a29392..21eb5d882e 100755 --- a/src/renderer/components/layout/main-layout.tsx +++ b/src/renderer/components/layout/main-layout.tsx @@ -26,7 +26,7 @@ export class MainLayout extends React.Component { @observable isPinned = this.storage.get().pinnedSidebar; @observable isAccessible = true; - @observable sidebarWidth = this.storage.get().sidebarWidth + @observable sidebarWidth = this.storage.get().sidebarWidth; @disposeOnUnmount syncPinnedStateWithStorage = reaction( () => this.isPinned, @@ -49,7 +49,7 @@ export class MainLayout extends React.Component { return { "--sidebar-width": `${this.sidebarWidth}px`, }; - } + }; @autobind() adjustWidth(newWidth: number): void { diff --git a/src/renderer/components/layout/page-layout.tsx b/src/renderer/components/layout/page-layout.tsx index 86886e80ce..c99ef6bf84 100644 --- a/src/renderer/components/layout/page-layout.tsx +++ b/src/renderer/components/layout/page-layout.tsx @@ -51,7 +51,7 @@ export class PageLayout extends React.Component { evt.stopPropagation(); this.back(evt); } - } + }; render() { const { diff --git a/src/renderer/components/menu/menu-actions.tsx b/src/renderer/components/menu/menu-actions.tsx index 2568da5bdd..9f6908d1e9 100644 --- a/src/renderer/components/menu/menu-actions.tsx +++ b/src/renderer/components/menu/menu-actions.tsx @@ -27,7 +27,7 @@ export class MenuActions extends React.Component { get removeConfirmationMessage() { return _i18n._(t`Remove item?`); } - } + }; public id = uniqueId("menu_actions_"); diff --git a/src/renderer/components/radio/radio.tsx b/src/renderer/components/radio/radio.tsx index 54107d4ad5..6153cb5b09 100644 --- a/src/renderer/components/radio/radio.tsx +++ b/src/renderer/components/radio/radio.tsx @@ -42,7 +42,7 @@ export type RadioProps = React.HTMLProps & { checked?: boolean; disabled?: boolean; onChange?(value: React.ChangeEvent): void; -} +}; export class Radio extends React.Component { private elem: HTMLElement; @@ -52,7 +52,7 @@ export class Radio extends React.Component { if (!checked && onChange) { onChange(value); } - } + }; onKeyDown = (e: React.KeyboardEvent) => { const SPACE_KEY = e.keyCode === 32; @@ -61,7 +61,7 @@ export class Radio extends React.Component { this.elem.click(); e.preventDefault(); } - } + }; render() { const { className, label, checked, children, ...inputProps } = this.props; diff --git a/src/renderer/components/resizing-anchor/resizing-anchor.tsx b/src/renderer/components/resizing-anchor/resizing-anchor.tsx index 2ff8842eeb..e481c89bd3 100644 --- a/src/renderer/components/resizing-anchor/resizing-anchor.tsx +++ b/src/renderer/components/resizing-anchor/resizing-anchor.tsx @@ -143,7 +143,7 @@ function directionDelta(P1: number, P2: number, M: number): number | false { } export class ResizingAnchor extends React.PureComponent { - @observable lastMouseEvent?: MouseEvent + @observable lastMouseEvent?: MouseEvent; @observable.ref ref?: React.RefObject; static defaultProps = { @@ -160,8 +160,8 @@ export class ResizingAnchor extends React.PureComponent { maxExtent: Number.POSITIVE_INFINITY, minExtent: 0, placement: ResizeSide.LEADING, - } - static IS_RESIZING = "resizing" + }; + static IS_RESIZING = "resizing"; constructor(props: Props) { super(props); @@ -191,7 +191,7 @@ export class ResizingAnchor extends React.PureComponent { this.lastMouseEvent = undefined; onStart(); - } + }; calculateDelta(from: Position, to: Position): number | false { const node = this.ref.current; @@ -259,7 +259,7 @@ export class ResizingAnchor extends React.PureComponent { } else if (previousExtent >= maxExtent && maxExtent >= unboundedExtent) { onMaxExtentSubceed(); } - }, 100) + }, 100); @action onDragEnd = (_event: MouseEvent) => { @@ -267,7 +267,7 @@ export class ResizingAnchor extends React.PureComponent { document.removeEventListener("mousemove", this.onDrag); document.removeEventListener("mouseup", this.onDragEnd); document.body.classList.remove(ResizingAnchor.IS_RESIZING); - } + }; render() { const { disabled, direction, placement, onDoubleClick } = this.props; diff --git a/src/renderer/components/resource-metrics/resource-metrics.tsx b/src/renderer/components/resource-metrics/resource-metrics.tsx index 3d956214a1..20258f30d0 100644 --- a/src/renderer/components/resource-metrics/resource-metrics.tsx +++ b/src/renderer/components/resource-metrics/resource-metrics.tsx @@ -22,7 +22,7 @@ export type IResourceMetricsValue = { object: T; tabId: number; params?: P; -} +}; export const ResourceMetricsContext = createContext(null); diff --git a/src/renderer/components/select/select.tsx b/src/renderer/components/select/select.tsx index 00524c01b2..43cdfe1464 100644 --- a/src/renderer/components/select/select.tsx +++ b/src/renderer/components/select/select.tsx @@ -37,7 +37,7 @@ export class Select extends React.Component { autoConvertOptions: true, menuPortalTarget: document.body, menuPlacement: "auto", - } + }; @computed get theme() { return this.props.themeName || themeStore.activeTheme.type; diff --git a/src/renderer/components/table/table-head.tsx b/src/renderer/components/table/table-head.tsx index eb629a4606..7e06a48a31 100644 --- a/src/renderer/components/table/table-head.tsx +++ b/src/renderer/components/table/table-head.tsx @@ -15,7 +15,7 @@ export interface TableHeadProps extends React.DOMAttributes { export class TableHead extends React.Component { static defaultProps: TableHeadProps = { sticky: true, - } + }; render() { const { className, sticky, nowrap, showTopLine, children, ...headProps } = this.props; diff --git a/src/renderer/components/table/table.tsx b/src/renderer/components/table/table.tsx index ec64be6be9..0822beee8d 100644 --- a/src/renderer/components/table/table.tsx +++ b/src/renderer/components/table/table.tsx @@ -16,7 +16,7 @@ import { ItemObject } from "../../item.store"; export type TableSortBy = string; export type TableOrderBy = "asc" | "desc" | string; -export type TableSortParams = { sortBy: TableSortBy; orderBy: TableOrderBy } +export type TableSortParams = { sortBy: TableSortBy; orderBy: TableOrderBy }; export type TableSortCallback = (data: D) => string | number | (string | number)[]; export interface TableProps extends React.DOMAttributes { @@ -51,7 +51,7 @@ export class Table extends React.Component { rowPadding: "8px", rowLineHeight: "17px", sortSyncWithUrl: true, - } + }; @observable sortParamsLocal = this.props.sortByDefault; diff --git a/src/renderer/components/tabs/tabs.tsx b/src/renderer/components/tabs/tabs.tsx index 4b611ce762..027631ed3d 100644 --- a/src/renderer/components/tabs/tabs.tsx +++ b/src/renderer/components/tabs/tabs.tsx @@ -12,7 +12,7 @@ interface TabsContextValue { onChange?(value: D): void; } -type Omit = Pick> +type Omit = Pick>; export interface TabsProps extends TabsContextValue, Omit, "onChange"> { className?: string; diff --git a/src/renderer/components/virtual-list/virtual-list.tsx b/src/renderer/components/virtual-list/virtual-list.tsx index 35ee54cec2..ed63a7a5ab 100644 --- a/src/renderer/components/virtual-list/virtual-list.tsx +++ b/src/renderer/components/virtual-list/virtual-list.tsx @@ -71,7 +71,7 @@ export class VirtualList extends Component { this.setState({ height: parentHeight, }); - }, 250) + }, 250); getItemSize = (index: number) => this.props.rowHeights[index]; @@ -81,11 +81,11 @@ export class VirtualList extends Component { const index = items.findIndex(item => item.getId() == selectedItemId); if (index === -1) return; this.listRef.current.scrollToItem(index, "start"); - }) + }); scrollToItem = (index: number, align: Align) => { this.listRef.current.scrollToItem(index, align); - } + }; render() { const { width, className, items, getRow, onScroll, outerRef } = this.props; diff --git a/src/renderer/components/wizard/wizard.tsx b/src/renderer/components/wizard/wizard.tsx index d404f9ab6d..1134bccd0a 100755 --- a/src/renderer/components/wizard/wizard.tsx +++ b/src/renderer/components/wizard/wizard.tsx @@ -136,7 +136,7 @@ export class WizardStep extends React.Component { const next = this.props.next; @@ -167,7 +167,7 @@ export class WizardStep extends React.Component { if (!this.form.noValidate) { @@ -175,7 +175,7 @@ export class WizardStep extends React.Component { static defaultOptions: IStorageHelperOptions = { addKeyPrefix: true, useSession: false, - } + }; constructor(protected key: string, protected defaultValue?: T, protected options?: IStorageHelperOptions) { this.options = Object.assign({}, StorageHelper.defaultOptions, options);