jenkins-bot has submitted this change and it was merged.

Change subject: [jshint] Enable `unused` option
......................................................................


[jshint] Enable `unused` option

Change-Id: Iaa4e350c1193882fb6b54cdd2a5ca591ef941694
---
M .jshintrc
M bin/parserTests.js
M bin/roundtrip-test.js
M bin/server.js
M lib/api/routes.js
M lib/config/MWParserEnvironment.js
M lib/config/WikiConfig.js
M lib/ext/cite/Cite.js
M lib/html2wt/ConstrainedText.js
M lib/html2wt/DOMHandlers.js
M lib/html2wt/LinkHandler.js
M lib/html2wt/SelectiveSerializer.js
M lib/html2wt/WikitextSerializer.js
M lib/html2wt/separators.js
M lib/jsapi.js
M lib/logger/LogData.js
M lib/logger/Logger.js
M lib/mw/ApiRequest.js
M lib/utils/DOMUtils.js
M lib/utils/Diff.js
M lib/utils/Util.js
M lib/wt2html/TokenTransformManager.js
M lib/wt2html/XMLSerializer.js
M lib/wt2html/parser.js
M lib/wt2html/pp/computeDSR.js
M lib/wt2html/pp/dom.t.unpackDOMFragments.js
M lib/wt2html/pp/linter.js
M lib/wt2html/pp/markFosteredContent.js
M lib/wt2html/pp/markTreeBuilderFixups.js
M lib/wt2html/tokenizer.js
M lib/wt2html/tt/AttributeExpander.js
M lib/wt2html/tt/DOMFragmentBuilder.js
M lib/wt2html/tt/LinkHandler.js
M lib/wt2html/tt/ParagraphWrapper.js
M lib/wt2html/tt/PreHandler.js
M lib/wt2html/tt/QuoteTransformer.js
M lib/wt2html/tt/TemplateHandler.js
M lib/wt2html/tt/TokenStreamPatcher.js
M tests/client/client.js
M tests/mocha/api.js
M tests/mocha/dsr.js
M tests/mocha/jsapi.js
M tests/mocha/lintertest.js
M tests/mocha/parse.js
M tests/mocha/parsoid.config.js
45 files changed, 37 insertions(+), 129 deletions(-)

Approvals:
  Subramanya Sastry: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/.jshintrc b/.jshintrc
index 5705568..1f1718a 100644
--- a/.jshintrc
+++ b/.jshintrc
@@ -14,5 +14,6 @@
        "node": true,
        "nonew": true,
        "strict": true,
-       "undef": true
+       "undef": true,
+       "unused": "vars"
 }
diff --git a/bin/parserTests.js b/bin/parserTests.js
index 79e3321..9c67b9f 100755
--- a/bin/parserTests.js
+++ b/bin/parserTests.js
@@ -16,10 +16,7 @@
 var apiServer = require('../tests/apiServer.js');
 var async = require('async');
 var colors = require('colors');
-var childProc = require('child_process');
-var fork = childProc.fork;
 var fs = require('fs');
-var path = require('path');
 var yargs = require('yargs');
 var Alea = require('alea');
 var DU = require('../lib/utils/DOMUtils.js').DOMUtils;
@@ -950,7 +947,6 @@
        var testTasks = [];
 
        // Some useful booleans
-       var startsAtWikitext = mode === 'wt2wt' || mode === 'wt2html' || mode 
=== 'selser';
        var startsAtHtml = mode === 'html2html' || mode === 'html2wt';
        var endsAtWikitext = mode === 'wt2wt' || mode === 'selser' || mode === 
'html2wt';
        var endsAtHtml = mode === 'wt2html' || mode === 'html2html';
@@ -1893,9 +1889,7 @@
  * @method
  */
 ParserTests.prototype.processCase = function(i, options, err) {
-       var ix;
        var item;
-       var cases = this.cases;
        var targetModes = options.modes;
        var nextCallback = this.processCase.bind(this, i + 1, options);
 
diff --git a/bin/roundtrip-test.js b/bin/roundtrip-test.js
index 03e4774..a00d5da 100755
--- a/bin/roundtrip-test.js
+++ b/bin/roundtrip-test.js
@@ -2,12 +2,9 @@
 'use strict';
 require('../core-upgrade.js');
 
-var request = require('request');
 var yargs = require('yargs');
 var domino = require('domino');
-var url = require('url');
 var zlib = require('zlib');
-var JSUtils = require('../lib/utils/jsutils.js').JSUtils;
 var Util = require('../lib/utils/Util.js').Util;
 var DU = require('../lib/utils/DOMUtils.js').DOMUtils;
 var TemplateRequest = require('../lib/mw/ApiRequest.js').TemplateRequest;
@@ -45,8 +42,6 @@
                                syntactic: 0,
                        },
                };
-               var semanticDiffs = 0;
-               var syntacticDiffs = 0;
                for (var i = 0; i < results.length; i++) {
                        var result = results[i];
                        output += testDivider;
diff --git a/bin/server.js b/bin/server.js
index 9efdf53..cbd76ea 100755
--- a/bin/server.js
+++ b/bin/server.js
@@ -26,7 +26,6 @@
 var cluster = require('cluster');
 var path = require('path');
 var util = require('util');
-var fs = require('fs');
 
 // process arguments
 var opts = require("yargs")
@@ -146,7 +145,6 @@
        };
 
        // Fork workers
