Sumor Cloud ツール。
詳細なドキュメント
Config Loader は yaml と json ファイルをサポートしています。フォルダ内のすべてのファイルをロードすることができます。
また、ファイルを指定された形式に自動的に変換します。
npm i @sumor/config --save
Node.JS バージョン 16.x 以上が必要です。
このパッケージは ES モジュールで書かれていますので、package.json
ファイル内の以下のコードを変更してください。
{
"type": "module"
}
import { load } from '@sumor/config'
ディレクトリ内のすべてのファイルをロードします。
import { meta } from '@sumor/config'
const config = await meta(process.cwd(), ['js', 'sql'])
/*
デモ ディレクトリ構造
- root
- car.json
- car.sql
- ship.js
- plane.yml
- truck.config.js
*/
// 以下のようにすべての設定ファイルがロードされます
/*
{
car: {
name: 'car',
sql: "..."
},
ship: {
name: 'ship'
js: '<root>/ship.js'
},
plane: {
name: 'plane'
},
truck: {
name: 'truck'
}
*/
import { find } from '@sumor/config'
import { findReference } from '@sumor/config'
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'])
// ルートディレクトリ内で、*.vue または *.js のファイル名と同じ名前の *.entity.yml または *.entity.json をすべて読み込みます
/*
* 例:
* car.entity.yml、bike.entity.json
* car.vue、bike.js
* {
* "car": {...}
* "bike": {...}
* }
* */