انتقل إلى المحتوى
Foxmayn
كل الأدواتFoxmayn Frappe Types · fft

Foxmayn Frappe Types: TypeScript لتطبيقات Frappe

ابنوا شيفرة TypeScript في تطبيقات Frappe وراقبوها وافحصوا أنواعها، وولّدوا أنواع DocType من موقع حي. متاح على npm باسم @foxmayn/fft.

التثبيت

pnpm
pnpm add -D @foxmayn/fft

ليس مشروعاً رسمياً من Frappe. ولا ارتباط له بشركة Frappe Technologies.

ماذا يفعل

يتيح لكم fft كتابة شيفرة الواجهة في تطبيق Frappe بلغة TypeScript. يترجم ملفاتكم، ويراقبها أثناء العمل، ويشغّل فاحص الأنواع، ويولّد أنواع TypeScript لـ DocTypes لديكم من موقع يعمل على البيئة المحلية لديكم (bench). هو لمطوري Frappe الذين يريدون أن يعرف المحرر اسم الحقل ونوع قيمته.

الميزات

  • fft build يترجم شيفرة TypeScript لتطبيق Frappe.
  • fft watch يعيد البناء عند كل تغيير. أضيفوا --typecheck لفحص الأنواع أثناء العمل.
  • fft typecheck يشغّل فاحص الأنواع وحده.
  • fft generate يقرأ DocTypes من موقع على البيئة المحلية لديكم (bench) ويكتب الأنواع. يقبل --site و--doctypes و--out.
  • متغيرات عامة مكتوبة الأنواع للواجهة. تتضمن الحزمة أنواع المتغيرات العامة في واجهة Frappe، مثل frappe وcur_frm.

التثبيت

تحتاجون إلى Node 18 أو أحدث. أضيفوا fft إلى تطبيق Frappe كاعتمادية تطوير:

pnpm add -D @foxmayn/fft

ولّدوا الأنواع من موقعكم:

pnpm fft generate --site acme.localhost --doctypes "Sales Invoice,Customer" --out myapp/types/generated

شغّلوا المراقب أثناء التطوير:

pnpm fft watch --typecheck

إصدار npm الحالي هو 1.2.0، نُشر في 30 يوليو 2026. نشغّل مجموعة الاختبارات بـ vitest قبل كل نشر. لا يوجد CI عند الدفع، والحزمة غير موقَّعة.

لماذا بنيناه

سكربت نموذج Frappe شيفرة JavaScript تشير إلى الحقول بنصوص. خطأ إملائي في اسم حقل يفشل وقت التشغيل، على شاشة المستخدم. ومع الأنواع المولَّدة، يفشل الخطأ نفسه في المحرر. نكتب شيفرة الواجهة بـ TypeScript في كل تطبيق Frappe مخصص نبنيه، وfft هي الأداة التي كتبناها لنجعل ذلك عملياً.

الشيفرة المصدرية والإصدارات والمشكلات على GitHub. الرخصة MIT. أدوات ذات صلة: Foxmayn Frappe CLI وFoxmayn Frappe Manager.

لديكم مشروع على Frappe؟

أخبرونا بما يعمل اليوم وما يجب أن يتغيّر.

أو راسلونا على[email protected]

نستعمل بياناتكم للردّ عليكم فقط.