خيارات المترجم في TypeScript

من موسوعة حسوب

يوضح الجدول التالي جميع الخيارات التي يمكن استعمالها مع مترجم TypeScript للتحكم بسير عمله والتعديل على سلوكه أثناء ترجمة الشيفرات.

الخيار النوع القيمة الافتراضية الوصف
‎--allowJs‎ ‎boolean‎ ‎false‎ السماح بترجمة ملفّات JavaScript.
‎--allowSyntheticDefaultImports‎ ‎boolean‎ ‎module === "system" ‎ أو أنّ الخيار ‎--esModuleInterop‎ مضبوط وقيمة ‎module‎ ليست ‎es2015‎ أو ‎esnext‎ السماح للاستيرادات الافتراضية من الوحدات التي لا تحتوي على تصديرات افتراضيّة. هذا لا يؤثر على الشيفرة المولَّدة، ويؤثر فقط على آلية التحقق من الأنواع.
‎--allowUnreachableCode‎ ‎boolean‎ ‎false‎ لا تُخبِر عن الأخطاء على الشيفرة التي لا يمكن الوصول إليها.
‎--allowUnusedLabels‎ ‎boolean‎ ‎false‎ لا تُخبِر عن الأخطاء على اللافتات (labels) غير المُستخدَمة.
‎--alwaysStrict‎ ‎boolean‎ ‎false‎ تفسير الشيفرة في الوضع الصارم وتوليد ‎"use strict"‎‎ لكل ملفّ مصدري.
‎--baseUrl‎ ‎string‎ ‎ المجلّد الأساس لتقرير أسماء الوحدات غير النسبيّة. انظر توثيق تقرير الوحدات للاستزادة.
‎--build‎

‎-b‎

‎boolean‎ ‎false‎ يَبني هذا المشروعَ وجميعَ اعتمادياته التي تُحدَّد عبر مراجع المشروع، لاحظ أن هذا الخيار ليس متوافقًا مع الخيارات الأخرى في هذه الصفحة. انظر توثيق مراجع المشروع للاستزادة.
‎--charset‎ ‎string‎ ‎"utf8"‎ مجموعة محارف (character set) الملفّات المُخرجَة.
‎--checkJs‎ ‎boolean‎ ‎false‎ الإخبار بالأخطاء في ملفّات ‎.js‎. استعمله مع الخيار ‎.--allowJs‎
‎--declaration‎

‎-d‎

‎boolean‎ ‎false‎ توليد ملفّ ‎.d.ts‎ المناسب.
‎--declarationDir‎ ‎string‎ مجلّد الإخراج (Output directory) لملفات التصريحات المُولَّدَة.
‎--declarationMap‎ ‎boolean‎ ‎false‎ يُنشئُ خريطة مصدريّة (sourcemap) لكل ملفّ ‎.d.ts‎‎ مناسب.
‎--diagnostics‎ ‎boolean‎ ‎false‎ اعرض معلوماتٍ تشخيصيّة.
‎--disableSizeLimit‎ ‎boolean‎ ‎false‎ عطِّل تقييد الحجم (size limitation) على مشروع JavaScript.
‎--downlevelIteration‎ ‎boolean‎ ‎false‎ وفِّر دعمًا كاملًا للكائنات القابلة للتكرار في كل من جمل ‎for..of‎، وعامل النشر والتفكيك عند استهداف النسخة ES5 أو ES3.
‎--emitBOM‎ ‎boolean‎ ‎false‎ ولِّد علامة ترتيب البايتات (BOM) بالترميز UTF-8 في بداية الملفّات المُخرجَة.
‎--emitDeclarationOnly‎ ‎boolean‎ ‎false‎ ولّد فقط ملفّات التصريحات ‎.d.ts‎.
‎--emitDecoratorMetadata‎ [1] ‎boolean‎ ‎false‎ ولِّد بيانات وصفيّة لنوع التصميم (design-type) للتصريحات المُزخرَفَة في الشيفرة المصدرية. انظر هذه الصفحة للمزيد من التفاصيل.
‎--esModuleInterop‎ ‎boolean‎ ‎false‎ ولِّد المُساعدين ‎__importStar‎ و‎__importDefault‎ لتوافقية نظام babel وفعّل ‎--allowSyntheticDefaultImports‎ لتوافقية نظام الأنواع.
‎--experimentalDecorators‎ [1] ‎boolean‎ ‎false‎ فعّل الدعم التجريبي لميّزة مزخرفات ES.
‎--extendedDiagnostics‎ ‎boolean‎ ‎false‎ أظهر معلوماتٍ تشخيصيّة مُفصَّلة.
‎--forceConsistentCasingInFileNames‎ ‎boolean‎ ‎false‎ منع مراجع إلى نفس الملفّ بحالات أحرف مختلفة (inconsistently-cased).
‎--help‎

‎‎-h‎‎

‎ اطبع رسالة المساعدة.
‎--importHelpers‎ ‎boolean‎ ‎false‎ استورد مساعدات الإخراج (__extends، و__rest، وغيرهما) من ‎.tslib‎
‎--inlineSourceMap‎ ‎boolean‎ ‎false‎ ولِّد نفس الملفّ مع خرائط مصدرية عوضًا عن توليد ملفّ منفصل.
‎--inlineSources‎ ‎boolean‎ ‎false‎ ولِّد الشيفرة المصدرية بجانب الخرائط المصدرية في ملف واحد؛ يتطلب ضبط الخيار ‎--inlineSourceMap‎‎ أو الخيار --sourceMap‎‎.
‎--init‎ ‎ يُهيّئُ مشروعَ TypeScript ويُنشئ ملفّ ‎tsconfig.json‎.
‎--isolatedModules‎ ‎boolean‎ ‎false‎ ترجمة كل ملفٍّ على أنه وحدة منفصلة (مثل ‎ts.transpileModule‎)
‎--jsx‎ ‎string‎ ‎"Preserve"‎ دعم ‎JSX‎ في ملفّات ‎.tsx‎: إما وضع ‎"React"‎ أو ‎"Preserve"‎. انظر توثيق JSX للاستزادة.‎
‎--jsxFactory‎ ‎string‎ ‎"React.createElement"‎ تحديد دالّة JSX المولِّدة لاستعمالها عند إخراج JSX بأسلوب React، يُمكن أن تكون الدالةُ مثلًا الدالةَ ‎React.createElement‎ أو الدالةَ ‎h‎.
‎--keyofStringsOnly‎ ‎boolean‎ ‎false‎ تقرير ‎keyof‎ إلى أسماء الخاصيات ذات السلاسل النصية فقط (وليس الأعداد أو الرموز).
‎--lib‎ ‎string[]‎ ‎قائمة ملفات المكتبات التي ستُضمَّن أثناء الترجمة.

القيم الممكنة هي كالآتي:

ES5

ES6

ES2015

ES7

ES2016

ES2017

ES2018

ESNext

DOM

DOM.Iterable

WebWorker

ScriptHost

ES2015.Core

ES2015.Collection

ES2015.Generator

ES2015.Iterable

ES2015.Promise

ES2015.Proxy

ES2015.Reflect

ES2015.Symbol

ES2015.Symbol.WellKnown

ES2016.Array.Include

ES2017.object

ES2017.Intl

ES2017.SharedMemory

ES2017.String

ES2017.TypedArrays

ES2018.Intl

ES2018.Promise

ES2018.RegExp

ESNext.AsyncIterable

ESNext.Array

ESNext.Intl

ESNext.Symbol

ملاحظة: إذا لم يُحدَّد الخيار ‎--lib‎ فستُحقَن قائمةُ مكتباتٍ افتراضيّة. المكتبات الافتراضية التي ستُحقَن هي:

  • عند الخيار ‎--target ES5‎:

‎DOM,ES5,ScriptHost‎

  • وعند الخيار ‎--target ES6‎:

‎DOM,ES6,DOM.Iterable,ScriptHost‎

‎--listEmittedFiles‎ ‎boolean‎ ‎false‎ طباعة أسماء الملفّات التي ستُولَّدها الترجمة.
‎--listFiles‎ ‎boolean‎ ‎false‎ طباعة أسماء الملفات التي ستُترجَم.
‎--locale‎ ‎string‎ ‎(حسب منصة المبرمج [نظام التشغيل مثلًا]) المحليّة التي ستُستَخدَم لعرض رسائل الخطأ.

القيم الممكنة هي:

  • الإنجليزية (الولايات المتحدة): en
  • التشيكية: cs
  • الألمانية: de
  • الإسبانية: es
  • الفرنسية: fr
  • الإيطالية: it
  • اليابانية: ja
  • الكورية: ko
  • البولندية: pl
  • البرتغالية (البرازيل): pt-BR
  • الروسية: ru
  • التركية: tr
  • الصينية المبسطة: zh-CN
  • الصينية التقليدية: zh-TW
