config

Sumor Cloud ツール。
詳細なドキュメント
Config Loader は 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

import { load } from '@sumor/config'

meta

ディレクトリ内のすべてのファイルをロードします。

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'
  }
*/

旧メソッド

find

import { find } from '@sumor/config'

findReference

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": {...}
 *   }
 * */