fix(style): updated code to follow new eslint recommendations

Squashed commit of the following:

commit f9ce878b269b3568f0d649309aae1af4dcfdfeef
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:30:46 2019 -0400

    fix(style): updated code to follow new eslint recommendations

commit 80dd370e413f22badb96ff2138e7991dfff6d836
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:14:58 2019 -0400

    fix(deps): update dependency sitemap to v4

    Squashed commit of the following:

    commit f4dd9cabb21e26fdc21f8413be822ea7c64251f8
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee16dcc27a8dcc2e4479d1bc5e2d1b60e
    Merge: e3352b272 72590b346
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:09:55 2019 -0400

        Merge branch 'master' into renovate/sitemap-4.x

    commit e3352b272eb9400bdb00774973181397803765e4
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

commit 8e3c0cdcae22acc32d352be8bb72d60e7502dbc5
Author: Renovate Bot <bot@renovateapp.com>
Date:   Fri Aug 9 00:49:51 2019 +0000

    fix(deps): update dependency commander to v3

commit 2104449d38818f2fa4d44b3a58a0a168781acbfb
Author: Renovate Bot <bot@renovateapp.com>
Date:   Tue Aug 13 15:00:27 2019 +0000

    fix(deps): update dependency mongodb to v3.3.0

commit d2937f446a21131c070ae5d0ff33d67cfe465b8c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

commit 1b97e8b199f960dc24e5722702f27499ae049914
Author: Misty (Bot) <deploy@nodebb.org>
Date:   Tue Aug 13 09:28:39 2019 +0000

    Latest translations and fallbacks

commit 69a48957a2f0d23c4d194b664bda3a0431179c01
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 21:56:09 2019 -0400

    feat: async/await

commit b9b2a7e593a452de4bef6d0ab6abe368a3bdb8dd
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 20:58:29 2019 -0400

    feat: async/await refactor

    controllers/accounts

commit a8d43a175974a0c8ae3dc132bf51a7ed9a4c6305
Author: Baris Usakli <barisusakli@gmail.com>
Date:   Mon Aug 12 14:49:40 2019 -0400

    feat: async/await controllers/accounts

commit 2f25aae57bf9dbe98d655276770e56bed9ec023b
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 23:09:50 2019 -0400

    fix: #7831, fix pagination

    convert to async/await

commit c9e83f2374572264855a04156278eef256b0a20c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c4dd7583412c4e8d56e9c1688e48a44
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:13:41 2019 -0400

    fix: remove useless catchs and empty line

commit 2e4a71c0b6104738f15ffbfe3246105b922fdfb3
Author: Renovate Bot <bot@renovateapp.com>
Date:   Sat Aug 10 06:51:50 2019 +0000

    chore(deps): update dependency eslint-config-airbnb-base to v14
v1.18.x
Julian Lam 6 years ago
parent eaea6f63f6
commit 0921230976

@ -43,6 +43,7 @@
}],
"no-else-return": [ "error", { "allowElseIf": true } ],
"operator-linebreak": [ "error", "after" ],
"arrow-parens": ["error", "as-needed"],
// ES6
"prefer-rest-params": "off",

@ -135,7 +135,7 @@
"@commitlint/config-angular": "8.1.0",
"coveralls": "3.0.5",
"eslint": "6.1.0",
"eslint-config-airbnb-base": "13.2.0",
"eslint-config-airbnb-base": "14.0.0",
"eslint-plugin-import": "2.18.2",
"grunt": "1.0.4",
"grunt-contrib-watch": "1.1.0",

