Page MenuHomePhabricator

Adopt vue.js and drop tsx-dom
Open, HighPublic

Description

Background

UV has been incompatible with upstream tsx-dom since commit 2827a10 on 2022-08-21, and has used a forked version since a776858 (2023-03-30).

tsx-dom is also incompatible with many popular react-based component libraries, such as MDC, leading to lots of technical debt regarding manually implementing MDC elements (see T348405). tsx-dom may also be confusing to users who want to add their own styles to UV.

Action

We are adopting vue.js instead of using tsx-dom. This will require rewrites of significant parts of the codebase, but will reduce our bundle size, since we will be using the vue.js version bundled with mediawiki.