From 04bb6513b0690449c2f4abc53bf2dad368193770 Mon Sep 17 00:00:00 2001 From: Peter Jaszkowiak Date: Sat, 18 Feb 2017 13:51:26 -0700 Subject: [PATCH] ESlint no-cond-assign, no-void, valid-jsdoc --- .eslintrc | 9 ++++----- public/src/modules/settings.js | 14 ++++++-------- public/src/modules/settings/array.js | 4 +--- public/src/modules/settings/checkbox.js | 7 +++++-- public/src/modules/settings/key.js | 4 ---- public/src/modules/settings/number.js | 5 ++++- public/src/modules/settings/object.js | 6 ++---- public/src/modules/settings/select.js | 2 -- public/src/modules/settings/textarea.js | 8 +++++--- public/src/modules/translator.js | 2 +- src/meta/templates.js | 5 +++-- src/posts/parse.js | 5 +++-- src/settings.js | 7 ++++--- 13 files changed, 38 insertions(+), 40 deletions(-) diff --git a/.eslintrc b/.eslintrc index 9f457493c4..1def8e8e04 100644 --- a/.eslintrc +++ b/.eslintrc @@ -24,6 +24,7 @@ "func-names": "off", "no-tabs": "off", "indent": ["error", "tab"], + "no-eq-null": "off", // ES6 "prefer-rest-params": "off", @@ -76,11 +77,9 @@ "yoda": "off", "no-use-before-define": "off", "no-loop-func": "off", - "no-void": "off", - "valid-jsdoc": "off", - "o-eq-null": "off", - "no-cond-assign": "off", - "no-eq-null": "off", + // "no-void": "off", + // "valid-jsdoc": "off", + // "no-cond-assign": "off", // "no-redeclare": "off", // "no-unreachable": "off", // "no-nested-ternary": "off", diff --git a/public/src/modules/settings.js b/public/src/modules/settings.js index 67dbb8896b..b8883f2958 100644 --- a/public/src/modules/settings.js +++ b/public/src/modules/settings.js @@ -31,7 +31,7 @@ define('settings', function () { } plugin = Settings.plugins[type.toLowerCase()]; if (plugin == null) { - return void 0; + return; } hook = plugin[name]; if (typeof hook === 'function') { @@ -137,7 +137,7 @@ define('settings', function () { value = value.trim(); } } - if (empty || (value != null ? value.length : void 0)) { + if (empty || (value != null && value.length)) { cleaned.push(value); } } @@ -167,17 +167,15 @@ define('settings', function () { if (split != null) { empty = helper.isTrue(element.data('empty')); // default empty-value is false for arrays value = element.val(); - var array = (value != null ? value.split(split || ',') : void 0) || []; + var array = (value != null && value.split(split || ',')) || []; return helper.cleanArray(array, trim, empty); } else { value = element.val(); if (trim && value != null && typeof value.trim === 'function') { value = value.trim(); } - if (empty || (value !== void 0 && (value == null || value.length !== 0))) { + if (empty || (value !== undefined && (value == null || value.length !== 0))) { return value; - } else { - return void 0; } } }, @@ -212,7 +210,7 @@ define('settings', function () { } else { value = ''; } - if (value !== void 0) { + if (value !== undefined) { element.val(value); } }, @@ -337,7 +335,7 @@ define('settings', function () { @returns Object The settings. */ get: function () { - if (Settings.cfg != null && Settings.cfg._ !== void 0) { + if (Settings.cfg != null && Settings.cfg._ !== undefined) { return Settings.cfg._; } return Settings.cfg; diff --git a/public/src/modules/settings/array.js b/public/src/modules/settings/array.js index 2c96d734be..6268c8d6c9 100644 --- a/public/src/modules/settings/array.js +++ b/public/src/modules/settings/array.js @@ -133,14 +133,12 @@ define('settings/array', function () { child = $(child); var val = helper.readValue(child); var empty = helper.isTrue(child.data('empty')); - if (empty || (val !== void 0 && (val == null || val.length !== 0))) { + if (empty || (val !== undefined && (val == null || val.length !== 0))) { return values.push(val); } }); if (empty || values.length) { return values; - } else { - return void 0; } }, }; diff --git a/public/src/modules/settings/checkbox.js b/public/src/modules/settings/checkbox.js index 6d36849b6a..d64212d4e0 100644 --- a/public/src/modules/settings/checkbox.js +++ b/public/src/modules/settings/checkbox.js @@ -21,10 +21,13 @@ define('settings/checkbox', function () { get: function (element, trim, empty) { var value = element.prop('checked'); if (value == null) { - return void 0; + return; } if (!empty) { - return value || void 0; + if (value) { + return value; + } + return; } if (trim) { return value ? 1 : 0; diff --git a/public/src/modules/settings/key.js b/public/src/modules/settings/key.js index 73839a087b..52b116b2e3 100644 --- a/public/src/modules/settings/key.js +++ b/public/src/modules/settings/key.js @@ -215,13 +215,9 @@ define('settings/key', function () { if (trim) { if (empty || (key != null && key.char)) { return getKeyString(key, false, short, separator); - } else { - return void 0; } } else if (empty || (key != null && key.code)) { return key; - } else { - return void 0; } }, }; diff --git a/public/src/modules/settings/number.js b/public/src/modules/settings/number.js index 52dd38fe44..12ff231076 100644 --- a/public/src/modules/settings/number.js +++ b/public/src/modules/settings/number.js @@ -6,7 +6,10 @@ define('settings/number', function () { get: function (element, trim, empty) { var value = element.val(); if (!empty) { - return value ? +value : void 0; + if (value) { + return +value; + } + return; } return value ? +value : 0; }, diff --git a/public/src/modules/settings/object.js b/public/src/modules/settings/object.js index ed94a8401a..e7c88ec585 100644 --- a/public/src/modules/settings/object.js +++ b/public/src/modules/settings/object.js @@ -88,7 +88,7 @@ define('settings/object', function () { attributes = {}; } propertyName = attributes['data-prop'] || attributes['data-property'] || propertyIndex; - if (value[propertyName] === void 0 && attributes['data-new'] !== void 0) { + if (value[propertyName] === undefined && attributes['data-new'] !== undefined) { value[propertyName] = attributes['data-new']; } addObjectPropertyElement(element, key, attributes, propertyName, value[propertyName], separator.clone(), function (el) { @@ -107,15 +107,13 @@ define('settings/object', function () { var val = helper.readValue(property); var prop = property.data('prop'); var empty = helper.isTrue(property.data('empty')); - if (empty || (val !== void 0 && (val == null || val.length !== 0))) { + if (empty || (val !== undefined && (val == null || val.length !== 0))) { value[prop] = val; return val; } }); if (empty || Object.keys(value).length) { return value; - } else { - return void 0; } }, }; diff --git a/public/src/modules/settings/select.js b/public/src/modules/settings/select.js index d90c03c4fd..1b28774871 100644 --- a/public/src/modules/settings/select.js +++ b/public/src/modules/settings/select.js @@ -39,8 +39,6 @@ define('settings/select', function () { var value = element.val(); if (empty || value) { return value; - } else { - return void 0; } }, }; diff --git a/public/src/modules/settings/textarea.js b/public/src/modules/settings/textarea.js index 0397e5bea5..cc36e90762 100644 --- a/public/src/modules/settings/textarea.js +++ b/public/src/modules/settings/textarea.js @@ -21,12 +21,14 @@ define('settings/textarea', function () { get: function (element, trim, empty) { var value = element.val(); if (trim) { - value = value == null ? void 0 : value.trim(); + if (value == null) { + value = undefined; + } else { + value = value.trim(); + } } if (empty || value) { return value; - } else { - return void 0; } }, }; diff --git a/public/src/modules/translator.js b/public/src/modules/translator.js index 023225c978..4291c82957 100644 --- a/public/src/modules/translator.js +++ b/public/src/modules/translator.js @@ -489,7 +489,7 @@ prepareDOM: function prepareDOM() { // Load the appropriate timeago locale file, // and correct NodeBB language codes to timeago codes, if necessary - var languageCode = void 0; + var languageCode; switch (config.userLang) { case 'en-GB': case 'en-US': diff --git a/src/meta/templates.js b/src/meta/templates.js index 4fc3205f63..4c2a8b1fb9 100644 --- a/src/meta/templates.js +++ b/src/meta/templates.js @@ -117,10 +117,10 @@ function compile(callback) { async.each(Object.keys(paths), function (relativePath, next) { var file = fs.readFileSync(paths[relativePath]).toString(); - var matches = null; var regex = /[ \t]*[ \t]*/; + var matches = file.match(regex); - while ((matches = file.match(regex)) !== null) { + while (matches !== null) { var partial = '/' + matches[1]; if (paths[partial] && relativePath !== partial) { @@ -129,6 +129,7 @@ function compile(callback) { winston.warn('[meta/templates] Partial not loaded: ' + matches[1]); file = file.replace(regex, ''); } + matches = file.match(regex); } mkdirp.sync(path.join(viewsPath, relativePath.split('/').slice(0, -1).join('/'))); diff --git a/src/posts/parse.js b/src/posts/parse.js index ff8eb29ce7..946c589056 100644 --- a/src/posts/parse.js +++ b/src/posts/parse.js @@ -49,10 +49,10 @@ module.exports = function (Posts) { Posts.relativeToAbsolute = function (content) { // Turns relative links in post body to absolute urls var parsed; - var current; + var current = urlRegex.exec(content); var absolute; - while ((current = urlRegex.exec(content)) !== null) { + while (current !== null) { if (current[1]) { try { parsed = url.parse(current[1]); @@ -71,6 +71,7 @@ module.exports = function (Posts) { winston.verbose(err.messsage); } } + current = urlRegex.exec(content); } return content; diff --git a/src/settings.js b/src/settings.js index b663721991..b9642c0dce 100644 --- a/src/settings.js +++ b/src/settings.js @@ -140,8 +140,8 @@ Settings.prototype.get = function (key, def) { obj = obj[part]; } } - if (obj === void 0) { - if (def === void 0) { + if (obj === undefined) { + if (def === undefined) { def = this.defCfg; for (var j = 0; j < parts.length; j += 1) { part = parts[j]; @@ -198,7 +198,8 @@ Settings.prototype.set = function (key, val) { obj = this.cfg._; parts = key.split('.'); for (var i = 0, _len = parts.length - 1; i < _len; i += 1) { - if (part = parts[i]) { + part = parts[i]; + if (part) { if (!obj.hasOwnProperty(part)) { obj[part] = {}; }