Konfiguration

Ein Sumor Cloud Tool.
Weitere Dokumentation Der Konfigurationsladen unterstützt yaml- und JSON-Dateien. Er kann alle Dateien in einem Verzeichnis laden. Und konvertiert automatisch die Datei in das angegebene Format.

CI Test Abdeckung Audit

Installation

npm i @sumor/config --save

Voraussetzungen

Node.JS Version

Erfordert Node.JS Version 16.x oder höher

Erforderliches Node.JS ES-Modul

Da dieses Paket in ES-Modul geschrieben ist, ändern Sie bitte den folgenden Code in Ihrer package.json-Datei:

{
  "type": "module"
}

Verwendung

Einstiegsmethoden

laden

import { load } from '@sumor/config'

Meta

Lädt alle Dateien im Verzeichnis

import { meta } from '@sumor/config'

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

/*
Beispiel Verzeichnisstruktur
- root
  - car.json
  - car.sql
  - ship.js
  - plane.yml
  - truck.config.js
*/

// es werden alle Konfigurationsdateien wie folgt geladen
/*
{
  car: {
    name: 'car',
    sql: "..."
  },
  ship: {
    name: 'ship'
    js: '<root>/ship.js'
  },
  plane: {
    name: 'plane'
  },
  truck: {
    name: 'truck'
  }
*/

Legacy-Methoden

finden

import { find } from '@sumor/config'

findReference

import { findReference } from '@sumor/config'

Lade Konfigurationsdatei

import { load } from '@sumor/config'

const config1 = await load(process.cwd(), 'demo')
// es wird demo.yml oder demo.json im Stammverzeichnis geladen

const config2 = await load(process.cwd(), 'demo', 'yaml')
// es wird demo.yml oder demo.json im Stammverzeichnis geladen und in das YAML-Format konvertiert

Finde Konfigurationsdateien

import { find } from '@sumor/config'

const config = await find(process.cwd(), 'entity')
// es werden alle *.entity.yml oder *.entity.json im Stammverzeichnis geladen
/*
 * Beispiel:
 *   car.entity.yml, bike.entity.json
 *   {
 *       "car": {...}
 *       "bike": {...}
 * */

Finde Konfigurationsdateien aus anderen Dateien

wie z.B. .vue-, .js-Dateien, die eine Konfigurationsdatei mit demselben Namen haben

import { findReference } from '@sumor/config'

const config = await findReference(process.cwd(), ['vue', 'js'])
// es werden alle *.entity.yml oder *.entity.json geladen, die denselben Namen wie *.vue oder *.js im Stammverzeichnis haben
/*
 * Beispiel:
 *   car.entity.yml, bike.entity.json
 *   car.vue, bike.js
 *   {
 *       "car": {...}
 *       "bike": {...}
 * */