The author documents migrating ts-loader (54M downloads/month) to support TypeScript 7.1, which is the first Go-based TypeScript version to ship with an API. Using GitHub Copilot and Claude as primary drivers, the migration involved dropping the old TypeScript API, updating tests across Linux/Mac/Windows (using Claude via GitHub Actions for Windows), replacing chalk with picocolors, and switching from typescript-eslint to oxlint-tsgolint due to TypeScript 7.1 incompatibility. Key limitations remain: transpileOnly, custom transformers, and project references aren't yet supported as the APIs don't exist yet. The port targets ts-loader v10, bumping minimum Node to 22 and dropping Happypack support. Shipping is contingent on TypeScript 7.1's official API release.
Table of contents
Porting with AI The initial port Dropping support for the old API Getting the comparison tests passing Giving Claude a Windows avatar in GitHub Actions Goodbye chalk , hello picocolors Goodbye typescript-eslint , hello oxlint-tsgolint What is still to come? How good is the code? When do we ship? 70.6K Impressions5 Comments