[ADM-008] Migrar PuntoDeVentaForm a sintaxis Zod v4 (bug preexistente) #21
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexto
Durante el smoke E2E de ADM-009 (2026-04-17) se detectó que
bun run buildfalla con errores de TypeScript ensrc/web/src/features/puntos-de-venta/components/PuntoDeVentaForm.tsx. El bug preexiste enmaindesde ADM-008 — pasó desapercibido porque Vitest no hace type-checking (usa esbuild).Bug
El componente usa sintaxis de Zod v3 que es inválida en v4.3.6 (la versión actual del proyecto):
El error exacto de TypeScript:
Adicionalmente, al no tipar el genérico
T,z.coerce.number()infiereZodCoercedNumber<unknown>en lugar deZodCoercedNumber<number>, rompiendo la compatibilidad con@hookform/resolversy generando cascada de errores de tipo enResolver,ControlySubmitHandler.Fix
Impacto
mainno buildea limpio hoy. Cualquier CI que corrabun run buildfalla.Referencia
ADM-009 ya migró los 4 componentes fiscales (
NuevaVigenciaModal,TipoDeIvaFormModal,NuevaVigenciaIibbModal,IngresosBrutosFormModal) a sintaxis Zod v4 como parte del cleanup pre-merge. Este issue trackea el mismo fix para ADM-008 como PR independiente.Archivos a migrar:
src/web/src/features/puntos-de-venta/components/PuntoDeVentaForm.tsxCriterios de cierre
cd src/web && bun run buildcompleta sin errores relacionados a PuntoDeVentaForm.cd src/web && bun run testsigue pasando (baseline sin regresión).Closes #N.