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

CI
Test
Coverage
Audit

Installation

npm i @sumor/config --save

Prérequis

Version Node.JS

Require la version Node.JS 16.x ou supérieure

Exiger le module ES 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 d'entrée

load

import { load } from '@sumor/config'

meta

Charge tous les fichiers dans le répertoire

import { meta } from '@sumor/config'

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

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

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

Méthodes héritées

find

import { find } from '@sumor/config'

findReference

import { findReference } from '@sumor/config'

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 *.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

tels que les fichiers .vue, .js, ils ont un fichier de configuration avec le même 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": {...}
 *   }
 * */