Skip to main content

📦 Alpura Frontend Angular Archetype Lib

Este proyecto contiene las librerías base de Alpura para proyectos en Angular, incluyendo:

  • @alpura/core
  • @alpura/commons

Incluye herramientas, componentes y configuraciones necesarias para facilitar el desarrollo frontend.

📦 Manual de Instalación

A continuación se explica el proceso para poder descargar librerías remotas privadas desde NPM utilizando Google Artifact Registry.

📁 Prerrequisitos

Tener instalado Google Cloud CLI (gcloud). Puedes descargarlo desde la siguiente URL: https://cloud.google.com/sdk/docs/install?hl=es-419#windows y configurarlo siguiendo las instrucciones del instalador.

🧩 Autenticación y Configuración

  • En PowerShell o CMD, ejecuta el siguiente comando para registrar la cuenta de servicio del ambiente (UAT o PROD) en tu máquina local:
gcloud auth activate-service-account --key-file=archivo-arquitectura.json
warning

El archivo "archivo-arquitectura.json" deberá ser solicitado al área de arquitectura (solo hay ambientes UAT y PROD).

  • Ejecuta el siguiente comando para generar tu token de acceso a los artefactos. Del resultado, copia el contenido y pégalo debajo de la primera línea del archivo .npmrc que se encuentra en la carpeta raíz de tu usuario del sistema operativo.
gcloud artifacts print-settings npm --project=alpura-hub-uat --repository=alpura-npm-lib --location=us-central1 --scope=@alpura

El contenido el archivo .npmrc despues del paso anterior debería ser similar a este:

@alpura:registry=https://us-central1-npm.pkg.dev/alpura-hub-uat/alpura-npm-lib/
//us-central1-npm.pkg.dev/alpura-hub-uat/alpura-npm-lib/:_password="TU_TOKEN_VA_AQUI"
//us-central1-npm.pkg.dev/alpura-hub-uat/alpura-npm-lib/:username=_json_key_base64
//us-central1-npm.pkg.dev/alpura-hub-uat/alpura-npm-lib/:email=not.valid@email.com

🚀 Flujo de trabajo para publicar librerías

1️⃣ Generar el Build y empaquetar librerías

Para compilar todas las librerías y empaquetarlas:

npm run build-pack

Para compilar y empaquetar una librería en específico:

npm run build-pack:core
npm run build-pack:commons

2️⃣ Empaquetar las librerías

Esto generará los archivos .tgz necesarios para publicar:

npm run pack-all

También puedes empaquetar una librería en particular:

npm run pack-alpura-core
npm run pack-alpura-commons

3️⃣ Publicar en el registro NPM privado

Para UAT:

npm run publish:core:uat
npm run publish:commons:uat

Para PROD:

npm run publish:core:prod
npm run publish:commons:prod

Para Producción, cambia la URL del registry en los scripts.

Importante: Asegúrate de que la misma versión publicada en UAT sea la que se publique en Producción, para mantener consistencia de versiones.


Cambiar entre ambientes (UAT / PROD)

Si necesitas cambiar la cuenta activa para moverte de ambiente y poder publicar dependencias de UAT o PROD, sigue estos pasos:

  1. Para listar las credenciales de login de gcloud disponibles:
gcloud auth list
  1. Para setear la cuenta activa, corre el siguiente comando:
gcloud config set account <ACCOUNT>

Ejemplo para UAT: gcloud config set account jorge-serrano-arquitectura-art@alpura-hub-uat-478817.iam.gserviceaccount.com
Ejemplo para PROD: gcloud config set account facturacion2-0@alpura-hub-prod-473622.iam.gserviceaccount.com


🌱 Versionado Semántico

Sigue la estructura de versiones SemVer:

  • X.0.0 → Cambios mayores (breaking changes)
  • 0.X.0 → Nuevas features menores
  • 0.0.XFixes o parches pequeños (bugs, ajustes sin romper funcionalidad)

Actualiza el CHANGELOG.md de cada librería con los cambios correspondientes. Ejemplo de un registro:

# Registro de Cambios

Todos los cambios notables para "alpura/core" serán documentados en este archivo.

El formato está basado en [Keep a Changelog](https://keepachangelog.com/es-ES/1.0.0/),
y este proyecto adhiere al [Versionado Semántico](https://semver.org/spec/v2.0.0.html).

## [0.0.1] - 2025-05-23

### Lanzamiento Inicial

- Versión inicial de la librería alpura/core
- Configuración básica del proyecto
- Estructura inicial del componente alpura-loading

📋 Revisión de Despliegue

✅ Antes de desplegar a Producción, la versión debe ser revisada y aprobada por el Encargado de Arquitectura de Frontend.