config

Un outil Sumor Cloud.
Plus de documentation Le chargeur de configuration prend en charge les fichiers yaml et json. Il peut charger tous les fichiers d'un répertoire. Et convertit automatiquement le fichier dans le format spécifié.

CI Test Coverage Audit

Installation

npm i @sumor/config --save

Prérequis

Version de Node.JS

Nécessite Node.JS version 16.x ou supérieure

nécessite le module ES de Node.JS

Comme ce package est écrit en module ES, veuillez changer le code suivant dans votre fichier package.json:

{
  "type": "module"
}

Utilisation

Méthodes d'entrée

load

import { load } from '@sumor/config'

meta

charge tous les fichiers du répertoire

import { meta } from '@sumor/config'

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

/*
Structure du répertoire de démonstration
- root
  - car.json
  - car.sql
  - ship.js
  - plane.yml
*/

// il chargera tous les fichiers de configuration comme ci-dessous
/*
{
  car: {
    name: 'car',
    sql: "..."
  },
  ship: {
    name: 'ship'
    js: '<root>/ship.js'
  },
  plane: {
    name: 'plane'
  }
}
*/

Méthodes héritées

find

import { find } from '@sumor/config'

findReference

import { findReference } from '@sumor/config'

Charger le fichier de configuration

import { load } from '@sumor/config'

const config1 = await load(process.cwd(), 'demo')
// il chargera demo.yml ou demo.json dans le répertoire racine

const config2 = await load(process.cwd(), 'demo', 'yaml')
// il chargera demo.yml ou demo.json dans le répertoire racine, et le convertira en fichier au format yaml

Trouver des fichiers de configuration

import { find } from '@sumor/config'

const config = await find(process.cwd(), 'entity')
// il chargera tous les fichiers *.entity.yml ou *.entity.json dans le répertoire racine
/*
 * exemple:
 *   car.entity.yml, bike.entity.json
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */

Trouver des fichiers de configuration à partir d'autres fichiers

comme les fichiers .vue, .js, ayant le même fichier de configuration de nom

import { findReference } from '@sumor/config'

const config = await findReference(process.cwd(), ['vue', 'js'])
// il chargera tous les *.entity.yml ou *.entity.json qui ont le même nom que *.vue ou *.js dans le répertoire racine
/*
 * exemple:
 *   car.entity.yml, bike.entity.json
 *   car.vue, bike.js
 *   {
 *       "car": {...}
 *       "bike": {...}
 * }
 * */