TypeScript - تحذير: لا يمكن العثور على ملف tsconfig.json الأساسي


أود إصلاح التحذير:

تحذير: لا يمكن العثور على ملف tsconfig.json الأب

في علامة تبويب Errors الخاصة بـ TypeScript في IntelliJ IDEA 2016.3. يعيش كود TypeScript الخاص بي في المجلد src ويذهب مخرجات TypeScript الخاصة بي إلى lib كما هو متوقع دون إضافة مجلد src إلى lib.

أنا أستخدم مجلد lib في مشاريع أخرى ويبدو أنه يعمل كما هو متوقع. لذا لا يبدو أن هذه مشكلة كبيرة، لكن أحيانًا أواجه مشكلة مع TSLint حيث أنه أحيانًا لا يبدو أنه يكتشف أن الملف .tsx هو JSX ويفحصه بشكل غير صحيح ويبدو أحيانًا أنه يعامله كملف .ts عادي. في النهاية يبدو أنه يفهم الأمر. أتساءل إن كان هذا له علاقة بإعداداتي في TSLint التي تم تكوينها لاستخدام tsconfig.json.

لقد ظهرت لدي أيضًا سابقًا ملفات .js المحوّلة بجانب ملفات .ts في مجلد src، ولكن لم يحدث ذلك منذ أن قمت بتعديل tsconfig.json مؤخرًا.

الملفات كالآتي:

tsconfig.json
src/index.ts
lib/index.js
lib/index.d.ts

لقد قمت بالترقية إلى TypeScript 2.1.4، لكنني كنت أراه مع 2.0.10.

ملف tsconfig.json الخاص بي:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "jsx": "react",
    "allowJs": false,
    "isolatedModules": false,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "declaration": true,
    "noImplicitAny": false,
    "noImplicitUseStrict": true,
    "noEmitHelpers": false,
    "removeComments": true,
    "noLib": false,
    "sourceMap": true,
    "inlineSources": true,
    "preserveConstEnums": true,
    "allowSyntheticDefaultImports": true,
    "suppressImplicitAnyIndexErrors": true,
    "rootDir": "./src",
    "outDir": "./lib"
  },
  "include": [
    "./src/**/*"
  ],
  "compileOnSave": true,
  "atom": {
    "rewriteTsconfig": false
  }
}

الإجابة رقم 1

حاول إعداد قسم include في الملف tsconfig.json كما في الصورة أدناه.
(لاحظ أن المجلد الجذري لمشروعي هو frontend وقسم include الخاص بي هو frontend/**/*).

بالطبع لا تحتاج إلى إعادة تسمية المجلد الجذر لمشروعك إلى frontend.
فقط يجب أن يتطابق الاسم.

يجب أن يسري مفعوله فور حفظك لملف tsconfig.json وفتح ملف .ts أو .tsx. إذا لم يحدث ذلك، حاول إعادة تشغيل WebStorm/IDEA.

ولا تنسَ مسح وحدة تحكم الأخطاء قبل اختبار هذا الحل. قد تخزن رسائل سابقة.

ملاحظة: أنا أستخدم WebStorm 2016.3.1.

إذا كنت تستخدم webpack مع ts-loader فإن الحل أعلاه سيؤدي إلى فشل عمليات البناء الخاصة بك. إذا كان هذا هو الحال، ففكر في هذا النهج بدلاً من ذلك.

الإجابة رقم 2

المشكلة محددة بإصدار TypeScript المستخدم (2.1.x)؛ تم إصلاحها في 2016.3. 2 EAP

ملاحظة: هذا الجواب يشير إلى المشكلة الخاصة بإصدار IDE (WebStorm, PHPStorm, IDEA) 2016.3: لم يعمل بشكل جيد مع TypeScript 2.1.x، وكان يظهر تحذيرات خاطئة. إذا رأيت رسالة مشابهة (Cannot find parent tsconfig.json) في إصدارات IDE أخرى، فمن المحتمل أن تكون مشكلة في إعداداتك: يتم عرض مثل هذه الرسائل إذا كان الملف .ts الذي يتم تحريره حالياً غير مدرج في أي tsconfig.json.