As far as I can tell, Vue 2 and 3 are not compatible, i.e. you cannot bundle a Vue 2 component using Rollup and then consume it from a Vue 3 component. This means component libraries that document their components using Vuepress won't be able to upgrade to Vue 3 until Vuepress supports it.
I'm not super familiar with Vuepress, but I'm happy to help. The reason I'm asking is because I would like to upgrade a Vue project I work on to Vue 3 as soon as it's released, but that entails upgrading its dependencies first. One of those dependencies is a component library that uses Vuepress for its documentation, so they can't upgrade until Vuepress does.
Is there an existing branch where work on Vue 3 compatibility has been started? If not, can one be created so we can open pull requests to it?
As far as I can tell, Vue 2 and 3 are not compatible
Where did you read this?
If you read this guide you will find following snippets:
We've gone to great lengths to ensure most of the API is the same and the core concepts haven't changed.
Possibly the biggest change is our new Composition API, which is entirely additive- the previous Options API will continue to be supported, as the Composition API is an advanced feature.
@gabrielwillemann I didn't read it, I've tried it. The APIs for .vue files themselves might be somewhat similar, but this is not at all true for compiled files. The compiled render functions have entirely different APIs, for example.
There are also 25 official breaking changes in Vue 3: https://github.com/vuejs/rfcs/issues?q=is%3Aclosed+label%3A3.x+label%3A%22breaking+change%22+
Some of these, like the functional components API, are impossible to make work in both Vue 2 and 3. Global mounting using createApp is another example of this.
I don't think any application or library of sufficient size (or maybe just any, period) will be able to support both Vue 2 and 3 simultaneously.
Another reason to upgrade!: https://github.com/vuejs/vue-test-utils-next/issues/171#issuecomment-669631152
@ulivz can we refresh the next branch so that it matches master, and then we can start opening PRs against it?
@vvanpo As of right now, we are currently seeing how the status of VitePress goes for Vue 3 support. Once that is more stable, we'll have more official announcements regarding Vue 3 support for VuePress. Hope this helps!
FYI, currently we have an experimental prototype for vue 3.
https://github.com/vuepress/vuepress-next
It's a entirely refactored version of vuepress, and may or may not be the next major version.
Now that Vue 3 is officially released, is there a timeline for when we might see this released?
Currently working on it.
You might see a better vuepress-next preview in this month. (so much commits have not pushed to the repo now)
Hey guys, vuepress-next is ready for preview!
https://github.com/vuepress/vuepress-next
It's still unstable, but core features have been finished now.
Feedback and contribution welcome!
Happy to announce that vuepress v2.0.0-alpha has been released!
Please move to https://github.com/vuepress/vuepress-next repo~
Most helpful comment
FYI, currently we have an experimental prototype for vue 3.
https://github.com/vuepress/vuepress-next
It's a entirely refactored version of vuepress, and may or may not be the next major version.