diff --git a/src/renderer/api/endpoints/cluster.api.ts b/src/renderer/api/endpoints/cluster.api.ts index b0d6446f01..e96ab7f082 100644 --- a/src/renderer/api/endpoints/cluster.api.ts +++ b/src/renderer/api/endpoints/cluster.api.ts @@ -54,7 +54,7 @@ export class Cluster extends KubeObject { static kind = "Cluster"; static apiBase = "/apis/cluster.k8s.io/v1alpha1/clusters"; - declare spec: { + spec: { clusterNetwork?: { serviceDomain?: string; pods?: { @@ -70,7 +70,7 @@ export class Cluster extends KubeObject { }; }; }; - declare status?: { + status?: { apiEndpoints: { host: string; port: string; diff --git a/src/renderer/api/endpoints/crd.api.ts b/src/renderer/api/endpoints/crd.api.ts index ad5a90eccf..f51df634fe 100644 --- a/src/renderer/api/endpoints/crd.api.ts +++ b/src/renderer/api/endpoints/crd.api.ts @@ -22,7 +22,7 @@ export class CustomResourceDefinition extends KubeObject { static namespaced = false; static apiBase = "/apis/apiextensions.k8s.io/v1/customresourcedefinitions"; - declare spec: { + spec: { group: string; version?: string; // deprecated in v1 api names: { @@ -46,7 +46,7 @@ export class CustomResourceDefinition extends KubeObject { }; additionalPrinterColumns?: AdditionalPrinterColumnsV1Beta[]; // removed in v1 }; - declare status: { + status: { conditions: { lastTransitionTime: string; message: string; diff --git a/src/renderer/api/endpoints/cron-job.api.ts b/src/renderer/api/endpoints/cron-job.api.ts index db22cd5611..4b317eac62 100644 --- a/src/renderer/api/endpoints/cron-job.api.ts +++ b/src/renderer/api/endpoints/cron-job.api.ts @@ -48,7 +48,7 @@ export class CronJob extends KubeObject { autoBind(this); } - declare spec: { + spec: { schedule: string; concurrencyPolicy: string; suspend: boolean; @@ -81,7 +81,7 @@ export class CronJob extends KubeObject { successfulJobsHistoryLimit: number; failedJobsHistoryLimit: number; }; - declare status: { + status: { lastScheduleTime?: string; }; diff --git a/src/renderer/api/endpoints/daemon-set.api.ts b/src/renderer/api/endpoints/daemon-set.api.ts index 585c636156..1a114174cb 100644 --- a/src/renderer/api/endpoints/daemon-set.api.ts +++ b/src/renderer/api/endpoints/daemon-set.api.ts @@ -15,7 +15,7 @@ export class DaemonSet extends WorkloadKubeObject { autoBind(this); } - declare spec: { + spec: { selector: { matchLabels: { [name: string]: string; @@ -57,7 +57,7 @@ export class DaemonSet extends WorkloadKubeObject { }; revisionHistoryLimit: number; }; - declare status: { + status: { currentNumberScheduled: number; numberMisscheduled: number; desiredNumberScheduled: number; diff --git a/src/renderer/api/endpoints/deployment.api.ts b/src/renderer/api/endpoints/deployment.api.ts index b03916e7e7..fa67953312 100644 --- a/src/renderer/api/endpoints/deployment.api.ts +++ b/src/renderer/api/endpoints/deployment.api.ts @@ -77,7 +77,7 @@ export class Deployment extends WorkloadKubeObject { autoBind(this); } - declare spec: { + spec: { replicas: number; selector: { matchLabels: { [app: string]: string } }; template: { @@ -156,7 +156,7 @@ export class Deployment extends WorkloadKubeObject { }; }; }; - declare status: { + status: { observedGeneration: number; replicas: number; updatedReplicas: number; diff --git a/src/renderer/api/endpoints/events.api.ts b/src/renderer/api/endpoints/events.api.ts index c43a3649bd..d026d3d1f0 100644 --- a/src/renderer/api/endpoints/events.api.ts +++ b/src/renderer/api/endpoints/events.api.ts @@ -1,21 +1,13 @@ import moment from "moment"; import { KubeObject } from "../kube-object"; import { formatDuration } from "../../utils/formatDuration"; -import { autoBind } from "../../utils"; import { KubeApi } from "../kube-api"; -import { KubeJsonApiData } from "../kube-json-api"; export class KubeEvent extends KubeObject { static kind = "Event"; static namespaced = true; static apiBase = "/api/v1/events"; - constructor(data: KubeJsonApiData) { - super(data); - autoBind(this); - Object.assign(this, data); // TODO: figure out why this doesn't work from super() - } - involvedObject: { kind: string; namespace: string; diff --git a/src/renderer/api/endpoints/hpa.api.ts b/src/renderer/api/endpoints/hpa.api.ts index 60e8cdb649..4876ee43eb 100644 --- a/src/renderer/api/endpoints/hpa.api.ts +++ b/src/renderer/api/endpoints/hpa.api.ts @@ -43,7 +43,7 @@ export class HorizontalPodAutoscaler extends KubeObject { static namespaced = true; static apiBase = "/apis/autoscaling/v2beta1/horizontalpodautoscalers"; - declare spec: { + spec: { scaleTargetRef: { kind: string; name: string; @@ -53,7 +53,7 @@ export class HorizontalPodAutoscaler extends KubeObject { maxReplicas: number; metrics: IHpaMetric[]; }; - declare status: { + status: { currentReplicas: number; desiredReplicas: number; currentMetrics: IHpaMetric[]; diff --git a/src/renderer/api/endpoints/ingress.api.ts b/src/renderer/api/endpoints/ingress.api.ts index 49ba6b07c9..ee7e4fadd4 100644 --- a/src/renderer/api/endpoints/ingress.api.ts +++ b/src/renderer/api/endpoints/ingress.api.ts @@ -72,7 +72,7 @@ export class Ingress extends KubeObject { autoBind(this); } - declare spec: { + spec: { tls: { secretName: string; }[]; @@ -96,7 +96,7 @@ export class Ingress extends KubeObject { } } }; - declare status: { + status: { loadBalancer: { ingress: ILoadBalancerIngress[]; }; diff --git a/src/renderer/api/endpoints/job.api.ts b/src/renderer/api/endpoints/job.api.ts index 1df41ad548..7a92a94fa6 100644 --- a/src/renderer/api/endpoints/job.api.ts +++ b/src/renderer/api/endpoints/job.api.ts @@ -16,7 +16,7 @@ export class Job extends WorkloadKubeObject { autoBind(this); } - declare spec: { + spec: { parallelism?: number; completions?: number; backoffLimit?: number; @@ -62,7 +62,7 @@ export class Job extends WorkloadKubeObject { serviceAccount?: string; schedulerName?: string; }; - declare status: { + status: { conditions: { type: string; status: string; diff --git a/src/renderer/api/endpoints/limit-range.api.ts b/src/renderer/api/endpoints/limit-range.api.ts index 89aa8eeb34..a97ca28c43 100644 --- a/src/renderer/api/endpoints/limit-range.api.ts +++ b/src/renderer/api/endpoints/limit-range.api.ts @@ -40,7 +40,7 @@ export class LimitRange extends KubeObject { autoBind(this); } - declare spec: { + spec: { limits: LimitRangeItem[]; }; diff --git a/src/renderer/api/endpoints/namespaces.api.ts b/src/renderer/api/endpoints/namespaces.api.ts index 8d489fc26d..848a34bd32 100644 --- a/src/renderer/api/endpoints/namespaces.api.ts +++ b/src/renderer/api/endpoints/namespaces.api.ts @@ -18,7 +18,7 @@ export class Namespace extends KubeObject { autoBind(this); } - declare status?: { + status?: { phase: string; }; diff --git a/src/renderer/api/endpoints/network-policy.api.ts b/src/renderer/api/endpoints/network-policy.api.ts index 7e120d1796..72e828bfc0 100644 --- a/src/renderer/api/endpoints/network-policy.api.ts +++ b/src/renderer/api/endpoints/network-policy.api.ts @@ -46,7 +46,7 @@ export class NetworkPolicy extends KubeObject { autoBind(this); } - declare spec: { + spec: { podSelector: { matchLabels: { [label: string]: string; diff --git a/src/renderer/api/endpoints/nodes.api.ts b/src/renderer/api/endpoints/nodes.api.ts index 4bb7e0ff4a..a95cff26a4 100644 --- a/src/renderer/api/endpoints/nodes.api.ts +++ b/src/renderer/api/endpoints/nodes.api.ts @@ -39,7 +39,7 @@ export class Node extends KubeObject { autoBind(this); } - declare spec: { + spec: { podCIDR: string; externalID: string; taints?: { @@ -49,7 +49,7 @@ export class Node extends KubeObject { }[]; unschedulable?: boolean; }; - declare status: { + status: { capacity: { cpu: string; memory: string; diff --git a/src/renderer/api/endpoints/persistent-volume-claims.api.ts b/src/renderer/api/endpoints/persistent-volume-claims.api.ts index 500af710e5..dab5040cdc 100644 --- a/src/renderer/api/endpoints/persistent-volume-claims.api.ts +++ b/src/renderer/api/endpoints/persistent-volume-claims.api.ts @@ -32,7 +32,7 @@ export class PersistentVolumeClaim extends KubeObject { autoBind(this); } - declare spec: { + spec: { accessModes: string[]; storageClassName: string; selector: { @@ -51,7 +51,7 @@ export class PersistentVolumeClaim extends KubeObject { }; }; }; - declare status: { + status: { phase: string; // Pending }; diff --git a/src/renderer/api/endpoints/persistent-volume.api.ts b/src/renderer/api/endpoints/persistent-volume.api.ts index ae1daba816..ce8f04eabd 100644 --- a/src/renderer/api/endpoints/persistent-volume.api.ts +++ b/src/renderer/api/endpoints/persistent-volume.api.ts @@ -14,7 +14,7 @@ export class PersistentVolume extends KubeObject { autoBind(this); } - declare spec: { + spec: { capacity: { storage: string; // 8Gi }; @@ -45,7 +45,7 @@ export class PersistentVolume extends KubeObject { }; }; - declare status: { + status: { phase: string; reason?: string; }; diff --git a/src/renderer/api/endpoints/poddisruptionbudget.api.ts b/src/renderer/api/endpoints/poddisruptionbudget.api.ts index a202565398..654e1785f5 100644 --- a/src/renderer/api/endpoints/poddisruptionbudget.api.ts +++ b/src/renderer/api/endpoints/poddisruptionbudget.api.ts @@ -13,12 +13,12 @@ export class PodDisruptionBudget extends KubeObject { autoBind(this); } - declare spec: { + spec: { minAvailable: string; maxUnavailable: string; selector: { matchLabels: { [app: string]: string } }; }; - declare status: { + status: { currentHealthy: number desiredHealthy: number disruptionsAllowed: number diff --git a/src/renderer/api/endpoints/pods.api.ts b/src/renderer/api/endpoints/pods.api.ts index b865960fec..fad991de37 100644 --- a/src/renderer/api/endpoints/pods.api.ts +++ b/src/renderer/api/endpoints/pods.api.ts @@ -192,7 +192,7 @@ export class Pod extends WorkloadKubeObject { autoBind(this); } - declare spec: { + spec: { volumes?: { name: string; persistentVolumeClaim: { @@ -249,7 +249,7 @@ export class Pod extends WorkloadKubeObject { }; affinity?: IAffinity; }; - declare status?: { + status?: { phase: string; conditions: { type: string; diff --git a/src/renderer/api/endpoints/podsecuritypolicy.api.ts b/src/renderer/api/endpoints/podsecuritypolicy.api.ts index 5ff8537143..f33d70299e 100644 --- a/src/renderer/api/endpoints/podsecuritypolicy.api.ts +++ b/src/renderer/api/endpoints/podsecuritypolicy.api.ts @@ -13,7 +13,7 @@ export class PodSecurityPolicy extends KubeObject { autoBind(this); } - declare spec: { + spec: { allowPrivilegeEscalation?: boolean; allowedCSIDrivers?: { name: string; diff --git a/src/renderer/api/endpoints/replica-set.api.ts b/src/renderer/api/endpoints/replica-set.api.ts index 503c17adcf..e5795444b4 100644 --- a/src/renderer/api/endpoints/replica-set.api.ts +++ b/src/renderer/api/endpoints/replica-set.api.ts @@ -38,7 +38,7 @@ export class ReplicaSet extends WorkloadKubeObject { autoBind(this); } - declare spec: { + spec: { replicas?: number; selector: { matchLabels: { [app: string]: string } }; template?: { @@ -51,7 +51,7 @@ export class ReplicaSet extends WorkloadKubeObject { }; minReadySeconds?: number; }; - declare status: { + status: { replicas: number; fullyLabeledReplicas?: number; readyReplicas?: number; diff --git a/src/renderer/api/endpoints/resource-quota.api.ts b/src/renderer/api/endpoints/resource-quota.api.ts index 590e137eca..e2d37a9081 100644 --- a/src/renderer/api/endpoints/resource-quota.api.ts +++ b/src/renderer/api/endpoints/resource-quota.api.ts @@ -40,7 +40,7 @@ export class ResourceQuota extends KubeObject { this.spec = this.spec || {} as any; } - declare spec: { + spec: { hard: IResourceQuotaValues; scopeSelector?: { matchExpressions: { @@ -51,7 +51,7 @@ export class ResourceQuota extends KubeObject { }; }; - declare status: { + status: { hard: IResourceQuotaValues; used: IResourceQuotaValues; }; diff --git a/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts b/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts index 98f68f95f7..f47fc29a4e 100644 --- a/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts +++ b/src/renderer/api/endpoints/selfsubjectrulesreviews.api.ts @@ -25,12 +25,12 @@ export class SelfSubjectRulesReview extends KubeObject { static namespaced = false; static apiBase = "/apis/authorization.k8s.io/v1/selfsubjectrulesreviews"; - declare spec: { + spec: { // todo: add more types from api docs namespace?: string; }; - declare status: { + status: { resourceRules: ISelfSubjectReviewRule[]; nonResourceRules: ISelfSubjectReviewRule[]; incomplete: boolean; diff --git a/src/renderer/api/endpoints/service.api.ts b/src/renderer/api/endpoints/service.api.ts index 4723e6f66c..9dce4df628 100644 --- a/src/renderer/api/endpoints/service.api.ts +++ b/src/renderer/api/endpoints/service.api.ts @@ -40,7 +40,7 @@ export class Service extends KubeObject { autoBind(this); } - declare spec: { + spec: { type: string; clusterIP: string; externalTrafficPolicy?: string; @@ -51,7 +51,7 @@ export class Service extends KubeObject { externalIPs?: string[]; // https://kubernetes.io/docs/concepts/services-networking/service/#external-ips }; - declare status: { + status: { loadBalancer?: { ingress?: { ip?: string; diff --git a/src/renderer/api/endpoints/stateful-set.api.ts b/src/renderer/api/endpoints/stateful-set.api.ts index beb39015a6..cad00a365d 100644 --- a/src/renderer/api/endpoints/stateful-set.api.ts +++ b/src/renderer/api/endpoints/stateful-set.api.ts @@ -38,7 +38,7 @@ export class StatefulSet extends WorkloadKubeObject { autoBind(this); } - declare spec: { + spec: { serviceName: string; replicas: number; selector: { @@ -91,7 +91,7 @@ export class StatefulSet extends WorkloadKubeObject { }; }[]; }; - declare status: { + status: { observedGeneration: number; replicas: number; currentReplicas: number; diff --git a/src/renderer/api/kube-object.ts b/src/renderer/api/kube-object.ts index 25e6e62e2f..cc14ff9a7b 100644 --- a/src/renderer/api/kube-object.ts +++ b/src/renderer/api/kube-object.ts @@ -145,7 +145,7 @@ export class KubeObject implements ItemObject { kind: string; metadata: IKubeObjectMetadata; status?: any; - spec: any = {}; + spec?: any; get selfLink() { return this.metadata.selfLink; diff --git a/src/renderer/components/menu/menu.tsx b/src/renderer/components/menu/menu.tsx index 945f449e96..ff30b24c30 100644 --- a/src/renderer/components/menu/menu.tsx +++ b/src/renderer/components/menu/menu.tsx @@ -326,7 +326,7 @@ export class MenuItem extends React.Component { static defaultProps = defaultPropsMenuItem as object; static contextType = MenuContext; - declare context: MenuContextValue; + public context: MenuContextValue; public elem: HTMLElement; constructor(props: MenuItemProps) { diff --git a/src/renderer/components/tabs/tabs.tsx b/src/renderer/components/tabs/tabs.tsx index 6c06c029ca..bfc5a01b7e 100644 --- a/src/renderer/components/tabs/tabs.tsx +++ b/src/renderer/components/tabs/tabs.tsx @@ -62,7 +62,7 @@ export interface TabProps extends DOMAttributes { export class Tab extends React.PureComponent { static contextType = TabsContext; - declare context: TabsContextValue; + public context: TabsContextValue; public elem: HTMLElement; get isActive() { diff --git a/tsconfig.json b/tsconfig.json index c4c63baf88..b23c764f2b 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -23,7 +23,7 @@ "allowSyntheticDefaultImports": true, "traceResolution": false, "resolveJsonModule": true, - "useDefineForClassFields": true, + "useDefineForClassFields": false, "paths": { "*": [ "node_modules/*",