diff --git a/.eslintrc.json b/.eslintrc.json
index 9c61cfda..0db901c6 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -10,5 +10,8 @@
"globals": {
"mw": false,
"OO": false
+ },
+ "rules": {
+ "no-jquery/no-global-selector": "off"
}
}
diff --git a/.gitignore b/.gitignore
index 0a78e728..813fe4dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
node_modules/
composer.lock
vendor/
+.eslintcache
diff --git a/Gruntfile.js b/Gruntfile.js
index 738cfaef..a3ed1f12 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -10,6 +10,10 @@ module.exports = function ( grunt ) {
grunt.initConfig( {
eslint: {
+ options: {
+ reportUnusedDisableDirectives: true,
+ cache: true
+ },
all: '.'
},
stylelint: {
diff --git a/package.json b/package.json
index dd6db1ea..35ad66dd 100644
--- a/package.json
+++ b/package.json
@@ -4,9 +4,9 @@
"test": "grunt test"
},
"devDependencies": {
- "eslint-config-wikimedia": "0.9.0",
+ "eslint-config-wikimedia": "0.11.0",
"grunt": "1.0.3",
- "grunt-banana-checker": "0.6.0",
+ "grunt-banana-checker": "0.7.0",
"grunt-eslint": "21.0.0",
"grunt-jsonlint": "1.1.0",
"grunt-stylelint": "0.10.1",
diff --git a/resources/js/ext.uls.compactlinks.js b/resources/js/ext.uls.compactlinks.js
index c2ecfb82..d31b49f5 100644
--- a/resources/js/ext.uls.compactlinks.js
+++ b/resources/js/ext.uls.compactlinks.js
@@ -317,7 +317,7 @@
// Load the ULS now.
mw.loader.using( 'ext.uls.mediawiki' ).then( function () {
self.createSelector( self.$trigger );
- self.$trigger.click();
+ self.$trigger.trigger( 'click' );
} );
} );
};
diff --git a/resources/js/ext.uls.displaysettings.js b/resources/js/ext.uls.displaysettings.js
index 7b28c7d7..2b6d5736 100644
--- a/resources/js/ext.uls.displaysettings.js
+++ b/resources/js/ext.uls.displaysettings.js
@@ -185,7 +185,7 @@
var deferred = new $.Deferred();
$loginCta.html( parsedCta ); // The parsed CTA is HTML
- $loginCta.find( 'a' ).click( function ( event ) {
+ $loginCta.find( 'a' ).on( 'click', function ( event ) {
event.preventDefault();
// Because browsers navigate away when clicking a link,
// we are overriding the normal click behavior to allow
@@ -301,7 +301,7 @@
$back = $( '
' )
.addClass( 'uls-icon-back' );
- $back.click( function () {
+ $back.on( 'click', function () {
uls.hide();
displaySettings.$parent.show();
} );
diff --git a/resources/js/ext.uls.ime.js b/resources/js/ext.uls.ime.js
index 117777c7..653bcf1a 100644
--- a/resources/js/ext.uls.ime.js
+++ b/resources/js/ext.uls.ime.js
@@ -150,7 +150,7 @@
defaultModule: 'input',
onClose: function () {
// on close of input settings, keep focus in input area.
- imeselector.$element.focus();
+ imeselector.$element.trigger( 'focus' );
},
top: imeselector.$element.offset().top
} );
@@ -291,7 +291,7 @@
$ulsTrigger.uls( {
onSelect: function ( language ) {
$input.data( 'imeselector' ).selectLanguage( language );
- $input.focus();
+ $input.trigger( 'focus' );
},
languages: mw.ime.getLanguagesWithIME(),
ulsPurpose: 'ime-selector',
@@ -308,7 +308,7 @@
title: $.i18n( 'ext-uls-ime-help' )
} )
.addClass( 'ime-perime-help' )
- .click( function ( event ) {
+ .on( 'click', function ( event ) {
event.stopPropagation();
} );
}
diff --git a/resources/js/ext.uls.inputsettings.js b/resources/js/ext.uls.inputsettings.js
index f3d47733..fe22f9f6 100644
--- a/resources/js/ext.uls.inputsettings.js
+++ b/resources/js/ext.uls.inputsettings.js
@@ -173,7 +173,8 @@
$imeLabel = $( '