npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mercados-pecuarios-apps-etl-configs

v0.1.0

Published

Aplicación de consola para la consulta de los documentos de configuración y opciones de los flujos de datos para las plataformas del proyecto Mercados Pecuarios

Downloads

7

Readme

ETL Configs App - Mercados Pecuarios

Aplicación de consola para la consulta de los documentos de configuración y opciones de los flujos de datos para las plataformas del proyecto Mercados Pecuarios.

Requisitos Previos

  • Node.js (versión 14.0 o superior)
  • npm (incluido con Node.js)
  • Acceso a credenciales de Google Cloud (archivo de cuenta de servicio)

Instalación

1. Instalar Dependencias

Una vez clonado el repositorio, navega a la carpeta del proyecto e instala las dependencias:

npm install

2. Vincular la Aplicación Globalmente

Para poder ejecutar el comando mp-dataflows desde cualquier ubicación, vincula la aplicación:

npm link

Este comando registra el ejecutable mp-dataflows en tu sistema, permitiéndote ejecutarlo desde cualquier terminal.

Configuración de Variables de Entorno

La aplicación requiere la configuración de variables de entorno para funcionar correctamente. Crea un archivo .env en la raíz del proyecto con las siguientes variables:

Variables Obligatorias

  • GOOGLE_APPLICATION_CREDENTIALS: Ruta al archivo JSON de credenciales de la cuenta de servicio de Google Cloud

    GOOGLE_APPLICATION_CREDENTIALS=/ruta/al/gcloud-service-account.json
  • NODE_ENV: Establece el entorno de ejecución

    NODE_ENV=development
  • GCLOUD_PROJECT: Identificador del proyecto en Google Cloud

    GCLOUD_PROJECT=mercadospecuarios

Variables Opcionales

  • ETL_CONFIGS_COLLECTION: Nombre de la colección en Firestore donde se almacenan las configuraciones (por defecto: etl-dataflow-configurations)
    ETL_CONFIGS_COLLECTION=etl-dataflow-configurations

Ejemplo de Archivo .env

GOOGLE_APPLICATION_CREDENTIALS=./gcloud-service-account.json
NODE_ENV=development
GCLOUD_PROJECT=mercadospecuarios
ETL_CONFIGS_COLLECTION=etl-dataflow-configurations

Ejecución de la Aplicación

Ejecutar Directamente

npm start

O si has vinculado la aplicación globalmente:

mp-dataflows [comando] [opciones]

Ver Versión y Ayuda

mp-dataflows --version
mp-dataflows --help

Comandos Disponibles

1. get-all - Obtener Todas las Configuraciones

Obtiene una lista de todas las configuraciones de los flujos de datos registradas en la base de datos.

Sintaxis

mp-dataflows get-all [opciones]

Opciones

  • -o, --offset <offset>: Desplazamiento de registros (número de página). Predeterminado: 0
  • -l, --limit <limit>: Límite de registros por consulta. Predeterminado: 100
  • -s, --save: Descarga y almacena los archivos de configuración localmente en formato JSON
  • -p, --path <path>: Ruta de la carpeta donde se colocarán los archivos descargados. Predeterminado: files

Ejemplos

Listar las primeras 50 configuraciones:

mp-dataflows get-all --limit 50

Obtener configuraciones con paginación (página 2, 100 registros por página):

mp-dataflows get-all --offset 100 --limit 100

Descargar y guardar todas las configuraciones localmente en la carpeta exports:

mp-dataflows get-all --save --path exports

Combinar opciones:

mp-dataflows get-all --limit 50 --save --path ./config-files

2. get - Obtener Configuración por ID

Obtiene la información completa de una configuración específica a partir de su identificador único.

Sintaxis

mp-dataflows get <id> [opciones]

Argumentos

  • <id>: Identificador único en la base de datos de la configuración de flujo de datos (obligatorio)

Opciones

  • -s, --save: Descarga y almacena el archivo de configuración localmente en formato JSON
  • -p, --path <path>: Ruta de la carpeta donde se colocará el archivo descargado. Predeterminado: files

Ejemplos

Obtener información de una configuración específica:

mp-dataflows get mi-flujo-datos-01

Descargar y guardar la configuración localmente:

mp-dataflows get mi-flujo-datos-01 --save

Guardar en una carpeta personalizada:

mp-dataflows get mi-flujo-datos-01 --save --path ./mis-configuraciones

Estructura de las Configuraciones

Las configuraciones de flujo de datos contienen la siguiente información:

  • id: Identificador único de la configuración
  • name: Nombre descriptivo del flujo de datos
  • description: Descripción detallada del flujo
  • ingest: Array de tareas de ingesta de datos
    • worker: Tipo de worker que realiza la ingesta
    • options: Opciones específicas para la ingesta
    • description: Descripción de la tarea
  • operations: Array de operaciones a realizar sobre los datos
    • worker: Tipo de worker que realiza la operación
    • options: Opciones específicas para la operación
    • description: Descripción de la operación

Solución de Problemas

Error: GOOGLE_APPLICATION_CREDENTIALS no configurado

Solución: Verifica que la variable de entorno GOOGLE_APPLICATION_CREDENTIALS está correctamente establecida y que el archivo JSON de credenciales existe en la ruta especificada.

Error: No se puede conectar a Firestore

Solución:

  1. Verifica que las credenciales de Google Cloud son válidas
  2. Confirma que GCLOUD_PROJECT está correctamente configurado
  3. Asegúrate de tener acceso a la base de datos Firestore del proyecto

Error: Colección no encontrada

Solución: Verifica que la variable ETL_CONFIGS_COLLECTION está correctamente establecida y que la colección existe en Firestore.

Comando no reconocido

Solución: Si después de ejecutar npm link el comando mp-dataflows no se reconoce, intenta:

  1. Ejecutar npm link de nuevo
  2. Abrir una nueva terminal
  3. En Windows, es posible que necesites ejecutar la terminal como administrador

Dependencias Principales

  • @gamariverib/mercados-pecuarios-libs-etl-dataflow: Librería principal del proyecto ETL
  • @google-cloud/firestore: Cliente para interactuar con Firestore
  • commander: Framework para construir aplicaciones CLI
  • inquirer: Librería para crear prompts interactivos
  • cli-table3: Generador de tablas para la terminal
  • colors: Colorización de texto en la terminal

Licencia

Apache License 2.0

Autor

José Gamaliel Rivera Ibarra
Email: [email protected]
Sitio Web: https://gamarivera.dev