Skip to content
Go to Lynx

Tipado Estricto

This content is not available in your language yet.

En Lynx, el tipado estricto con TypeScript es una regla fundamental. Creemos que los errores deben atraparse durante el tiempo de compilación y desarrollo, no en producción.

Significa que los tipos y esquemas de datos fluyen de forma continua y segura desde la capa de persistencia (Base de Datos) hasta la interfaz de usuario, pasando por el backend (API).

  1. Base de Datos (Drizzle ORM): Los modelos se definen utilizando Drizzle ORM en @lynx/models. Drizzle infiere automáticamente los schemas de Zod y los tipos TypeScript de nuestras tablas.
  2. Validación (Zod): Utilizamos Zod para crear esquemas de validación basados en los modelos de Drizzle. Esto nos da seguridad de tipos en tiempo de ejecución para los datos en muchos puntos del sistema: formularios en frontend, solicitudes y respuestas del backend, entre otros.
  3. API (NestJS): En apps/nest, las rutas consumen y devuelven tipos generados a partir de nuestros modelos y esquemas, utilizando DTOs fuertemente tipados.
  4. Cliente (Next.js / Astro): En el frontend, consumimos los mismos tipos y esquemas definidos en los paquetes compartidos. Si se cambia un campo en la base de datos, el cliente arrojará un error de compilación inmediatamente.
  • Contexto para IA: La IA puede ejecutar TypeScript para detectar y corregir errores durante el desarrollo.
  • Refactorización Segura: Cambiar el nombre de una columna en la base de datos resaltará inmediatamente los errores en todos los puntos donde se utilicen los modelos.
  • Reducción de Errores: La mayoría de los errores de formato o tipos de datos se detectan y corrigen antes de que el código se fusione en producción.