Go to file
Lucas Werkmeister e718f53d97 search: Adapt to Wikibase instead of hard-coding wikidatawiki
Since Wikibase change I01afb269d6 (commit ee4c555878), Wikibase has a
copy of the “is wikidatawiki” condition to temporarily continue
supporting the old search on Vector 2022. As suggested by Michael there,
we can change the condition here to avoid having the same check in two
places, and instead detect whether Wikibase loaded the legacy search
ResourceLoader module (which means we shouldn’t install the new search)
or not (in which case Wikibase Repo is either not installed at all, or
it’s providing a custom wgVectorSearchClient to support the new search).

With this change in place, once Wikibase is ready to support the new
search everywhere (including on Wikidata proper), we only need to change
the condition in one place (in Wikibase), and can then clean up the code
here at any later time.

Bug: T316093
Change-Id: I0aa0e432181b14cdb7b92e2550b78f2d7d48094d
2022-12-02 17:13:18 +01:00
.phan Upgrade to newer phan 2019-03-20 19:37:59 -07:00
.storybook Replace incorrectly mw- prefixed classes 2022-10-25 10:28:31 -05:00
dev-scripts [Storybook] Add Header component 2021-09-14 18:33:10 +00:00
i18n Localisation updates from https://translatewiki.net. 2022-12-02 09:12:31 +01:00
includes Convert LimitedWidthRequirement to UserPreferenceRequirement 2022-12-01 16:31:47 -07:00
resources search: Adapt to Wikibase instead of hard-coding wikidatawiki 2022-12-02 17:13:18 +01:00
screenshots Add skin screenshot for the installer 2017-08-11 15:37:34 -04:00
skinStyles Restore z-index of mw-notification-area 2022-12-01 01:09:11 +00:00
stories [Refactor] Rethink Dropdown component 2022-11-29 17:33:03 -08:00
tests Convert LimitedWidthRequirement to UserPreferenceRequirement 2022-12-01 16:31: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
bundlesize.config.json Update TOC to use PinnableHeader 2022-11-15 16:37:50 -06:00
CODE_OF_CONDUCT.md build: Updating mediawiki/mediawiki-codesniffer to 22.0.0 2018-09-04 01:45:34 +00:00
composer.json Allow composer/installers plugin 2022-07-18 19:24:19 -07: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
jest.config.js Limited width toggle 2022-11-01 16:29:43 +00:00
jest.setup.js Limited width toggle 2022-11-01 16:29:43 +00:00
jsdoc.json Move REST search client out of WVUI into Vector 2022-02-10 10:17:10 -06:00
package-lock.json build: Upgrade Codex from 0.1.0-alpha.10 to 0.2.2 2022-10-26 10:47:51 -04:00
package.json [Technical] Split up Menu.template, restrict decoratePortletData to legacy Vector 2022-11-02 21:22:50 +00:00
README.md End migration mode 2022-03-23 16:46:42 +00:00
skin.json Generalize Pinnable functionality to not be limited to dropdowns, make Pinnable templates composable 2022-11-30 17:17:20 -06: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

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.