Skip to content

Commit

Permalink
fix(clean-up): Adjust ESLint/Codacy rules + fix some issues (#346)
Browse files Browse the repository at this point in the history
By:

- fixing issues listed by `$ npm run lint:fix`
- fixing issues listed by [Codacy](https://app.codacy.com/gh/openwhyd/openwhyd/issues?bid=17325385&step=20&filters=W3siaWQiOiJMYW5ndWFnZSIsInZhbHVlcyI6W119LHsiaWQiOiJDYXRlZ29yeSIsInZhbHVlcyI6W119LHsiaWQiOiJMZXZlbCIsInZhbHVlcyI6WyJFcnJvciJdfSx7ImlkIjoiUGF0dGVybiIsInZhbHVlcyI6W119LHsiaWQiOiJBdXRob3IiLCJ2YWx1ZXMiOltdfV0%3D)
- removing code that is not used anymore

=> Resulting Codacy stats of this PR:

- fixes 278 issues
- removes 5 duplicated blocks
- removes 9 complexity issues
  • Loading branch information
adrienjoly committed Aug 30, 2020
1 parent c358e55 commit c4d08a9
Show file tree
Hide file tree
Showing 168 changed files with 3,437 additions and 4,440 deletions.
5 changes: 5 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
public/js/jquery*.js
public/js/playem-all.js
public/js/playem-min.js
public/js/soundmanager2*.js
app/jstat*.js
5 changes: 3 additions & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,12 @@
"ecmaVersion": 2019
},
"rules": {
"prettier/prettier": "error"
"prettier/prettier": "error",
"no-inner-declarations": ["warn", "functions"]
},
"overrides": [
{
"files": ["*.js", "*.ts"],
"files": ["*.js"],
"rules": {
"@typescript-eslint/no-var-requires": "off"
}
Expand Down
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,11 @@
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"prettier.configPath": ".prettierrc.js",
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[html]": {
// force prettier on html files specifically, to avoid issue #300
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
4 changes: 2 additions & 2 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if (process.env.NODE_ENV === "production") {

function makeColorConsole(fct, color) {
return function () {
for (var i in arguments)
for (let i in arguments)
if (arguments[i] instanceof Object || arguments[i] instanceof Array)
arguments[i] = util.inspect(arguments[i]);
fct(Array.prototype.join.call(arguments, ' ')[color]);
Expand Down Expand Up @@ -165,7 +165,7 @@ async function main() {
// apply command-line arguments
if (process.argv.length > 2) {
// ignore "node" and the filepath of this script
for (var i = 2; i < process.argv.length; ++i) {
for (let i = 2; i < process.argv.length; ++i) {
var flag = process.argv[i];
var flagFct = FLAGS[flag];
if (flagFct) flagFct();
Expand Down
3 changes: 1 addition & 2 deletions app/MyController.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
exports.buildController = function (params) {
var logPrefix = params.controllerName + '.controller';
if (process.appParams.color) logPrefix = logPrefix.yellow;
return function (request, reqParams, response) {
return function (request, reqParams = {}, response) {
request.logToConsole(logPrefix, reqParams);
var reqParams = reqParams || {};

// make sure an admin is logged, or return an error page
reqParams.loggedUser = request.getUser();
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/LibAll.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ var feedTemplate = require('../templates/feed.js');

function makeUserList() {
var userList = [];
for (var i in mongodb.usernames /*.slice(0,9)*/)
for (let i in mongodb.usernames /*.slice(0,9)*/)
userList.push(mongodb.usernames[i]);
return userList;
}
Expand Down
19 changes: 1 addition & 18 deletions app/controllers/LibFriends.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ var contestModel = require('../models/plContest.js');
var feedTemplate = require('../templates/feed.js');

var HISTORY_LIMIT = 3;
var RECOM_PEOPLE_LIMIT = 3;

function fetchSubscriptions(uid, callback) {
//console.time("LibFriends.fetchSubscriptions");
Expand All @@ -22,21 +21,6 @@ function fetchSubscriptions(uid, callback) {
});
}

function renderSuggestedPeople(allPosts) {
var userSet = {},
userList = [];
for (var i in allPosts)
if (!userSet[allPosts[i].uId])
userSet[allPosts[i].uId] = {
id: allPosts[i].uId,
name: allPosts[i].uNm,
track: allPosts[i].name,
trackUrl: '/c/' + allPosts[i]._id,
};
for (var i in userSet) userList.push(userSet[i]);
return userList.slice(0, RECOM_PEOPLE_LIMIT);
}

function fetchRecentActivity(uidList, loggedUid, cb) {
/* // test case
cb([
Expand All @@ -46,7 +30,7 @@ function fetchRecentActivity(uidList, loggedUid, cb) {
]);
return;*/
var subscribers = [];
for (var i in uidList)
for (let i in uidList)
if (uidList[i] != loggedUid) subscribers.push(uidList[i]);
activityModel.fetchHistoryFromUidList(
/*uidList*/ subscribers,
Expand Down Expand Up @@ -104,7 +88,6 @@ function renderFriendsFeed(options, callback) {

function renderFriendsLibrary(lib) {
var options = lib.options;
var uid = options.loggedUser.id;
options.bodyClass = 'pgStream pgWithSideBar';
options.homeFeed = true;
options.displayPlaylistName = true;
Expand Down
1 change: 0 additions & 1 deletion app/controllers/LibStyle.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ function renderFriendsLibrary(lib, style) {
);

var options = lib.options;
var uid = options.loggedUser.id;
options.bodyClass = 'pgStream pgWithSideBar';
options.streamTitle = 'Style: ' + style;
options.displayPlaylistName = true;
Expand Down
42 changes: 20 additions & 22 deletions app/controllers/LibUser.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@ var userModel = require('../models/user.js');
var followModel = require('../models/follow.js');
var postModel = require('../models/post.js');
var contestModel = require('../models/plContest.js');
//var recomModel = require("../models/recom.js");
var activityModel = require('../models/activity.js');
//var plTagsModel = require("../models/plTags.js");
var activityController = require('../controllers/recentActivity.js');
var feedTemplate = require('../templates/feed.js');
var uiSnippets = require('../templates/uiSnippets.js');
Expand Down Expand Up @@ -86,7 +84,7 @@ function fetchActivity(options, cb) {
other: { text: 'joined whyd' },
});
var postsToPopulate = [];
for (var i in activities)
for (let i in activities)
if (activities[i]) {
activities[i].ago = uiSnippets.renderTimestamp(
new Date() - activities[i]._id.getTimestamp()
Expand All @@ -102,8 +100,8 @@ function fetchActivity(options, cb) {
function (posts) {
var postSet = {};
options.activity = [];
for (var i in posts) postSet['' + posts[i]._id] = posts[i];
for (var i in activities) {
for (let i in posts) postSet['' + posts[i]._id] = posts[i];
for (let i in activities) {
if ((activities[i] || {}).like) {
if (postSet['' + activities[i].like.pId])
activities[i].like.post = postSet['' + activities[i].like.pId];
Expand Down Expand Up @@ -196,7 +194,7 @@ function renderPlaylists(options, maxNb) {
// playlists.push({url:"javascript:;"});
}
}
for (var i in playlists)
for (let i in playlists)
if (playlists[i].id !== undefined) {
//playlists[i].url = "/u/" + options.user.id + "/playlist/" + playlists[i].id;
playlists[i].img =
Expand All @@ -207,7 +205,7 @@ function renderPlaylists(options, maxNb) {
}

function renderFriends(friends) {
for (var i in friends) {
for (let i in friends) {
friends[i].url = '/u/' + friends[i].id;
friends[i].img = '/img/u/' + friends[i].id;
}
Expand All @@ -219,7 +217,7 @@ function populateUsers(subscr, options, cb) {
mySubscr
) {
var subscrSet = snip.arrayToSet(mySubscr);
for (var i in subscr)
for (let i in subscr)
if (subscrSet[subscr[i].id]) subscr[i].subscribed = true;
userModel.fetchUserBios(subscr, function () {
cb(renderFriends(subscr));
Expand All @@ -230,7 +228,7 @@ function populateUsers(subscr, options, cb) {
function fetchAndRenderPlaylist(options, callback, process) {
options.bodyClass += ' userPlaylistV2';
options.user.pl = options.user.pl || [];
for (var i in options.user.pl)
for (let i in options.user.pl)
if (options.user.pl[i] && options.user.pl[i].id == options.playlistId) {
options.playlist = options.user.pl[i];
break;
Expand All @@ -255,7 +253,7 @@ function fetchAndRenderPlaylist(options, callback, process) {
contest
) {
var prevId = null;
for (var p = options.user.pl.length - 1; p > -1; --p) {
for (let p = options.user.pl.length - 1; p > -1; --p) {
var pl = options.user.pl[p];
if (!pl) continue;
if (pl.id == options.playlistId) {
Expand Down Expand Up @@ -328,7 +326,7 @@ function fetchAndRenderProfile(options, callback, process) {
mySubscrUidList,
options,
function (result) {
for (var i in result.recentActivity.items)
for (let i in result.recentActivity.items)
if (result.recentActivity.items[i].subscriptions) {
result.recentActivity.items[i].subscribedUsers =
result.recentActivity.items[i].subscriptions;
Expand All @@ -346,7 +344,7 @@ function fetchAndRenderProfile(options, callback, process) {
// ago: uiSnippets.renderTimestamp(new Date() - creation.getTimestamp())
});
}
for (var i in options.showActivity.items)
for (let i in options.showActivity.items)
options.showActivity.items[i].ago = uiSnippets.renderTimestamp(
new Date() - options.showActivity.items[i]._id.getTimestamp()
);
Expand All @@ -372,7 +370,7 @@ function fetchAndRenderProfile(options, callback, process) {
};
subscr = subscr.slice(0, MAX_SUBSCRIPTIONS);
}
for (var i in subscr) subscr[i] = { id: subscr[i].uId };
for (let i in subscr) subscr[i] = { id: subscr[i].uId };
populateUsers(subscr, options, function (subscr) {
options.showSubscribers = {
items: subscr,
Expand All @@ -385,7 +383,7 @@ function fetchAndRenderProfile(options, callback, process) {

options.bodyClass += ' userSubscriptions';
options.pageTitle = options.user.name + "'s following";
var params = {
const params = {
sort: { _id: -1 },
limit: MAX_SUBSCRIPTIONS + 1,
fields: { _id: 0, tId: 1 },
Expand All @@ -398,7 +396,7 @@ function fetchAndRenderProfile(options, callback, process) {
};
subscr = subscr.slice(0, MAX_SUBSCRIPTIONS);
}
for (var i in subscr) subscr[i] = { id: subscr[i].tId };
for (let i in subscr) subscr[i] = { id: subscr[i].tId };
populateUsers(subscr, options, function (subscr) {
options.showSubscriptions = {
items: subscr,
Expand All @@ -412,9 +410,9 @@ function fetchAndRenderProfile(options, callback, process) {
options.bodyClass += ' userTracks';
options.showTracks = true;
options.pageTitle = options.user.name + "'s tracks";
function proceed() {
const proceed = () =>
postModel.fetchByAuthors([options.uid], options.fetchParams, process);
}

if (options.after || options.before)
// no page rendering required
proceed();
Expand All @@ -439,7 +437,7 @@ function fetchAndRenderProfile(options, callback, process) {
};
followModel.fetch({ uId: options.user.id }, params, function (subscr) {
if (subscr.length || ownProfile) {
for (var i in subscr) subscr[i] = { id: subscr[i].tId };
for (let i in subscr) subscr[i] = { id: subscr[i].tId };
userModel.fetchUserBios(subscr, function () {
options.friends = {
url: '/u/' + options.user.id + '/subscriptions',
Expand Down Expand Up @@ -514,24 +512,24 @@ var LNK_URL_PREFIX = {

function renderUserLinks(lnk) {
// clean social links
for (var i in lnk) lnk[i] = ('' + lnk[i]).trim();
for (let i in lnk) lnk[i] = ('' + lnk[i]).trim();

// for each social link, detect username and rebuild URL
for (var i in LNK_URL_PREFIX)
for (let i in LNK_URL_PREFIX)
if (lnk[i]) {
var parts = lnk[i].split('?').shift().split('/');
lnk[i] = ''; // by default, if no username was found
var username = '';
while (!(username = parts.pop()));
//for (var j=parts.length-1; j>-1; --j)
//for (let j=parts.length-1; j>-1; --j)
// if (parts[j]) {
lnk[i] = LNK_URL_PREFIX[i] + username; //parts[j];
//break;
// }
}

// make sure URLs are valid
for (var i in lnk)
for (let i in lnk)
if (lnk[i]) {
var lnkBody = '//' + lnk[i].split('//').pop();
if (i == 'home') {
Expand Down
3 changes: 1 addition & 2 deletions app/controllers/admin/FileController.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
exports.buildController = function (params) {
exports.buildController = function (params = {}) {
return function (request, reqParams, response) {
request.logToConsole(params.controllerName + '.controller', reqParams);
var reqParams = reqParams || {};

// make sure an admin is logged, or return an error page
reqParams.loggedUser = request.getUser();
Expand Down
18 changes: 9 additions & 9 deletions app/controllers/admin/analytics.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ function renderTemplate(report) {
var p = 0;
var color = ['lightgray', 'white'];

for (var i in report)
for (let i in report)
out +=
"<tr style='background:" +
color[p++ % 2] +
Expand Down Expand Up @@ -50,7 +50,7 @@ exports.controller = function (request, reqParams, response) {
var populateUsers = function (callback) {
userModel.fetchAll(function (usersP) {
users = usersP;
for (var i in users) {
for (let i in users) {
users[i].firstDate = users[i]._id.getTimestamp();
userIndex['' + users[i]._id] = users[i];
}
Expand Down Expand Up @@ -87,7 +87,7 @@ exports.controller = function (request, reqParams, response) {
var countPeriodFollows = function (t1, t2, nameSuffix) {
return function(callback) {
var counter = 0;
for (var i in follows) {
for (let i in follows) {
var item = follows[i];
if (!userIndex[item.uId]) continue ; //console.log("user not found:",item.uId, item.uNm);
//console.log(item);
Expand Down Expand Up @@ -125,7 +125,7 @@ exports.controller = function (request, reqParams, response) {
var countPeriodActiveUsers = function (t1, t2, nameSuffix) {
return function(callback) {
var counter = 0, activeUsers = {};
for (var i in posts) {
for (let i in posts) {
var item = posts[i];
if (!userIndex[item.uId]) continue ; //console.log("user not found:",item.uId, item.uNm);
//console.log(item);
Expand All @@ -146,7 +146,7 @@ exports.controller = function (request, reqParams, response) {
var countPeriodPosts = function (t1, t2, nameSuffix) {
return function(callback) {
var counter = 0;
for (var i in posts) {
for (let i in posts) {
var item = posts[i];
if (!userIndex[item.uId]) continue ; //console.log("user not found:",item.uId, item.uNm);
//console.log(item);
Expand All @@ -171,7 +171,7 @@ exports.controller = function (request, reqParams, response) {

function findUsersRegisteredAfter(date) {
return function (cb) {
for (var i in users)
for (let i in users)
if (new Date(users[i].firstDate) >= date)
recentUserIds[users[i]._id] = users[i];
cb(
Expand Down Expand Up @@ -200,17 +200,17 @@ exports.controller = function (request, reqParams, response) {

function countRecentInvites(cb) {
var nb = 0;
for (var i in users) if (users[i].lastFm) ++nb;
for (let i in users) if (users[i].lastFm) ++nb;
cb('Number of lastfm users', nb);
}

function countLastfmUsers(cb) {
var nbAccepted = 0,
nbPending = 0;
for (var uid in recentUserIds)
for (let uid in recentUserIds)
if (recentUserIds[uid].iBy && recentUserIds[recentUserIds[uid].iBy])
++nbAccepted;
for (var i in pendingInvites)
for (let i in pendingInvites)
if (pendingInvites[i].iBy && recentUserIds[pendingInvites[i].iBy])
++nbPending;
report['Number of recent pending invites'] = nbPending;
Expand Down
2 changes: 0 additions & 2 deletions app/controllers/admin/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
* @author adrienjoly, whyd
**/

var mongodb = require('../../models/mongodb.js');
var version = require('../../models/version.js');
var snip = require('../../snip.js');
var FileController = require('./FileController.js');

function wrapJsonGeneratorToText(name) {
Expand Down
Loading

0 comments on commit c4d08a9

Please sign in to comment.