كيفية إدارة مشاريع TypeScript باستخدام tsconfig
إن إدارة مشاريع TypeScript بشكل فعّال أمر بالغ الأهمية للحفاظ على جودة الكود واتساقه. يعد ملف tsconfig.json
جزءًا أساسيًا في تكوين وإدارة مشاريع TypeScript. فهو يسمح للمطورين بتحديد خيارات المترجم المختلفة، وإدراج الملفات، والاستثناءات، والمزيد. سيشرح هذا الدليل كيفية استخدام tsconfig.json
لإدارة مشاريع TypeScript بكفاءة.
ما هو tsconfig.json؟
ملف tsconfig.json
هو ملف تكوين يستخدمه مُجمِّع TypeScript (tsc
) لتحديد كيفية تجميع مشروع TypeScript. وهو يوفر طريقة قياسية لتحديد خيارات المُجمِّع والملفات التي تشكل جزءًا من المشروع. عندما يكون ملف tsconfig.json
موجودًا في دليل، فإنه يضع علامة على هذا الدليل باعتباره جذر مشروع TypeScript.
إنشاء ملف tsconfig.json
لإنشاء ملف tsconfig.json
، قم بتشغيل الأمر التالي في المحطة الطرفية:
tsc --init
يقوم هذا الأمر بإنشاء ملف tsconfig.json
افتراضيًا بمجموعة من الخيارات المحددة مسبقًا. يمكن تخصيص الملف الناتج ليناسب الاحتياجات المحددة للمشروع.
فهم خصائص tsconfig.json الأساسية
يحتوي ملف tsconfig.json
على العديد من الخصائص التي يمكن تخصيصها لإدارة مشروع TypeScript بشكل أفضل. فيما يلي بعض الخصائص الأكثر استخدامًا:
compilerOptions
: يحدد خيارات المترجم للمشروع.include
: يحدد الملفات أو الدلائل التي سيتم تضمينها في المشروع.exclude
: يحدد الملفات أو الدلائل التي سيتم استبعادها من المشروع.files
: يحدد الملفات الفردية التي سيتم تضمينها في المشروع.
تكوين خيارات المترجم
تُعد خاصية compilerOptions
القسم الأكثر أهمية في ملف tsconfig.json
. فهي تسمح للمطورين بالتحكم في جوانب مختلفة من عملية التجميع. فيما يلي بعض خيارات المترجم الشائعة الاستخدام:
{
"compilerOptions": {
"target": "ES6", // Specifies the target JavaScript version
"module": "commonjs", // Specifies the module system
"strict": true, // Enables all strict type-checking options
"outDir": "./dist", // Redirects output structure to the directory
"rootDir": "./src", // Specifies the root directory of input files
"esModuleInterop": true, // Enables emit interoperability between CommonJS and ES Modules
"forceConsistentCasingInFileNames": true // Disallows inconsistently-cased references to the same file
}
}
يمكن تخصيص هذه الخيارات بناءً على متطلبات المشروع. على سبيل المثال، سيؤدي تغيير target
إلى ES5
إلى إخراج JavaScript متوافقًا مع المتصفحات القديمة.
تضمين واستبعاد الملفات
في مشروع TypeScript، من المهم التحكم في الملفات التي يتم تضمينها أو استبعادها أثناء التجميع. يتم استخدام الخاصيتين include
وexclude
في tsconfig.json
لهذا الغرض.
{
"include": ["src/**/*"], // Includes all TypeScript files in the src folder
"exclude": ["node_modules", "**/*.spec.ts"] // Excludes node_modules and all spec files
}
يتضمن التكوين أعلاه جميع ملفات TypeScript من الدليل src
والدلائل الفرعية الخاصة به مع استبعاد الملفات الموجودة في الدليل node_modules
والملفات ذات الامتداد .spec.ts
.
استخدام ملفات الملكية
تُستخدم الخاصية files
لتضمين ملفات فردية في التجميع. وقد يكون هذا مفيدًا عندما تكون هناك حاجة لتجميع مجموعة محددة فقط من الملفات.
{
"files": ["src/index.ts", "src/app.ts"]
}
في هذا المثال، سيتم تجميع الملفات index.ts
وapp.ts
فقط من الدليل src
.
توسيع ملفات tsconfig
يتيح TypeScript توسيع ملفات tsconfig.json
الأخرى باستخدام الخاصية extends
. وهذا مفيد لمشاركة تكوين أساسي مشترك عبر مشاريع متعددة أو مشاريع فرعية.
{
"extends": "./base.tsconfig.json",
"compilerOptions": {
"outDir": "./dist"
}
}
في هذا المثال، يمتد الملف tsconfig.json
الحالي إلى الملف base.tsconfig.json
ويتجاوز الخيار outDir
.
خاتمة
توفر إدارة مشاريع TypeScript باستخدام tsconfig.json
مرونة كبيرة وتحكمًا في عملية التجميع. من خلال فهم واستخدام الخصائص المختلفة لـ tsconfig.json
، مثل compilerOptions
وinclude
وexclude
وfiles
، يمكن إدارة مشاريع TypeScript بكفاءة وفعالية أكبر. تتيح القدرة على توسيع ملفات tsconfig
أيضًا تنظيم المشروع وإعادة استخدامه بشكل أفضل.