Dr0ptp4kt has submitted this change and it was merged.

Change subject: grunt: Make jshint pass
......................................................................


grunt: Make jshint pass

Add jshintrc file, based on
 https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript

Fix errors:
 listeners.js: line 129, col 24, 'touchEndY' is not defined.
                      This inadvertently became a global variable.

Fix style violations:
 elementLocation.js: line 29, col 32, The object literal notation {} is 
preferable.
 elementLocation.js: line 30, col 15, ['top'] is better written in dot notation.
 listeners.js: line 1, col 12, 'module' is defined but never used.
 listeners.js: line 8, col 56, 'event' is defined but never used.
 listeners.js: line 56, col 54, 'payload' is defined but never used.

Bug: T71838
Change-Id: I32ec9046dd28c9199ea3754b978a22c2974775aa
---
A www/.jshintrc
M www/Gruntfile.js
M www/js/elementLocation.js
M www/js/listeners.js
M www/js/refs.js
M www/package.json
6 files changed, 45 insertions(+), 25 deletions(-)

Approvals:
  Dr0ptp4kt: Looks good to me, approved
  Bgerstle: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/www/.jshintrc b/www/.jshintrc
new file mode 100644
index 0000000..8e07ca6
--- /dev/null
+++ b/www/.jshintrc
@@ -0,0 +1,14 @@
+{
+       // Enforcing
+       "bitwise": true,
+       "freeze": true,
+       "latedef": true,
+       "noarg": true,
+       "nonew": true,
+       "undef": true,
+       "unused": true,
+
+       // Environment
+       "browser": true,
+       "browserify": true
+}
diff --git a/www/Gruntfile.js b/www/Gruntfile.js
index e8148fb..29a0a19 100644
--- a/www/Gruntfile.js
+++ b/www/Gruntfile.js
@@ -34,7 +34,7 @@
     jshint: {
       allFiles: allScriptFiles,
       options: {
-        jshintrc: ".jshintrc"
+        jshintrc: true
       }
     },
 
@@ -53,5 +53,5 @@
     }
   } );
 
-  grunt.registerTask('default', [/*'jshint',*/ 'browserify', 'less', 'copy']);
+  grunt.registerTask('default', ['jshint', 'browserify', 'less', 'copy']);
 };
diff --git a/www/js/elementLocation.js b/www/js/elementLocation.js
index f701809..cd4af9b 100644
--- a/www/js/elementLocation.js
+++ b/www/js/elementLocation.js
@@ -8,42 +8,47 @@
 
 function getZoomLevel() {
     // From: http://stackoverflow.com/a/5078596/135557
-    var deviceWidth = (Math.abs(window.orientation) == 90) ? screen.height : 
screen.width;
+    var deviceWidth = (Math.abs(window.orientation) === 90) ? screen.height : 
screen.width;
     var zoom = deviceWidth / window.innerWidth;
     return zoom;
 }
 
 exports.getImageWithSrc = function(src) {
-    var images = document.getElementsByTagName('IMG');
+    var images = document.getElementsByTagName('img');
     for (var i = 0; i < images.length; ++i) {
-        if (stringEndsWith(images[i].src, src)){
+        if (stringEndsWith(images[i].src, src)) {
             return images[i];
         }
     }
     return null;
-}
+};
 
 exports.getElementRect = function(element) {
     var rect = element.getBoundingClientRect();
     var zoom = getZoomLevel();
-    var zoomedRect = new Object();
-    zoomedRect['top'] = rect.top * zoom;
-    zoomedRect['left'] = rect.left * zoom;
-    zoomedRect['width'] = rect.width * zoom;
-    zoomedRect['height'] = rect.height * zoom;
+    var zoomedRect = {
+        top: rect.top * zoom,
+        left: rect.left * zoom,
+        width: rect.width * zoom,
+        height: rect.height * zoom
+    };
     return zoomedRect;
-}
+};
 
 exports.getElementRectAsJson = function(element) {
     return JSON.stringify(this.getElementRect(element));
-}
+};
 
