From 4cd7931c3c7e2d4dd7a170f2a4fe5af22d33335c Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Thu, 11 Jun 2026 02:06:15 -0400 Subject: [PATCH] =?UTF-8?q?fix(07-03):=20make=20e2e=20typecheck=20pass=20?= =?UTF-8?q?=E2=80=94=20add=20DOM=20lib=20to=20tsconfig.e2e,=20cast=20style?= =?UTF-8?q?Handle=20el=20to=20Element?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Playwright transpiles specs without typechecking (esbuild), so layout.spec.ts ran green while `tsc -p tsconfig.e2e.json` failed: page.evaluate(() => document...) callbacks need the DOM lib, and styleHandle.evaluate((el) => el.remove()) typed el as Node (no .remove()). Phase 8 CI runs the typecheck gate, so this would have broken CI. Adds DOM/DOM.Iterable to the e2e tsconfig (also covers 07-04 specs) and casts el to Element. Co-Authored-By: Claude Opus 4.8 --- apps/pwa/e2e/layout.spec.ts | 4 ++-- apps/pwa/tsconfig.e2e.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/pwa/e2e/layout.spec.ts b/apps/pwa/e2e/layout.spec.ts index 063eb6f..70d230a 100644 --- a/apps/pwa/e2e/layout.spec.ts +++ b/apps/pwa/e2e/layout.spec.ts @@ -208,7 +208,7 @@ test.describe('harness self-validation — injected defects', () => { // REMOVE the injected style by navigating (page.reload drops inline style tags) // then re-measure — must be ≥ 44px again - await styleHandle.evaluate((el) => el.remove()) + await styleHandle.evaluate((el) => (el as Element).remove()) const boxAfterRemoval = await calTab.boundingBox() expect( boxAfterRemoval, @@ -248,7 +248,7 @@ test.describe('harness self-validation — injected defects', () => { ).toBeGreaterThan(overflowWithDefect.clientWidth) // REMOVE the injected style — overflow must clear - await styleHandle.evaluate((el) => el.remove()) + await styleHandle.evaluate((el) => (el as Element).remove()) const overflowAfterRemoval = await page.evaluate(() => ({ scrollWidth: document.documentElement.scrollWidth, clientWidth: document.documentElement.clientWidth, diff --git a/apps/pwa/tsconfig.e2e.json b/apps/pwa/tsconfig.e2e.json index 3db8cd2..7ddd986 100644 --- a/apps/pwa/tsconfig.e2e.json +++ b/apps/pwa/tsconfig.e2e.json @@ -2,7 +2,7 @@ "extends": "./tsconfig.json", "compilerOptions": { "types": ["node"], - "lib": ["ES2023"] + "lib": ["ES2023", "DOM", "DOM.Iterable"] }, "include": ["playwright.config.ts", "e2e/**/*"], "exclude": ["node_modules"]