التكوين

أداة Sumor Cloud.
مزيد من الوثائق تدعم تحميل النموذج عن طريق ملفات YAML و JSON. يمكنها تحميل جميع الملفات في دليل. وتحويل الملف تلقائيًا إلى التنسيق المُحدد.

CI Test Coverage Audit

التثبيت

npm i @sumor/config --save

المتطلبات الأساسية

إصدار Node.JS

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

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

نظرًا لأن هذه الحزمة مكتوبة بتنسيق ES modules، يرجى تغيير الكود التالي في ملف package.json الخاص بك:

{
  "type": "module"
}

الاستخدام

طرق الدخول

load

import { load } from '@sumor/config'

meta

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

import { meta } from '@sumor/config'

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

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