mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/MinervaNeue
synced 2024-11-12 00:48:46 +00:00
f9c6666717
Fix eslint errors in .eslintrc, and add .eslintrc to the .eslintignore. Bug: T206462 Change-Id: I1569082622a61d3b089c7d2a637dafabae68228e
57 lines
1.8 KiB
JavaScript
57 lines
1.8 KiB
JavaScript
// "no-restricted-properties" rules are not properly merged when just using "extends".
|
|
// Therefore we have to have this file which calls a custom merge function.
|
|
// The merge function calls Object.assign with special handling for configuration such as
|
|
// `no-restricted-properties` and `no-restricted-syntax` which are array based - ensuring the two
|
|
// values being merged are concatenated.
|
|
const merge = require( 'eslint-config-wikimedia/language/merge.js' ),
|
|
config = {
|
|
root: true,
|
|
extends: [
|
|
'wikimedia/client',
|
|
'wikimedia/jquery',
|
|
'wikimedia/mediawiki'
|
|
],
|
|
env: {
|
|
commonjs: true
|
|
},
|
|
globals: {
|
|
require: 'readonly'
|
|
},
|
|
rules: {
|
|
'no-restricted-properties': [
|
|
'error',
|
|
{
|
|
property: 'mobileFrontend',
|
|
message: 'Minerva should only make use of core code. Any code using mobileFrontend should be placed inside the MobileFrontend extension'
|
|
},
|
|
{
|
|
property: 'define',
|
|
message: 'The method `define` if used with mw.mobileFrontend is deprecated. Please use `module.exports`.'
|
|
},
|
|
{
|
|
property: 'done',
|
|
message: 'The method `done` if used with Deferred objects is incompatible with ES6 Promises. Please use `then`.'
|
|
},
|
|
{
|
|
property: 'fail',
|
|
message: 'The method `fail` if used with Deferred objects is incompatible with ES6 Promises. Please use `then`.'
|
|
},
|
|
{
|
|
property: 'always',
|
|
message: 'The method `always` if used with Deferred objects is incompatible with ES6 Promises. Please use `then`.'
|
|
}
|
|
],
|
|
'object-property-newline': 'error',
|
|
'mediawiki/class-doc': 'off',
|
|
'no-use-before-define': 'off',
|
|
'no-underscore-dangle': 'off',
|
|
'jsdoc/no-undefined-types': 'off'
|
|
}
|
|
};
|
|
|
|
// eslint-disable-next-line es/no-object-assign
|
|
module.exports = Object.assign(
|
|
config,
|
|
merge( config, require( 'eslint-config-wikimedia/language/not-es5.js' ) )
|
|
);
|