Конфигурация

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

CI
Тест
Покрытие
Audit

Установка

npm i @sumor/config --save

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

Версия Node.JS

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

Необходимо поддержать ES модуль Node.JS

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

{
  "type": "module"
}

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

Методы

load

find

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

findReference

* root: string - корневая директория
* references: array - ссылка на расширение файла (vue, js)
* 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(), 'entity')
// загрузит все *.entity.yml или *.entity.json в корневой директории
/*
 * Пример:
 *   car.entity.yml, bike.entity.json
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */

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

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

import { findReference } from '@sumor/config'

const config = await findReference(process.cwd(), ['vue', 'js'])
// загрузит все *.entity.yml или *.entity.json у которых такое же название, как у *.vue или *.js в корневой директории
/*
 * Пример:
 *   car.entity.yml, bike.entity.json
 *   car.vue, bike.js
 *   {
 *       "car": {...}
 *       "bike": {...}
 *   }
 * */