Saltearse al contenido

Conceptos

El @aws/nx-plugin es un plugin de Nx que proporciona un conjunto de herramientas para simplificar el desarrollo e implementación de aplicaciones full-stack en AWS. Ofrece plantillas preconfiguradas tanto para aplicaciones como para código de Infraestructura como Código (IaC), reduciendo significativamente el tiempo de configuración inicial. El plugin maneja la complejidad de integración con servicios AWS manteniendo flexibilidad para personalizaciones.

Los usuarios simplemente seleccionan los componentes deseados de la lista de Generadores disponibles, proveen opciones de configuración y el @aws/nx-plugin genera el código inicial requerido. Este kit incluye generadores para crear APIs, sitios web, infraestructura e incluso funcionalidades avanzadas como integrar frontend con backend (¡incluyendo actualizaciones de archivos existentes mediante transformaciones AST!) con clientes type-safe.

generador

Construido sobre Nx

Nx es un framework de construcción inteligente que gestiona proyectos poliglotas complejos mediante dos pilares: un sistema de construcción avanzado y generadores de código.

El sistema de construcción utiliza caché inteligente y análisis de gráficos de dependencias para optimizar la ejecución de tareas. Solo reconstruye lo necesario basado en cambios, reduciendo drásticamente tiempos de compilación. Las tareas se ejecutan en paralelo con un orden óptimo determinado automáticamente según dependencias, haciendo operaciones como testing, linting y builds altamente eficientes en bases de código grandes.

Los generadores actúan como herramientas de scaffolding automatizado que crean estructuras de código consistentes. Pueden generar desde componentes individuales hasta aplicaciones completas siguiendo plantillas predefinidas. Los equipos pueden personalizar estos generadores para cumplir sus estándares específicos.

Juntas, estas características hacen a Nx particularmente efectivo para gestionar monorepos y mantener prácticas de desarrollo consistentes en equipos, manteniendo alta velocidad de desarrollo.

Generadores

Todos los componentes de este plugin se implementan como Generadores que automatizan tareas repetitivas y permiten scaffolding consistente en proyectos nuevos y existentes.

Los generadores pueden invocarse mediante la CLI de Nx o el plugin IDE Nx Console.

generadores

Abierto a modificaciones

Todo el código generado es tuyo, lo que significa que puedes editarlo libremente. Esto simplifica drásticamente la experiencia de desarrollo: si algo no te gusta del código generado, puedes modificarlo directamente.

Dependencias mínimas

El @aws/nx-plugin mantiene un número mínimo de dependencias. Los requisitos globales dependen únicamente de los generadores que uses.

Por ejemplo, generadores basados en Typescript solo requieren Node. Para proyectos Python, solo se necesita UV.

Política de versión única

La configuración predeterminada de monorepos usa una single version policy para proyectos Node y Python.

Esto significa que todos los proyectos usan la misma versión de dependencias por defecto, reduciendo conflictos por incompatibilidades de versiones.

En Node: un único lockfile en la raíz con un solo node_modules. Las nuevas dependencias se añaden al package.json raíz.

En Python: un único .venv en la raíz del monorepo. Cada proyecto Python tiene su propio pyproject.toml, pero las versiones se gestionan mediante el workspace de uv y se registran en el archivo uv.lock raíz.

Seguridad de tipos

El @aws/nx-plugin implementa type-safety para simplificar la experiencia de desarrollo mediante autocompletado en IDEs, eliminando errores en runtime. Todos los componentes incluidos son type-safe por defecto.

seguridad de tipos