Version of vector used on wiki.jon-e.net
Go to file
Roan Kattouw ce77018b7c Search: Use Codex and Vue 3 instead of WVUI and Vue 2.
[Visual changes]
This should result in 9 visual regression failures relating to
increased height of search results and loading bar

[More details about change]
- Migrate search app from Vue 2 to Vue 3; update tests
  accordingly
- Remove dependence on WVUI and use Codex instead, via the special
  `@wikimedia/codex-search` package
- Update search app to use CdxTypeaheadSearch, which no longer
  takes in props related to the search client or fetch start/end
  instrumentation. Instead, directly use the restSearchClient
  and call fetch start/end events in the search app.
- Handle hideDirection in the search app/API response formatting
  code, not within the TypeaheadSearch component
- Handle showing/hiding the search button in the app
- Move the WVUI URL generator into Vector
- Update server-rendered search box styles to match design updates
  included with CdxTypeaheadSearch
- Replace references to WVUI with references to Codex
- Update values of various LESS variables to match Codex, and update
  searchBox styling to prevent jankiness when the searchBox is replaced
  with the Codex TypeaheadSearch component

The VectorWvuiSearchOptions config variable has been maintained and
will be updated to a code-agnostic name in a future patch.

Bug: T300573
Bug: T302137
Bug: T303558
Bug: T309722
Bug: T310525
Co-Authored-By: Anne Tomasevich <atomasevich@wikimedia.org>
Change-Id: I59fa3a006d988b14ebd8020cbd58e8d7bedbfe01
2022-07-18 12:54:47 -07:00
.phan Upgrade to newer phan 2019-03-20 19:37:59 -07:00
.storybook Updates for core temp user autocreation feature 2022-04-28 20:32:53 +00:00
dev-scripts [Storybook] Add Header component 2021-09-14 18:33:10 +00:00
i18n Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
includes Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
resources Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
screenshots Add skin screenshot for the installer 2017-08-11 15:37:34 -04:00
skinStyles Introduce media query breakpoint variables and replace all media query usage with new variables 2022-06-28 23:19:52 +00:00
stories Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
tests Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
.eslintignore a11y: create report in LOG_DIR or 'a11y/' 2022-05-05 11:46:13 -05:00
.eslintrc.json [eslint] Disable mediawiki/class-doc 2022-02-11 16:31:33 +00:00
.eslintrcEs6.json Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
.gitignore build: Updating dependencies 2022-05-20 11:41:53 +00:00
.gitreview Use track=1 instead of defaultbranch=master in .gitreview 2016-10-24 17:30:32 -07:00
.nvmrc Update Node version 2022-03-15 14:26:04 -07:00
.phpcs.xml build: Updating mediawiki/mediawiki-codesniffer to 33.0.0 2020-11-17 23:33:50 +01:00
.stylelintignore Setup jest unit tests and add basic test cases for AB.js and App.vue 2022-01-31 20:50:33 +00:00
.stylelintrc.json build: Update stylelint-config-wikimedia to 0.13.0 2022-05-16 17:44:12 +01:00
.svgo.config.js build: Update 'svgo' to latest v2.8.0 & re-crush images 2022-02-28 00:00:05 +00:00
CODE_OF_CONDUCT.md build: Updating mediawiki/mediawiki-codesniffer to 22.0.0 2018-09-04 01:45:34 +00:00
COPYING Use the plain-text GPL and fix 'license-name' to match SPDX conventions 2015-01-29 17:04:29 +01:00
Doxyfile docs: Generate documentation with Doxygen 2020-02-24 16:49:38 +00:00
README.md End migration mode 2022-03-23 16:46:42 +00:00
bundlesize.config.json [Grid] Vector 2022 layout uses CSS grid 2022-06-07 17:23:08 +00:00
composer.json build: Updating composer dependencies 2022-05-21 19:16:03 +00:00
jest.config.js Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
jest.setup.js Move REST search client out of WVUI into Vector 2022-02-10 10:17:10 -06:00
jsdoc.json Move REST search client out of WVUI into Vector 2022-02-10 10:17:10 -06:00
package-lock.json Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
package.json Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
skin.json Search: Use Codex and Vue 3 instead of WVUI and Vue 2. 2022-07-18 12:54:47 -07:00
tsconfig.json Setup jest unit tests and add basic test cases for AB.js and App.vue 2022-01-31 20:50:33 +00:00

README.md

Vector Skin

Installation

See https://www.mediawiki.org/wiki/Skin:Vector.

Configuration options

See skin.json.

Development

Node version

It is recommended to use nvm to use the version of node defined in .nvmrc during local development. This ensures consistency amongst development environments.

Coding conventions

We strive for compliance with MediaWiki conventions:

https://www.mediawiki.org/wiki/Manual:Coding_conventions

Additions and deviations from those conventions that are more tailored to this project are noted at:

https://www.mediawiki.org/wiki/Reading/Web/Coding_conventions

Pre-commit tests

A pre-commit hook is installed when executing npm install. By default, it runs npm test which is useful for automatically validating everything that can be in a reasonable amount of time. If you wish to defer these tests to be executed by continuous integration only, set the PRE_COMMIT environment variable to 0:

$ export PRE_COMMIT=0
$ git commit

Or more succinctly:

$ PRE_COMMIT=0 git commit

Skipping the pre-commit tests has no impact on Gerrit change identifier hooks.

Hooks

See hooks.txt.