ライブラリを @babel/preset-typescript · Babel を使ってbabelでコンパイルする場合にコンパイルしただけだと型定義は生成できません。
その場合、tscコマンドに--emitDeclarationOnly
フラグを付けて型定義を生成する必要があります。
"scripts": {
"build:types": "tsc --emitDeclarationOnly"
}
npm run build:types
また公開する際は、package.jsonに types
フィールドの指定を忘れないようにしましょう。
{
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
ライブラリをbabel/preset-typescriptで書いても結局型定義生成のためemitDeclarationOnlyフラグをつけてtscを実行することに気づいてしまった我々は
— あかめ@さよならflowtype.ts (@akameco) February 2, 2019