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

CI Test Couverture 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

charge

import { load } from '@sumor/config'

recherche

charge tous les fichiers dans le répertoire

import { meta } from '@sumor/config'

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

/*
Structure de répertoire de démonstration
- racine
  - 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'
    // le fichier js ne sera pas chargé
  },
  plane: {
    name: 'plane'
  }
}
*/

Méthodes héritées

rechercher

import { find } from '@sumor/config'

trouver la référence

import { findReference } from '@sumor/config'

Charger un fichier de configuration

import { load } from '@sumor/config'

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

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

Trouver des fichiers de configuration

import { find } from '@sumor/config'

const config = await find(process.cwd(), 'entité')
// 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 des fichiers .vue, .js, qui ont un fichier de configuration du même nom

import { findReference } from '@sumor/config'

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