@compusoluciones/protocol-buffers

Módulo encargado de centralizar los protos que usaran los microservicios de siclik.

Stats

StarsIssuesVersionUpdatedCreatedSize
@compusoluciones/protocol-buffers
3.13.39 days ago3 years agoMinified + gzip package size for @compusoluciones/protocol-buffers in KB

Readme

Librería de protos

Esta librería esta encargada de centralizar los archivos proto para la comunicación entre los diferentes micro servicios de siclik.

Cada vez que un archivo proto se modifique o se cree uno nuevo, es necesario actualizar la librería siguiendo la arquitectura de la siguiente manera:

.
|── helpers
| └─ proto-paths.json //paths de los protos
|── proto-files //contenedor de protos por servicio
| └─ users
|   └─ read.proto //archivos proto
|   └─ write.proto
| └─ customers
| └─ products
| └─ ....
|── .eslintrc.js
|── .gitignore
|── index.js //se carga el proto para ser usado
|── test.js //archivo de pruebas
|── package.json
|── yarn.lock
.

Realizar pruebas en local

Empaquetar el modulo

Cuando deseamos realizar cambios o ajustes en nuestro modulo y tenemos la necesidad de probar los cambios, tenemos que realizar una serie de pasos para poder empaquetarlo e instalarlo en el api u otro modulo donde sera utilizado.

1 - Empaquetamos el modulo:

$ npm pack

Esto nos genera un archivo .tgz con el nombre de nuestro proyecto, (para mantener un orden en las pruebas se puede renombrar el archivo solo concatenando la versión ejem. protoBufV2.tgz)

2 - Listar contenido en el archivo .tgz:

$ tar -tf <Nombre del archivo .tgz>

Instalar el paquete

Cuando tenemos nuestro modulo terminado y empaquetado en un archivo .tgz ahora podemos proceder a instalarlo para realizar pruebas con el como un modulo de npm.

Para lograr esto primero tenemos que saber la ubicación del paquete en nuestra maquina, posteriormente con un simple comando podemos instalarlo en el proyecto.

// Con el gestor de paquetes NPM
$ npm install ../<ubicación del paquete>.tgz

// Con el gestor de paquetes YARN
$ yarn add ../<ubicación del paquete>.tgz

Actualizar versión

Una vez que se realizaron las modificaciones necesarias para hacer uso de los archivos protos en la librería, se debe actualizar la versión de la misma desde el archivo de configuración o package.json desde la raiz del proyecto siguiendo un versionado semántico.

{
  "name": "@compusoluciones/protocol-buffers",
  "version": "0.0.9", // versión del proyecto
  "description": "Módulo encargado de centralizar los protos que usaran los micro servicios de siclik.",
  "main": "index.js",
}

Publicar modulo en NPM

Cuando las modificaciones a la librería se hayan realizado correctamente y se valido su correcto funcionamiento, es necesario publicar en npm la nueva versión para mantenerla al dia con los protos que usan l os micro servicios.

Pasos para publicar una nueva versión se debe seguir los siguientes pasos.:

  • Tener una cuenta de npm con el correo de la empresa @compusoluciones
  • Acceso a la organización compusoluciones dada por una administrador de la misma.
  • Permisos para publicar en la organización.
  • Tener instalado el gestor de paquetes npm en tu maquina.
  • Asociar npm a tu cuenta con npm login (solo la primera vez).
  • Publicar con npm publish --access=public

Modo de uso

Una vez que la nueva versión de la librería haya sido liberada y avisado al equipo de los cambios por medio del grupo en slack, es necesario indicar de la nueva versión al modulo de grpc-connections ya que esta es la que consume directamente la librería de protos y no podremos hacer uso de ella hasta no realizar estos cambios.

Cuando grpc-connections haya sido actualizada desde su package.son y publicada en npm con los cambios también se debe realizar el mismo procedimiento con los micro servicios que consumirán ambos módulos desde node.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.