Hijo de #23.
Contexto
$ npx tsc --noEmit
src/components/hero-shader/ShaderHero.tsx(4,21): error TS2307: Cannot find module 'next/dynamic'
src/components/hero-shader/ShaderHeroCanvas.tsx(74,8): error TS2322: '"waves"' is not assignable to type 'typeT | undefined'
Preexistentes, ajenos a chat-sim (chat-sim da cero errores). Pero mientras estén, tsc --noEmit no sirve como gate: cualquier error de tipos nuevo se pierde entre estos dos, y tsc es el ÚNICO gate real contra una mutación pura de tipos — TS los borra en runtime, así que ningún test los atrapa.
next/dynamic en un paquete que no depende de Next sugiere que ShaderHero.tsx no debería estar acá, o necesita next como peer opcional.
Fix propuesto
Decidir para cada uno: (a) tipar bien, (b) declarar next peer opcional + shim de tipos, o (c) sacar hero-shader/ del build de tipos si no es superficie pública.
Criterios de aceptación
npx tsc --noEmit sale 0
- Ningún
@ts-ignore/@ts-expect-error nuevo sin comentario que diga por qué
Verificación (runnable)
npx tsc --noEmit; echo "exit=$?" # espera 0
Gemelo: meté un error de tipos deliberado en src/components/chat-sim/core/types.ts, confirmá que tsc lo nombra, revertí. Sin eso no se distingue "arreglado" de "excluido del scope".
Guardrails
- No silenciar con
skipLibCheck ni ampliando exclude hasta tapar chat-sim
- No tocar chat-sim: ya da cero errores
Scope
src/components/hero-shader/**, tsconfig.json, package.json (peers).
Hijo de #23.
Contexto
Preexistentes, ajenos a chat-sim (chat-sim da cero errores). Pero mientras estén,
tsc --noEmitno sirve como gate: cualquier error de tipos nuevo se pierde entre estos dos, ytsces el ÚNICO gate real contra una mutación pura de tipos — TS los borra en runtime, así que ningún test los atrapa.next/dynamicen un paquete que no depende de Next sugiere queShaderHero.tsxno debería estar acá, o necesitanextcomo peer opcional.Fix propuesto
Decidir para cada uno: (a) tipar bien, (b) declarar
nextpeer opcional + shim de tipos, o (c) sacarhero-shader/del build de tipos si no es superficie pública.Criterios de aceptación
npx tsc --noEmitsale 0@ts-ignore/@ts-expect-errornuevo sin comentario que diga por quéVerificación (runnable)
Gemelo: meté un error de tipos deliberado en
src/components/chat-sim/core/types.ts, confirmá quetsclo nombra, revertí. Sin eso no se distingue "arreglado" de "excluido del scope".Guardrails
skipLibCheckni ampliandoexcludehasta tapar chat-simScope
src/components/hero-shader/**,tsconfig.json,package.json(peers).