Illya Klymov activity https://gitlab.com/xanf 2026-03-17T21:39:23Z tag:gitlab.com,2026-03-17:5214855591 Illya Klymov pushed to project branch xanf/infection-scanner-test at GitLab.org / GitLab 2026-03-17T21:39:23Z xanf Illya Klymov [email protected]

Illya Klymov (895baa2d) at 17 Mar 21:39

Fix fun vue-virtual-scroller-vue3 issue

tag:gitlab.com,2026-03-17:5214416817 Illya Klymov deleted project branch xanf-hybrid-harness-v2 at GitLab.org / GitLab 2026-03-17T19:16:20Z xanf Illya Klymov [email protected]

Illya Klymov (1d1f6e03) at 17 Mar 19:16

tag:gitlab.com,2026-03-17:5214415427 Illya Klymov pushed to project branch master at GitLab.org / GitLab 2026-03-17T19:15:53Z xanf Illya Klymov [email protected]

Illya Klymov (bf643b68) at 17 Mar 19:15

Merge branch 'xanf-hybrid-harness-v2' into 'master'

... and 1 more commit

tag:gitlab.com,2026-03-17:5214413410 Illya Klymov accepted merge request !226978: Add ?vue3 infection plugin for iterative Vue 3 migration in Vite at GitLab.org / GitLab 2026-03-17T19:15:11Z xanf Illya Klymov [email protected]

What does this MR do and why?

Introduces a Vite plugin that enables per-entrypoint iterative Vue 3 migration. By appending ?vue3 to a JS import specifier, the entire dependency subtree becomes "infected" — Vue ecosystem packages (vue, vuex, vue-router, vue-apollo, etc.) are redirected to their Vue 3 compat wrappers, while non-Vue imports get separate module instances to ensure isolation.

This allows migrating individual page entrypoints to Vue 3 one at a time without changing the global VUE_VERSION environment variable, enabling gradual adoption.

How to set up and validate locally

  1. Ensure you have a working GDK with Vite enabled
  2. Add ?vue3 to any JS entrypoint import, e.g.:
    import initFeature from 'ee/some_feature/bundle?vue3';
  3. Run gdk start and navigate to the page using that entrypoint
  4. Open browser DevTools Network tab — infected modules should have ?vue3= in their URLs
  5. Vue ecosystem imports (vue, vuex, etc.) should resolve to vue3compat/ wrappers

Known issues:

  • vite production build (will be addressed in follow-up MR)
  • this is as dumb as possible - it will duplicate every possible module it discovers. this is intentional
  • HMR. It might or might not work 🌚

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

tag:gitlab.com,2026-03-17:5214186127 Illya Klymov commented on merge request !226978 at GitLab.org / GitLab 2026-03-17T18:05:43Z xanf Illya Klymov [email protected]

This is a low-risk as anything non-prod

@markrian just curious where you saw that attribute fall-through issue? I would like to think how I can detect that

tag:gitlab.com,2026-03-17:5213581555 Illya Klymov commented on merge request !226978 at GitLab.org / GitLab 2026-03-17T15:39:09Z xanf Illya Klymov [email protected]

I have no strong preference on this one, so open to MR, just because version wobbling should be now way more rare

tag:gitlab.com,2026-03-17:5213522449 Illya Klymov commented on merge request !226978 at GitLab.org / GitLab 2026-03-17T15:26:25Z xanf Illya Klymov [email protected]

@markrian pushed fix for ~ alias - switched to relative paths. Bundling is hard (extremely hard, but that is spoilers for next 8 MRs in chain)

tag:gitlab.com,2026-03-17:5213520502 Illya Klymov pushed to project branch xanf-hybrid-harness-v2 at GitLab.org / GitLab 2026-03-17T15:26:03Z xanf Illya Klymov [email protected]

Illya Klymov (1d1f6e03) at 17 Mar 15:26

Switch to relative imports in vue.js compat file

tag:gitlab.com,2026-03-17:5213507549 Illya Klymov commented on merge request !226978 at GitLab.org / GitLab 2026-03-17T15:23:52Z xanf Illya Klymov [email protected]

@mrincon nope. VUE_COMPILER_VERSION=3 + VUE_VERSION=2 is invalid config, that will never work

tag:gitlab.com,2026-03-17:5213471391 Illya Klymov commented on merge request !226978 at GitLab.org / GitLab 2026-03-17T15:16:46Z xanf Illya Klymov [email protected]

@mrincon hybrid does not make sense. As soon as we opt-in there should be no way to disable ?vue3 imports in 2 mode

tag:gitlab.com,2026-03-17:5213465288 Illya Klymov commented on merge request !226978 at GitLab.org / GitLab 2026-03-17T15:15:34Z xanf Illya Klymov [email protected]

@markrian kinda proud to hear that 😆

It's weird I'm breaking vue_version 3 mode, I shouldn't. I'll check - file ~/vue_shared/translate.js is not by any means touched by this plugin

tag:gitlab.com,2026-03-17:5213446246 Illya Klymov pushed to project branch xanf/infection-scanner-test at GitLab.org / GitLab 2026-03-17T15:12:09Z xanf Illya Klymov [email protected]

Illya Klymov (4aa90c54) at 17 Mar 15:12

Proper infection chains

tag:gitlab.com,2026-03-17:5212597707 Illya Klymov pushed to project branch xanf/infection-scanner-test at GitLab.org / GitLab 2026-03-17T12:24:15Z xanf Illya Klymov [email protected]

Illya Klymov (9651abd0) at 17 Mar 12:24

Temporary diff_row fix

tag:gitlab.com,2026-03-17:5211927685 Illya Klymov pushed to project branch 372225-remove-running-pending-timers-after-each-example at GitLab.org / GitLab 2026-03-17T09:57:33Z xanf Illya Klymov [email protected]

Illya Klymov (30195848) at 17 Mar 09:57

Remove running pending timers in global afterEach

... and 1386 more commits

tag:gitlab.com,2026-03-17:5211660306 Illya Klymov pushed to project branch xanf/infection-scanner-test at GitLab.org / GitLab 2026-03-17T09:01:09Z xanf Illya Klymov [email protected]

Illya Klymov (4a6d7dd4) at 17 Mar 09:01

Pinia instance sync test

... and 1 more commit

tag:gitlab.com,2026-03-16:5209917118 Illya Klymov pushed to project branch xanf/infection-scanner-test at GitLab.org / GitLab 2026-03-16T20:03:38Z xanf Illya Klymov [email protected]

Illya Klymov (73f31987) at 16 Mar 20:03

Temporary fix virtual scroller stuff & pinia

tag:gitlab.com,2026-03-16:5209167279 Illya Klymov pushed to project branch xanf/infection-scanner-test at GitLab.org / GitLab 2026-03-16T16:19:00Z xanf Illya Klymov [email protected]

Illya Klymov (032f96b2) at 16 Mar 16:19

Test run changes in vue3 mode

... and 1 more commit

tag:gitlab.com,2026-03-16:5209167240 Illya Klymov pushed to project branch xanf/infection-scanner-5-webpack-plugin at GitLab.org / GitLab 2026-03-16T16:19:00Z xanf Illya Klymov [email protected]

Illya Klymov (1ccccc2c) at 16 Mar 16:19

Integrate infection scanner with webpack plugin

tag:gitlab.com,2026-03-16:5208895758 Illya Klymov commented on merge request !226978 at GitLab.org / GitLab 2026-03-16T15:21:21Z xanf Illya Klymov [email protected]

Let's keep it for now. Since this terminology (I hope) will not last long