Package Exports
- @retaila/shared-types
- @retaila/shared-types/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@retaila/shared-types) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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