The parent web/tsconfig.json explicitly excludes the e2e folder because
Next.js doesn't compile Playwright specs. As a result, IDE TypeScript
language servers had no project context for e2e/*.spec.ts files and
false-positive on Node globals like Buffer, process.env, and the
NodeJS namespace — which several specs use to sign fake JWTs
(Buffer.from(...).toString('base64url')) or to read NOTELETT_E2E_*
override env vars.
The new web/e2e/tsconfig.json:
- Extends the parent web/tsconfig.json so all path aliases and
react-jsx config stay consistent.
- Adds 'types': ['node', '@playwright/test'] so Node globals and
Playwright fixtures resolve.
- Resets exclude: [] so the parent's e2e exclusion doesn't recurse
in and re-exclude the very directory this config is meant to
cover (which would otherwise yield TS18003 'No inputs found').
Verified:
- npx tsc --noEmit -p web/e2e/tsconfig.json → no output (clean)
- pnpm --filter @notelett/web run typecheck → still passes
(e2e remains out of the main typecheck as before)
- Playwright run unaffected (it uses tsx, not tsc, for runtime)
|
||
|---|---|---|
| .. | ||
| e2e | ||
| public | ||
| scripts | ||
| src | ||
| test-results | ||
| .env.example | ||
| .gitignore | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package.json | ||
| playwright.config.ts | ||
| tsconfig.json | ||
| vitest.config.ts | ||