Page MenuHomePhabricator

[MEX] 🚧 Refactor the components logic in VueNoScriptRendering.php
Closed, ResolvedPublic

Description

In the task T409827: [MEX] Let wbui2025 server-side rendering serve <style>s of .vue files to no-JS clients, a new factory view/src/Wbui2025ComponentsFactory.php class was introduced to separate the logic of listing the Vuejs components.

The logic related to the components is still lives in the class extensions/Wikibase/view/src/VueNoScriptRendering.php, which violates the separation of concerns concept in that class. which makes it a mixed functionality (it does a lot of things).

The refactoring already started in the mentioned task but it was targeting the necessary logic which lies within the scope of the task .

Acceptance Criteria:
  • Separate the logic/functions related to the Vue components into their related class (exmple: Wbui2025ComponentsFactory.php).
  • The moved functionality should work as before without any interruptions.
  • As a result, the moved logic should now be covered with proper tests.
  • No performance regression should happen.

Event Timeline

mahmoud.abdelsattar.wmde renamed this task from [MEX] Refactor the components logic in VueNoScriptRendering.php to [MEX] 🚧 Refactor the components logic in VueNoScriptRendering.php.Jun 19 2026, 7:12 AM
mahmoud.abdelsattar.wmde moved this task from Incoming to The Backlog on the Wikidata-Omega board.

Change #1304811 had a related patch set uploaded (by Sadiya.mohammed13; author: Sadiya.mohammed13):

[mediawiki/extensions/Wikibase@master] Refactor the components logic in VueNoScriptRendering.php

https://gerrit.wikimedia.org/r/1304811

AudreyPenven_WMDE subscribed.

@mahmoud.abdelsattar.wmde since you wrote this ticket and have a clearer idea of what's meant with the refactor, can you take over the review?

Change #1304811 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Refactor the components logic in VueNoScriptRendering.php

https://gerrit.wikimedia.org/r/1304811