2022.04.06[Wed]

自作の型定義ファイルに ".d.ts" と付けない方がいい

  • TypeScript

Typescriptで型定義用のファイルを作る際に、ライブラリが生成する型定義ファイルの名前にならって .d.ts と付けると、定義していない型が any として使えてしまい型チェック時にもエラーになりません。
ホバーした際には  /* unresolved */ any と表示されます。

VS Code の表示 (.d.ts)

VS Code の表示 (.d.ts)

VS Code の表示 (.ts)

VS Code の表示 (.ts)


これは VScode のプラグインのせいというわけではなく、tscでチェックしても同様で

npx tsc --noEmit

でもエラーになりません。
d.ts は Javascript で書かれたコードの型を後付けで知らせるためのものであり、tsのコンパイラにチェックされないためです。

ですので、自作で型定義をまとめた Model 的なファイルは普通に .ts で作りましょう。

参考:
同様の質問が Stackoverflow にもありました(未解決)
https://stackoverflow.com/questions/70905791/is-there-a-way-to-make-vscode-show-errors-for-unresolved-types-in-d-ts-files


Share

LCPはどのエレメントが判定されているか確認しないといけないShopifyアプリの開発フローと準備