Page MenuHomePhabricator

Add Vue tooling and scaffolding for GrowthExperiments
Closed, ResolvedPublic


From parent task:

Setup (add Vue.js as a dependency in our extension.json, install Vue dev tools for testing, make sure linting works with the new code, etc.)
Architecture proof of concept (decide and test what's the best way to "plug" Vue.js, create a main app or several, etc)

Since adding Vue as a dependency is a module specific configuration rather than project-wide, module-agnostic requirements for this task fit better. We can add Vue and other dependencies like Codex per module once we start migrating them. Scaffolding in a generic way is complicated for the variety of UI and modules we have. See related task T297763: Migration of Mentor dashboard modules to Vue for a module proof of concept.

Growth Experiments Vue global settings:

  • Jest test framework setup
  • Lint rules updates if needed

Event Timeline

kostajh changed the task status from Open to In Progress.Jan 31 2022, 10:14 AM

Change 758475 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] Setup vue unit tests with jest

@DMburugu , is this task currently deprioritized? Should it be moved outside of the Current Sprint board?

@MShilova_WMF this task is part of our "weekly 10% time tasks" dedicated to maintenance. It's an ongoing work for T296646: [Epic] Migration of front-end modules to Vue.js components. It's now ready for review.

The setup is ready for review now. There's a new module placeholder directory under modules/ext.growthExperiments.MentorDashboard to place the eslint configuration for Vue code. Jest config and setup have been added. There's a dummy.test.js using jest API to test it works in the CI.

kostajh triaged this task as High priority.May 12 2022, 8:58 AM

I've +2'ed the patch, this is done. Nice work @Sgs!

Change 758475 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Vue migration: setup linters and jest unit tests