config

Загрузчик конфигурации поддерживает файлы yaml и json. Он может загружать все файлы в каталоге. И автоматически преобразовывает файл в указанный формат.

CI Test Coverage Audit

Установка

npm i @sumor/config --save

Предварительные условия

Версия Node.JS

Требуется версия Node.JS 16.x или выше

Требуется модуль Node.JS ES

Поскольку этот пакет написан в ES-модуле, измените следующий код в вашем файле package.json:

{
  "type": "module"
}

Использование

Методы

load

find

* root: string - корневой каталог
* category: string - имя категории
* ext: string - расширение файла для преобразования (yml, json)

Загрузка файла конфигурации

import { load } from '@sumor/config'

const config1 = await load(process.cwd(), 'demo')
// загрузит demo.yml или demo.json в корневом каталоге

const config2 = await load(process.cwd(), 'demo', 'yaml')
// загрузит demo.yml или demo.json в корневом каталоге и преобразует его в файл формата yaml

Поиск файлов конфигурации

import { find } from '@sumor/config'

const config = await find(process.cwd(), 'сущность')
// загрузит все *.сущность.yml или *.сущность.json в корневом каталоге
/*
 * пример:
 *   car.entity.yml, bike.entity.json
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */

Поиск файлов конфигурации из других файлов

например файлов .vue, .js, имеющих файл конфигурации с тем же именем

import { find } from '@sumor/config'

const config = await find(process.cwd(), 'сущность', null, ['vue', 'js'])
// загрузит все *.сущность.yml или *.сущность.json с тем же именем, что и * .vue или * .js в корневом каталоге
/*
 * пример:
 *   car.entity.yml, bike.entity.json
 *   car.vue, bike.js
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */