Package Exports
- @retaila/shared-types
- @retaila/shared-types/dist
- @retaila/shared-types/dist/index
Readme
@retaila/shared-types
Tipos compartidos para el proyecto Retail.
Instalación
npm install @retaila/shared-typesDesarrollo
Publicar nueva versión
# Compilar
npm run build
# Publicar (patch/minor/major)
npm run publish:patch
npm run publish:minor
npm run publish:majorUso
import { Product, User, Order } from '@retaila/shared-types';Nueva Estructura Organizada por Entidad
src/
├── common/ # Tipos base compartidos (BaseEntity, etc.)
├── product/ # Todo relacionado con productos
│ ├── types.ts # Interfaces de Product, ProductVariant, etc.
│ ├── dto.ts # DTOs para operaciones CRUD de productos
│ └── index.ts # Exportaciones de productos
├── user/ # Todo relacionado con usuarios
│ ├── types.ts # Interfaces de User, UserAddress
│ ├── dto.ts # DTOs para operaciones CRUD de usuarios
│ └── index.ts # Exportaciones de usuarios
├── order/ # Todo relacionado con pedidos
│ ├── types.ts # Interfaces de Order, OrderItem, etc.
│ ├── dto.ts # DTOs para operaciones CRUD de pedidos
│ └── index.ts # Exportaciones de pedidos
├── account/ # Todo relacionado con cuentas
│ ├── types.ts # Interfaces de Account, AccountSettings
│ ├── dto.ts # DTOs para operaciones CRUD de cuentas
│ └── index.ts # Exportaciones de cuentas
└── api/ # Tipos específicos de APIEntidades Disponibles
Product
- Product: Producto con variantes, atributos y categorías
- ProductVariant: Variantes de productos
- ProductCategory: Categorías de productos
- ProductAttribute: Atributos de productos
- ProductMedia: Medios de productos
Enums: ProductStatus, ProductType, WeightUnit, DimensionUnit, AttributeType, MediaType
User
- User: Usuario del sistema
- UserAddress: Direcciones de usuario
Enums: AddressType
Order
- Order: Pedido con items y direcciones
- OrderItem: Items de pedido
- OrderAddress: Direcciones de pedido
Enums: OrderStatus, PaymentStatus
Account
- Account: Cuenta/tienda
- AccountSettings: Configuraciones de cuenta
- NotificationSettings: Configuraciones de notificaciones
- SeoSettings: Configuraciones SEO
Cómo Funciona
Este paquete proporciona tipos TypeScript que se incorporan directamente en el build de cada aplicación:
- Instalación:
npm install file:../shared-types - Importación:
import { Product } from '@retail/shared-types' - Build: TypeScript automáticamente incluye los tipos en el build de la aplicación
- No build separado: No es necesario compilar este paquete
Ventajas de la Nueva Estructura
- Organización por dominio: Cada entidad tiene su propia carpeta con todos sus tipos relacionados
- Fácil navegación: Es más fácil encontrar tipos específicos de una entidad
- Escalabilidad: Fácil agregar nuevas entidades sin afectar las existentes
- Mantenimiento: Cambios en una entidad están contenidos en su carpeta
- Importaciones más claras:
import { Product } from '@retail/shared-types'importa todo lo relacionado con productos
Contribución
- Agregar nuevos tipos en la carpeta de la entidad correspondiente
- Exportar desde el index.ts de la entidad
- Los cambios se reflejan inmediatamente en las aplicaciones que usen este paquete