Uma ferramenta Sumor Cloud.
Mais Documentação
O Carregador de Configurações suporta arquivos yaml e json. Ele pode carregar todos os arquivos em um diretório.
E automaticamente converte o arquivo para o formato especificado.
npm i @sumor/config --save
Requer Node.JS versão 16.x ou superior
Como este pacote é escrito em módulo ES,
por favor altere o seguinte código em seu arquivo package.json
:
{
"type": "module"
}
import { load } from '@sumor/config'
carrega todos os arquivos no diretório
import { meta } from '@sumor/config'
const config = await meta(process.cwd(), ['sql'], ['js', 'sql'])
/*
Estrutura de diretório de demonstração
- root
- car.json
- car.sql
- ship.js
- plane.yml
*/
// irá carregar todos os arquivos de configuração como abaixo
/*
{
car: {
name: 'car',
sql: "..."
},
ship: {
name: 'ship'
// arquivo js não será carregado
},
plane: {
name: 'plane'
}
}
*/
import { find } from '@sumor/config'
import { findReference } from '@sumor/config'
import { load } from '@sumor/config'
const config1 = await load(process.cwd(), 'demo')
// irá carregar demo.yml ou demo.json no diretório raiz
const config2 = await load(process.cwd(), 'demo', 'yaml')
// irá carregar demo.yml ou demo.json no diretório raiz e convertê-lo para o formato de arquivo yaml
import { find } from '@sumor/config'
const config = await find(process.cwd(), 'entity')
// irá carregar todos os *.entity.yml ou *.entity.json no diretório raiz
/*
* exemplo:
* car.entity.yml, bike.entity.json
* {
* "car": {...}
* "bike": {...}
* */
como arquivos .vue, .js, que possuem o mesmo nome de arquivo de configuração
import { findReference } from '@sumor/config'
const config = await findReference(process.cwd(), ['vue', 'js'])
// irá carregar todos os *.entity.yml ou *.entity.json que possuem o mesmo nome que os *.vue ou *.js no diretório raiz
/*
* exemplo:
* car.entity.yml, bike.entity.json
* car.vue, bike.js
* {
* "car": {...}
* "bike": {...}
* */