إنتقل إلى المحتوى الرئيسي

التثبيت

ثبّت @powerduck/conf-patch بمدير الحزم الذي تفضله.

المتطلبات​

  • Node.js: >= 22.12.0
  • TypeScript: اختياري؛ تتضمن الحزمة تعريفات الأنواع كاملة دون الحاجة إلى @types/....

التثبيت​

npm install @powerduck/conf-patch
yarn add @powerduck/conf-patch
pnpm add @powerduck/conf-patch

اعتماديات وقت التشغيل​

تتضمن conf-patch ثلاث اعتماديات تشغيل تُثبّت تلقائيًا:

الحزمةالإصدارالاستخدام
@powerduck/openapi-parser^0.3.12التحقق من OpenAPI/Swagger (validateOpenAPISpec وvalidateOpenAPIFile).
jsonc-parser^3.3.1تعديلات نصية تزايدية على JSON وJSONC.
yaml^2.9.0تحليل شجرة AST الخاصة بـ YAML وتعديلها.

لا تحتاج إلى التعامل مباشرةً مع هذه الاعتماديات.

نقطتا دخول​

تتيح الحزمة تصديرَين لمسارين فرعيين. اختر المناسب لبيئتك.

نقطة الدخول الرئيسية — @powerduck/conf-patch​

تتضمن طبقة الملفات (readConfigFile وwriteConfigFile وpatchConfigFile وsetConfigValue وdeleteConfigValue وwithFileLock وreleaseAllLocalLocks)، إضافةً إلى النواة والتحقق من OpenAPI. استخدمها في Node.js وElectron؛ فهي تعتمد على node:fs وnode:path وnode:crypto.

المسار الفرعي للنواة — @powerduck/conf-patch/core​

يصدّر النواة الآمنة للمتصفح فقط: patchContent وsetContentValue وdeleteContentValue وأدوات التأكيد وأنواع النواة. لا يعتمد على Node.js ويمكن تجميعه للمتصفحات وEdge Functions وservice workers.

تلميح

في المتصفح، استورد دائمًا من @powerduck/conf-patch/core لإبقاء طبقة الملفات واعتماديتها node:fs خارج الحزمة المجمعة.

نظام الوحدات: CJS وESM​

لا تضبط الحزمة "type": "module"، لذلك تُعامل ملفات .js كـ CommonJS افتراضيًا. توجّه خريطة exports في package.json شرطي import وrequire صراحةً إلى البناء الصحيح.

نقطة الدخولCJS (require)ESM (import)الأنواع
نقطة الدخول الرئيسيةdist/index.jsdist/index.mjsdist/index.d.ts
المسار الفرعي للنواةdist/core.jsdist/core.mjsdist/core.d.ts

CommonJS في Node.js أو العملية الرئيسية لـ Electron​

// Full library (includes file IO)
const { setConfigValue, readConfigFile } = require("@powerduck/conf-patch");

// Core layer only (browser-safe, no fs dependency)
const { patchContent, setContentValue } = require("@powerduck/conf-patch/core");

ES Modules في Node.js الحديث والمتصفحات وأدوات التجميع​

// Full library
import { setConfigValue, readConfigFile } from "@powerduck/conf-patch";

// Core layer only (browser-safe)
import { patchContent, setContentValue } from "@powerduck/conf-patch/core";

التحقق من التثبيت​

# Check the installed version
npm list @powerduck/conf-patch

# Verify the main entry loads
node -e "const lib = require('@powerduck/conf-patch'); console.log('exports:', Object.keys(lib).length);"

# Verify the core subpath loads
node -e "const core = require('@powerduck/conf-patch/core'); console.log('core exports:', Object.keys(core).length);"

الخطوات التالية​

  • البدء السريع — عدّل سلسلة في المتصفح وملفًا على القرص.
  • مرجع API — جميع العناصر المصدّرة والأنواع والخيارات.