Configuration

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 convertir automatiquement le fichier dans le format spécifié.

CI
Test
Coverage
Audit

Installation

npm i @sumor/config --save

Prérequis

Version 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 modifier le code suivant dans votre fichier package.json :

{
  "type": "module"
}

Utilisation

Méthodes

Chargement

Trouver

* racine : chaîne de caractères - répertoire racine
* catégorie : chaîne de caractères - nom de la catégorie
* ext : chaîne de caractères - extension de fichier à convertir (yml, json)

Trouver une référence

* racine : chaîne de caractères - répertoire racine
* références : tableau - extension de fichier de référence (vue, js)
* ext : chaîne de caractères - extension de fichier à convertir (yml, json)

Charger un 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 nom de fichier de configuration

import { findReference } from '@sumor/config'

const config = await findReference(process.cwd(), ['vue', 'js'])
// il chargera tous les fichiers *.entity.yml ou *.entity.json ayant 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": {...}
 *   }
 * */