تكوين

أداة سومور كلاود.
المزيد من التوثيق داعم تحميل تكوينات 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'

search

تحميل جميع الملفات في الدليل

import { meta } from '@sumor/config'

const config = await meta(process.cwd(), ['sql'], ['js', 'sql'])

/*
هيكل الدليل التجريبي
- root
  - car.json
  - car.sql
  - ship.js
  - plane.yml
*/

// سيتم تحميل جميع تكوينات الملفات على النحو التالي
/*
{
  car: {
    name: 'car',
    sql: "..."
  },
  ship: {
    name: '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": {...}
 * */