#2808·drei

[v11] The examples app is never typechecked, and it has real API errors

Author: DennisSmolekCreated Sep 1, 2026Updated Sep 7, 2026
Labelsreleased on @alpharepo-managementv11effort:Magent-ok

Problem

The examples app is not typechecked by anything.

  • yarn test runs tsc against the root tsconfig.json, which covers src and .storybook — not examples/.
  • yarn examples / yarn examples:webgpu run vite, and examples/package.json's build is plain vite build, which does not typecheck.

So examples/tsconfig.json exists and nothing ever runs it. It currently reports a substantial number of errors:

src/demos/core/controls/FaceControls.tsx   ~12 errors
src/demos/core/controls/Select.tsx          TS2322 — Edges does not accept children
src/demos/core/controls/TransformControls.tsx  TS2322
src/demos/core/abstractions/Example.tsx     TS2322 — MouseEvent vs ThreeEvent
src/components/Scene.tsx                    TS2305 — 'Grid' is not exported from @react-three/drei/core
src/demos/core/controls/KeyboardControls.tsx TS6133
src/demos/core/controls/ScrollControls.tsx  TS6133

Some are genuinely interesting. Scene.tsx importing Grid from @react-three/drei/core fails because Grid is not in core — it lives in legacy and webgpu. That is exactly the entry-point mistake yarn test:bundles exists to catch, and the examples app is outside its reach.

Task

  1. Add yarn --cwd examples typecheck (tsc --noEmit) and wire it into yarn test, or into CI as its own job.
  2. Fix or explicitly suppress what it surfaces. Anything that is a real API misuse (Grid from core, Edges children, FaceControls props) should be fixed, not suppressed — those are the examples users copy from.

Notes

  • Expect some errors to be genuine drift against r3f v10 / three 0.185 rather than examples bugs.
  • The examples app is a separate project with its own node_modules (yarn --cwd examples install), so CI needs that install step.

Acceptance

examples/ is typechecked in CI and passes.