البرمجة

تكوين ملف tsconfig.json لترجمة فقط ملفات الكود المصدر في TypeScript

في مواجهة تحدي تكوين ملف “tsconfig.json” بشكل صحيح لمشروعك الذي يحتوي على كود المصدر في مجلد “src” واختبارات الوحدات في مجلد “spec”، يجب أولاً أن نفهم أن الهدف هو ترجمة فقط ملفات الكود المصدر وتجنب ترجمة ملفات الاختبار ووضعها في المجلد “dist”.

في المثال الذي قدمته، يمكنك تكوين ملف “tsconfig.json” بالطريقة التالية:

json
{ "compilerOptions": { "module": "commonjs", "outDir": "dist", "rootDir": "src", "declaration": true, "sourceMap": true }, "include": ["src/**/*.ts"], "exclude": ["node_modules", "**/*.spec.ts"] }

دعونا نفسر هذا التكوين:

  1. "module": "commonjs": يحدد نوع الوحدة المستخدمة للترجمة، وهنا تم استخدام “commonjs”.
  2. "outDir": "dist": يحدد المجلد الهدف الذي سيتم فيه وضع الملفات المترجمة.
  3. "rootDir": "src": يحدد المجلد الذي يحتوي على ملفات الكود المصدر.
  4. "declaration": true: يقوم بتوليد ملفات التعريف (.d.ts) التي تصف هياكل الأكواد المصدرة.
  5. "sourceMap": true: يولد ملفات خرائط المصدر لتسهيل تصحيح الأخطاء في الملفات المترجمة.
  6. "include": ["src/**/*.ts"]: يشير إلى الملفات التي يجب تضمينها في عملية الترجمة. هنا تم تضمين جميع ملفات الكود المصدر في المجلد “src”.
  7. "exclude": ["node_modules", "**/*.spec.ts"]: يستبعد المجلد “node_modules” وجميع ملفات الاختبار بامتداد “.spec.ts” من عملية الترجمة.

باستخدام هذا التكوين، يمكنك ضبط عملية الترجمة لتشمل فقط ملفات الكود المصدر وتجنب تضمين ملفات الاختبار في المجلد “dist”.

المزيد من المعلومات

بالطبع، سنقوم الآن بتوضيح بعض المعلومات الإضافية حول التكوين الذي تم استخدامه في ملف “tsconfig.json” وكيف يؤثر على عملية الترجمة وتنظيم مشروعك.

  1. “module”: “commonjs”: تعيين نوع الوحدة إلى “commonjs” يعني أنك تستخدم نظام وحدات CommonJS. هذا مناسب لتطبيقات Node.js ويسمح بتحميل الوحدات ديناميكياً.

  2. “outDir”: “dist”: تم تحديد مجلد الإخراج ليكون “dist”. بمجرد تنفيذ عملية الترجمة، ستتم نسخ جميع الملفات المترجمة إلى هذا المجلد.

  3. “rootDir”: “src”: يحدد المجلد الأساسي الذي يحتوي على ملفات الكود المصدر. هذا يساعد في تحديد السياق الرئيسي لملفات الكود.

  4. “declaration”: true: تمكين هذا الإعداد يؤدي إلى إنشاء ملفات تعريف (.d.ts) التي تصف هياكل الأكواد المصدرة. هذا مفيد للمستخدمين الآخرين الذين يستخدمون مكتبتك.

  5. “sourceMap”: true: إنشاء ملفات خرائط المصدر (.map) يساعد في تتبع الأخطاء في الكود المصدر بينما تعمل التطبيقات.

  6. “include”: [“src//*.ts”]**: يحدد الملفات التي يجب تضمينها في عملية الترجمة. هنا تم تضمين جميع ملفات الكود المصدر في المجلد “src” باستخدام نمط glob.

  7. “exclude”: [“node_modules”, “/*.spec.ts”]**: يحدد الملفات التي يجب استبعادها من عملية الترجمة. تم استبعاد ملفات الاختبار (.spec.ts) ومجلد “node_modules”.

بهذا التكوين، يمكنك تحقيق هدفك في ترجمة فقط ملفات الكود المصدر إلى مجلد “dist” دون تضمين ملفات الاختبار. يوفر هذا تنظيماً فعالاً ونظيفاً لمشروعك، مع الحفاظ على قابلية إعادة استخدام الكود وإمكانية فحص الوحدات بسهولة.

زر الذهاب إلى الأعلى