airbnb/ts-migrate

A tool to help migrate JavaScript code quickly and conveniently to TypeScript

TypeScript

5,621

205 commits

updated Jan 22, 2026

See the code

README

ts-migrate

ts-migrate is a tool for helping migrate code to TypeScript. It takes a JavaScript, or a partial TypeScript, project in and gives a compiling TypeScript project out.

ts-migrate is intended to accelerate the TypeScript migration process. The resulting code will pass the build, but a followup is required to improve type safety. There will be lots of // @ts-expect-error, and any that will need to be fixed over time. In general, it is a lot nicer than starting from scratch.

ts-migrate is designed as a set of plugins so that it can be pretty customizable for different use-cases. Potentially, more plugins can be added for addressing things like improvements of type quality or libraries-related things (like prop-types in React).

Plugins are combined into migration configs. We currently have two main migration configs:

  • for the main JavaScript → TypeScript migration
  • for the reignore script

These configs can be moved out of the default script, and people can add custom configs with a different set of plugins for their needs.

You can find instructions on how to install and run ts-migrate in the main package. If you find any issues or have ideas for improvements, we welcome your contributions!

Check out the blog post about ts-migrate!

Published Packages

Unpublished Packages

FolderDescription
packages/ts-migrate-examplebasic example of usage of the ts-migrate-server with a writing a custom simple plugin

Authors

License

MIT, see LICENSE for details.

codemod
javascript
migration
typescript

airbnb/ts-migrate

A tool to help migrate JavaScript code quickly and conveniently to TypeScript

TypeScript

5,621

205 commits

updated Jan 22, 2026

See the code

README

ts-migrate

ts-migrate is a tool for helping migrate code to TypeScript. It takes a JavaScript, or a partial TypeScript, project in and gives a compiling TypeScript project out.

ts-migrate is intended to accelerate the TypeScript migration process. The resulting code will pass the build, but a followup is required to improve type safety. There will be lots of // @ts-expect-error, and any that will need to be fixed over time. In general, it is a lot nicer than starting from scratch.

ts-migrate is designed as a set of plugins so that it can be pretty customizable for different use-cases. Potentially, more plugins can be added for addressing things like improvements of type quality or libraries-related things (like prop-types in React).

Plugins are combined into migration configs. We currently have two main migration configs:

  • for the main JavaScript → TypeScript migration
  • for the reignore script

These configs can be moved out of the default script, and people can add custom configs with a different set of plugins for their needs.

You can find instructions on how to install and run ts-migrate in the main package. If you find any issues or have ideas for improvements, we welcome your contributions!

Check out the blog post about ts-migrate!

Published Packages

Unpublished Packages

FolderDescription
packages/ts-migrate-examplebasic example of usage of the ts-migrate-server with a writing a custom simple plugin

Authors

License

MIT, see LICENSE for details.

codemod
javascript
migration
typescript

Project health

Overall

4.5/10

Maintained

0/10

Code review

6/10
OpenSSF Scorecard

Latest release

0.1.35 · Nov 8, 2022

Releases this year

0

Significant stargazers

(top 24 of 62)

Luke Karrys

718 followers · starred Aug 2020

Jamie Kyle

8,906 followers · starred Aug 2020

silverwind

670 followers · starred Nov 2023

Corbin Crutchley

1,114 followers · starred Jan 2025