Although the first option sounds promising, components lose their styles when we share web components made on Vue 2 (See
example). On the other hand, a compatibility package just works and it’s doable if we implemented it from top to bottom in our architecture, otherwise, we end up exposing Vue 3 components inside Vue 2 repositories which isn’t allowed.