みかづきメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

JavaScript で型定義ファイルを Global に宣言したい

TypeScript 使うまでもない単体の JS ファイルでも d.ts を使いたい時ってあるじゃないですか。
そういうときのあれ。

例えば、 windowDocute というオブジェクトを生やしたこんな型定義があって。

// @types/globals.d.ts
// 面倒なので一部だけ
type DocuteOptions = {
  target?: string;
  title?: string;
};

interface Docute {
  new (options?: DocuteOptions): this;
}

export declare global {
  interface Window {
    Docute: Docute;
  }
}

もう何もかも面倒で tsconfig.json すら作りたくないけど型チェックだけ使いたいとき、
下のようにすれば一応動く

// public/docute.js

// @ts-check
/// <reference path = "../@types/globals.d.ts" />

new Docute(...); // 型チェックも動く

ということで、怠惰なメモでした。