-       var worker;
        processLogger.log("info", util.format("initializing %s workers", 
argv.n));
        for (var i = 0; i < argv.n; i++) {
                spawn();
diff --git a/lib/api/routes.js b/lib/api/routes.js
index 7f5f2fe..abd7190 100644
--- a/lib/api/routes.js
+++ b/lib/api/routes.js
@@ -2,9 +2,7 @@
 require('../../core-upgrade.js');
 
 var path = require('path');
-var fs = require('fs');
 var qs = require('querystring');
-var url = require('url');
 var childProcess = require('child_process');
 var pkg = require('../../package.json');
 var apiUtils = require('./apiUtils.js');
diff --git a/lib/config/MWParserEnvironment.js 
b/lib/config/MWParserEnvironment.js
index b04ec15..99abdb3 100644
--- a/lib/config/MWParserEnvironment.js
+++ b/lib/config/MWParserEnvironment.js
@@ -7,11 +7,9 @@
 var Batcher = require('../mw/Batcher.js').Batcher;
 var Title = require('../mw/Title.js').Title;
 var Util = require('../utils/Util.js').Util;
-var JSUtils = require('../utils/jsutils.js').JSUtils;
 var ParserPipelineFactory = 
require('../wt2html/parser.js').ParserPipelineFactory;
 var Linter = require('../logger/linter.js').Linter;
 var ParsoidLogger = require('../logger/ParsoidLogger.js').ParsoidLogger;
-var util = require('util');
 var Cite = require('../ext/cite/Cite.js').Cite;
 
 /**
diff --git a/lib/config/WikiConfig.js b/lib/config/WikiConfig.js
index c1f39b4..cef7838 100644
--- a/lib/config/WikiConfig.js
+++ b/lib/config/WikiConfig.js
@@ -7,7 +7,6 @@
 var baseConfig = require('./baseconfig/enwiki.json').query;
 var JSUtils = require('../utils/jsutils.js').JSUtils;
 var Util = require('../utils/Util.js').Util;
-var request = require('request');
 
 // Make sure our base config is never modified
 JSUtils.deepFreeze(baseConfig);
diff --git a/lib/ext/cite/Cite.js b/lib/ext/cite/Cite.js
index 7def280..3b6c4cd 100644
--- a/lib/ext/cite/Cite.js
+++ b/lib/ext/cite/Cite.js
@@ -5,7 +5,6 @@
 'use strict';
 require('../../../core-upgrade.js');
 
-var coreutil = require('util');
 var entities = require('entities');
 var Util = require('../../utils/Util.js').Util;
 var DU = require('../../utils/DOMUtils.js').DOMUtils;
@@ -15,7 +14,6 @@
 
 // define some constructor shortcuts
 var KV = defines.KV;
-var EOFTk = defines.EOFTk;
 var SelfclosingTagTk = defines.SelfclosingTagTk;
 
 
@@ -302,7 +300,6 @@
        // token so that the dom post processor can generate
        // and emit references at this point in the DOM.
        var emitReferencesFragment = function(toks, refsBody) {
-               var type = refsTok.getAttribute('typeof');
                var olHTML = "<ol class='mw-references'" +
                        " typeof='mw:Extension/references'" +
                        " about='" + referencesId + "'" + ">" + (refsBody || 
"") + "</ol>";
@@ -465,7 +462,6 @@
 };
 
 References.prototype.insertReferencesIntoDOM = function(refsNode, refsData, 
refsInReferencesHTML) {
-       var about = refsNode.getAttribute('about');
        var dp = DU.getDataParsoid(refsNode);
        var group = dp.group || '';
        var src = dp.src || '<references/>';  // fall back so we don't crash
diff --git a/lib/html2wt/ConstrainedText.js b/lib/html2wt/ConstrainedText.js
index 81d97a6..4224eaf 100644
--- a/lib/html2wt/ConstrainedText.js
+++ b/lib/html2wt/ConstrainedText.js
@@ -15,7 +15,7 @@
 var util = require('util');
 var DU = require('../utils/DOMUtils.js').DOMUtils;
 var Util = require('../utils/Util.js').Util;
-var WTSUtils = require('./WTSUtils.js').WTSUtils;
+
 
 /*
  * This adds necessary escapes to a line of chunks.  We provide
diff --git a/lib/html2wt/DOMHandlers.js b/lib/html2wt/DOMHandlers.js
index 244f7a0..2f30303 100644
--- a/lib/html2wt/DOMHandlers.js
+++ b/lib/html2wt/DOMHandlers.js
@@ -167,15 +167,6 @@
        return res + space;
 }
 
-function wtEOL(node, otherNode) {
-       if (DU.isElt(otherNode) &&
-               (DU.getDataParsoid(otherNode).stx === 'html' || 
DU.getDataParsoid(otherNode).src)) {
-               return { min: 0, max: 2 };
-       } else {
-               return { min: 1, max: 2 };
-       }
-}
-
 function wtListEOL(node, otherNode) {
        if (!DU.isElt(otherNode) || DU.isBody(otherNode) ||
                DU.isFirstEncapsulationWrapperNode(otherNode)) {
@@ -957,7 +948,6 @@
        meta: {
                handle: Promise.method(function(node, state, wrapperUnmodified) 
{
                        var type = node.getAttribute('typeof');
-                       var content = node.getAttribute('content');
                        var property = node.getAttribute('property');
                        var dp = DU.getDataParsoid(node);
 
@@ -1284,7 +1274,6 @@
 var _getEncapsulatedContentHandler = function(node) {
        var self = this;
        var env = this.env;
-       var state = this.state;
        var dp = DU.getDataParsoid(node);
        var typeOf = node.getAttribute('typeof') || '';
 
diff --git a/lib/html2wt/LinkHandler.js b/lib/html2wt/LinkHandler.js
index 4d5323d..d72515d 100644
--- a/lib/html2wt/LinkHandler.js
+++ b/lib/html2wt/LinkHandler.js
@@ -5,8 +5,8 @@
 var Util = require('../utils/Util.js').Util;
 var DU = require('../utils/DOMUtils.js').DOMUtils;
 var Title = require('../mw/Title.js').Title;
-var pd = require('../wt2html/parser.defines.js');
 var CT = require('./ConstrainedText.js');
+
 var AutoURLLinkText = CT.AutoURLLinkText;
 var ExtLinkText = CT.ExtLinkText;
 var MagicLinkText = CT.MagicLinkText;
@@ -165,7 +165,6 @@
                // What might look like external links might be serializable as 
a wikilink.
                target = rtData.target;
                if 
(/\b(mw:ExtLink|mw:PageProp\/Language|mw:PageProp\/redirect)\b/.test(rtData.type))
 {
-                       var targetVal = target.value;
                        // Check if the href matches any of our interwiki URL 
patterns
                        var interWikiMatch = 
wiki.InterWikiMatcher().match(href);
                        if (interWikiMatch
@@ -400,7 +399,6 @@
        if (linkData.type === 'mw:PageProp/Category') {
                // Split target and sort key
                var targetParts = target.value.match(/^([^#]*)#(.*)/);
-               var prevNode = node.previousSibling;
 
                if (targetParts) {
                        target.value = targetParts[1]
@@ -806,7 +804,7 @@
        });
 });
 
-var figureHandlerImpl = Promise.method(function(node, state, resource, imgElt,
+figureHandlerImpl = Promise.method(function(node, state, resource, imgElt,
                linkElt, outerElt, captionElt) {
        var nopts = [];
        var outerDP = (outerElt) ? DU.getDataParsoid(outerElt) : {};
diff --git a/lib/html2wt/SelectiveSerializer.js 
b/lib/html2wt/SelectiveSerializer.js
index 1830a9c..f2b9891 100644
--- a/lib/html2wt/SelectiveSerializer.js
+++ b/lib/html2wt/SelectiveSerializer.js
@@ -8,7 +8,6 @@
 
 var WikitextSerializer = require('./WikitextSerializer.js').WikitextSerializer;
 var DOMDiff = require('./DOMDiff.js').DOMDiff;
-var normalizeDOM = require('./normalizeDOM.js').normalizeDOM;
 var DU = require('../utils/DOMUtils.js').DOMUtils;
 
 
diff --git a/lib/html2wt/WikitextSerializer.js 
b/lib/html2wt/WikitextSerializer.js
index 84ab7d2..5221ad0 100644
--- a/lib/html2wt/WikitextSerializer.js
+++ b/lib/html2wt/WikitextSerializer.js
@@ -26,7 +26,6 @@
 require('../../core-upgrade.js');
 
 var util = require('util');
-var JSUtils = require('../utils/jsutils.js').JSUtils;
 var Util = require('../utils/Util.js').Util;
 var DU = require('../utils/DOMUtils.js').DOMUtils;
 var wtConsts = require('../config/WikitextConstants.js');
@@ -238,7 +237,6 @@
 ]);
 
 WSP._serializeAttributes = Promise.method(function(node, token) {
-       var tokType = token.getAttribute('typeof');
        var attribs = token.attribs;
 
        var out = [];
diff --git a/lib/html2wt/separators.js b/lib/html2wt/separators.js
index 1a3face..e153f6a 100644
--- a/lib/html2wt/separators.js
+++ b/lib/html2wt/separators.js
@@ -7,7 +7,6 @@
 var Util = require('../utils/Util.js').Util;
 var DU = require('../utils/DOMUtils.js').DOMUtils;
 var WTSUtils = require('./WTSUtils.js').WTSUtils;
-var pd = require('../wt2html/parser.defines.js');
 
 
 /**
diff --git a/lib/jsapi.js b/lib/jsapi.js
index b802961..252bacf 100644
--- a/lib/jsapi.js
+++ b/lib/jsapi.js
@@ -39,9 +39,6 @@
        return (new WikitextSerializer({ env: env })).serializeDOMSync(body);
 };
 
-// noop helper
-var noop = function() { };
-
 // Forward declarations of Wrapper classes.
 var PNode, PNodeList, PComment, PExtLink, PHeading, PHtmlEntity, PMedia, PTag, 
PTemplate, PText, PWikiLink;
 
diff --git a/lib/logger/LogData.js b/lib/logger/LogData.js
index 455f9fd..4f7a9ca 100644
--- a/lib/logger/LogData.js
+++ b/lib/logger/LogData.js
@@ -1,7 +1,6 @@
 'use strict';
 require('../../core-upgrade.js');
 
-var util = require('util');
 
 /**
  * Consolidates logging data into a single flattened
diff --git a/lib/logger/Logger.js b/lib/logger/Logger.js
index eb5a345..782d885 100644
--- a/lib/logger/Logger.js
+++ b/lib/logger/Logger.js
@@ -1,7 +1,6 @@
 'use strict';
 require('../../core-upgrade.js');
 
-var util = require('util');
 var async = require('async');
 var LogData = require('./LogData.js').LogData;
 
diff --git a/lib/mw/ApiRequest.js b/lib/mw/ApiRequest.js
index 1e1db0d..c8c2150 100644
--- a/lib/mw/ApiRequest.js
+++ b/lib/mw/ApiRequest.js
@@ -361,8 +361,6 @@
  * @param {string} body The body of the response from the API
  */
 ApiRequest.prototype._requestCB = function(error, response, body) {
-       var self = this;
-
        if (error) {
                this.trace("Received error:", error);
                this.env.log('warning/api' + (error.code ? ("/" + 
error.code).toLowerCase() : ''),
@@ -686,7 +684,6 @@
        }
 
        var uri = env.conf.wiki.apiURI;
-       var proxy = env.conf.wiki.apiProxy;
 
        // Pass the page title to the API
        var title = env.page && env.page.title && env.page.title.key;
@@ -787,7 +784,7 @@
 
        var batchResponse = data['parsoid-batch'];
        var callbackData = [];
-       var index, itemParams, itemResponse, j, mangled;
+       var index, itemParams, itemResponse, mangled;
        for (index = 0; index < batchResponse.length; index++) {
                itemParams = this.batchParams[index];
                itemResponse = batchResponse[index];
@@ -1026,8 +1023,6 @@
                }
        }
 
-       var proxy = env.conf.wiki.apiProxy;
-
        this.requestOptions = {
                method: 'GET',
                followRedirect: true,
@@ -1042,7 +1037,7 @@
 util.inherits(ImageInfoRequest, ApiRequest);
 
 ImageInfoRequest.prototype._handleJSON = function(error, data) {
-       var pagenames, names, namelist, newpages, pages, pagelist, ix;
+       var pagenames, names, newpages, pages, pagelist, ix;
 
        logAPIWarnings(this, data);
 
diff --git a/lib/utils/DOMUtils.js b/lib/utils/DOMUtils.js
index 7b2b028..b2d5f05 100644
--- a/lib/utils/DOMUtils.js
+++ b/lib/utils/DOMUtils.js
@@ -315,7 +315,7 @@
        },
 
        loadDataMw: function(node) {
-               var mw = this.loadDataAttrib(node, 'mw', {});
+               this.loadDataAttrib(node, 'mw', {});
        },
 
        storeDataParsoid: function(node, dpObj) {
@@ -1541,8 +1541,6 @@
         *     }
         */
        extractExpansions: function(doc) {
-               var node = doc.body;
-               var expansion;
                var expansions = {
                        transclusions: {},
                        extensions: {},
@@ -2344,7 +2342,7 @@
                parent.removeChild(placeholder);
        };
        var visit = function(node, stripLeadingWS, stripTrailingWS, inPRE) {
-               var child, next, prev, nl, placeholder;
+               var child, next, prev;
                if (node.nodeName === 'PRE') {
                        // Preserve newlines in <pre> tags
                        inPRE = true;
diff --git a/lib/utils/Diff.js b/lib/utils/Diff.js
index f2f2ab9..0423d68 100644
--- a/lib/utils/Diff.js
+++ b/lib/utils/Diff.js
@@ -105,24 +105,24 @@
 // };
 
 // Variant of diff with some extra context
-var contextDiff = function(a, b, color, onlyReportChanges, useLines) {
-       var diff = jsDiff.diffLines(a, b);
-       var offsetPairs = this.convertDiffToOffsetPairs(diff);
-       var results = [];
-       offsetPairs.map(function(pair) {
-               var context = 5;
-               var asource = a.substring(pair[0].start - context, pair[0].end 
+ context);
-               var bsource = b.substring(pair[1].start - context, pair[1].end 
+ context);
-               results.push('++++++\n' + JSON.stringify(asource));
-               results.push('------\n' + JSON.stringify(bsource));
-               // results.push('======\n' + Diff.htmlDiff(a, b, color, 
onlyReportChanges, useLines));
-       });
-       if (!onlyReportChanges || diff.length > 0) {
-               return results.join('\n');
-       } else {
-               return '';
-       }
-};
+// var contextDiff = function(a, b, color, onlyReportChanges, useLines) {
+//     var diff = jsDiff.diffLines(a, b);
+//     var offsetPairs = this.convertDiffToOffsetPairs(diff);
+//     var results = [];
+//     offsetPairs.map(function(pair) {
+//             var context = 5;
+//             var asource = a.substring(pair[0].start - context, pair[0].end 
+ context);
+//             var bsource = b.substring(pair[1].start - context, pair[1].end 
+ context);
+//             results.push('++++++\n' + JSON.stringify(asource));
+//             results.push('------\n' + JSON.stringify(bsource));
+//             // results.push('======\n' + Diff.htmlDiff(a, b, color, 
onlyReportChanges, useLines));
+//     });
+//     if (!onlyReportChanges || diff.length > 0) {
+//             return results.join('\n');
+//     } else {
+//             return '';
+//     }
+// };
 
 Diff.convertDiffToOffsetPairs = function(diff) {
        var currentPair;
diff --git a/lib/utils/Util.js b/lib/utils/Util.js
index 1231956..412d5a8 100644
--- a/lib/utils/Util.js
+++ b/lib/utils/Util.js
@@ -10,7 +10,6 @@
 var request = require('request');
 var entities = require('entities');
 var TXStatsD = require('node-txstatsd');
-var TemplateRequest = require('../mw/ApiRequest.js').TemplateRequest;
 var Consts = require('../config/WikitextConstants.js').WikitextConstants;
 var JSUtils = require('./jsutils.js').JSUtils;
 
diff --git a/lib/wt2html/TokenTransformManager.js 
b/lib/wt2html/TokenTransformManager.js
index c101fda..5ece6eb 100644
--- a/lib/wt2html/TokenTransformManager.js
+++ b/lib/wt2html/TokenTransformManager.js
@@ -16,7 +16,6 @@
 'use strict';
 
 var events = require('events');
-var crypto = require('crypto');
 var util = require('util');
 var JSUtils = require('../utils/jsutils.js').JSUtils;
 var Util = require('../utils/Util.js').Util;
@@ -1379,7 +1378,6 @@
                // Simply wrap normal expansion ;)
                // XXX: Integrate this into the pipeline setup?
                outType = 'tokens/x-mediawiki/expanded';
-               var self = this;
                var origCB = cb;
                cb = function(resChunk) {
                        var res = Util.tokensToString(resChunk);
diff --git a/lib/wt2html/XMLSerializer.js b/lib/wt2html/XMLSerializer.js
index 0da4b6e..c6b4194 100644
--- a/lib/wt2html/XMLSerializer.js
+++ b/lib/wt2html/XMLSerializer.js
@@ -5,17 +5,10 @@
 
 // nodeType constants
 var ELEMENT_NODE = 1;
-var ATTRIBUTE_NODE = 2;
 var TEXT_NODE = 3;
-var CDATA_SECTION_NODE = 4;
-var ENTITY_REFERENCE_NODE = 5;
-var ENTITY_NODE = 6;
-var PROCESSING_INSTRUCTION_NODE = 7;
 var COMMENT_NODE = 8;
 var DOCUMENT_NODE = 9;
-var DOCUMENT_TYPE_NODE = 10;
 var DOCUMENT_FRAGMENT_NODE = 11;
-var NOTATION_NODE = 12;
 
 /**
  * HTML5 void elements
@@ -89,8 +82,6 @@
                accum('<' + localName, node);
                for (var i = 0; i < len; i++) {
                        var attr = attrs.item(i);
-                       var singleQuotes, doubleQuotes;
-                       var useSingleQuotes = false;
                        if (options.smartQuote &&
                                        // More double quotes than single 
quotes in value?
                                        (attr.value.match(/"/g) || []).length >
diff --git a/lib/wt2html/parser.js b/lib/wt2html/parser.js
index 946e9b3..01122c1 100644
--- a/lib/wt2html/parser.js
+++ b/lib/wt2html/parser.js
@@ -29,7 +29,6 @@
 var DOMFragmentBuilder = 
require('./tt/DOMFragmentBuilder.js').DOMFragmentBuilder;
 var TreeBuilder = require('./HTML5TreeBuilder.js').TreeBuilder;
 var DOMPostProcessor = require('./DOMPostProcessor.js').DOMPostProcessor;
-var JSUtils = require('../utils/jsutils.js').JSUtils;
 
 var SyncTokenTransformManager = 
TokenTransformManager.SyncTokenTransformManager;
 var AsyncTokenTransformManager = 
TokenTransformManager.AsyncTokenTransformManager;
diff --git a/lib/wt2html/pp/computeDSR.js b/lib/wt2html/pp/computeDSR.js
index 2f8c815..a7317ad 100644
--- a/lib/wt2html/pp/computeDSR.js
+++ b/lib/wt2html/pp/computeDSR.js
@@ -2,7 +2,6 @@
 
 var Consts = require('../../config/WikitextConstants.js').WikitextConstants;
 var DU = require('../../utils/DOMUtils.js').DOMUtils;
-var Util = require('../../utils/Util.js').Util;
 var dumpDOM = require('./dumper.js').dumpDOM;
 
 
diff --git a/lib/wt2html/pp/dom.t.unpackDOMFragments.js 
b/lib/wt2html/pp/dom.t.unpackDOMFragments.js
index f4c1417..c7bc936 100644
--- a/lib/wt2html/pp/dom.t.unpackDOMFragments.js
+++ b/lib/wt2html/pp/dom.t.unpackDOMFragments.js
@@ -2,7 +2,6 @@
 
 var DU = require('../../utils/DOMUtils.js').DOMUtils;
 var Util = require('../../utils/Util.js').Util;
-var Consts = require('../../config/WikitextConstants.js').WikitextConstants;
 var DOMTraverser = require('../../utils/DOMTraverser.js').DOMTraverser;
 
 
diff --git a/lib/wt2html/pp/linter.js b/lib/wt2html/pp/linter.js
index de5e9a8..1b9bad2 100644
--- a/lib/wt2html/pp/linter.js
+++ b/lib/wt2html/pp/linter.js
@@ -11,7 +11,6 @@
 */
 'use strict';
 
-var Consts = require('../../config/WikitextConstants.js').WikitextConstants;
 var DU = require('../../utils/DOMUtils.js').DOMUtils;
 var Util = require('../../utils/Util.js').Util;
 
@@ -40,7 +39,6 @@
                                env.log('lint/mixed-content', lintObj);
                        } else if (parts.length > 1) {
                                var targets = [];
-                               var t = null;
                                dmw.parts.forEach(function(a) {
                                        if (a.template || a.extension) {
                                                
targets.push(JSON.stringify(a.template.target));
diff --git a/lib/wt2html/pp/markFosteredContent.js 
b/lib/wt2html/pp/markFosteredContent.js
index cf047b2..b102a3b 100644
--- a/lib/wt2html/pp/markFosteredContent.js
+++ b/lib/wt2html/pp/markFosteredContent.js
@@ -98,7 +98,7 @@
                return fosterContentHolder;
        }
 
-       var span, sibling, next, dp, fosteredTransclusions;
+       var sibling, next, dp, fosteredTransclusions;
        var c = node.firstChild;
 
        while (c) {
diff --git a/lib/wt2html/pp/markTreeBuilderFixups.js 
b/lib/wt2html/pp/markTreeBuilderFixups.js
index 12edc05..6fb3138 100644
--- a/lib/wt2html/pp/markTreeBuilderFixups.js
+++ b/lib/wt2html/pp/markTreeBuilderFixups.js
@@ -1,6 +1,5 @@
 'use strict';
 
-var Consts = require('../../config/WikitextConstants.js').WikitextConstants;
 var DU = require('../../utils/DOMUtils.js').DOMUtils;
 var Util = require('../../utils/Util.js').Util;
 
diff --git a/lib/wt2html/tokenizer.js b/lib/wt2html/tokenizer.js
index c13d329..095a0b8 100644
--- a/lib/wt2html/tokenizer.js
+++ b/lib/wt2html/tokenizer.js
@@ -121,6 +121,7 @@
                var tab = '    ';
                // Add some jscs overrides and define globals.
                var rulesSource = '/* jscs:disable disallowMultipleVarDecl, 
validateIndentation, requireCamelCaseOrUpperCaseIdentifiers */\n';
+               rulesSource += '/* jshint unused: false */';
                rulesSource += "'use strict';\n";
                rulesSource += 'var options, location, input, text, peg$cache, 
peg$currPos;\n';
                // Prevent redefinitions of variables involved in choice 
expressions
diff --git a/lib/wt2html/tt/AttributeExpander.js 
b/lib/wt2html/tt/AttributeExpander.js
index bf5ebd2..a458ae2 100644
--- a/lib/wt2html/tt/AttributeExpander.js
+++ b/lib/wt2html/tt/AttributeExpander.js
@@ -3,15 +3,12 @@
  */
 'use strict';
 
-var async = require('async');
 var Util = require('../../utils/Util.js').Util;
 var AttributeTransformManager = 
require('../TokenTransformManager.js').AttributeTransformManager;
 var PegTokenizer = require('../tokenizer.js').PegTokenizer;
 var defines = require('../parser.defines.js');
 
 // define some constructor shortcuts
-var KV = defines.KV;
-var EOFTk = defines.EOFTk;
 var NlTk = defines.NlTk;
 var TagTk = defines.TagTk;
 var SelfclosingTagTk = defines.SelfclosingTagTk;
@@ -239,7 +236,7 @@
        // happens in this code.
        var newAttrs = null;
        var nlTkPos = -1;
-       var dp, i, l;
+       var i, l;
        var nlTkOkay = !(!token.isHTMLTag() && Util.isTableTag(token));
 
        // Identify attributes that were generated in full or in part using 
templates
diff --git a/lib/wt2html/tt/DOMFragmentBuilder.js 
b/lib/wt2html/tt/DOMFragmentBuilder.js
index fc09935..9295fd9 100644
--- a/lib/wt2html/tt/DOMFragmentBuilder.js
+++ b/lib/wt2html/tt/DOMFragmentBuilder.js
@@ -5,7 +5,6 @@
 var defines = require('../parser.defines.js');
 
 // define some constructor shortcuts
-var CommentTk = defines.CommentTk;
 var TagTk = defines.TagTk;
 var EOFTk = defines.EOFTk;
 var SelfclosingTagTk = defines.SelfclosingTagTk;
diff --git a/lib/wt2html/tt/LinkHandler.js b/lib/wt2html/tt/LinkHandler.js
index cfe9a18..a5516ed 100644
--- a/lib/wt2html/tt/LinkHandler.js
+++ b/lib/wt2html/tt/LinkHandler.js
@@ -10,7 +10,6 @@
 var PegTokenizer = require('../tokenizer.js').PegTokenizer;
 var WikitextConstants = 
require('../../config/WikitextConstants.js').WikitextConstants;
 var Title = require('../../mw/Title.js').Title;
-var ImageInfoRequest = require('../../mw/ApiRequest.js').ImageInfoRequest;
 var sanitizerLib = require('./Sanitizer.js');
 var Util = require('../../utils/Util.js').Util;
 var DU = require('../../utils/DOMUtils.js').DOMUtils;
@@ -355,7 +354,6 @@
  * @return {Array} Content tokens
  */
 WikiLinkHandler.prototype.addLinkAttributesAndGetContent = function(newTk, 
token, target, buildDOMFragment) {
-       var title = target.title;
        var attribs = token.attribs;
        var dataAttribs = token.dataAttribs;
        var newAttrData = buildLinkAttrs(attribs, true, null, [new KV('rel', 
'mw:WikiLink')]);
@@ -530,7 +528,7 @@
        // The prefix is listed in the interwiki map
 
        var newTk = new SelfclosingTagTk('link', [], token.dataAttribs);
-       var content = this.addLinkAttributesAndGetContent(newTk, token, target);
+       this.addLinkAttributesAndGetContent(newTk, token, target);
 
        // add title attribute giving the presentation name of the
        // "extra language link"
@@ -789,7 +787,6 @@
  * }
  */
 function getOptionInfo(optStr, env) {
-       var returnObj;
        var oText = optStr.trim();
        var lowerOText = oText.toLowerCase();
        var getOption = env.conf.wiki.getMagicPatternMatcher(
@@ -938,7 +935,6 @@
        var innerContainClose = new EndTagTk(iContainerName);
        var img = new SelfclosingTagTk('img', []);
        var wrapperInfo = getWrapperInfo(opts);
-       var wrapperStyles = wrapperInfo.styles;
        var wrapperClasses = wrapperInfo.classes;
        var useFigure = wrapperInfo.isInline !== true;
        var dataMW = token.getAttribute("data-mw");
@@ -1016,7 +1012,6 @@
        info.height = Number(info.height);
        info.width = Number(info.width);
 
-       var imageSrc = dataAttribs.src;
        if (!dataAttribs.uneditable) {
                dataAttribs.src = undefined;
        }
@@ -1238,7 +1233,6 @@
  * Render a file. This can be an image, a sound, a PDF etc.
  */
 WikiLinkHandler.prototype.renderFile = function(token, frame, cb, target) {
-       var fileName = target.href;
        var title = target.title;
 
        // First check if we have a cached copy of this image expansion, and
@@ -1590,7 +1584,7 @@
 
 // Bracketed external link
 ExternalLinkHandler.prototype.onExtLink = function(token, manager, cb) {
-       var newAttrs, aStart, title;
+       var newAttrs, aStart;
        var env = this.manager.env;
        var origHref = Util.lookup(token.attribs, 'href');
        var href = Util.tokensToString(origHref);
diff --git a/lib/wt2html/tt/ParagraphWrapper.js 
b/lib/wt2html/tt/ParagraphWrapper.js
index 0e339c0..115be0b 100644
--- a/lib/wt2html/tt/ParagraphWrapper.js
+++ b/lib/wt2html/tt/ParagraphWrapper.js
@@ -11,7 +11,6 @@
 var Consts = require('../../config/WikitextConstants.js').WikitextConstants;
 
 // define some constructor shortcuts
-var KV = defines.KV;
 var CommentTk = defines.CommentTk;
 var EOFTk = defines.EOFTk;
 var NlTk = defines.NlTk;
diff --git a/lib/wt2html/tt/PreHandler.js b/lib/wt2html/tt/PreHandler.js
index 530c7ac..f67bc42 100644
--- a/lib/wt2html/tt/PreHandler.js
+++ b/lib/wt2html/tt/PreHandler.js
@@ -74,7 +74,6 @@
 var TagTk = defines.TagTk;
 var SelfclosingTagTk = defines.SelfclosingTagTk;
 var EndTagTk = defines.EndTagTk;
-var KV = defines.KV;
 
 
 var init; // forward declaration.
diff --git a/lib/wt2html/tt/QuoteTransformer.js 
b/lib/wt2html/tt/QuoteTransformer.js
index dd45af6..6fc7fc6 100644
--- a/lib/wt2html/tt/QuoteTransformer.js
+++ b/lib/wt2html/tt/QuoteTransformer.js
@@ -3,11 +3,9 @@
  */
 'use strict';
 
-var Util = require('../../utils/Util.js').Util;
 var defines = require('../parser.defines.js');
 
 // define some constructor shortcuts
-var NlTk = defines.NlTk;
 var TagTk = defines.TagTk;
 var SelfclosingTagTk = defines.SelfclosingTagTk;
 var EndTagTk = defines.EndTagTk;
diff --git a/lib/wt2html/tt/TemplateHandler.js 
b/lib/wt2html/tt/TemplateHandler.js
index ad21b30..da37679 100644
--- a/lib/wt2html/tt/TemplateHandler.js
+++ b/lib/wt2html/tt/TemplateHandler.js
@@ -521,7 +521,6 @@
 TemplateHandler.prototype._expandTemplate = function(state, frame, 
resolvedTgt, cb, attribs) {
        var env = this.manager.env;
        var target = attribs[0].k;
-       var self = this;
 
        if (!target) {
                env.ap('No target! ', attribs);
@@ -751,7 +750,6 @@
 // used to signal an error to async.each
 var getParamHTML = function(paramData, eachCb) {
        var param = paramData.param;
-       var paramTokens = paramData.tokens;
        var srcStart = paramData.info.srcOffsets[2];
        var srcEnd = paramData.info.srcOffsets[3];
        if (paramData.info.spc) {
diff --git a/lib/wt2html/tt/TokenStreamPatcher.js 
b/lib/wt2html/tt/TokenStreamPatcher.js
index e1de18d..461b671 100644
--- a/lib/wt2html/tt/TokenStreamPatcher.js
+++ b/lib/wt2html/tt/TokenStreamPatcher.js
@@ -18,7 +18,6 @@
 
 // define some constructor shortcuts
 var CommentTk = defines.CommentTk;
-var NlTk = defines.NlTk;
 var TagTk = defines.TagTk;
 var SelfclosingTagTk = defines.SelfclosingTagTk;
 var EndTagTk = defines.EndTagTk;
diff --git a/tests/client/client.js b/tests/client/client.js
index 033e3e0..27d72f9 100755
--- a/tests/client/client.js
+++ b/tests/client/client.js
@@ -7,7 +7,6 @@
  */
 
 var http = require('http');
-var request = require('request');
 var cluster = require('cluster');
 var qs = require('querystring');
 var exec = require('child_process').exec;
@@ -32,7 +31,6 @@
                        config.server.port + '/title?commit=' + commit + 
'&ctime=' + encodeURIComponent(ctime),
                method: 'GET',
        };
-       var retries = 10;
 
        var callback = function(error, response, body) {
                if (error || !response) {
diff --git a/tests/mocha/api.js b/tests/mocha/api.js
index 675c8a4..5a090bf 100644
--- a/tests/mocha/api.js
+++ b/tests/mocha/api.js
@@ -6,7 +6,6 @@
 var apiServer = require('../apiServer.js');
 var request = require('supertest');
 var domino = require('domino');
-var url = require('url');
 var path = require('path');
 var should = require('chai').should();
 
diff --git a/tests/mocha/dsr.js b/tests/mocha/dsr.js
index a5a081d..325ca47 100644
--- a/tests/mocha/dsr.js
+++ b/tests/mocha/dsr.js
@@ -1,10 +1,9 @@
 'use strict';
-/*global describe, it, before*/
+/*global describe, it*/
 
 require('../../core-upgrade.js');
 
 var should = require("chai").should();
-var url = require('url');
 var DU = require('../../lib/utils/DOMUtils.js').DOMUtils;
 var ParsoidConfig = require('../../lib/config/ParsoidConfig.js').ParsoidConfig;
 var helpers = require('./test.helpers.js');
diff --git a/tests/mocha/jsapi.js b/tests/mocha/jsapi.js
index 9243c24..6f11fe7 100644
--- a/tests/mocha/jsapi.js
+++ b/tests/mocha/jsapi.js
@@ -1,5 +1,5 @@
 /** Testing the JavaScript API. */
-/*global describe, it, before*/
+/*global describe, it*/
 "use strict";
 
 var Parsoid = require('../../');
diff --git a/tests/mocha/lintertest.js b/tests/mocha/lintertest.js
index 8ebf3cd..ea319cd 100644
--- a/tests/mocha/lintertest.js
+++ b/tests/mocha/lintertest.js
@@ -1,9 +1,8 @@
 /** Test cases for the linter */
 'use strict';
 require('../../core-upgrade.js');
-/*global describe, it, Promise*/
+/*global describe, it*/
 
-var should = require("chai").should();
 var ParsoidConfig = require('../../lib/config/ParsoidConfig.js').ParsoidConfig;
 var helpers = require('./test.helpers.js');
 
diff --git a/tests/mocha/parse.js b/tests/mocha/parse.js
index 7e1c5b4..110ab69 100644
--- a/tests/mocha/parse.js
+++ b/tests/mocha/parse.js
@@ -1,9 +1,8 @@
 /** Test cases for lib/mediawiki.Util.js */
 'use strict';
 require('../../core-upgrade.js');
-/*global describe, it, Promise*/
+/*global describe, it*/
 
-var should = require("chai").should();
 var url = require('url');
 var ParsoidConfig = require('../../lib/config/ParsoidConfig.js').ParsoidConfig;
 var helpers = require('./test.helpers.js');
diff --git a/tests/mocha/parsoid.config.js b/tests/mocha/parsoid.config.js
index f3bab24..34678fd 100644
--- a/tests/mocha/parsoid.config.js
+++ b/tests/mocha/parsoid.config.js
@@ -1,9 +1,7 @@
 /** Test cases for the linter */
 'use strict';
 require('../../core-upgrade.js');
-/*global describe, it, Promise*/
-
-var should = require("chai").should();
+/*global describe, it*/
 
 var ParsoidConfig = require('../../lib/config/ParsoidConfig.js').ParsoidConfig;
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Iaa4e350c1193882fb6b54cdd2a5ca591ef941694
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <abrea...@wikimedia.org>
Gerrit-Reviewer: Cscott <canan...@wikimedia.org>
Gerrit-Reviewer: Subramanya Sastry <ssas...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to