Update linting tools, config, and fix subsequent failures
Change-Id: I41e080915441367b3a2ab2de7d7a096872a2f2e8
This commit is contained in:
19
.jscsrc
19
.jscsrc
@@ -1,4 +1,21 @@
|
|||||||
{
|
{
|
||||||
"preset": "wikimedia",
|
"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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
39
.jshintrc
39
.jshintrc
@@ -1,32 +1,25 @@
|
|||||||
{
|
{
|
||||||
|
// Enforcing
|
||||||
"camelcase": false,
|
"bitwise": true,
|
||||||
"curly": true,
|
|
||||||
"eqeqeq": true,
|
"eqeqeq": true,
|
||||||
"immed": true,
|
"freeze": true,
|
||||||
"latedef": true,
|
"latedef": "nofunc",
|
||||||
"newcap": true,
|
"futurehostile": true,
|
||||||
"noarg": true,
|
"noarg": true,
|
||||||
"noempty": true,
|
|
||||||
"nonew": true,
|
"nonew": true,
|
||||||
"quotmark": "single",
|
|
||||||
"trailing": true,
|
|
||||||
"undef": true,
|
"undef": true,
|
||||||
"unused": true,
|
"unused": true,
|
||||||
|
|
||||||
"bitwise": true,
|
"strict": false,
|
||||||
"forin": false,
|
|
||||||
"regexp": false,
|
|
||||||
"strict": true,
|
|
||||||
"laxbreak": true,
|
|
||||||
"smarttabs": true,
|
|
||||||
"multistr": true,
|
|
||||||
"browser": true,
|
|
||||||
"onevar": true,
|
|
||||||
|
|
||||||
"predef": [
|
// Relaxing
|
||||||
"mediaWiki",
|
|
||||||
"jQuery",
|
// Environment
|
||||||
"QUnit"
|
"browser": true,
|
||||||
]
|
"jquery": true,
|
||||||
|
|
||||||
|
"globals": {
|
||||||
|
"mediaWiki": false,
|
||||||
|
"QUnit": false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"grunt": "0.4.5",
|
"grunt": "0.4.5",
|
||||||
|
"grunt-banana-checker": "0.4.0",
|
||||||
"grunt-cli": "0.1.13",
|
"grunt-cli": "0.1.13",
|
||||||
"grunt-contrib-jshint": "0.11.3",
|
"grunt-contrib-jshint": "1.0.0",
|
||||||
"grunt-jscs": "2.5.0",
|
"grunt-jscs": "2.8.0",
|
||||||
"grunt-jsonlint": "1.0.7",
|
"grunt-jsonlint": "1.0.7"
|
||||||
"grunt-banana-checker": "0.4.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,80 +20,86 @@
|
|||||||
( function ( $, mw ) {
|
( function ( $, mw ) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var template = '<div class="uls-display-settings">'
|
var template = '<div class="uls-display-settings">' +
|
||||||
|
|
||||||
+ '<div class="row">' // Tab switcher buttons
|
// Tab switcher buttons
|
||||||
+ '<div class="twelve columns uls-display-settings-tab-switcher">'
|
'<div class="row">' +
|
||||||
+ '<div class="uls-button-group mw-ui-button-group">'
|
'<div class="twelve columns uls-display-settings-tab-switcher">' +
|
||||||
+ '<button id="uls-display-settings-language-tab" class="mw-ui-button mw-ui-pressed" '
|
'<div class="uls-button-group mw-ui-button-group">' +
|
||||||
+ 'data-i18n="ext-uls-display-settings-language-tab"></button>'
|
'<button id="uls-display-settings-language-tab" class="mw-ui-button mw-ui-pressed" ' +
|
||||||
+ '<button id="uls-display-settings-fonts-tab" class="mw-ui-button" data-i18n="ext-uls-display-settings-fonts-tab"></button>'
|
'data-i18n="ext-uls-display-settings-language-tab"></button>' +
|
||||||
+ '</div>'
|
'<button id="uls-display-settings-fonts-tab" class="mw-ui-button" data-i18n="ext-uls-display-settings-fonts-tab"></button>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</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
|
// "Display language", title above the buttons row
|
||||||
+ '<div class="row">'
|
'<div class="row">' +
|
||||||
+ '<div class="eleven columns">'
|
'<div class="eleven columns">' +
|
||||||
+ '<h4 data-i18n="ext-uls-display-settings-ui-language"></h4>'
|
'<h4 data-i18n="ext-uls-display-settings-ui-language"></h4>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
|
||||||
// UI languages buttons row
|
// UI languages buttons row
|
||||||
+ '<div class="row">'
|
'<div class="row">' +
|
||||||
+ '<div class="uls-ui-languages eleven columns">'
|
'<div class="uls-ui-languages eleven columns">' +
|
||||||
+ '<p data-i18n="ext-uls-language-buttons-help"></p>'
|
'<p data-i18n="ext-uls-language-buttons-help"></p>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</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
|
// "Font settings" title
|
||||||
+ '<div class="row">'
|
'<div class="row">' +
|
||||||
+ '<div class="twelve columns">'
|
'<div class="twelve columns">' +
|
||||||
+ '<h4 data-i18n="ext-uls-display-settings-font-settings"></h4>'
|
'<h4 data-i18n="ext-uls-display-settings-font-settings"></h4>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</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
|
// Menus font selection dropdown with label
|
||||||
+ '<div class="row uls-font-item uls-content-fonts">'
|
'<div class="row uls-font-item uls-content-fonts">' +
|
||||||
+ '<div class="six columns">'
|
'<div class="six columns">' +
|
||||||
+ '<label class="uls-font-label" id="content-font-selector-label"></label>'
|
'<label class="uls-font-label" id="content-font-selector-label"></label>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '<select id="content-font-selector" class="four columns end uls-font-select"></select>'
|
'<select id="content-font-selector" class="four columns end uls-font-select"></select>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
|
||||||
// Content font selection dropdown with label
|
// Content font selection dropdown with label
|
||||||
+ '<div class="row uls-font-item uls-ui-fonts">'
|
'<div class="row uls-font-item uls-ui-fonts">' +
|
||||||
+ '<div class="six columns">'
|
'<div class="six columns">' +
|
||||||
+ '<label class="uls-font-label" id="ui-font-selector-label"></label>'
|
'<label class="uls-font-label" id="ui-font-selector-label"></label>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '<select id="ui-font-selector" class="four columns end uls-font-select"></select>'
|
'<select id="ui-font-selector" class="four columns end uls-font-select"></select>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
|
||||||
+ '</div>' // End font selectors
|
// End font selectors
|
||||||
|
'</div>' +
|
||||||
|
|
||||||
// Webfonts enabling checkbox with label
|
// Webfonts enabling checkbox with label
|
||||||
+ '<div class="row">'
|
'<div class="row">' +
|
||||||
+ '<div class="eleven columns">'
|
'<div class="eleven columns">' +
|
||||||
+ '<div class="mw-ui-checkbox">'
|
'<div class="mw-ui-checkbox">' +
|
||||||
+ '<input type="checkbox" id="webfonts-enable-checkbox" />'
|
'<input type="checkbox" id="webfonts-enable-checkbox" />' +
|
||||||
+ '<label class="checkbox" for="webfonts-enable-checkbox" >'
|
'<label class="checkbox" for="webfonts-enable-checkbox" >' +
|
||||||
+ '<strong data-i18n="ext-uls-webfonts-settings-title"></strong> '
|
'<strong data-i18n="ext-uls-webfonts-settings-title"></strong> ' +
|
||||||
+ '<span data-i18n="ext-uls-webfonts-settings-info"></span> '
|
'<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>'
|
'<a target="_blank" href="https://www.mediawiki.org/wiki/Universal_Language_Selector/WebFonts" data-i18n="ext-uls-webfonts-settings-info-link"></a>' +
|
||||||
+ '</label>'
|
'</label>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
|
||||||
+ '</div>'; // End font settings section
|
// End font settings section
|
||||||
|
'</div>';
|
||||||
|
|
||||||
function DisplaySettings( $parent ) {
|
function DisplaySettings( $parent ) {
|
||||||
this.nameI18n = 'ext-uls-display-settings-title-short';
|
this.nameI18n = 'ext-uls-display-settings-title-short';
|
||||||
|
|||||||
@@ -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
|
// Add a 'more settings' link that takes to input settings of ULS
|
||||||
customHelpLink = function () {
|
customHelpLink = function () {
|
||||||
var $disableInputToolsLink, $moreSettingsLink,
|
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 ) );
|
}( jQuery, mediaWiki ) );
|
||||||
|
|||||||
@@ -107,7 +107,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
mw.uls.getCountryCode = function () {
|
mw.uls.getCountryCode = function () {
|
||||||
|
// jscs:disable requireCamelCaseOrUpperCaseIdentifiers
|
||||||
return window.Geo && ( window.Geo.country || window.Geo.country_code );
|
return window.Geo && ( window.Geo.country || window.Geo.country_code );
|
||||||
|
// jscs:enable requireCamelCaseOrUpperCaseIdentifiers
|
||||||
};
|
};
|
||||||
|
|
||||||
mw.uls.getAcceptLanguageList = function () {
|
mw.uls.getAcceptLanguageList = function () {
|
||||||
|
|||||||
@@ -20,40 +20,41 @@
|
|||||||
( function ( $, mw ) {
|
( function ( $, mw ) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var template = '<div class="uls-input-settings">'
|
var template = '<div class="uls-input-settings">' +
|
||||||
+ '<div class="row">' // Top "Display settings" title
|
// Top "Display settings" title
|
||||||
+ '<div class="twelve columns">'
|
'<div class="row">' +
|
||||||
+ '<h3 data-i18n="ext-uls-input-settings-title"></h3>'
|
'<div class="twelve columns">' +
|
||||||
+ '</div>'
|
'<h3 data-i18n="ext-uls-input-settings-title"></h3>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
|
||||||
// "Language for ime", title above the buttons row
|
// "Language for ime", title above the buttons row
|
||||||
+ '<div class="row enabled-only uls-input-settings-languages-title">'
|
'<div class="row enabled-only uls-input-settings-languages-title">' +
|
||||||
+ '<div class="eleven columns">'
|
'<div class="eleven columns">' +
|
||||||
+ '<h4 data-i18n="ext-uls-input-settings-ui-language"></h4>'
|
'<h4 data-i18n="ext-uls-input-settings-ui-language"></h4>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
|
||||||
// UI languages buttons row
|
// UI languages buttons row
|
||||||
+ '<div class="row enabled-only">'
|
'<div class="row enabled-only">' +
|
||||||
+ '<div class="uls-ui-languages eleven columns"></div>'
|
'<div class="uls-ui-languages eleven columns"></div>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
|
||||||
// Web IMEs enabling chechbox with label
|
// Web IMEs enabling chechbox with label
|
||||||
+ '<div class="row enabled-only">'
|
'<div class="row enabled-only">' +
|
||||||
+ '<div class="eleven columns uls-input-settings-inputmethods-list">'
|
'<div class="eleven columns uls-input-settings-inputmethods-list">' +
|
||||||
// "Input settings for language xyz" title
|
// "Input settings for language xyz" title
|
||||||
+ '<h4 class="ext-uls-input-settings-imes-title"></h4>'
|
'<h4 class="ext-uls-input-settings-imes-title"></h4>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
|
|
||||||
// Disable IME system button
|
// Disable IME system button
|
||||||
+ '<div class="row">'
|
'<div class="row">' +
|
||||||
+ '<div class="eleven columns uls-input-settings-disable-info"></div>'
|
'<div class="eleven columns uls-input-settings-disable-info"></div>' +
|
||||||
+ '<div class="ten columns uls-input-settings-toggle">'
|
'<div class="ten columns uls-input-settings-toggle">' +
|
||||||
+ '<button class="active mw-ui-constructive mw-ui-button uls-input-toggle-button"></button>'
|
'<button class="active mw-ui-constructive mw-ui-button uls-input-toggle-button"></button>' +
|
||||||
+ '</div>'
|
'</div>' +
|
||||||
+ '</div>';
|
'</div>';
|
||||||
|
|
||||||
function InputSettings( $parent ) {
|
function InputSettings( $parent ) {
|
||||||
this.nameI18n = 'ext-uls-input-settings-title-short';
|
this.nameI18n = 'ext-uls-input-settings-title-short';
|
||||||
|
|||||||
Reference in New Issue
Block a user