Service·Vue 2 → Vue 3·Live apps, no feature freeze

Vue 2 to Vue 3 migration, without freezing your roadmap

Vue 2 reached end of life on December 31, 2023, so it no longer gets security fixes. If your product still runs on it, every dependency update gets harder. Our senior engineers inventory your app, plan the order of work and move it to Vue 3 in small pull requests, while your team keeps shipping features.

  • Vue 2.6 / 2.7 → Vue 3
  • @vue/compat
  • Vue Router 4
  • Vuex → Pinia
  • Vue CLI → Vite
  • Vuetify 3 · Element Plus
  • TypeScript
$1,499
Part-time senior engineer
per month · 80 hours
$2,499
Full-time senior engineer
per month · 160 hours
48 h
Typical start
in most cases
You approve
Meet the engineer first
before onboarding

Signs your Vue 2 app costs more every month

A dependency you can't upgrade

A security fix lands in a package whose next version needs Vue 3. You either stay on the old version or patch it yourself.

A UI library with no easy path

Vuetify 2, Element UI and BootstrapVue apps need a new major version or a different library. That is often the biggest share of the work.

Patterns Vue 3 removed

Filters, the $on event bus, Vue.extend and plugins that write to Vue.prototype all have to change. In an older codebase they hide in every corner.

A migration branch that stalled

Someone fixed the first hundred errors on a branch, then main moved on without it. Now the branch is months behind and nobody wants to merge it.

Hiring around an old stack

Engineers who join today learned Vue 3 and the Composition API. Every Vue 2-only pattern is something you have to teach them.

Slow, fragile builds

Vue CLI and webpack 4 setups are slow to build and hard to upgrade. Moving to Vite usually belongs in the same project.

What we check first

  1. Vue, Vue Router, Vuex and build tool versions
  2. Every dependency: has a Vue 3 version, needs a replacement, or blocks
  3. Filters, event buses, mixins and global prototype plugins
  4. Custom directives, render functions and functional components
  5. Test coverage on the flows that make you money
  6. How you release today, and how you roll back

From first call to handover

01

Inventory

We read the repository before we promise anything. Every dependency gets a status, every removed Vue 2 API gets counted, and we note where tests are missing on critical flows.

You get
  • A dependency matrix
  • A list of blockers, worst first
  • An effort range based on your code
02

Plan

We pick the path that fits your app: in place with the migration build, a Vue 2.7 stepping stone, or one app or section at a time. The plan sets the order of work and how each step can be rolled back.

You get
  • A written migration plan
  • Risks and how we contain them
  • What your team keeps doing meanwhile
03

Prepare on Vue 2

Much of the work can land before the switch. We remove filters and the event bus, move to Vite and swap blockers while the app still runs on Vue 2, so the version change itself stays small.

You get
  • Small PRs merged to your main branch
  • Features still shipping
  • Fewer surprises at switch time
04

Switch to Vue 3

We move to Vue 3, using @vue/compat where it helps, and work through the compatibility warnings until the migration build can come out. UI library upgrades happen here or just before.

You get
  • A Vue 3 build in your normal release process
  • A warning log that trends to zero
  • The compat build removed at the end
05

Validate, release, hand over

We check the critical flows before each release and ship in stages you control. At the end your team gets a walkthrough of what changed and why.

You get
  • A regression checklist for your app
  • Release notes per stage
  • Handover notes and decision records

What you have at the end

Dependency matrix

Every package with its Vue 3 status: upgrade, replace or remove, and the version you end up on.

Migration plan

The order of work, the risks, what can ship on Vue 2 first, and how each stage rolls back.

Pull requests in your repo

Reviewable PRs in your Git host, following your branching and review rules. No code dump at the end.

Compat warning log

Which migration build warnings remain at each stage, so progress is visible and the compat build can be removed.

Regression checklist

The flows we checked before each release, written down so your team can repeat them.

Handover notes

Decision records for the choices we made, such as Pinia or Vuex 4, and which UI library replaced which.

Pick the model that fits the work

Monthly billing at a flat rate. No onboarding fees, no minimum commitment, and you can pause or cancel anytime. Our hours overlap with US and EU time zones.

Part-Time Senior Vue Engineer

$1,499/ month
80 hours per month

Migration help next to your team. We take the blockers and the risky parts, and your developers keep shipping features.

Full-Time Senior Vue Engineer

$2,499/ month
160 hours per month

One senior engineer owns the migration end to end, from the inventory to removing the compat build.

Dedicated Vue Squad

Custom
Several engineers + a lead

For large apps or several apps at once, so the migration and your roadmap move in parallel.

Short engagement

Scoped
Add-on or one-off

Vue 2 → Vue 3 migration planning on its own: the inventory and plan, which your team then carries out.

See full pricing and what every plan includes →

When we're not the right call

We'd rather tell you now than sell you the wrong engagement.

  • Your Vue 2 app is small, stable and rarely changes. Staying on it a while longer, with paid extended support, can cost less than migrating now.
  • You plan to rebuild in another framework anyway. Then skip Vue 3 and move once, to the target.
  • Your own team knows the codebase and has the time. A short planning engagement may be all you need from us.
  • You need a fixed price before anyone has read the code. We estimate after the inventory, not before.

Questions buyers ask us

How long does a Vue 2 to Vue 3 migration take?

It depends on the size of the app, how many dependencies have no Vue 3 version and how much is covered by tests. A small, well-tested app can take weeks. A large product with an old UI library can take months. We give you a range after the inventory, based on your code.

Can we keep shipping features during the migration?

Yes, and we plan for it. Most preparation lands on Vue 2 in small pull requests, and the switch itself is kept short. Your team keeps working on main the whole time.

Should we use the Vue 3 migration build?

Often, yes. @vue/compat lets a Vue 3 app run most Vue 2 code while you fix the warnings one by one. It is a temporary tool, so we remove it at the end. Nuxt 3 cannot use it, so Nuxt 2 apps follow a different path.

Do we have to move from Vuex to Pinia?

Not at the same time. Vuex 4 works with Vue 3, and Pinia is the store the Vue team now recommends. We usually switch Vue first, then move stores to Pinia one module at a time.

Is it safe to keep running Vue 2?

Vue 2 reached end of life on December 31, 2023 and gets no more fixes from the Vue team. Your app will keep working, but each new security advisory in Vue 2 or its ecosystem becomes your problem to patch.

What does a migration cost with VueSquad?

You pay a flat monthly rate for the engineers on it: $1,499 a month part-time or $2,499 full-time, or a custom price for a squad. The inventory tells you how many months to expect. We don't quote a fixed price before we've seen the code.

Get started

Still on Vue 2?

Tell us your Vue version, your UI library and roughly how big the app is. A senior engineer will reply with how we'd approach it and what to check first.

Matched in 24 hours·48 hours free on every plan·No long-term contract