@ -579,6 +579,7 @@
},
toggleTimeagoShorthand: function toggleTimeagoShorthand(callback) {
/* eslint "prefer-object-spread": "off" */
function toggle() {
var tmp = assign({}, jQuery.timeago.settings.strings);
jQuery.timeago.settings.strings = assign({}, adaptor.timeagoShort);

@ -146,7 +146,7 @@ Categories.getCategories = async function (cids, uid) {
Categories.getTagWhitelist = async function (cids) {
const cachedData = {};
const nonCachedCids = cids.filter((cid) => {
const nonCachedCids = cids.filter(cid => {
const data = cache.get('cid:' + cid + ':tag:whitelist');
const isInCache = data !== undefined;
if (isInCache) {

@ -157,7 +157,7 @@ module.exports = function (Categories) {
const bulkRemove = [];
const bulkAdd = [];
postData.forEach((post) => {
postData.forEach(post => {
bulkRemove.push(['cid:' + oldCid + ':uid:' + post.uid + ':pids', post.pid]);
bulkRemove.push(['cid:' + oldCid + ':uid:' + post.uid + ':pids:votes', post.pid]);
bulkAdd.push(['cid:' + cid + ':uid:' + post.uid + ':pids', post.timestamp, post.pid]);

@ -20,9 +20,7 @@ function updatePackageFile() {
}
var defaultPackageContents = JSON.parse(fs.readFileSync(packageDefaultFilePath, 'utf8'));
var packageContents = Object.assign({}, oldPackageContents, defaultPackageContents, {
dependencies: Object.assign({}, oldPackageContents.dependencies, defaultPackageContents.dependencies),
});
var packageContents = { ...oldPackageContents, ...defaultPackageContents, dependencies: { ...oldPackageContents.dependencies, ...defaultPackageContents.dependencies } };
fs.writeFileSync(packageFilePath, JSON.stringify(packageContents, null, 2));
}

@ -197,13 +197,12 @@ function filterLinks(links, states) {
}
// Default visibility
link.visibility = Object.assign({
self: true,
link.visibility = { self: true,
other: true,
moderator: true,
globalMod: true,
admin: true,
}, link.visibility);
...link.visibility };
var permit = Object.keys(states).some(function (state) {
return states[state] && link.visibility[state];

@ -202,7 +202,7 @@ authenticationController.registerComplete = function (req, res, next) {
delete payload.uid;
delete payload.returnTo;
Object.keys(payload).forEach((prop) => {
Object.keys(payload).forEach(prop => {
if (typeof payload[prop] === 'boolean') {
payload[prop] = payload[prop] ? 1 : 0;
}

@ -238,7 +238,7 @@ async function addTags(topicData, req, res) {
async function addOGImageTags(res, topicData, postAtIndex) {
const uploads = postAtIndex ? await posts.uploads.listWithSizes(postAtIndex.pid) : [];
const images = uploads.map((upload) => {
const images = uploads.map(upload => {
upload.name = nconf.get('url') + nconf.get('upload_url') + '/files/' + upload.name;
return upload;
});

@ -24,7 +24,7 @@ unreadController.get = function (req, res, next) {
async.waterfall([
function (next) {
plugins.fireHook('filter:unread.getValidFilters', { filters: Object.assign({}, helpers.validFilters) }, next);
plugins.fireHook('filter:unread.getValidFilters', { filters: { ...helpers.validFilters } }, next);
},
function (data, _next) {
if (!data.filters[filter]) {
@ -98,7 +98,7 @@ unreadController.unreadTotal = function (req, res, next) {
async.waterfall([
function (next) {
plugins.fireHook('filter:unread.getValidFilters', { filters: Object.assign({}, helpers.validFilters) }, next);
plugins.fireHook('filter:unread.getValidFilters', { filters: { ...helpers.validFilters } }, next);
},
function (data, _next) {
if (!data.filters[filter]) {

@ -12,7 +12,7 @@ if (!databaseName) {
var primaryDB = require('./' + databaseName);
primaryDB.parseIntFields = function (data, intFields, requestedFields) {
intFields.forEach((field) => {
intFields.forEach(field => {
if (!requestedFields.length || requestedFields.includes(field)) {
data[field] = parseInt(data[field], 10) || 0;
}

@ -86,7 +86,7 @@ module.exports = function (module) {
const item = cachedData[key] || {};
const result = {};
fields.forEach((field) => {
fields.forEach(field => {
result[field] = item[field] !== undefined ? item[field] : null;
});
return result;

@ -117,7 +117,7 @@ module.exports = function (module) {
const item = cachedData[key] || {};
const result = {};
fields.forEach((field) => {
fields.forEach(field => {
result[field] = item[field] !== undefined ? item[field] : null;
});
return result;

@ -32,7 +32,7 @@ module.exports = function (module) {
return [];
}
const batch = module.client.batch();
key.forEach((key) => {
key.forEach(key => {
batch[method]([key, start, stop, 'WITHSCORES']);
});
let data = await helpers.execBatch(batch);

@ -194,7 +194,7 @@ Emailer.send = function (template, uid, params, callback) {
}
// Combined passed-in payload with default values
params = Object.assign({}, Emailer._defaultPayload, params);
params = { ...Emailer._defaultPayload, ...params };
async.waterfall([
function (next) {
@ -228,10 +228,9 @@ Emailer.sendToEmail = function (template, email, language, params, callback) {
var lang = language || meta.config.defaultLang || 'en-GB';
// Add some default email headers based on local configuration
params.headers = Object.assign({
'List-Id': '<' + [template, params.uid, getHostname()].join('.') + '>',
params.headers = { 'List-Id': '<' + [template, params.uid, getHostname()].join('.') + '>',
'List-Unsubscribe': '<' + [nconf.get('url'), 'uid', params.uid, 'settings'].join('/') + '>',
}, params.headers);
...params.headers };
// Digests and notifications can be one-click unsubbed
let payload = {

@ -93,17 +93,15 @@ Flags.get = function (flagId, callback) {
targetObj: async.apply(Flags.getTarget, data.base.type, data.base.targetId, 0),
}, function (err, payload) {
// Final object return construction
next(err, Object.assign({
state: 'open',
}, data.base, {
next(err, { state: 'open',
...data.base,
description: validator.escape(data.base.description),
datetimeISO: utils.toISOString(data.base.datetime),
target_readable: data.base.type.charAt(0).toUpperCase() + data.base.type.slice(1) + ' ' + data.base.targetId,
target: payload.targetObj,
history: data.history,
notes: data.notes,
reporter: payload.userObj,
}));
reporter: payload.userObj });
});
},
function (flagObj, next) {
@ -181,16 +179,14 @@ Flags.list = function (filters, uid, callback) {
async.apply(db.getObject, 'flag:' + flagId),
function (flagObj, next) {
user.getUserFields(flagObj.uid, ['username', 'picture'], function (err, userObj) {
next(err, Object.assign({
state: 'open',
}, flagObj, {
next(err, { state: 'open',
...flagObj,
reporter: {
username: userObj.username,
picture: userObj.picture,
'icon:bgColor': userObj['icon:bgColor'],
'icon:text': userObj['icon:text'],
},
}));
} });
});
},
], function (err, flagObj) {

@ -6,7 +6,7 @@ var db = require('../database');
var user = require('../user');
module.exports = function (Messaging) {
Messaging.sendMessage = async (data) => {
Messaging.sendMessage = async data => {
await Messaging.checkContent(data.content);
const inRoom = await Messaging.isUserInRoom(data.uid, data.roomId);
if (!inRoom) {
@ -16,7 +16,7 @@ module.exports = function (Messaging) {
return await Messaging.addMessage(data);
};
Messaging.checkContent = async (content) => {
Messaging.checkContent = async content => {
if (!content) {
throw new Error('[[error:invalid-chat-message]]');
}
@ -32,7 +32,7 @@ module.exports = function (Messaging) {
}
};
Messaging.addMessage = async (data) => {
Messaging.addMessage = async data => {
const mid = await db.incrObjectField('global', 'nextMid');
const timestamp = data.timestamp || new Date().getTime();
let message = {

@ -77,7 +77,7 @@ module.exports = function (Messaging) {
message.system = !!message.system;
});
messages = await Promise.all(messages.map(async (message) => {
messages = await Promise.all(messages.map(async message => {
if (message.system) {
return message;
}

@ -20,7 +20,7 @@ require('./unread')(Messaging);
require('./notifications')(Messaging);
Messaging.getMessages = async (params) => {
Messaging.getMessages = async params => {
const isNew = params.isNew || false;
const start = params.hasOwnProperty('start') ? params.start : 0;
const stop = parseInt(start, 10) + ((params.count || 50) - 1);
@ -98,7 +98,7 @@ Messaging.getRecentChats = async (callerUid, uid, start, stop) => {
const results = await utils.promiseParallel({
roomData: Messaging.getRoomsData(roomIds),
unread: db.isSortedSetMembers('uid:' + uid + ':chat:rooms:unread', roomIds),
users: Promise.all(roomIds.map(async (roomId) => {
users: Promise.all(roomIds.map(async roomId => {
let uids = await db.getSortedSetRevRange('chat:room:' + roomId + ':uids', 0, 9);
uids = uids.filter(function (value) {
return value && parseInt(value, 10) !== parseInt(uid, 10);

@ -9,7 +9,7 @@ var privileges = require('../privileges');
var meta = require('../meta');
module.exports = function (Messaging) {
Messaging.getRoomData = async (roomId) => {
Messaging.getRoomData = async roomId => {
const data = await db.getObject('chat:room:' + roomId);
if (!data) {
throw new Error('[[error:no-chat-room]]');
@ -19,7 +19,7 @@ module.exports = function (Messaging) {
return data;
};
Messaging.getRoomsData = async (roomIds) => {
Messaging.getRoomsData = async roomIds => {
const roomData = await db.getObjects(roomIds.map(function (roomId) {
return 'chat:room:' + roomId;
}));

@ -4,7 +4,7 @@ var db = require('../database');
var sockets = require('../socket.io');
module.exports = function (Messaging) {
Messaging.getUnreadCount = async (uid) => {
Messaging.getUnreadCount = async uid => {
if (parseInt(uid, 10) <= 0) {
return 0;
}
@ -12,7 +12,7 @@ module.exports = function (Messaging) {
return await db.sortedSetCard('uid:' + uid + ':chat:rooms:unread');
};
Messaging.pushUnreadCount = async (uid) => {
Messaging.pushUnreadCount = async uid => {
if (parseInt(uid, 10) <= 0) {
return;
}

@ -72,7 +72,7 @@ Configs.getFields = async function (fields) {
values = await db.getObject('config');
}
values = Object.assign({}, defaults, values ? deserialize(values) : {});
values = { ...defaults, ...(values ? deserialize(values) : {}) };
if (!fields.length) {
values.version = nconf.get('version');
@ -100,7 +100,7 @@ Configs.setMultiple = async function (data) {
Configs.setOnEmpty = async function (values) {
const data = await db.getObject('config');
const config = Object.assign({}, values, data ? deserialize(data) : {});
const config = { ...values, ...(data ? deserialize(data) : {}) };
await db.setObject('config', config);
};

@ -30,9 +30,7 @@ function debugFork(modulePath, args, options) {
}
options = options || {};
options = Object.assign({}, options, {
execArgv: execArgv,
});
options = { ...options, execArgv: execArgv };
return fork(modulePath, args, options);
}

@ -83,7 +83,7 @@ async function getTemplateDirs(activePlugins) {
}
async function getTemplateFiles(dirs) {
const buckets = await Promise.all(dirs.map(async (dir) => {
const buckets = await Promise.all(dirs.map(async dir => {
let files = await file.walk(dir);
files = files.filter(function (path) {
return path.endsWith('.tpl');
@ -132,7 +132,7 @@ async function compile() {
files = await getTemplateDirs(files);
files = await getTemplateFiles(files);
await Promise.all(Object.keys(files).map(async (name) => {
await Promise.all(Object.keys(files).map(async name => {
const filePath = files[name];
let imported = await fsReadFile(filePath, 'utf8');
imported = await processImports(files, name, imported);

@ -30,7 +30,7 @@ Themes.get = async () => {
let themes = await getThemes(themePath);
themes = _.flatten(themes).filter(Boolean);
themes = await Promise.all(themes.map(async (theme) => {
themes = await Promise.all(themes.map(async theme => {
const config = path.join(themePath, theme, 'theme.json');
try {
const file = await fsReadfile(config, 'utf8');
@ -61,7 +61,7 @@ Themes.get = async () => {
async function getThemes(themePath) {
let dirs = await fsReaddir(themePath);
dirs = dirs.filter(dir => themeNamePattern.test(dir) || dir.startsWith('@'));
return await Promise.all(dirs.map(async (dir) => {
return await Promise.all(dirs.map(async dir => {
try {
const dirpath = path.join(themePath, dir);
const stat = await fsStat(dirpath);
@ -85,7 +85,7 @@ async function getThemes(themePath) {
}));
}
Themes.set = async (data) => {
Themes.set = async data => {
const themeData = {
'theme:type': data.type,
'theme:id': data.id,

@ -238,7 +238,7 @@ module.exports = function (middleware) {
function (data, next) {
async.parallel({
scripts: async.apply(plugins.fireHook, 'filter:scripts.get', []),
timeagoLocale: (next) => {
timeagoLocale: next => {
async.waterfall([
async.apply(languages.listCodes),
(languageCodes, next) => {

@ -54,7 +54,7 @@ module.exports = function (Plugins) {
if (Array.isArray(data.method) && data.method.every(method => typeof method === 'function' || typeof method === 'string')) {
// Go go gadget recursion!
data.method.forEach(function (method) {
const singularData = Object.assign({}, data, { method: method });
const singularData = { ...data, method: method };
Plugins.registerHook(id, singularData);
});
} else if (typeof data.method === 'string' && data.method.length > 0) {
@ -157,7 +157,7 @@ module.exports = function (Plugins) {
next();
}, 5000);
const onError = (err) => {
const onError = err => {
winston.error('[plugins] Error executing \'' + hook + '\' in plugin \'' + hookObj.id + '\'');
winston.error(err);
clearTimeout(timeoutId);

@ -88,7 +88,7 @@ module.exports = function (Plugins) {
const fields = _.uniq(_.flatMap(targets, target => map[target] || []));
// clear old data before build
fields.forEach((field) => {
fields.forEach(field => {
switch (field) {
case 'clientScripts':
case 'acpScripts':

@ -108,7 +108,7 @@ module.exports = function (Posts) {
]);
};
Posts.uploads.saveSize = async (filePaths) => {
Posts.uploads.saveSize = async filePaths => {
await Promise.all(filePaths.map(async function (fileName) {
try {
const size = await image.size(path.join(pathPrefix, fileName));

@ -207,7 +207,7 @@ module.exports = function (Posts) {
const bulkAdd = [];
const bulkRemove = [];
const postsByUser = {};
mainPosts.forEach((post) => {
mainPosts.forEach(post => {
bulkRemove.push(['cid:' + post.cid + ':uid:' + post.uid + ':tids', post.tid]);
bulkRemove.push(['uid:' + post.uid + ':topics', post.tid]);

@ -22,7 +22,7 @@ function setupWinston() {
formats.push(winston.format.timestamp());
formats.push(winston.format.json());
} else {
const timestampFormat = winston.format((info) => {
const timestampFormat = winston.format(info => {
var dateString = new Date().toISOString() + ' [' + nconf.get('port') + '/' + global.process.pid + ']';
info.level = dateString + ' - ' + info.level;
return info;

@ -148,8 +148,8 @@ helpers.giveOrRescind = async function (method, privileges, cids, groupNames) {
cids = Array.isArray(cids) ? cids : [cids];
for (const groupName of groupNames) {
const groupKeys = [];
cids.forEach((cid) => {
privileges.forEach((privilege) => {
cids.forEach(cid => {
privileges.forEach(privilege => {
groupKeys.push('cid:' + cid + ':privileges:groups:' + privilege);
});
});

@ -166,7 +166,7 @@ SocketModules.chats.getUsersInRoom = function (socket, data, callback) {
return callback(err);
}
payload.users = payload.users.map((user) => {
payload.users = payload.users.map(user => {
user.canKick = (parseInt(user.uid, 10) !== parseInt(socket.uid, 10)) && payload.isOwner;
return user;
});

@ -90,7 +90,7 @@ module.exports = function (Topics) {
return tids.map(() => ({ following: false, ignoring: false }));
}
const keys = [];
tids.forEach((tid) => {
tids.forEach(tid => {
keys.push('tid:' + tid + ':followers', 'tid:' + tid + ':ignorers');
});

@ -98,7 +98,7 @@ module.exports = function (User) {
property = 'uid';
}
if (!Array.isArray(set) || !set.length || !set.every((item) => {
if (!Array.isArray(set) || !set.length || !set.every(item => {
if (!item) {
return false;
}

@ -64,7 +64,7 @@ module.exports = function (User) {
};
// Append default data to this email payload
data = Object.assign({}, emailer._defaultPayload, data);
data = { ...emailer._defaultPayload, ...data };
await emailer.sendToEmail('invitation', email, meta.config.defaultLang, data);
};

Loading…
Cancel
Save