From fa1d25f5d1b18a3956d3cd21708da76152efcb5c Mon Sep 17 00:00:00 2001 From: Arseniy Klempner Date: Mon, 6 Oct 2025 21:48:01 -0700 Subject: [PATCH] fix: remove more uses of any --- packages/browser-tests/src/routes/waku.ts | 2 +- .../browser-tests/tests/integration.spec.ts | 9 ++++----- packages/browser-tests/tests/server.spec.ts | 6 +++--- .../tests/utils/container-helpers.ts | 10 +++++----- packages/browser-tests/web/index.ts | 17 +++++++++++------ 5 files changed, 24 insertions(+), 20 deletions(-) diff --git a/packages/browser-tests/src/routes/waku.ts b/packages/browser-tests/src/routes/waku.ts index cefe222247..e0f94efe02 100644 --- a/packages/browser-tests/src/routes/waku.ts +++ b/packages/browser-tests/src/routes/waku.ts @@ -48,7 +48,7 @@ router.post( "/lightpush/v3/message", createEndpointHandler({ methodName: "pushMessageV3", - validateInput: (body: any): [string, string, string] => { + validateInput: (body): [string, string, string] => { const validatedRequest = validators.requireLightpushV3(body); return [ diff --git a/packages/browser-tests/tests/integration.spec.ts b/packages/browser-tests/tests/integration.spec.ts index cb3686604e..cfceafd5e1 100644 --- a/packages/browser-tests/tests/integration.spec.ts +++ b/packages/browser-tests/tests/integration.spec.ts @@ -3,9 +3,9 @@ import axios from "axios"; import { StartedTestContainer } from "testcontainers"; import { createLightNode, - waitForRemotePeer, LightNode, Protocols, + IDecodedMessage, } from "@waku/sdk"; import { DEFAULT_CLUSTER_ID, DEFAULT_NUM_SHARDS } from "@waku/interfaces"; import { startBrowserTestsContainer, stopContainer } from "./utils/container-helpers.js"; @@ -44,7 +44,7 @@ test.afterAll(async () => { test("cross-network message delivery: SDK light node receives server lightpush", async () => { test.setTimeout(TEST_CONFIG.DEFAULT_TEST_TIMEOUT); - const contentTopic = TEST_CONFIG.DEFAULT_CONTENT_TOPIC; + const contentTopic = TEST_CONFIG.DEFAULT_CONTENT_TOPIC; const testMessage = TEST_CONFIG.DEFAULT_TEST_MESSAGE; wakuNode = await createLightNode({ @@ -65,13 +65,12 @@ test("cross-network message delivery: SDK light node receives server lightpush", await wakuNode.start(); - await waitForRemotePeer( - wakuNode, + await wakuNode.waitForPeers( [Protocols.Filter, Protocols.LightPush], 30000, ); - const messages: any[] = []; + const messages: IDecodedMessage[] = []; const decoder = wakuNode.createDecoder({ contentTopic }); if ( diff --git a/packages/browser-tests/tests/server.spec.ts b/packages/browser-tests/tests/server.spec.ts index bbdce49273..c20d77b64f 100644 --- a/packages/browser-tests/tests/server.spec.ts +++ b/packages/browser-tests/tests/server.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from "@playwright/test"; import axios from "axios"; -import { spawn } from "child_process"; +import { spawn, ChildProcess } from "child_process"; import { fileURLToPath } from "url"; import { dirname, join } from "path"; @@ -10,7 +10,7 @@ const __dirname = dirname(__filename); test.describe.configure({ mode: "serial" }); test.describe("Server Tests", () => { - let serverProcess: any; + let serverProcess: ChildProcess; let baseUrl = "http://localhost:3000"; test.beforeAll(async () => { @@ -75,7 +75,7 @@ test.describe("Server Tests", () => { expect(infoRes.status).toBe(200); expect(infoRes.data.peerId).toBeDefined(); expect(infoRes.data.multiaddrs).toBeDefined(); - } catch (error: any) { + } catch (error) { expect(error.response?.status).toBe(400); } }); diff --git a/packages/browser-tests/tests/utils/container-helpers.ts b/packages/browser-tests/tests/utils/container-helpers.ts index a026dee446..0ff6108e06 100644 --- a/packages/browser-tests/tests/utils/container-helpers.ts +++ b/packages/browser-tests/tests/utils/container-helpers.ts @@ -56,7 +56,7 @@ export async function startBrowserTestsContainer( // Wait for server readiness with retry logic (following waku/tests patterns) const serverReady = await waitForServerReady(baseUrl, maxAttempts, timeout); - + if (!serverReady) { await logFinalContainerState(container); throw new Error("Container failed to become ready"); @@ -73,8 +73,8 @@ export async function startBrowserTestsContainer( * Follows retry patterns from @waku/tests ServiceNode. */ async function waitForServerReady( - baseUrl: string, - maxAttempts: number, + baseUrl: string, + maxAttempts: number, timeout: number ): Promise { for (let i = 0; i < maxAttempts; i++) { @@ -84,7 +84,7 @@ async function waitForServerReady( log.info(`Server is ready after ${i + 1} attempts`); return true; } - } catch (error: any) { + } catch (error) { if (i % 10 === 0) { log.info(`Attempt ${i + 1}/${maxAttempts} failed:`, error.code || error.message); } @@ -125,4 +125,4 @@ export async function stopContainer(container: StartedTestContainer): Promise peerId.toString()), - failures: result.failures.map((failure: any) => ({ + successes: result.successes.map((peerId: PeerId) => peerId.toString()), + failures: result.failures.map((failure: Failure) => ({ error: failure.error || failure.toString(), peerId: failure.peerId ? failure.peerId.toString() : undefined, })), @@ -150,10 +155,10 @@ export class WakuHeadless { } private async send( - lightPush: any, - encoder: any, + lightPush: ILightPush, + encoder: IEncoder, payload: Uint8Array, - ) { + ): Promise { return lightPush.send(encoder, { payload, timestamp: new Date(),