تكوين

أداة Sumor Cloud. المزيد من التوثيق دعم محمل التكوين للملفات yaml و json. يمكنه تحميل جميع الملفات في الدليل. وتحويل الملف تلقائيًا إلى التنسيق المحدد.

CI Test Coverage Audit

التثبيت

npm i @sumor/config --save

الشروط المسبقة

إصدار Node.JS

يتطلب إصدار Node.JS 16.x أو أعلى

يتطلب إصدار Node.JS ES module

نظرًا لأن هذه الحزمة مكتوبة بشكل ES module، يرجى تغيير الكود التالي في ملف 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
*/

// سيقوم بتحميل جميع ملفات التكوين على النحو التالي
/*
{
  car: {
    name: 'car',
    sql: "..."
  },
  ship: {
    name: 'ship'
    js: '<root>/ship.js'
  },
  plane: {
    name: 'plane'
  }
}
*/

الأساليب القديمة

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'])
// سيقوم بتحميل جميع ملفات *.entity.yml أو *.entity.json التي تحتوي على نفس الاسم مع *.vue أو *.js في الدليل الرئيسي
/*
 * مثال:
 *   car.entity.yml، bike.entity.json
 *   car.vue، bike.js
 *   {
 *       "car": {...}
 *       "bike": {...}
 * */