Upgrade lodash to v4 and lint more files (#8495)

* common: import lodash modules separately

* remove test/content from .eslintignore, fix with eslint --fix content/index

* lint test/content

* lint content/index except for lodash methods

* upgrade server/models

* upgrade server/middlewares and server/libs

* port server/controllers/top-level

* port server/controllers/api-v3

* port views and tests

* client old port lodash and _(, missing _.

* upgrade client-old

* port common/script (root level files only)

* port common/script/fns

* port common/libs

* port common/script/ops

* port common/script/content and common/script/libs/shops.js

* misc fixes

* misc fixes

* misc fixes

* more tests fixes

* fix payments test stubbing, down to 2 failing tests

* remove more instances of lodash wrapping

* fix bug where toObject does not clone object

* fix tests

* upgrade migration or add lodash 4 note

* update shrinkwrap

* fix linting

* upgrade eslint-config-habitrpg

* update shrinkwrap

* recompile shrinkwrap
This commit is contained in:
Matteo Pagliazzi
2017-03-01 17:10:48 +01:00
committed by GitHub
parent ef02e59590
commit 98c019a0b6
150 changed files with 4996 additions and 1533 deletions

View File

@@ -1,4 +1,6 @@
import _ from 'lodash';
import each from 'lodash/each';
import get from 'lodash/get';
import values from 'lodash/values';
import content from '../content/index';
import * as statHelpers from '../statHelpers';
@@ -11,9 +13,9 @@ function equipmentStatBonusComputed (stat, user) {
// if toObject doesn't exist, we're on the client side and can assume the object is already plain JSON
// see http://stackoverflow.com/questions/25767334/underscore-js-keys-and-omit-not-working-as-expected
let equipped = user.items.gear.equipped;
let equippedKeys = !equipped.toObject ? _.values(equipped) : _.values(equipped.toObject());
let equippedKeys = values(!equipped.toObject ? equipped : equipped.toObject());
_.each(equippedKeys, (equippedItem) => {
each(equippedKeys, (equippedItem) => {
let equipmentStat = gear[equippedItem][stat];
let classBonusMultiplier = gear[equippedItem].klass === user.stats.class ||
gear[equippedItem].specialClass === user.stats.class ? 0.5 : 0;
@@ -35,9 +37,9 @@ module.exports = function statsComputed (user) {
buff: {},
levelBonus: {},
};
_.each(['per', 'con', 'str', 'int'], (stat) => {
let baseStat = _.get(user, 'stats')[stat];
let buff = _.get(user, 'stats.buffs')[stat];
each(['per', 'con', 'str', 'int'], (stat) => {
let baseStat = get(user, 'stats')[stat];
let buff = get(user, 'stats.buffs')[stat];
let equipmentBonus = equipmentStatBonusComputed(stat, user);
statBreakdown[stat] = equipmentBonus.gearBonus + equipmentBonus.classBonus + baseStat + buff;