TSKaigi 2024 の発表資料です。
https://tskaigi.org/talks/yanaemon169
Demo 用コードはこちら
https://github.com/yanaemon/nestjs-migration-example
ミツモアはサービスの提供開始から、6 年以上が経ち、サービが急速に拡大してきました。
急成長の中で、古いコードが多くあり新しい構成への変革が求められていました。
その中の一つに Express + TypeScriptを用いて書かれていた Backend のコードをNest.js へ移行することを決定しましたが、
管理用の API なども数えると数百を超える API 数がありました。
全て手作業で移行をしていては膨大な時間がかかります。
そこで効率的に移行するため、TypeScript のコードを Abstract Syntax Tree (AST) などを用いて分析、Generative AI の力も借りつつ、
既存ロジックへの影響を最小限にしつつ、大規模にリファクタリングをした話をできればと思います。