ESLint shareable config following Wikimedia coding conventions. Current stable version is 0.32.3, released November 2025, with Node.js >=20 <25 required. It provides profiles for client, server, MediaWiki extensions, jQuery, QUnit, Mocha, Selenium, Vue, and TypeScript. Distinct from other ESLint configs by enforcing Wikimedia-specific rules (e.g., MediaWiki message documentation, no self-closing Vue tags) and evolving target ES versions (ES2017 for client, ES2022 for server).
npm install eslint-config-wikimediaVerified import paths — ran on the pinned version, not inferred.
Basic ESLint config using Wikimedia client profile with jQuery support and custom global symbols.
Update configs that extend 'wikimedia/es5' or similar. No ES5 profiles are available; use a different base.
Replace 'client-common' with 'client/common', 'mediawiki-qunit' with 'mediawiki/qunit', etc.
Use vue3 profiles instead; Vue2 is no longer supported.
Upgrade Node.js to >=20.0.0.
Use the sub-profile path (e.g., 'client/es6').
Always combine with at least 'wikimedia/client' or 'wikimedia/server' and an ES level profile.
Ensure TypeScript files are compiled before linting, as the config assumes transpiled code.
Remove custom array-bracket-newline rule or adjust to match Wikimedia's preset.
Use 'wikimedia/client/es6' (still valid) or 'wikimedia/client/common/es6'.
Run npm install --save-dev eslint-config-wikimedia