config

Una Herramienta de Sumor Cloud.
Más Documentación
El Cargador de Configuración soporta archivos yaml y json. Puede cargar todos los archivos en un directorio.
Y convertir automáticamente el archivo al formato especificado.

CI Test Cobertura Auditoría

Instalación

npm i @sumor/config --save

Requisitos previos

Versión Node.JS

Requiere Node.JS versión 16.x o superior

Requerir módulo ES de Node.JS

Dado que este paquete está escrito en módulo ES, por favor cambie el siguiente código en su archivo package.json:

{
  "type": "module"
}

Uso

Métodos de entrada

load

import { load } from '@sumor/config'

meta

Cargar todos los archivos en el directorio

import { meta } from '@sumor/config'

const config = await meta(process.cwd(), ['js', 'sql'])

/*
Estructura de directorio de demostración
- root
  - car.json
  - car.sql
  - ship.js
  - plane.yml
*/

// cargará todos los archivos de configuración de la siguiente manera
/*
{
  car: {
    nombre: 'car',
    sql: "..."
  },
  ship: {
    nombre: 'ship'
    js: '<root>/ship.js'
  },
  plane: {
    nombre: 'plane'
  }
}
*/

Métodos heredados

find

import { find } from '@sumor/config'

findReference

import { findReference } from '@sumor/config'

Cargar archivo de configuración

import { load } from '@sumor/config'

const config1 = await load(process.cwd(), 'demo')
// cargará demo.yml o demo.json en el directorio raíz

const config2 = await load(process.cwd(), 'demo', 'yaml')
// cargará demo.yml o demo.json en el directorio raíz, y lo convertirá a un archivo en formato yaml

Buscar archivos de configuración

import { find } from '@sumor/config'

const config = await find(process.cwd(), 'entidad')
// cargará todos los archivos *.entidad.yml o *.entidad.json en el directorio raíz
/*
 * ejemplo:
 *   car.entidad.yml, bike.entidad.json
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */

Buscar archivos de configuración de otros archivos

como archivos .vue, .js, que tienen archivos de configuración con el mismo nombre

import { findReference } from '@sumor/config'

const config = await findReference(process.cwd(), ['vue', 'js'])
// cargará todos los archivos *.entidad.yml o *.entidad.json que tengan el mismo nombre que *.vue o *.js en el directorio raíz
/*
 * ejemplo:
 *   car.entidad.yml, bike.entidad.json
 *   car.vue, bike.js
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */