Migrations

Migrate JavaScript to TypeScript with behavior in view.

Move JavaScript to TypeScript with checks for both types and runtime behavior. Zerg works through the conversion in reviewable steps and improves the migration tools as failures reveal edge cases.

What the work produces

21 days

Durable’s key legacy module agent run, covered in our case study

Small steps

Changes your engineers can review

Behavior

Tests check the result in the application

The problem

The details are where the work lives.

The syntax changes are often straightforward. Preserving behavior across a real application is harder. Edge cases, old assumptions, and hidden dependencies turn migrations into a long-running drain on engineering time.

How we approach it

Build the checks into the work.

  1. 01

    Capture the current behavior, choose the TypeScript rules, and identify the module boundaries and critical flows to test.

  2. 02

    Transform a bounded part of the code, run checks in the application, and repair the failures before moving on.

  3. 03

    Reuse and refine migration rules and test harnesses as the work reaches the next module.

Who it helps

Engineering teams modernizing an existing product while continuing to ship and support it.

The systems involved

TypeScriptframeworkslegacy coderefactors

Migrations

Talk through your requirements with us.