Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/283215

Change subject: Update linting tools, config, and fix subsequent failures
......................................................................

Update linting tools, config, and fix subsequent failures

Change-Id: I41e080915441367b3a2ab2de7d7a096872a2f2e8
---
M .jscsrc
M .jshintrc
M package.json
M resources/js/ext.uls.displaysettings.js
M resources/js/ext.uls.ime.js
M resources/js/ext.uls.init.js
M resources/js/ext.uls.inputsettings.js
7 files changed, 151 insertions(+), 132 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/15/283215/1

diff --git a/.jscsrc b/.jscsrc
index c48c059..1959eea 100644
--- a/.jscsrc
+++ b/.jscsrc
@@ -1,4 +1,21 @@
 {
        "preset": "wikimedia",
-       "requireCamelCaseOrUpperCaseIdentifiers": null
+
+       "jsDoc": {
+               "checkAnnotations": {
+                       "preset": "jsduck5",
+                       "extra": {
+                               "this": true,
+                               "source": true,
+                               "see": true
+                       }
+               },
+               "checkTypes": "strictNativeCase",
+               "checkParamNames": true,
+               "checkRedundantAccess": true,
+               "checkRedundantReturns": true,
+               "requireNewlineAfterDescription": true,
+               "requireParamTypes": true,
+               "requireReturnTypes": true
+       }
 }
diff --git a/.jshintrc b/.jshintrc
index 317d4e2..93a54e8 100644
--- a/.jshintrc
+++ b/.jshintrc
@@ -1,32 +1,25 @@
 {
-
-       "camelcase": false,
-       "curly": true,
+       // Enforcing
+       "bitwise": true,
        "eqeqeq": true,
-       "immed": true,
-       "latedef": true,
-       "newcap": true,
+       "freeze": true,
+       "latedef": "nofunc",
+       "futurehostile": true,
        "noarg": true,
-       "noempty": true,
        "nonew": true,
-       "quotmark": "single",
-       "trailing": true,
        "undef": true,
        "unused": true,
 
-       "bitwise": true,
-       "forin": false,
-       "regexp": false,
-       "strict": true,
-       "laxbreak": true,
-       "smarttabs": true,
-       "multistr": true,
-       "browser": true,
-       "onevar": true,
+       "strict": false,
 
-       "predef": [
-               "mediaWiki",
-               "jQuery",
-               "QUnit"
-       ]
+       // Relaxing
+
+       // Environment
+       "browser": true,
+       "jquery": true,
+
+       "globals": {
+               "mediaWiki": false,
+               "QUnit": false
+       }
 }
diff --git a/package.json b/package.json
index 611c585..a9b014e 100644
--- a/package.json
+++ b/package.json
@@ -5,10 +5,10 @@
   },
   "devDependencies": {
     "grunt": "0.4.5",
+    "grunt-banana-checker": "0.4.0",
     "grunt-cli": "0.1.13",
-    "grunt-contrib-jshint": "0.11.3",
-    "grunt-jscs": "2.5.0",
-    "grunt-jsonlint": "1.0.7",
-    "grunt-banana-checker": "0.4.0"
+    "grunt-contrib-jshint": "1.0.0",
+    "grunt-jscs": "2.8.0",
+    "grunt-jsonlint": "1.0.7"
   }
 }
diff --git a/resources/js/ext.uls.displaysettings.js 
b/resources/js/ext.uls.displaysettings.js
index 555bfd1..880050b 100644
--- a/resources/js/ext.uls.displaysettings.js
+++ b/resources/js/ext.uls.displaysettings.js
@@ -20,80 +20,86 @@
 ( function ( $, mw ) {
        'use strict';
 
-       var template = '<div class="uls-display-settings">'
+       var template = '<div class="uls-display-settings">' +
 
-               + '<div class="row">' // Tab switcher buttons
-               + '<div class="twelve columns 
uls-display-settings-tab-switcher">'
-               + '<div class="uls-button-group mw-ui-button-group">'
-               + '<button id="uls-display-settings-language-tab" 
class="mw-ui-button mw-ui-pressed" '
-               + 'data-i18n="ext-uls-display-settings-language-tab"></button>'
-               + '<button id="uls-display-settings-fonts-tab" 
class="mw-ui-button" data-i18n="ext-uls-display-settings-fonts-tab"></button>'
-               + '</div>'
-               + '</div>'
-               + '</div>'
+               // Tab switcher buttons
+               '<div class="row">' +
+               '<div class="twelve columns 
uls-display-settings-tab-switcher">' +
+               '<div class="uls-button-group mw-ui-button-group">' +
+               '<button id="uls-display-settings-language-tab" 
class="mw-ui-button mw-ui-pressed" ' +
+               'data-i18n="ext-uls-display-settings-language-tab"></button>' +
+               '<button id="uls-display-settings-fonts-tab" 
class="mw-ui-button" data-i18n="ext-uls-display-settings-fonts-tab"></button>' +
+               '</div>' +
+               '</div>' +
+               '</div>' +
 
-               + '<div class="ext-uls-sub-panel 
uls-display-settings-language-tab">' // Begin display language sub-panel
+               // Begin display language sub-panel
+               '<div class="ext-uls-sub-panel 
uls-display-settings-language-tab">' +
 
                // "Display language", title above the buttons row
-               + '<div class="row">'
-               + '<div class="eleven columns">'
-               + '<h4 data-i18n="ext-uls-display-settings-ui-language"></h4>'
-               + '</div>'
-               + '</div>'
+               '<div class="row">' +
+               '<div class="eleven columns">' +
+               '<h4 data-i18n="ext-uls-display-settings-ui-language"></h4>' +
+               '</div>' +
+               '</div>' +
 
                // UI languages buttons row
-               + '<div class="row">'
-               + '<div class="uls-ui-languages eleven columns">'
-               + '<p data-i18n="ext-uls-language-buttons-help"></p>'
-               + '</div>'
-               + '</div>'
+               '<div class="row">' +
+               '<div class="uls-ui-languages eleven columns">' +
+               '<p data-i18n="ext-uls-language-buttons-help"></p>' +
+               '</div>' +
+               '</div>' +
 
-               + '</div>' // End display language section
+               // End display language section
+               '</div>' +
 
-               + '<div class="ext-uls-sub-panel uls-display-settings-fonts-tab 
hide">' // Begin font settings section, hidden by default
+               // Begin font settings section, hidden by default
+               '<div class="ext-uls-sub-panel uls-display-settings-fonts-tab 
hide">' +
 
                // "Font settings" title
-               + '<div class="row">'
-               + '<div class="twelve columns">'
-               + '<h4 data-i18n="ext-uls-display-settings-font-settings"></h4>'
-               + '</div>'
-               + '</div>'
+               '<div class="row">' +
+               '<div class="twelve columns">' +
+               '<h4 data-i18n="ext-uls-display-settings-font-settings"></h4>' +
+               '</div>' +
+               '</div>' +
 
-               + '<div id="uls-display-settings-font-selectors" 
class="uls-display-settings-font-selectors">'
+               '<div id="uls-display-settings-font-selectors" 
class="uls-display-settings-font-selectors">' +
 
                // Menus font selection dropdown with label
-               + '<div class="row uls-font-item uls-content-fonts">'
-               + '<div class="six columns">'
-               + '<label class="uls-font-label" 
id="content-font-selector-label"></label>'
-               + '</div>'
-               + '<select id="content-font-selector" class="four columns end 
uls-font-select"></select>'
-               + '</div>'
+               '<div class="row uls-font-item uls-content-fonts">' +
+               '<div class="six columns">' +
+               '<label class="uls-font-label" 
id="content-font-selector-label"></label>' +
+               '</div>' +
+               '<select id="content-font-selector" class="four columns end 
uls-font-select"></select>' +
+               '</div>' +
 
                // Content font selection dropdown with label
-               + '<div class="row uls-font-item uls-ui-fonts">'
-               + '<div class="six columns">'
-               + '<label class="uls-font-label" 
id="ui-font-selector-label"></label>'
-               + '</div>'
-               + '<select id="ui-font-selector" class="four columns end 
uls-font-select"></select>'
-               + '</div>'
+               '<div class="row uls-font-item uls-ui-fonts">' +
+               '<div class="six columns">' +
+               '<label class="uls-font-label" 
id="ui-font-selector-label"></label>' +
+               '</div>' +
+               '<select id="ui-font-selector" class="four columns end 
uls-font-select"></select>' +
+               '</div>' +
 
-               + '</div>' // End font selectors
+               // End font selectors
+               '</div>' +
 
                // Webfonts enabling checkbox with label
-               + '<div class="row">'
-               + '<div class="eleven columns">'
-               + '<div class="mw-ui-checkbox">'
-               + '<input type="checkbox" id="webfonts-enable-checkbox" />'
-               + '<label class="checkbox" for="webfonts-enable-checkbox" >'
-               + '<strong 
data-i18n="ext-uls-webfonts-settings-title"></strong> '
-               + '<span data-i18n="ext-uls-webfonts-settings-info"></span> '
-               + '<a target="_blank" 
href="https://www.mediawiki.org/wiki/Universal_Language_Selector/WebFonts"; 
data-i18n="ext-uls-webfonts-settings-info-link"></a>'
-               + '</label>'
-               + '</div>'
-               + '</div>'
-               + '</div>'
+               '<div class="row">' +
+               '<div class="eleven columns">' +
+               '<div class="mw-ui-checkbox">' +
+               '<input type="checkbox" id="webfonts-enable-checkbox" />' +
+               '<label class="checkbox" for="webfonts-enable-checkbox" >' +
+               '<strong data-i18n="ext-uls-webfonts-settings-title"></strong> 
' +
+               '<span data-i18n="ext-uls-webfonts-settings-info"></span> ' +
+               '<a target="_blank" 
href="https://www.mediawiki.org/wiki/Universal_Language_Selector/WebFonts"; 
data-i18n="ext-uls-webfonts-settings-info-link"></a>' +
+               '</label>' +
+               '</div>' +
+               '</div>' +
+               '</div>' +
 
-               + '</div>'; // End font settings section
+               // End font settings section
+               '</div>';
 
        function DisplaySettings( $parent ) {
                this.nameI18n = 'ext-uls-display-settings-title-short';
diff --git a/resources/js/ext.uls.ime.js b/resources/js/ext.uls.ime.js
index 4c59488..8871346 100644
--- a/resources/js/ext.uls.ime.js
+++ b/resources/js/ext.uls.ime.js
@@ -106,6 +106,30 @@
                }
        };
 
+       function imeNotification() {
+               var notificationMsg = ( mw.config.get( 'wgULSPosition' ) === 
'personal' ) ?
+                               
'ext-uls-input-disable-notification-info-personal' :
+                               
'ext-uls-input-disable-notification-info-interlanguage',
+                       $notification = $( '<div>' )
+                               .addClass( 'uls-ime-notification-bubble' )
+                               .append(
+                                       $( '<div>' )
+                                               .attr( 'data-i18n', 
'ext-uls-input-disable-notification' ),
+                                       $( '<div>' )
+                                               .addClass( 'link' )
+                                               .attr( 'data-i18n', 
'ext-uls-input-disable-notification-undo' )
+                                               .on( 'click', function () {
+                                                       
$.ime.preferences.enable();
+                                                       $.ime.preferences.save( 
function () {
+                                                               mw.ime.setup();
+                                                       } );
+                                               } ),
+                                       $( '<div>' ).attr( 'data-i18n', 
notificationMsg )
+                               );
+
+               mw.notify( $notification.i18n() );
+       }
+
        // Add a 'more settings' link that takes to input settings of ULS
        customHelpLink = function () {
                var $disableInputToolsLink, $moreSettingsLink,
@@ -297,28 +321,4 @@
                        } );
                }
        };
-
-       function imeNotification() {
-               var notificationMsg = ( mw.config.get( 'wgULSPosition' ) === 
'personal' ) ?
-                               
'ext-uls-input-disable-notification-info-personal' :
-                               
'ext-uls-input-disable-notification-info-interlanguage',
-                       $notification = $( '<div>' )
-                               .addClass( 'uls-ime-notification-bubble' )
-                               .append(
-                                       $( '<div>' )
-                                               .attr( 'data-i18n', 
'ext-uls-input-disable-notification' ),
-                                       $( '<div>' )
-                                               .addClass( 'link' )
-                                               .attr( 'data-i18n', 
'ext-uls-input-disable-notification-undo' )
-                                               .on( 'click', function () {
-                                                       
$.ime.preferences.enable();
-                                                       $.ime.preferences.save( 
function () {
-                                                               mw.ime.setup();
-                                                       } );
-                                               } ),
-                                       $( '<div>' ).attr( 'data-i18n', 
notificationMsg )
-                               );
-
-               mw.notify( $notification.i18n() );
-       }
 }( jQuery, mediaWiki ) );
diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js
index db29524..40ef11f 100644
--- a/resources/js/ext.uls.init.js
+++ b/resources/js/ext.uls.init.js
@@ -107,7 +107,9 @@
        };
 
        mw.uls.getCountryCode = function () {
+               // jscs:disable requireCamelCaseOrUpperCaseIdentifiers
                return window.Geo && ( window.Geo.country || 
window.Geo.country_code );
+               // jscs:enable requireCamelCaseOrUpperCaseIdentifiers
        };
 
        mw.uls.getAcceptLanguageList = function () {
diff --git a/resources/js/ext.uls.inputsettings.js 
b/resources/js/ext.uls.inputsettings.js
index 2a47444..dd2a298 100644
--- a/resources/js/ext.uls.inputsettings.js
+++ b/resources/js/ext.uls.inputsettings.js
@@ -20,40 +20,41 @@
 ( function ( $, mw ) {
        'use strict';
 
-       var template = '<div class="uls-input-settings">'
-               + '<div class="row">' // Top "Display settings" title
-               + '<div class="twelve columns">'
-               + '<h3 data-i18n="ext-uls-input-settings-title"></h3>'
-               + '</div>'
-               + '</div>'
+       var template = '<div class="uls-input-settings">' +
+               // Top "Display settings" title
+               '<div class="row">' +
+               '<div class="twelve columns">' +
+               '<h3 data-i18n="ext-uls-input-settings-title"></h3>' +
+               '</div>' +
+               '</div>' +
 
                // "Language for ime", title above the buttons row
-               + '<div class="row enabled-only 
uls-input-settings-languages-title">'
-               + '<div class="eleven columns">'
-               + '<h4 data-i18n="ext-uls-input-settings-ui-language"></h4>'
-               + '</div>'
-               + '</div>'
+               '<div class="row enabled-only 
uls-input-settings-languages-title">' +
+               '<div class="eleven columns">' +
+               '<h4 data-i18n="ext-uls-input-settings-ui-language"></h4>' +
+               '</div>' +
+               '</div>' +
 
                // UI languages buttons row
-               + '<div class="row enabled-only">'
-               + '<div class="uls-ui-languages eleven columns"></div>'
-               + '</div>'
+               '<div class="row enabled-only">' +
+               '<div class="uls-ui-languages eleven columns"></div>' +
+               '</div>' +
 
                // Web IMEs enabling chechbox with label
-               + '<div class="row enabled-only">'
-               + '<div class="eleven columns 
uls-input-settings-inputmethods-list">'
+               '<div class="row enabled-only">' +
+               '<div class="eleven columns 
uls-input-settings-inputmethods-list">' +
                // "Input settings for language xyz" title
-               + '<h4 class="ext-uls-input-settings-imes-title"></h4>'
-               + '</div>'
-               + '</div>'
+               '<h4 class="ext-uls-input-settings-imes-title"></h4>' +
+               '</div>' +
+               '</div>' +
 
                // Disable IME system button
-               + '<div class="row">'
-               + '<div class="eleven columns 
uls-input-settings-disable-info"></div>'
-               + '<div class="ten columns uls-input-settings-toggle">'
-               + '<button class="active mw-ui-constructive mw-ui-button 
uls-input-toggle-button"></button>'
-               + '</div>'
-               + '</div>';
+               '<div class="row">' +
+               '<div class="eleven columns 
uls-input-settings-disable-info"></div>' +
+               '<div class="ten columns uls-input-settings-toggle">' +
+               '<button class="active mw-ui-constructive mw-ui-button 
uls-input-toggle-button"></button>' +
+               '</div>' +
+               '</div>';
 
        function InputSettings( $parent ) {
                this.nameI18n = 'ext-uls-input-settings-title-short';

-- 
To view, visit https://gerrit.wikimedia.org/r/283215
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I41e080915441367b3a2ab2de7d7a096872a2f2e8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to