Go to file
Steph Toyofuku 3387ef3ee4 Add tests for ConfigHelper
This class is being used in both vector and minerva, and we are
currently depending on it working for our night mode rollout, so let's
add some test coverage!  Also fixed a small spacing issue in production
code that was bothering me lol

Note: these are not totally exhaustive - next steps would be to ensure
that the exclusions/inclusions work with arrays and not only single
elements, but hopefully this helps build some confidence ☺️

Change-Id: Iebea43eae6b1517fd778763db4f5db3b0fd9c30f
2024-03-27 16:49:39 -07:00
.phan Only show notification after CentralAuth autologin on Vector 2022 2023-08-30 08:53:53 -04:00
doc Merge "Vector - Rename the skin night mode classes to more readable classes" 2024-03-21 00:19:29 +00:00
i18n Localisation updates from https://translatewiki.net. 2024-03-27 08:20:01 +01:00
includes Add tests for ConfigHelper 2024-03-27 16:49:39 -07:00
resources Support legacy message box styles markup in JavaScript 2024-03-21 18:19:52 +00:00
screenshots
skinStyles Merge "Reapply "mw.notify: Limit width of overlay to max-width-page-container"" 2024-01-12 22:08:13 +00:00
tests Add tests for ConfigHelper 2024-03-27 16:49:39 -07:00
.eslintignore Avoid nullish coalescing operators 2023-11-06 11:10:44 -08:00
.eslintrc.json build: Use wikimedia/server for root folder eslint config 2023-09-04 18:13:32 +01:00
.gitignore Remove wmf-a11y dependency and tests 2023-08-17 12:38:55 -05:00
.gitreview
.nvmrc .nvmrc: Update now we're using Node 18 2024-01-11 10:51:48 -05:00
.phpcs.xml
.stylelintignore Remove Storybook and jsdoc and its dependencies 2023-04-04 21:27:45 +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: Use wikimedia/server for root folder eslint config 2023-09-04 18:13:32 +01:00
bundlesize.config.json Support legacy message box styles markup in JavaScript 2024-03-21 18:19:52 +00:00
CODE_OF_CONDUCT.md
composer.json build: Upgrade mediawiki/mediawiki-codesniffer to v43.0.0 2024-03-12 20:51:09 +01:00
COPYING
Doxyfile
jest.config.js Client preferences supports toggle switches 2024-01-19 12:56:27 -08:00
jest.setup.js build: Use wikimedia/server for root folder eslint config 2023-09-04 18:13:32 +01:00
package-lock.json build: Updating npm dependencies 2024-03-20 18:01:47 +00:00
package.json build: Updating npm dependencies 2024-03-20 18:01:47 +00:00
README.md Adds config flag documentation 2024-02-22 14:50:29 -06:00
skin.json Support legacy message box styles markup in JavaScript 2024-03-21 18:19:52 +00:00
tsconfig.json Make the limited width and font size controls work for logged in users 2023-11-21 02:16:52 +00:00

Vector Skin

Installation

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

Configuration options

See skin.json.

Also see configuration.md

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.