-exports.getIndexOfFirstOnScreenElementWithTopGreaterThanY = 
function(elementPrefix, elementCount, y){
+exports.getIndexOfFirstOnScreenElementWithTopGreaterThanY = 
function(elementPrefix, elementCount){
     for (var i = 0; i < elementCount; ++i) {
         var div = document.getElementById(elementPrefix + i);
-        if(div == null) continue;
-       var rect = this.getElementRect(div);
-        if( (rect['top'] >= 0) || ((rect['top'] + rect['height']) >= 0)) 
return i;
+        if (div === null) {
+            continue;
+        }
+        var rect = this.getElementRect(div);
+        if ( (rect.top >= 0) || ((rect.top + rect.height) >= 0)) {
+            return i;
+        }
     }
     return -1;
-}
+};
diff --git a/www/js/listeners.js b/www/js/listeners.js
index 0b641c7..cbaf845 100644
--- a/www/js/listeners.js
+++ b/www/js/listeners.js
@@ -1,11 +1,11 @@
-(function (module) {
+(function () {
 var bridge = require("./bridge");
 var transformer = require("./transformer");
 var refs = require("./refs");
 
 // DOMContentLoaded fires before window.onload! That's good!
 // See: http://stackoverflow.com/a/3698214/135557
-document.addEventListener("DOMContentLoaded", function(event) {
+document.addEventListener("DOMContentLoaded", function() {
 
     transformer.transform( "moveFirstGoodParagraphUp", document );
     transformer.transform( "hideRedlinks", document );
@@ -53,7 +53,7 @@
 } );
 
 
-bridge.registerListener( "collapseTables", function( payload ) {
+bridge.registerListener( "collapseTables", function() {
     transformer.transform( "hideTables", document );
 } );
 
@@ -72,7 +72,7 @@
     }
     var maybeLowerCase = function (s) {
         return typeof s === 'string' ? s.toLowerCase() : undefined;
-    }
+    };
     return _findParent(element,
                        maybeLowerCase(matches[1]),
                        maybeLowerCase(matches[2]),
@@ -125,7 +125,7 @@
 
 function handleTouchEnded(event){
     var touchobj = event.changedTouches[0];
-    touchEndY = parseInt(touchobj.clientY);
+    var touchEndY = parseInt(touchobj.clientY);
     if (((touchDownY - touchEndY) === 0) && (event.changedTouches.length === 
1)) {
         // None of our tap events should fire if the user dragged vertically.
         touchEndedWithoutDragging(event);
@@ -185,4 +185,4 @@
     div.style.height = payload.height + 'px';
 });
 
-})(module);
+})();
diff --git a/www/js/refs.js b/www/js/refs.js
index 566a686..3193e93 100644
--- a/www/js/refs.js
+++ b/www/js/refs.js
@@ -52,6 +52,7 @@
     var targetId = href.slice(1);
     var targetNode = document.getElementById( targetId );
     if ( targetNode === null ) {
+        /*global console */
         console.log("reference target not found: " + targetId);
         return "";
     }
diff --git a/www/package.json b/www/package.json
index 86dcbba..ff84433 100644
--- a/www/package.json
+++ b/www/package.json
@@ -8,7 +8,7 @@
     "grunt-browserify": "1.3.2",
     "grunt-cli": "0.1.13",
     "grunt-contrib-copy": "0.5.0",
-    "grunt-contrib-jshint": "0.8.0",
+    "grunt-contrib-jshint": "0.11.0",
     "grunt-contrib-less": "0.9.0"
   }
 }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I32ec9046dd28c9199ea3754b978a22c2974775aa
Gerrit-PatchSet: 5
Gerrit-Project: apps/ios/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Krinkle <[email protected]>
Gerrit-Reviewer: Bgerstle <[email protected]>
Gerrit-Reviewer: Dr0ptp4kt <[email protected]>
Gerrit-Reviewer: Fjalapeno <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: Mhurd <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to