ここ最近、TypeScript の導入事例が各社で増えてきています。Retty のコードは、9年間運用されており、2017年にjQuery から Vue.js に部分的に移行をしていますが TypeScript は導入していませんでした。大規模サービスになると、型に守られた世界でコードを書きたいですよね。Retty も一部分アーキテクチャの刷新の時に、フロントエンドに Nuxt.js + TypeScript、サーバーとの通信に GraphQL を導入しています。型がある安全な世界になった一方で、型のない世界に型を持ち込んだ辛さもあります。また、型定義ファイルが提供されていない外部パッケージの変化に追従していく大変さもあります。今回は、型のない世界にどのように型を組み込んだかや開発速度、運用コストについてお話しします。具体的には、VueTypes からの移行やAPI のインタフェース などについてになります。