‎--mapRoot‎ ‎string‎ ‎ يحدّد المكان الذي يجب فيه على مصحح الأخطاء أن يبحث عن مكان ملفات الخرائط (map files) بدلاً من الأماكن المولَّدَة. استخدم هذا الخيار إذا كانت ملفات ‎.map‎ موجودة في زمن التنفيذ في مكان مختلف عن ملفات ‎.js‎. سيُضمَّن المكان المحدَّد في الخريطة المصدريّة لتوجيه مصحح الأخطاء إلى مكان ملفات الخرائط.
‎--maxNodeModuleJsDepth‎ ‎number‎ ‎0‎ تحديد عمق الاعتماديات الأقصى للبحث تحت مجلّد ‎node_modules‎ وتحميل ملفات JavaScript. يُطبَّق فقط مع الخيار ‎--allowJs‎.
‎--module‎

‎-m‎

‎string‎ ‎target === "ES3" or "ES5" ? "CommonJS" : "ES6"‎ حدد توليد شيفرة الوحدة: "None" أو "CommonJS" أو "AMD" أو "System" أو "UMD" أو "ES6" أو "ES2015" أو "ESNext".
  • يمكن استخدام "AMD" و "System" فقط بالتزامن مع ‎--outFile.
  • قد تُستخدَم قيم "ES6" و "ES2015" عند استهداف النسخة "ES5" أو ما قبلها.
‎--moduleResolution‎ ‎string‎ ‎module === "AMD" or "System" or "ES6" ? "Classic" : "Node"‎ تحديد آلية تقرير الوحدات. إمّا آلية "Node" لنمط Node.js أو io.js. أو آلية "Classic". انظر توثيق تقرير الوحدات للاستزادة.
‎--newLine‎ ‎string‎ ‎(حسب المنصة) تحديد سلسلة نهاية السطر (end of line sequence) التي ستُستَخدَم عند إخراج الملفّات: ‎"crlf"‎ (منصة windows) أو "lf" (منصة unix).
‎--noEmit‎ ‎boolean‎ ‎false‎ لا تُخرِج أي مُخرجات.
‎--noEmitHelpers‎ ‎boolean‎ ‎false‎ لا تُولِّد دوال مساعدةً مخصّصة مثل ‎__extends‎ في المُخرَج المُترجَم.
‎--noEmitOnError‎ ‎boolean‎ ‎false‎ لا تُخرِج أي مخرجات إن أُبلِغَ عن أي أخطاء.
‎--noErrorTruncation‎ ‎boolean‎ ‎false‎ لا تقطِّع رسائل الخطأ.
‎--noFallthroughCasesInSwitch‎ ‎boolean‎ ‎false‎ أبلِغ عن الأخطاء في حالات السقوط (fallthrough) في جمل switch.
‎--noImplicitAny‎ ‎boolean‎ ‎false‎ أبلغ عن خطأ في التعبيرات والتصريحات التي تعتمد على نوعِ any ضمني.
‎--noImplicitReturns‎ ‎boolean‎ ‎false‎ أبلغ عن خطأ عندما لا تُعيد جميع مسارات الشيفرة (code paths) في الدالة أية قيمة.
‎--noImplicitThis‎ ‎boolean‎ ‎false‎ أبلغ عن خطأ في تعبيرات ‎this‎ ذات نوع ‎any‎ ضمني.
‎--noImplicitUseStrict‎ ‎boolean‎ ‎false‎ لا تولِّد تعليمات ‎"use strict"‎ في مُخرج الوحدة.
‎--noLib‎ ‎boolean‎ ‎false‎ لا تُضمِّن ملفّ المكتبة الافتراضية (‎lib.d.ts‎).
‎--noResolve‎ ‎boolean‎ ‎false‎ لا تُضِف مراجع الشرطات المائلة الثلاث (triple-slash references) أو أهداف استيراد الوحدات (module import targets) إلى قائمة الملفات المترجمة.
‎--noStrictGenericChecks‎ ‎boolean‎ ‎false‎ عطِّل التحقق الصارم (strict checking) من التواقيع المُعمَّمة (generic signatures) في أنواع الدوال.
‎--noUnusedLocals‎ ‎boolean‎ ‎false‎ الإبلاغ عن الأخطاء على الكائنات المحليّة غير المستخدمة.
‎--noUnusedParameters‎ ‎boolean‎ ‎false‎ الإبلاغ عن الأخطاء على المعاملات غير المستخدمة.
‎--out‎ ‎string‎ هذا الخيار مُهمَل، استخدم الخيار ‎--outFile‎ عوضًا عنه.‎
‎--outDir‎ ‎string‎ ‎ إعادة توجيه بنية الإخراج إلى المجلّد المُحدَّد.
‎--outFile‎ ‎string‎ ‎ تجميع وإخراج المُخرَجات إلى ملف واحد. يُحدَّد ترتيب التجميع عبر قائمة الملفّات المُمرَّرةِ إلى المترجم على سطر الأوامر وعبر مراجع الشرطات الثلاث والاستيرادات.
‎paths‎ [2] ‎Object‎ ‎ قائمة تخطيطات مسارات (path mapping entries) تربط بين أسماء الوحدات وأماكنها نسبةً إلى قيمة ‎baseUrl‎. انظر توثيق تقرير الوحدات للاستزادة.
‎--preserveConstEnums‎ ‎boolean‎ ‎false‎ لا تحذف تصريحات ‎_‎ في الشيفرة المُولَّدَة. انظر هذه الصفحة للاستزادة.
‎--preserveSymlinks‎ ‎boolean‎ ‎false‎ لا تُقرِّر روابط الوصلات الرمزية (symlink) إلى مساراتها الفعليّة؛ عالِج ملفّ symlink على أنّه ملفّ حقيقيّ.
‎--preserveWatchOutput‎ ‎boolean‎ ‎false‎ أبقِ على مخرجات الطرفية القديمة في وضع المراقبة (watch mode) عوضًا عن مسح الشاشة.
‎--pretty‎ ‎boolean‎ ‎true‎ إلّا في حالة استعمال أنبوب (piping) يشير إلى برنامج آخر أو في حالة إ عادة توجيه المخرجات إلى ملفٍّ. تنسيق الأخطاء والرسائل باستخدام الألوان والسياق.
‎--project‎

