DEV Community

Cover image for I built a Vue-to-React migration tool that writes native React code for you
Ryan John
Ryan John

Posted on

I built a Vue-to-React migration tool that writes native React code for you

I’d like to share my open-source project VuReact — a compiler toolchain for migrating from Vue to React, while also enabling a “write React with Vue syntax” workflow.

🤔 Why I Built It

I love Vue’s <script setup>, Composition API, and its intuitive mental model.

But many projects still require React.

Until now, the options were usually:

  • Rewrite everything manually
  • Rely on unreliable syntax converters or AI rewrites
  • Run Vue and React side-by-side at runtime and deal with the resulting complexity

So I built VuReact to explore a cleaner and more maintainable migration approach.

✨ Key Features

  • Pure compile-time output
    Analyzes Vue source code and generates statically optimized, standard React code — no runtime wrapper or compatibility layer required.

  • Semantic-level transformation
    Deeply understands Vue semantics and supports <script setup>, components, slots, reactivity (ref, reactive, computed, etc.), event emitting, and more.
    The generated React code remains readable and maintainable.

  • Progressive migration
    Convert files or modules incrementally instead of rewriting everything at once.

  • Native-like developer experience
    Includes both build and watch modes, with a workflow similar to Vite.

👍 Use Cases

  • Teams migrating from Vue 3 to React incrementally without starting from scratch
  • Developers who prefer Vue’s mental model but need to work in React ecosystems
  • Backend developers who find Vue easier and more intuitive, and don’t want to learn two frontend frameworks
  • Projects that need fully native React output without carrying both Vue and React runtimes

Showcase (Vue project on left → generated React app on right):
VuReact walkthrough

Repo: https://github.com/vureact-js/core

Docs: https://vureact.top/en

Playground: https://codesandbox.io/p/github/vureact-js/example-customer-support-hub/master?import=true

Top comments (0)