تايب سكريبت - أين يمكن أن أجد قائمة بأخطاء tsc؟


أحاول استخدام tsc لتوليد ملفات تعريف TypeScript تلقائيًا لبعض الشيفرات الجافاسكريبت الموجودة. يقوم مترجم TypeScript بإعطائي بعض الأخطاء التي لا أفهمها (TS9005 في هذه الحالة). هل هناك قائمة مرجعية تحتوي على جميع رموز الأخطاء التي يولدها tsc وشرح لما تعنيه في مكان ما؟ سيكون ذلك مفيدًا جدًا.

الإجابة رقم 1

يمكن العثور على قائمة رسائل التشخيص في src/compiler/diagnosticMessages.json في مستودع TypeScript. الملف منظم على هذا النحو:

{
    "Unterminated string literal.": {
        "category": "Error",
        "code": 1002
    },
    "Identifier expected.": {
        "category": "Error",
        "code": 1003
    },
    "'{0}' expected.": {
        "category": "Error",
        "code": 1005
    },
    "A file cannot have a reference to itself.": {
        "category": "Error",
        "code": 1006
    },
    // etc...
}

ومع ذلك، لا توجد قائمة أعلم بها مع الشروحات.


TS9005 (إصدار الإعلان لهذا الملف يتطلب استخدام الاسم الخاص '{0}'. قد يفي التوضيح الصريح للنوع بالغرض ويفك حظر إصدار الإعلان.) يعني أن ملف JS يقوم بتصدير شيء له نوع غير مُصدَّر. على سبيل المثال:

foo.d.ts
interface Foo {
  foo: number
}
declare function foo(): Foo
export = foo
bar.js
// @ts-check
module.exports = require('./foo')()

لا يمكن لـ TypeScript إنشاء ملف تعريف لـ bar.js لأن التصدير له النوع Foo، والذي لم يتم تصديره من foo.d.ts. يمكنك إصلاح ذلك عن طريق إضافة إعلان نوع للتصدير:

bar.js
// @ts-check
/** @type {{foo: number}} */
module.exports = require('./foo')()