Implement custom Vue.js 3 compiler to simplify migration
What does this MR do and why?
This MR is part of vue3-migration
As a part of vue3-migration and respecting iteration value we want to run migration not introducing avoidable changes in codebase (in other words we do not want to split code for "vue.js 2" and "vue.js 3" as much as possible Vue.js 3 templates have two major differences compared to Vue.js 2
This MR addresses first point
Additionally it introduces temporary workaround for https://github.com/vuejs/core/issues/7725 which also affects us
How to set up and validate locally
- run
VUE_VERSION=3 yarn webpack. Compaining error messages should be related only to<template functional>which will be addressed in follow-up
Additionally, this should results in less tests failing due to compiler error
Here comes comparison of running VUE_VERSION=3 yarn jest with and without this MR
(note: if you want to reproduce these stats locally you will need Introduce markRaw helper (!114063 - merged) merged, otherwise tests with Vue.js 3 will be stuck in infinite loop)
| Without custom compiler | With this MR | ||
|---|---|---|---|
|
|
1196 |
|
|
|
|
6708 |
|
This is fine! We have more test suites being run, so more failing tests are ok and expected |
|
|
35400 |
|
|
|
|
42212 |
|
More tests are run because compiler is not failing |
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.