@schemifyjs/types
Version:
Tipos compartidos entre los paquetes CLI y Core de SchemifyJS
120 lines (81 loc) β’ 2.34 kB
Markdown
# @schemify/types
> π¦ Shared TypeScript contracts and interfaces for the [Schemify](https://github.com/Schemify/schemify-microservice) ecosystem.
[English](#english) | [EspaΓ±ol](#espaΓ±ol)
## English
### π Overview
`@schemify/types` is the canonical source of shared types and contracts used across all Schemify-based microservices.
It ensures strong typing, interoperability, and consistency between:
- gRPC DTOs
- Kafka messages
- Domain events
- Common utility types (e.g. pagination, errors)
### π¦ Installation
```bash
npm install @schemify/types
````
### π§ Usage
Import types in your microservices or libraries:
```ts
import { CreateExampleDto, ExampleEvent } from '@schemify/types';
```
All types are generated or curated to match the shared protocol contracts defined in the repo [`schemify-microservice`](https://github.com/Schemify/schemify-microservice).
### π§ Structure
```
@schemify/types
βββ grpc/
β βββ example.proto.ts
β βββ ...
βββ kafka/
β βββ events/
β βββ topics.ts
β βββ ...
βββ common/
β βββ pagination.ts
β βββ error.ts
β βββ ...
βββ index.ts
```
## EspaΓ±ol
### π DescripciΓ³n
`@schemify/types` es el paquete central de tipos y contratos compartidos entre todos los microservicios basados en Schemify.
Asegura un tipado fuerte, interoperabilidad y coherencia entre:
* DTOs para gRPC
* Mensajes Kafka
* Eventos de dominio
* Tipos comunes (paginaciΓ³n, errores, etc.)
### π¦ InstalaciΓ³n
```bash
npm install @schemify/types
```
### π§ Uso
Importa los tipos en tus microservicios o librerΓas:
```ts
import { CreateExampleDto, ExampleEvent } from '@schemify/types';
```
Los tipos estΓ‘n alineados con los contratos definidos en el repositorio [`schemify-microservice`](https://github.com/Schemify/schemify-microservice).
### π§ Estructura
```
@schemify/types
βββ grpc/
β βββ example.proto.ts
β βββ ...
βββ kafka/
β βββ events/
β βββ topics.ts
β βββ ...
βββ common/
β βββ pagination.ts
β βββ error.ts
β βββ ...
βββ index.ts
```
> β
Ideal for monorepos, package sharing, and scalable microservice boundaries.