‎-p‎

‎string‎ ‎ ترجمة مشروعٍ مع تمرير ملفّ إعداداتٍ صالح. يمكن للمعامل أن يكون مسار ملفّ يشير إلى ملفّ إعدادات JSON صالح، أو إلى مجلّد يحتوي على ملفّ ‎tsconfig.json‎. انظر توثيف الملفّ ‎tsconfig.json‎ للاستزادة.
‎--reactNamespace‎ ‎string‎JSX ‎"React"‎ خيار مهمل. استعمل الخيار ‎--jsxFactory‎ عوضًا عنه.

يُحدِّد الكائن الذي سيُستدعى من أجل ‎createElement‎ و‎__spread‎ عند إخراج ملفّات ‎JSX‎ في وضع ‎"react"‎.

‎--removeComments‎ ‎boolean‎ ‎false‎ حذف جميع التعليقات إلا تعليقات ترويسات الحقوق التي تبتدئ بالمقطع ‎/*!‎.
‎--resolveJsonModule‎ ‎boolean‎ ‎false‎ تضمين الوحدات التي تُستورَد بامتداد ‎.json‎.
‎--rootDir‎ ‎string‎ ‎(يُستنتَج المجلّد الجذر المشترك من قائمة الملفات المُدخلَة) يُحدِّد المجلّد الجذر لملفات للملفّات المدخلَة. استعمله فقط للتحكم بهيكل المُجلّد المُخرَج مع ‎--outDir‎.
‎rootDirs‎[2] ‎string[]‎ ‎ قائمة المجلدات الجذر التي سيُمثِّل مُحتواها المُدمَج هيكل المشروع أثناء التنفيذ. انظر توثيق تقرير الوحدات للاستزادة.
‎--skipDefaultLibCheck‎ ‎boolean‎ ‎false‎ خيار مُهمَل. استعمل الخيار ‎--skipLibCheck‎ عوضًا عنه.

تخطَّ التحقق من أنواع ملفات تصريحات المكتبة الافتراضية. انظر هذه الصفحة للاستزادة.

‎--skipLibCheck‎ ‎boolean‎ ‎false‎ تجاهل التحقق من أنواع جميع ملفّات التصريحات (‎*.d.ts‎).
‎--sourceMap‎ ‎boolean‎ ‎false‎ يُولِّد ملفّ ‎.map‎ المناسب.
‎--sourceRoot‎ ‎string‎ ‎ يحدد المكان حيث يجب على مصحح الأخطاء العثور على ملفات TypeScript بدلاً من أماكن المصدر (source locations). استخدم هذا الخيار إذا كانت المصادر موجودة أثناء التنفيذ في مكان مختلف عن مكانها وقت التصميم (design-time). سيُضمَّن المكان المعطى في خريطة المصدر (sourceMap) لتوجيه مصحح الأخطاء إلى مكان الملفات المصدرية.
‎--strict‎ ‎boolean‎ ‎false‎ تفعيل جميع خيارات التحقق من الأنواع بصرامة.

تفعيل ‎--strict‎ سيُفعّل الخيارات التالية:

  • ‎--noImplicitAny‎
  • ‎--noImplicitThis‎
  • ‎--alwaysStrict‎
  • ‎--strictNullChecks‎
  • ‎--strictFunctionTypes‎
  • ‎--strictPropertyInitialization‎
‎--strictFunctionTypes‎ ‎boolean‎ ‎false‎ تعطيل التحقق من المعاملات ثنائية التغير (bivariant parameter) في أنواع الدوال.
‎--strictPropertyInitialization‎ ‎boolean‎ ‎false‎ تأكد من أنّ خاصيات الأصناف التي لا تحمل القيمة ‎undefined‎ مُهيّأة في الدالة البانية. هذا الخيار يتطلب تفعيل الخيار ‎--strictNullChecks‎ كذلك.
‎--strictNullChecks‎ ‎boolean‎ ‎false‎ في وضع التحقق الصارم من القيمة ‎null‎، لا تكون القيمتان ‎undefined‎ و‎null‎ في نطاق كل الأنواع الأخرى، ويمكن تعيينها فقط إلى نفسها وإلى ‎any‎ (باستثناء أنّ ‎undefined‎ قابل للتعيين للنوع ‎void‎ كذلك).
‎--stripInternal‎[1] ‎boolean‎ ‎false‎ لا تُولِّد تصريحاتٍ للشيفرة التي تحتوي على التعليق ‎/** @internal */‎ (الذي يمثّل حاشية خاصّة في نظام JSDoc).
‎--suppressExcessPropertyErrors‎ ‎boolean‎ ‎false‎ قمع تدقيقات الخاصية الزائدة (excess property checks) لقيم الكائنات الحرفية (object literals).
‎--suppressImplicitAnyIndexErrors‎ ‎boolean‎ ‎false‎ قمع أخطاء ‎_‎ لفهرسة الكائنات التي لا تملك تواقيع فهارس. انظر هذه الصفحة للاستزادة.
‎--target‎

