WVUI is now built as a //standard//, universally usable NPM package. This task is to start using it in Vector for Vue.js search.
The Vue.js runtime can be built in directly until available as a runtime module in Core. The initial integration can use a WVUI development pre-release (`npm i -D @wikimedia/wvui@next`).
== Acceptance criteria
- [] The patch is merged to the feat/search branch.
- [] WVUI JavaScript is consumable.
- [] WVUI CSS is consumable.
- [] The new client search experience is distinct from the old. It should be possible to choose between them once a configuration is available. This patch should leave the Legacy experience intact but provide any ResourceLoader modules needed for the new experience.
- [] An NVM configuration is added that matches [[ https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/MobileFrontend/+/master/.nvmrc | MobileFrontend ]] (yes, it's a one line file).
- [] A new Vue instance is created that mounts a component (any component).
- [] Linters and TypeScript configuration are updated as needed. Spawn new tasks if necessary.
- [] [[ https://www.mediawiki.org/wiki/Vue.js | The wiki ]] is updated to describe the steps needed to integrate a pre-compilation build of WVUI. It should include at least a checklist of what's needed that could be followed by another skin or extension such as NearbyPages.
== Developer notes
- Use Popups and MobileFrontend as a reference implementation.
- Avoid too much scope creep and open new tasks as needed.
- [[ https://gerrit.wikimedia.org/r/c/mediawiki/skins/Vector/+/610942 | Extremely hacky example patch ]].