When Vue 3 was initially released, I tried to muddle through upgrading from Vue 2 but couldn’t really tell if I was doing it right and eventually put it aside. But the new migration build released with v3.1 changed all that and this overview from This Dot Labs is great.
The only things I would add to their comprehensive guide are: 1) if you’re using ESLint you may need to update your
eslint-plugin-vue version and config and 2) if you’re using Jest for tests this Stack Overflow answer might be helpful.
Keep an eye out for Vue 3 support for the Vue Inner Image Zoom component!