js migration