Skip to content

The four root playwright*.config.ts files are in no tsconfig program either — the #4471 gap, one directory up #4477

Description

@yinlianghui

Found while implementing #4471 (which brings e2e/**/*.ts under a new root tsconfig.e2e.json). Filed rather than folded in, because it is outside that card's ruled surface (e2e/**).

Measurement

The four Playwright configs live at the repo root, not under e2e/, so the tsconfig.e2e.json#4471 adds does not reach them, and neither does anything else:

playwright.config.ts
playwright.import-console.config.ts
playwright.import-harness.config.ts
playwright.live.config.ts

So the same statement #4471 makes about the specs holds for the configs that decide which specs run, where they run, and what webServer command builds the app under test.

Current cost: zero errors, which is the point

Compiled against #4471's option set (ES2022 + DOM + types: ["node"], strict), the four files are clean:

$ npx tsc -p tsconfig.e2e.probe.json # extends tsconfig.e2e.json, include: ["playwright*.config.ts"]
exit=0

That makes this observation-class, not a live defect — there is nothing to fix today. What is missing is the gate: playwright.config.ts's webServer.command, testIgnore, and projects are read by no compiler, so a defineConfig option that stops existing (or is misspelled into undefined) surfaces only as a confusing Playwright runtime failure in the e2e CI job.

Suggested remedy

One line, once #4471 lands: widen tsconfig.e2e.json's include to

"include": ["e2e/**/*.ts", "playwright*.config.ts"]

and extend scripts/__tests__/e2e-type-check.test.ts's on-disk coverage sweep to assert the root playwright*.config.ts files are in the program too — the same glob-not-a-list doctrine that file already carries for e2e/.

Depends on #4471 for the config to widen.


Generated by Claude Code

Metadata

Metadata

Assignees

Labels

domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repo

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions