diff --git a/.build/Gruntfile.js b/.build/Gruntfile.js index c17b6261be3f3e1386b53992fd7ad1832b7e405f..8cb9dbda06574ae45961239741bc1daa60b2731e 100644 --- a/.build/Gruntfile.js +++ b/.build/Gruntfile.js @@ -53,9 +53,14 @@ module.exports = function(grunt) { }, jshint: { options: { - eqeqeq: true + jshintrc: '../.jshintrc' }, - uses_defaults: ['../gui/slick/js/**/*.js'] + all: [ + '../gui/slick/js/**/*.js', + '!../gui/slick/js/lib/**/*.js', + '!../gui/slick/js/ajaxNotifications.js', + '!../gui/slick/js/**/*.min.js', // We use this because ignores doesn't seem to work :( + ] } }); @@ -64,5 +69,12 @@ module.exports = function(grunt) { grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-jshint'); - grunt.registerTask('default', ['bower_concat', 'uglify', 'cssmin']); + grunt.registerTask('default', [ + 'bower_concat', + 'uglify', + 'cssmin'] + ); + grunt.registerTask('travis', [ + 'jshint' + ]); }; diff --git a/.jshintignore b/.jshintignore new file mode 100644 index 0000000000000000000000000000000000000000..121531af8467c5344c1ddd59c7a6452793e15152 --- /dev/null +++ b/.jshintignore @@ -0,0 +1 @@ +*.min.js diff --git a/gui/slick/js/addTrendingShow.js b/gui/slick/js/addTrendingShow.js index 84f00c70e938ca90e69effeb330964b3bcd8394e..ef5abbc17df8265c3d1b73b58d8eda01503a7024 100644 --- a/gui/slick/js/addTrendingShow.js +++ b/gui/slick/js/addTrendingShow.js @@ -1,7 +1,7 @@ $.fn.loadContent = function(path, loadingTxt, errorTxt) { $(this).html('<img id="searchingAnim" src="' + srRoot + '/images/loading32' + themeSpinner + '.gif" height="32" width="32" /> ' + loadingTxt); - $(this).load(srRoot + path + ' #container', function(response, status, xhr) { - if (status == "error") $(this).empty().html(errorTxt); + $(this).load(srRoot + path + ' #container', function(response, status) { + if (status === "error") { $(this).empty().html(errorTxt); } }); }; diff --git a/gui/slick/js/apibuilder.js b/gui/slick/js/apibuilder.js index b806687082c1ad22f338a8d7e7b74554ecba96b6..5623ba810d5520cfa6af6a21928470199ec578e2 100644 --- a/gui/slick/js/apibuilder.js +++ b/gui/slick/js/apibuilder.js @@ -12,7 +12,7 @@ $(document).ready(function() { var name = $(item).attr('name'); var value = $(item).val(); - if(name !== undefined && value !== undefined && name != value && value) { + if(name !== undefined && value !== undefined && name !== value && value) { if($.isArray(value)) { value = value.join('|'); } @@ -33,7 +33,7 @@ $(document).ready(function() { $(timeId).text(responseTime + 'ms'); $(urlId).text(url + (jsonp ? '&jsonp=foo' : '')); - if(responseType.slice(0, 6) == 'image/') { + if(responseType.slice(0, 6) === 'image/') { target.html($('<img/>').attr('src', url)); } else { var json = JSON.stringify(data, null, 4); @@ -65,10 +65,10 @@ $(document).ready(function() { select.removeClass('hidden'); select.find('option:gt(0)').remove(); - for(var episode in episodes[show][season]) { + for(var episode in episodes[show][season]) { // jshint ignore:line select.append($('<option>', { - value: episodes[show][season][episode], - label: 'Episode ' + episodes[show][season][episode], + value: episodes[show][season][episode], // jshint ignore:line + label: 'Episode ' + episodes[show][season][episode], // jshint ignore:line })); } } @@ -84,7 +84,7 @@ $(document).ready(function() { select.removeClass('hidden'); select.find('option:gt(0)').remove(); - for(var season in episodes[show]) { + for(var season in episodes[show]) { // jshint ignore:line select.append($('<option>', { value: season, label: (season === 0) ? 'Specials' : 'Season ' + season, @@ -95,7 +95,7 @@ $(document).ready(function() { // Enable command search $('#command-search').typeahead({ - source: commands, + source: commands, // jshint ignore:line }); $('#command-search').on('change', function() { var command = $(this).typeahead('getActive'); diff --git a/gui/slick/js/blackwhite.js b/gui/slick/js/blackwhite.js index 09ac602ae9233481c4570daa3c4315f551a7d713..39199e8ce51ac643d595388e4ded798c98db1897 100644 --- a/gui/slick/js/blackwhite.js +++ b/gui/slick/js/blackwhite.js @@ -1,4 +1,4 @@ -function generateBlackWhiteList() { +function generateBlackWhiteList() { // jshint ignore:line var realvalues = []; $('#white option').each(function(i, selected) { @@ -13,7 +13,7 @@ function generateBlackWhiteList() { $("#blacklist").val(realvalues.join(",")); } -function updateBlackWhiteList(showName) { +function updateBlackWhiteList(showName) { // jshint ignore:line $('#pool').children().remove(); $('#blackwhitelist').show(); @@ -34,23 +34,23 @@ function updateBlackWhiteList(showName) { } $('#removeW').click(function() { - !$('#white option:selected').remove().appendTo('#pool'); + !$('#white option:selected').remove().appendTo('#pool'); // jshint ignore:line }); $('#addW').click(function() { - !$('#pool option:selected').remove().appendTo('#white'); + !$('#pool option:selected').remove().appendTo('#white'); // jshint ignore:line }); $('#addB').click(function() { - !$('#pool option:selected').remove().appendTo('#black'); + !$('#pool option:selected').remove().appendTo('#black'); // jshint ignore:line }); $('#removeP').click(function() { - !$('#pool option:selected').remove(); + !$('#pool option:selected').remove(); // jshint ignore:line }); $('#removeB').click(function() { - !$('#black option:selected').remove().appendTo('#pool'); + !$('#black option:selected').remove().appendTo('#pool'); // jshint ignore:line }); $('#addToWhite').click(function() { diff --git a/gui/slick/js/meta.js b/gui/slick/js/meta.js index e380c88217166a3f3e4c75c096fe241721af37a9..89e1ed36cb69f6fce012d834866d9e7d65bbdaf9 100644 --- a/gui/slick/js/meta.js +++ b/gui/slick/js/meta.js @@ -1,4 +1,4 @@ -function metaToBool(pyVar){ +function metaToBool(pyVar){ // jshint ignore:line var meta = $('meta[data-var="' + pyVar + '"]').data('content'); if(meta === undefined){ console.log(pyVar + ' is empty, did you forget to add this to main.mako?'); @@ -9,11 +9,11 @@ function metaToBool(pyVar){ } } -function getMeta(pyVar){ +function getMeta(pyVar){ // jshint ignore:line return $('meta[data-var="' + pyVar + '"]').data('content'); } -function isMeta(pyVar, result){ +function isMeta(pyVar, result){ // jshint ignore:line var reg = new RegExp(result.length > 1 ? result.join('|') : result); return (reg).test($('meta[data-var="' + pyVar + '"]').data('content')); } diff --git a/gui/slick/js/newShow.js b/gui/slick/js/newShow.js index 4df4b15009cd2b58db861a5d646999ff67a99809..df8b4cce36e53207cf499f5531fd0ddb448fa1ee 100644 --- a/gui/slick/js/newShow.js +++ b/gui/slick/js/newShow.js @@ -101,7 +101,7 @@ $(document).ready(function () { * Visit http://www.dynamicdrive.com/ for this script and 100s more. ***********************************************/ - var myform = new formtowizard({ + var myform = new formtowizard({ // jshint ignore:line formid: 'addShowForm', revealfx: ['slide', 500], oninit: function () { diff --git a/gui/slick/js/qualityChooser.js b/gui/slick/js/qualityChooser.js index fe2880be8956acdeea6fc6cd00c6882bfea26bd9..42827f4485f856e6d1683992fa7f2eb19a7e4562 100644 --- a/gui/slick/js/qualityChooser.js +++ b/gui/slick/js/qualityChooser.js @@ -8,7 +8,7 @@ $(document).ready(function() { } $('#anyQualities option').each(function() { - var result = preset & $(this).val(); // @TODO Find out what this does + var result = preset & $(this).val(); // jshint ignore:line if (result > 0) { $(this).attr('selected', 'selected'); } else { @@ -17,7 +17,7 @@ $(document).ready(function() { }); $('#bestQualities option').each(function() { - var result = preset & ($(this).val() << 16); // @TODO Find out what this does + var result = preset & ($(this).val() << 16); // jshint ignore:line if (result > 0) { $(this).attr('selected', 'selected'); } else { diff --git a/gui/slick/js/restart.js b/gui/slick/js/restart.js index 645e5019f2ede8b75b25b3bcc2c9e27e183e70d0..9c7ec6f0703d5fee800dec7855e7dd0408cb463a 100644 --- a/gui/slick/js/restart.js +++ b/gui/slick/js/restart.js @@ -38,7 +38,7 @@ $(document).ready(function() { $('#restart_loading').hide(); $('#restart_success').show(); $('#refresh_message').show(); - setTimeout(function(){window.location = srRoot + '/' + sbDefaultPage + '/';}, 5000); + setTimeout(function(){window.location = srRoot + '/' + sbDefaultPage + '/';}, 5000); // jshint ignore:line } } @@ -52,13 +52,13 @@ $(document).ready(function() { function ajaxError(x) { if (console_debug) { // jshint ignore:line if (x.status === 0) { - console.log(console_prefix + 'isAlive: Sickrage is not responding.'); + console.log(console_prefix + 'isAlive: Sickrage is not responding.'); // jshint ignore:line } else if (x.status === 404) { - console.log(console_prefix + 'isAlive: Requested URL not found.'); + console.log(console_prefix + 'isAlive: Requested URL not found.'); // jshint ignore:line } else if (x.status === 500) { - console.log(console_prefix + 'isAlive: Internel Server Error.'); + console.log(console_prefix + 'isAlive: Internel Server Error.'); // jshint ignore:line } else { - console.log(console_prefix + 'isAlive: Unknow Error.\n' + x.responseText); + console.log(console_prefix + 'isAlive: Unknow Error.\n' + x.responseText); // jshint ignore:line } } }