Registro de Cambios¶
Todos los cambios notables de este proyecto se documentarán en este archivo.
El formato está basado en Keep a Changelog, y este proyecto adhiere a Versionado Semántico.
[Sin Publicar]¶
Planificado¶
- Optimizaciones de rendimiento para operaciones en lote
- Operadores y filtros de consulta adicionales
- Herramientas mejoradas de manejo de errores y depuración
[1.0.23] - 2025-12-13¶
Corregido¶
- mkdocs.yml: Corregida la estructura de navegación que apuntaba a rutas inexistentes (
guides/,api/) - Anclas TOC: Corregidos 47 enlaces de anclas rotos en archivos de documentación ES/DE
- Eliminados acentos de anclas (
#introducción→#introduccion) - Corregidos anclas con triple guión (
#primarykey---claves→#primarykey-claves) - docs/index.es.md, docs/index.de.md: Corregidos enlaces de página de inicio a rutas correctas
- docs/installation.*.md: Corregidos enlaces de referencia API (
./api/table.md→./references/table.md) - docs/getting-started.*.md: Corregidos enlaces de core-concepts y ejemplos
- docs/references/client.*.md: Corregido formato de enlace de decoradores (
./decorators/→./decorators.md) - docs/references/decorators.de.md: Eliminadas entradas TOC para secciones inexistentes (archivo incompleto)
- docs/examples/relations.*.md: Corregidos enlaces de referencia de decoradores a anclas correctas
- docs/examples/advanced.*.md: Corregido enlace de referencia cruzada de core-concepts
Documentación¶
- Resueltas todas las advertencias de compilación de MkDocs (de 47 a 0 enlaces rotos)
- Mejorada la consistencia de documentación multilingüe (EN/ES/DE)
- Corregida la barra de navegación alemana que aparecía en páginas 404 debido a rutas de enlaces incorrectas
[1.0.20] - 2025-12-12¶
Agregado¶
API.md- Documentación completa de la API cubriendo decoradores, esquemas y métodosdocs/references/table.md- Referencia completa de la API de la clase Table en inglésdocs/references/types.md- Documentación completa de tipos TypeScript en ingléssrc/@types/index.ts- Definiciones de tipos TypeScript centralizadas para mejor inferenciaeslint.config.js- Configuración de ESLint para calidad de código consistentescripts/generate_seed.ts- Script utilitario para generar datos de pruebascripts/load_seed.ts- Script utilitario para cargar datos de prueba en DynamoDBtsx.config.json- Configuración de runtime TSX para desarrollo
Cambiado¶
- Reorganizada la estructura de documentación de
guides/,api/,advanced/a un directorio unificadoreferences/ - Renombrados archivos de ejemplos para consistencia:
basic-model→basic,advanced-queries→advanced,relationships→relations - Movido
getting-started.mddeguides/a la raíz de documentación para acceso más fácil - Actualizados ~40 enlaces internos de documentación para coincidir con la nueva estructura
- Simplificada la navegación en
index.mdcon jerarquía más limpia - Nombres de archivo de changelog en minúsculas para consistencia multiplataforma
- Refactorizado
src/core/table.tscon manejo de consultas y carga de relaciones mejorado - Mejorado
src/core/decorator.tscon pipelines getter/setter optimizados - Mejorado
src/core/client.tscon mejor manejo de conexión a DynamoDB - Optimizados todos los decoradores en
src/decorators/*.tspara mejor rendimiento - Refactorizado
src/utils/relations.tscon lógica de resolución de relaciones más limpia - Actualizado
src/index.tsexports para estructura de módulo simplificada - Reducido el archivo de pruebas
src/index.test.tspara ejecución más rápida - Actualizado
package.jsoncon scripts y dependencias mejorados - Limpiado
yarn.lockeliminando entradas de dependencias redundantes
Eliminado¶
docs/examples/validation.*- Ejemplos redundantes, contenido fusionado en ejemplosbasicdocs/guides/relationships.*- Contenido duplicado, consolidado en ejemplosrelationsdocs/api/table.mdydocs/api/types.md- Reemplazados con nuevas versiones en inglés enreferences/src/core/method.ts- Funcionalidad consolidada entable.ts
Corregido¶
- Corregido el idioma de
table.mdytypes.md(estaban incorrectamente en español, ahora correctamente en inglés) - Corregidos todos los enlaces internos rotos en 39 archivos de documentación
- Resueltas convenciones de nomenclatura de archivos inconsistentes en directorio de ejemplos
Rendimiento¶
- Reducida la complejidad del archivo de pruebas para ejecución más rápida de CI/CD
- Optimizado yarn.lock con -2873 líneas de entradas redundantes
- Reducción neta del código base de -9220 líneas manteniendo la funcionalidad
Documentación¶
- Reestructuración completa de documentación siguiendo: Inicio → Instalación → Ejemplos → Referencias → Changelog
- Soporte multilingüe mantenido (EN/ES/DE) en todos los archivos de documentación
- Mejoradas las referencias cruzadas entre secciones de documentación relacionadas
[1.0.17] - 2025-12-03¶
Agregado¶
@Serialize(fromDB, toDB)- Decorador de transformación de datos bidireccional@DeleteAt()- Decorador de eliminación suave con marca de tiempoDynamite.tx()- Transacciones atómicas con rollback automático- Clase
TransactionContextpara gestionar operaciones transaccionales - Método
withTrashed()para incluir registros eliminados suavemente - Método
onlyTrashed()para consultar solo registros eliminados suavemente - Soporte para
nullcomo respaldo en parámetros de@Serialize
Cambiado¶
- Mejorado el método
destroy()para soportar eliminación suave cuando@DeleteAtestá presente destroy()ahora acepta parámetro opcionalTransactionContextpara operaciones transaccionales- Documentación mejorada con ejemplos de
@Serializey@DeleteAt - Documentación de decoradores consolidada en
/guides/decorators.md
Eliminado¶
- Directorio
/api/decorators/(21 archivos) - contenido fusionado en/guides/decorators.md
Documentación¶
- Agregada documentación completa de
@Serializecon ejemplos de encriptación y compresión - Agregada documentación de
@DeleteAtcon patrones de sistema de papelera - Agregada documentación de API de transacciones
Dynamite.tx() - Actualizados ejemplos de modelos para incluir nuevos decoradores
- Documentación multilingüe consolidada (EN/ES/DE)
[1.0.13] - 2025-10-13¶
Versión Actual¶
Esta es una versión estable de @arcaelas/dynamite - un ORM moderno basado en decoradores para DynamoDB con soporte completo de TypeScript.
Características¶
Funcionalidad Principal¶
- ORM completo con enfoque basado en decoradores
- Soporte completo de TypeScript con seguridad de tipos
- Creación y gestión automática de tablas
- Configuración sin código repetitivo
Decoradores¶
- Decoradores Principales:
@PrimaryKey(),@Index(),@IndexSort(),@Name() - Decoradores de Datos:
@Default(),@Mutate(),@Validate(),@NotNull() - Decoradores de Timestamp:
@CreatedAt(),@UpdatedAt() - Decoradores de Relaciones:
@HasMany(),@BelongsTo()
Tipos TypeScript¶
CreationOptional<T>- Marcar campos como opcionales durante la creaciónNonAttribute<T>- Excluir propiedades computadas de la base de datosHasMany<T>- Relaciones uno-a-muchosBelongsTo<T>- Relaciones muchos-a-unoInferAttributes<T>- Inferencia de tipos para atributos del modelo
Operaciones de Consulta¶
- Operaciones CRUD básicas (crear, leer, actualizar, eliminar)
- Operadores de consulta avanzados:
=,!=,<,<=,>,>=,in,not-in,contains,begins-with - Soporte de paginación con
limityskip - Ordenamiento con
order(ASC/DESC) - Selección de atributos con array
attributes - Filtrado complejo con múltiples condiciones
Relaciones¶
- Relaciones uno-a-muchos vía
@HasMany() - Relaciones muchos-a-uno vía
@BelongsTo() - Carga de relaciones anidadas con
include - Consultas de relaciones filtradas
- Soporte de relaciones recursivas
Validación y Transformación de Datos¶
- Validación de campos con validadores personalizados
- Mutación/transformación de datos antes de guardar
- Cadenas de validación de múltiples pasos
- Restricciones de no-nulo
- Validación de email, edad y formatos personalizados
Configuración¶
- Soporte de conexión AWS DynamoDB
- Soporte de desarrollo DynamoDB Local
- Configuración de endpoint personalizado
- Gestión flexible de credenciales
- Soporte de variables de entorno
Dependencias¶
@aws-sdk/client-dynamodb: ^3.329.0@aws-sdk/lib-dynamodb: ^3.329.0pluralize: ^8.0.0uuid: ^11.1.0
Documentación¶
- README completo con ejemplos
- Documentación de tipos TypeScript
- Guía de referencia de API
- Instrucciones de configuración de desarrollo
- Guía de solución de problemas
- Mejores prácticas y consejos de rendimiento
[1.0.0] - Versión Inicial¶
Agregado¶
- Versión inicial de @arcaelas/dynamite
- Implementación de clase Table base
- Sistema de decoradores principal
- Wrapper de cliente DynamoDB
- Sistema de gestión de metadatos
- Operaciones CRUD básicas
- Funcionalidad de constructor de consultas
- Base de soporte de relaciones
- Definiciones TypeScript
- Configuración de pruebas Jest
Resumen del Historial de Versiones¶
- v1.0.23 (Actual) - Corrección de enlaces de documentación, anclas TOC, consistencia multilingüe
- v1.0.20 - Reestructuración de documentación, optimización del código base, creación de API.md
- v1.0.17 - Agregado @Serialize, @DeleteAt, transacciones Dynamite.tx()
- v1.0.13 - Versión estable con conjunto completo de características
- v1.0.0 - Versión pública inicial
Enlaces¶
- Repositorio: https://github.com/arcaelas/dynamite
- Issues: https://github.com/arcaelas/dynamite/issues
- Paquete NPM: https://www.npmjs.com/package/@arcaelas/dynamite
- Autor: Arcaelas Insiders
Guías de Migración¶
Actualización a v1.0.20¶
Enlaces de Documentación¶
Si tienes enlaces externos a la documentación, actualízalos: - docs/guides/getting-started.md → docs/getting-started.md - docs/api/* → docs/references/* - docs/guides/decorators.md → docs/references/decorators.md - docs/examples/basic-model.md → docs/examples/basic.md - docs/examples/advanced-queries.md → docs/examples/advanced.md - docs/examples/relationships.md → docs/examples/relations.md
Sin cambios que rompan la compatibilidad en la API. Todas las características son retrocompatibles.
Actualización a v1.0.13¶
Sin cambios que rompan la compatibilidad desde v1.0.0. Todas las características son retrocompatibles.
Contribuir¶
Ver Repositorio de GitHub para guías de contribución.
Nota: Para ejemplos de uso detallados y documentación de API, por favor consulta el Repositorio de GitHub.