From 470c9c2460012677030c5f4775d0a3cfd70fac0e Mon Sep 17 00:00:00 2001 From: David Di Biase <1168397+davedbase@users.noreply.github.com> Date: Sun, 16 Aug 2026 10:55:26 -0400 Subject: [PATCH] fix: resolve lint:packages warnings blocking CI (--max-warnings 0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - memo: two `let` bindings that are never reassigned (prefer-const) - websocket: ws?.removeEventListener flagged as an unnecessary optional chain by @typescript-eslint/no-unnecessary-condition — this is a false positive, ws is genuinely undefined on the first getWS() call (declared without an initializer), TS's declared type just doesn't reflect that. Suppressed with the same eslint-disable pattern already used one line below for the identical false positive, rather than removing the `?.` (which would throw on first connect). No behavior change; verified via full memo/websocket test suites. --- packages/memo/src/index.ts | 4 ++-- packages/websocket/src/index.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/memo/src/index.ts b/packages/memo/src/index.ts index ea54bfbb1..d5dd802e6 100644 --- a/packages/memo/src/index.ts +++ b/packages/memo/src/index.ts @@ -504,7 +504,7 @@ export function createRcMemo( return { memo: createMemo( prev => { - let result = calc(prev); + const result = calc(prev); lastSeenValue = result; return result; }, @@ -519,7 +519,7 @@ export function createRcMemo( } else { existing.refCount++; } - let existing2 = existing!; + const existing2 = existing!; onCleanup(() => { existing2.refCount--; if (existing2.refCount === 0) { diff --git a/packages/websocket/src/index.ts b/packages/websocket/src/index.ts index 78aaccfa1..e3d331e93 100644 --- a/packages/websocket/src/index.ts +++ b/packages/websocket/src/index.ts @@ -103,6 +103,7 @@ export const makeReconnectingWS = ( }; let events: Parameters[] = [["close", onClose]]; const getWS = () => { + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- ws is undefined on the first call, TS just doesn't reflect that in its declared type ws?.removeEventListener("close", onClose); // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (ws && ws.readyState < 2) ws.close();