‎-t‎

‎string‎ ‎"ES3"‎ تحديد نسخة ECMAScript الهدف:
  • ‎"ES3"‎ (النسخة الافتراضية)
  • ‎"ES5"‎
  • ‎"ES6"‎ أو ‎"ES2015"‎
  • ‎"ES2016"‎
  • ‎"ES2017"‎
  • ‎"ESNext"‎
‎--traceResolution‎ ‎boolean‎ ‎false‎ الإبلاغ عن رسائل التسجيل (log messages) الخاصة بتقرير الوحدات (module resolution).
‎--types‎ ‎string[]‎ ‎قائمة أسماء تعريفات الأنواع المرغوب تضمينها، انظر قسم ‎@types‎، و‎typeRoots‎، و‎types‎ للاستزادة.
‎--typeRoots‎ ‎string[]‎ ‎قائمة المجلّدات التي تحتوي على تعريفات الأنواع المرغوب تضمينها، انظر قسم ‎@types‎، و‎typeRoots‎، و‎types‎ للاستزادة.
‎--version‎

‎-v‎

‎ ‎ طباعة نسخة المترجم.
‎--watch‎

‎-w‎

‎ ‎‎ تشغيل المترجم في وضع المراقبة. مشاهدة الملفّات المدخلَة وإعادة ترجمتها عندما تتغيّر محتوياتها. يمكن ضبط إعدادات مشاهدة الملفات والمجلدات باستخدام متغير بيئةٍ (environment variable). انظر ضبط وضع المراقبة لمزيد من التفاصيل.
  • [1] هذه الخيارات تجريبيّة.
  • [2] هذه الخيارات مسموح بها فقط في ملفّ ‎tsconfig.json‎، وليس عبر سطر الأوامر.

انظر أيضًا

مصادر