- Move 6 non-standard folders to _archive/ - Update _MAP.md with standardized structure Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0 Level: SUB-CONSUMER Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Validación Frontend - React/TypeScript
Definición Canónica
Alias: @DEF_VAL_FE Dominio: Frontend React/TypeScript
COMANDOS OBLIGATORIOS
# ANTES de marcar tarea como completada:
npm run build # DEBE pasar sin errores
npm run lint # DEBE pasar sin errores
npm run typecheck # DEBE pasar sin errores (tsc --noEmit)
CRITERIOS DE ACEPTACIÓN
build:
resultado: "Build de producción exitoso"
sin_warnings_criticos: true
bundle_size: "Monitorear incrementos grandes"
lint:
resultado: "0 errores de ESLint"
reglas_react:
- "react-hooks/rules-of-hooks"
- "react-hooks/exhaustive-deps"
typecheck:
resultado: "0 errores de TypeScript"
strict_mode: true
no_any_implicito: true
VALIDACIONES ADICIONALES
componentes:
- "Props tipadas correctamente"
- "Keys únicas en listas"
- "Manejo de loading/error states"
- "Accesibilidad básica (aria labels)"
hooks:
- "Dependencias completas en useEffect"
- "Cleanup en useEffect si necesario"
- "useMemo/useCallback donde aplique"
estado:
- "Estado mínimo necesario"
- "Derivar datos cuando posible"
- "Zustand/Context correctamente usado"
api:
- "Manejo de errores de red"
- "Estados de carga"
- "Cancelación de requests"
ERRORES COMUNES
- error: "React Hook useEffect has missing dependency"
causa: "Dependencia no incluida en array"
solucion: "Agregar dependencia o usar useCallback"
- error: "Cannot read property of undefined"
causa: "Datos async no disponibles"
solucion: "Optional chaining o loading state"
- error: "Each child should have unique key"
causa: "Key faltante o duplicada en map()"
solucion: "Usar ID único como key"
Referencia: @PERFIL_FRONTEND, @SIMCO_FRONTEND