From 369f934159f23c22925bbe58109c66a1e21db67d Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Thu, 1 Jun 2023 11:54:24 -0400 Subject: [PATCH] chore: Fix lint after rebase Signed-off-by: Sebastian Malton --- packages/core/package.json | 20 ++++++++-- .../custom-resources-in-sidebar.test.tsx | 4 +- .../replication-controller-details.tsx | 4 -- packages/extension-api/src/extension-api.ts | 12 +++--- packages/logger/.eslintrc.js | 6 +++ packages/logger/package.json | 2 +- packages/logger/src/logger.injectable.ts | 38 +++++++++---------- .../src/endpoints/deployment.api.test.ts | 9 +++-- .../src/endpoints/stateful-set.api.test.ts | 8 +++- .../kube-api/src/kube-api.test.ts | 4 +- .../kube-api/src/mock-responses.ts | 6 +-- 11 files changed, 67 insertions(+), 46 deletions(-) create mode 100644 packages/logger/.eslintrc.js diff --git a/packages/core/package.json b/packages/core/package.json index 140abbf5f7..583f470afd 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -20,12 +20,24 @@ "exports": { "./package.json": "./package.json", "./main": { - "types": "./static/build/main/src/library.d.ts", - "default": "./static/build/library/main.js" + "import": { + "types": "./static/build/library/src/main/library.d.ts", + "default": "./static/build/library/main.js" + }, + "require": { + "types": "./static/build/library/src/main/library.d.ts", + "default": "./static/build/library/main.js" + } }, "./renderer": { - "types": "./static/build/library/src/renderer/library.d.ts", - "default": "./static/build/library/renderer.js" + "import": { + "types": "./static/build/library/src/renderer/library.d.ts", + "default": "./static/build/library/renderer.js" + }, + "require": { + "types": "./static/build/library/src/renderer/library.d.ts", + "default": "./static/build/library/renderer.js" + } }, "./styles": "./static/build/library/renderer.css", "./template.html": "./src/renderer/template.html", diff --git a/packages/core/src/features/cluster/custom-resources-in-sidebar.test.tsx b/packages/core/src/features/cluster/custom-resources-in-sidebar.test.tsx index d6a18a648b..68026e01b0 100644 --- a/packages/core/src/features/cluster/custom-resources-in-sidebar.test.tsx +++ b/packages/core/src/features/cluster/custom-resources-in-sidebar.test.tsx @@ -18,9 +18,9 @@ describe("cluster - custom resources in sidebar", () => { beforeEach(async () => { builder = getApplicationBuilder(); - builder.setEnvironmentToClusterFrame(); - builder.afterWindowStart(({ windowDi }) => { + await builder.setEnvironmentToClusterFrame(); + await builder.afterWindowStart(({ windowDi }) => { customResourceDefinitionStore = windowDi.inject(customResourceDefinitionStoreInjectable); customResourceDefinition = new CustomResourceDefinition({ apiVersion: "apiextensions.k8s.io/v1", diff --git a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx index 3dbad371b6..5a76edf89c 100644 --- a/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx +++ b/packages/core/src/renderer/components/workloads-replication-controllers/replication-controller-details.tsx @@ -57,10 +57,6 @@ class NonInjectedReplicationControllerDetails extends React.Component pipeline(str, kebabCase, toUpper); + +const getLogFunctionFor = ( + scenario: keyof Logger, + namespace: string | undefined +) => { + const prefix = namespace + ? `[${screamingKebabCase(namespace.replace(/-feature$/, ""))}]: ` + : ""; + + return (di: DiContainerForInjection): LogFunction => { + const winstonLogger = di.inject(winstonLoggerInjectable); + + return (message, ...data) => { + winstonLogger[scenario](`${prefix}${message}`, ...data); + }; + }; +}; + /** @deprecated Use specific injectionToken, eg. logErrorInjectionToken */ export const loggerInjectionToken = getInjectionToken({ id: "logger-injection-token", @@ -61,25 +80,6 @@ export const logSillyInjectionToken = getInjectionToken({ id: "log-silly-injection-token", }); -const screamingKebabCase = (str: string) => pipeline(str, kebabCase, toUpper); - -const getLogFunctionFor = ( - scenario: keyof Logger, - namespace: string | undefined -) => { - const prefix = namespace - ? `[${screamingKebabCase(namespace.replace(/-feature$/, ""))}]: ` - : ""; - - return (di: DiContainerForInjection): LogFunction => { - const winstonLogger = di.inject(winstonLoggerInjectable); - - return (message, ...data) => { - winstonLogger[scenario](`${prefix}${message}`, ...data); - }; - }; -}; - export const logDebugInjectable = getInjectable({ id: "log-debug", instantiate: (di) => getLogFunctionFor("debug", di.sourceNamespace)(di), diff --git a/packages/utility-features/kube-api/src/endpoints/deployment.api.test.ts b/packages/utility-features/kube-api/src/endpoints/deployment.api.test.ts index 801aea04e1..f0150261c1 100644 --- a/packages/utility-features/kube-api/src/endpoints/deployment.api.test.ts +++ b/packages/utility-features/kube-api/src/endpoints/deployment.api.test.ts @@ -7,7 +7,7 @@ import { KubeJsonApi, DeploymentApi } from "@k8slens/kube-api"; describe("DeploymentApi", () => { let deploymentApi: DeploymentApi; - let kubeJsonApi: jest.Mocked; + let kubeJsonApi: KubeJsonApi; beforeEach(() => { kubeJsonApi = { @@ -17,14 +17,16 @@ describe("DeploymentApi", () => { put: jest.fn(), patch: jest.fn(), del: jest.fn(), - } as never; + } as Partial as KubeJsonApi; deploymentApi = new DeploymentApi({ logger: { info: jest.fn(), debug: jest.fn(), error: jest.fn(), - } as any, + silly: jest.fn(), + warn: jest.fn(), + }, maybeKubeApi: kubeJsonApi, }); }); @@ -33,6 +35,7 @@ describe("DeploymentApi", () => { it("requests Kubernetes API with PATCH verb and correct amount of replicas", async () => { await deploymentApi.scale({ namespace: "default", name: "deployment-1" }, 5); + // eslint-disable-next-line @typescript-eslint/unbound-method expect(kubeJsonApi.patch).toHaveBeenCalledWith( "/apis/apps/v1/namespaces/default/deployments/deployment-1/scale", { diff --git a/packages/utility-features/kube-api/src/endpoints/stateful-set.api.test.ts b/packages/utility-features/kube-api/src/endpoints/stateful-set.api.test.ts index 9329fac904..93761bac25 100644 --- a/packages/utility-features/kube-api/src/endpoints/stateful-set.api.test.ts +++ b/packages/utility-features/kube-api/src/endpoints/stateful-set.api.test.ts @@ -26,7 +26,9 @@ describe("StatefulSetApi", () => { info: jest.fn(), debug: jest.fn(), error: jest.fn(), - } as any, + silly: jest.fn(), + warn: jest.fn(), + }, maybeKubeApi: kubeJsonApi, }); }); @@ -60,7 +62,9 @@ describe("StatefulSetApi", () => { const req = statefulSetApi.getReplicas({ namespace: "default", name: "statefulset-1" }); await flushPromises(); - expect(kubeJsonApi.get).toHaveBeenCalledWith("/apis/apps/v1/namespaces/default/statefulsets/statefulset-1/scale"); + expect(kubeJsonApiGetMock).toHaveBeenCalledWith( + "/apis/apps/v1/namespaces/default/statefulsets/statefulset-1/scale", + ); await kubeJsonApiGetMock.resolve({ status: { replicas: 10 } }); expect(await req).toBe(10); diff --git a/packages/utility-features/kube-api/src/kube-api.test.ts b/packages/utility-features/kube-api/src/kube-api.test.ts index 0f45cf44dd..10eddf2e79 100644 --- a/packages/utility-features/kube-api/src/kube-api.test.ts +++ b/packages/utility-features/kube-api/src/kube-api.test.ts @@ -28,7 +28,9 @@ describe("KubeApi", () => { info: jest.fn(), debug: jest.fn(), error: jest.fn(), - } as any; + silly: jest.fn(), + warn: jest.fn(), + }; kubeJsonApi = new KubeJsonApi( { diff --git a/packages/utility-features/kube-api/src/mock-responses.ts b/packages/utility-features/kube-api/src/mock-responses.ts index 8920e50862..ead1d41f4d 100644 --- a/packages/utility-features/kube-api/src/mock-responses.ts +++ b/packages/utility-features/kube-api/src/mock-responses.ts @@ -20,7 +20,7 @@ export const createMockResponseFromString = (url: string, data: string, statusCo body: new PassThrough(), bodyUsed: false, headers: new NodeFetchHeaders(), - json: jest.fn(async () => JSON.parse(await res.text())), + json: jest.fn(async () => JSON.parse(await res.text()) as unknown), ok: 200 <= statusCode && statusCode < 300, redirected: 300 <= statusCode && statusCode < 400, size: data.length, @@ -52,7 +52,7 @@ export const createMockResponseFromStream = (url: string, stream: NodeJS.Readabl body: stream, bodyUsed: false, headers: new NodeFetchHeaders(), - json: jest.fn(async () => JSON.parse(await res.text())), + json: jest.fn(async () => JSON.parse(await res.text()) as unknown), ok: 200 <= statusCode && statusCode < 300, redirected: 300 <= statusCode && statusCode < 400, size: 10, @@ -62,7 +62,7 @@ export const createMockResponseFromStream = (url: string, stream: NodeJS.Readabl const chunks: Buffer[] = []; return new Promise((resolve, reject) => { - stream.on("data", (chunk) => chunks.push(Buffer.from(chunk))); + stream.on("data", (chunk) => chunks.push(Buffer.from(chunk as []))); stream.on("error", (err) => reject(err)); stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8"))); });