我如何使用 API 創建 TypeScript 診斷?
我正在使用 TypeScript LanguageService API 並搭配自訂轉換器來變更 AST。我希望能夠生成自訂診斷,以便以有意義的方式報告錯誤。我該如何做到這一點?
CustomTransformer API 不允許報告診斷資訊 --- 這似乎是故意的。
Diagnostics 物件本身沒有任何形式的公開建構函式。(在內部,編譯器使用
ts.createDiagnosticFromNode()系列函式,但這些被標記為內部,並不在公共 API 中。)LanguageService 或 TransformationContext 看起來都沒有任何鉤子可以讓我註冊一種創建我自己的診斷方法,甚至也沒有任何方法可以掛鉤到編譯器,以便如果我想自己做這個,我可以在適當的階段手動遍歷 AST。
我找不到任何,也就是說,沒有一個人討論過這個,除了上面引用的連結。我覺得難以置信 TypeScript API 居然不支持這個,因為產生錯誤基本上就是編譯器的職責;這表明我可能完全在錯的地方尋找。
那麼,我應該尋找什麼呢?我該如何做到這一點?