Page MenuHomePhabricator

[EPIC] [QS-GUI] Modernize the Query Service Client into an updated tech stack
Open, Needs TriagePublic

Description

Context

As of July 2024, and after some time of not seeing active development work, the Query Service GUI technology stack has become outdated or incompatible with contemporary library and framework versions. In order to be able to maintain and support the Query Service GUI, we need to update or replace our jQuery based client side technical stack as well as our build system to more modern and better support technologies.

Main Objectives

  • Query Service GUI's client side libraries / SPA framework is updated from jQuery to more up-to-date libraries / framework (probably Vue.js)
  • Query Service GUI utilizes the Codex design system to uphold consistency with other Wikimedia projects
  • Query Service GUI no longer uses grunt as it's build system, potentially update to a system more compatible with Vue.js

Mitigated Risks

  • Vulnerabilities related to usage of old technology are easier to solve
  • Using a more modern framework, could allow us to maintain and modify the system more easily

Potential Tasks

  1. Rewrite Query Service GUI in Vue
  2. Update codebase to use ES6+ APis
  3. Migrate from Grunt to a newer build system