From 92cbb4a07db6f9b9842bcfd5023cf5b078e7b22d Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Tue, 20 Dec 2016 22:31:36 +0100 Subject: [PATCH] Upgrade ESLint to v3 (#8299) * upgraded habitrpg-eslint-config to v2 and eslint to v3 * adapt to eslint3 rules * update shrinkwrap * update shrinkwrap again --- .eslintrc | 2 +- npm-shrinkwrap.json | 375 +++++++++--------- package.json | 8 +- test/.eslintrc | 2 +- .../groups/GET-groups_groupId_members.test.js | 6 +- .../members/GET-members_id.test.js | 6 +- .../integration/tasks/GET-tasks_user.test.js | 2 +- .../POST-tasks_clearCompletedTodos.test.js | 2 +- .../api/v3/unit/libs/analyticsService.test.js | 3 +- test/api/v3/unit/libs/cron.test.js | 12 +- test/api/v3/unit/models/challenge.test.js | 8 +- test/api/v3/unit/models/task.test.js | 2 +- test/helpers/api-unit.helper.js | 4 +- website/client/.eslintrc | 2 +- website/common/script/.eslintrc | 2 +- website/server/.eslintrc | 2 +- website/server/controllers/api-v3/auth.js | 18 +- .../controllers/top-level/dataexport.js | 4 +- website/server/controllers/top-level/pages.js | 6 +- .../controllers/top-level/payments/iap.js | 6 +- website/server/middlewares/locals.js | 6 +- website/server/middlewares/v1.js | 2 +- website/server/middlewares/v2.js | 2 +- website/server/middlewares/v3.js | 4 +- website/server/models/group.js | 2 +- 25 files changed, 247 insertions(+), 241 deletions(-) diff --git a/.eslintrc b/.eslintrc index 0c541a080d..1181e66d5c 100644 --- a/.eslintrc +++ b/.eslintrc @@ -4,7 +4,7 @@ "node": true, }, "extends": [ - "habitrpg/es6", + "habitrpg/esnext", "habitrpg" ], } diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 77a23f3764..c5d7436573 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -504,14 +504,14 @@ "resolved": "https://registry.npmjs.org/atob/-/atob-1.1.3.tgz" }, "autoprefixer": { - "version": "6.5.3", - "from": "autoprefixer@>=6.4.0 <7.0.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.5.3.tgz" + "version": "6.5.4", + "from": "autoprefixer@6.5.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.5.4.tgz" }, "aws-sdk": { - "version": "2.7.13", - "from": "aws-sdk@>=2.0.25 <3.0.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.7.13.tgz", + "version": "2.7.16", + "from": "aws-sdk@2.7.16", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.7.16.tgz", "dependencies": { "lodash": { "version": "3.5.0", @@ -556,10 +556,20 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.20.0.tgz" }, "babel-core": { - "version": "6.20.0", - "from": "babel-core@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.20.0.tgz", + "version": "6.21.0", + "from": "babel-core@6.21.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.21.0.tgz", "dependencies": { + "babel-traverse": { + "version": "6.21.0", + "from": "babel-traverse@>=6.21.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz" + }, + "babel-types": { + "version": "6.21.0", + "from": "babel-types@>=6.21.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz" + }, "lodash": { "version": "4.17.2", "from": "lodash@>=4.2.0 <5.0.0", @@ -567,25 +577,16 @@ } } }, - "babel-eslint": { - "version": "6.1.2", - "from": "babel-eslint@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz", - "dev": true, - "dependencies": { - "lodash.assign": { - "version": "4.2.0", - "from": "lodash.assign@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "dev": true - } - } - }, "babel-generator": { - "version": "6.20.0", - "from": "babel-generator@>=6.20.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.20.0.tgz", + "version": "6.21.0", + "from": "babel-generator@>=6.21.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.21.0.tgz", "dependencies": { + "babel-types": { + "version": "6.21.0", + "from": "babel-types@^6.21.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.21.0.tgz" + }, "lodash": { "version": "4.17.2", "from": "lodash@>=4.2.0 <5.0.0", @@ -658,9 +659,9 @@ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.16.0.tgz" }, "babel-loader": { - "version": "6.2.9", - "from": "babel-loader@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.2.9.tgz" + "version": "6.2.10", + "from": "babel-loader@6.2.10", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.2.10.tgz" }, "babel-messages": { "version": "6.8.0", @@ -825,9 +826,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.20.2.tgz" }, "babel-plugin-transform-regenerator": { - "version": "6.20.0", - "from": "babel-plugin-transform-regenerator@>=6.16.1 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.20.0.tgz" + "version": "6.21.0", + "from": "babel-plugin-transform-regenerator@6.21.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.21.0.tgz" }, "babel-plugin-transform-strict-mode": { "version": "6.18.0", @@ -1611,9 +1612,9 @@ "optional": true }, "bson": { - "version": "0.5.7", - "from": "bson@>=0.5.4 <0.6.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-0.5.7.tgz" + "version": "1.0.1", + "from": "bson@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.1.tgz" }, "buffer": { "version": "4.9.1", @@ -1729,9 +1730,9 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" }, "caniuse-db": { - "version": "1.0.30000597", - "from": "caniuse-db@>=1.0.30000578 <2.0.0", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000597.tgz" + "version": "1.0.30000601", + "from": "caniuse-db@>=1.0.30000597 <2.0.0", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000601.tgz" }, "capture-stack-trace": { "version": "1.0.0", @@ -1889,9 +1890,9 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz" }, "chromedriver": { - "version": "2.25.3", - "from": "chromedriver@>=2.21.2 <3.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.25.3.tgz", + "version": "2.26.1", + "from": "chromedriver@2.26.1", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-2.26.1.tgz", "dev": true, "dependencies": { "kew": { @@ -2498,9 +2499,9 @@ "dev": true }, "cwait": { - "version": "1.0.0", - "from": "cwait@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/cwait/-/cwait-1.0.0.tgz" + "version": "1.0.1", + "from": "cwait@1.0.1", + "resolved": "https://registry.npmjs.org/cwait/-/cwait-1.0.1.tgz" }, "cwise": { "version": "1.0.9", @@ -3527,9 +3528,9 @@ } }, "eslint": { - "version": "2.12.0", - "from": "eslint@>=2.12.0 <2.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.12.0.tgz", + "version": "3.12.2", + "from": "eslint@3.12.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.12.2.tgz", "dev": true, "dependencies": { "glob": { @@ -3568,6 +3569,18 @@ "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", "dev": true }, + "shelljs": { + "version": "0.7.5", + "from": "shelljs@>=0.7.5 <0.8.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.5.tgz", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "from": "strip-bom@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "dev": true + }, "user-home": { "version": "2.0.0", "from": "user-home@>=2.0.0 <3.0.0", @@ -3577,9 +3590,9 @@ } }, "eslint-config-habitrpg": { - "version": "1.2.0", - "from": "eslint-config-habitrpg@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-habitrpg/-/eslint-config-habitrpg-1.2.0.tgz", + "version": "2.0.2", + "from": "eslint-config-habitrpg@2.0.2", + "resolved": "https://registry.npmjs.org/eslint-config-habitrpg/-/eslint-config-habitrpg-2.0.2.tgz", "dev": true }, "eslint-friendly-formatter": { @@ -3602,12 +3615,6 @@ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.6.1.tgz", "dev": true }, - "eslint-plugin-babel": { - "version": "3.3.0", - "from": "eslint-plugin-babel@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz", - "dev": true - }, "eslint-plugin-html": { "version": "1.7.0", "from": "eslint-plugin-html@>=1.3.0 <2.0.0", @@ -3629,9 +3636,9 @@ } }, "eslint-plugin-mocha": { - "version": "2.2.0", - "from": "eslint-plugin-mocha@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-2.2.0.tgz", + "version": "4.7.0", + "from": "eslint-plugin-mocha@>=4.7.0 <5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.7.0.tgz", "dev": true }, "esniff": { @@ -3647,15 +3654,15 @@ } }, "espree": { - "version": "3.1.4", - "from": "espree@3.1.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz", + "version": "3.3.2", + "from": "espree@>=3.3.1 <4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz", "dev": true, "dependencies": { "acorn": { - "version": "3.3.0", - "from": "acorn@>=3.1.0 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "version": "4.0.4", + "from": "acorn@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz", "dev": true } } @@ -3968,9 +3975,9 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" }, "file-entry-cache": { - "version": "1.3.1", - "from": "file-entry-cache@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", + "version": "2.0.0", + "from": "file-entry-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "dev": true }, "file-loader": { @@ -4115,9 +4122,9 @@ "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz" }, "flat-cache": { - "version": "1.2.1", + "version": "1.2.2", "from": "flat-cache@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", "dev": true }, "flatten": { @@ -7579,9 +7586,9 @@ "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz" }, "kareem": { - "version": "1.1.3", - "from": "kareem@1.1.3", - "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.1.3.tgz" + "version": "1.1.5", + "from": "kareem@1.1.5", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.1.5.tgz" }, "karma": { "version": "1.3.0", @@ -8932,9 +8939,9 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.17.1.tgz" }, "mongodb": { - "version": "2.2.12", - "from": "mongodb@2.2.12", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.12.tgz", + "version": "2.2.16", + "from": "mongodb@2.2.16", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.16.tgz", "dependencies": { "es6-promise": { "version": "3.2.1", @@ -8949,20 +8956,25 @@ } }, "mongodb-core": { - "version": "2.0.14", - "from": "mongodb-core@2.0.14", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.0.14.tgz" + "version": "2.1.2", + "from": "mongodb-core@2.1.2", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.2.tgz" }, "mongoose": { - "version": "4.7.2", - "from": "mongoose@>=4.7.1 <5.0.0", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.7.2.tgz", + "version": "4.7.4", + "from": "mongoose@4.7.4", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.7.4.tgz", "dependencies": { "async": { "version": "2.1.4", "from": "async@2.1.4", "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz" }, + "bson": { + "version": "0.5.7", + "from": "bson@>=0.5.4 <0.6.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-0.5.7.tgz" + }, "lodash": { "version": "4.17.2", "from": "lodash@>=4.14.0 <5.0.0", @@ -9093,6 +9105,12 @@ "from": "natives@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz" }, + "natural-compare": { + "version": "1.4.0", + "from": "natural-compare@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "dev": true + }, "ncname": { "version": "1.0.0", "from": "ncname@>=1.0.0 <1.1.0", @@ -9184,117 +9202,81 @@ } }, "newrelic": { - "version": "1.34.0", - "from": "newrelic@>=1.27.2 <2.0.0", - "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-1.34.0.tgz", + "version": "1.35.1", + "from": "newrelic@1.35.1", + "resolved": "https://registry.npmjs.org/newrelic/-/newrelic-1.35.1.tgz", "dependencies": { + "agent-base": { + "version": "1.0.2", + "from": "agent-base@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.2.tgz" + }, "concat-stream": { "version": "1.5.2", "from": "concat-stream@>=1.5.0 <2.0.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", "dependencies": { - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, "readable-stream": { "version": "2.0.6", "from": "readable-stream@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "isarray": { - "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - }, - "process-nextick-args": { - "version": "1.0.7", - "from": "process-nextick-args@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - }, - "util-deprecate": { - "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - } - } - }, - "typedarray": { - "version": "0.0.6", - "from": "typedarray@>=0.0.5 <0.1.0", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz" } } }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "debug": { + "version": "2.3.3", + "from": "debug@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz" + }, + "extend": { + "version": "3.0.0", + "from": "extend@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, "https-proxy-agent": { "version": "0.3.6", "from": "https-proxy-agent@>=0.3.5 <0.4.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.6.tgz", - "dependencies": { - "agent-base": { - "version": "1.0.2", - "from": "agent-base@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.2.tgz" - }, - "debug": { - "version": "2.3.2", - "from": "debug@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.2.tgz", - "dependencies": { - "ms": { - "version": "0.7.2", - "from": "ms@0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz" - } - } - }, - "extend": { - "version": "3.0.0", - "from": "extend@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" - } - } + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.6.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, "json-stringify-safe": { "version": "5.0.1", "from": "json-stringify-safe@>=5.0.0 <6.0.0", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" }, + "ms": { + "version": "0.7.2", + "from": "ms@0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@>=1.0.6 <1.1.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, "readable-stream": { "version": "1.1.14", "from": "readable-stream@>=1.1.13 <2.0.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "dependencies": { - "core-util-is": { - "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - }, - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.1 <2.1.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, "isarray": { "version": "0.0.1", "from": "isarray@0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" } } }, @@ -9303,6 +9285,21 @@ "from": "semver@>=5.3.0 <6.0.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "typedarray": { + "version": "0.0.6", + "from": "typedarray@>=0.0.5 <0.1.0", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + }, "yakaa": { "version": "1.0.1", "from": "yakaa@>=1.0.1 <2.0.0", @@ -10872,9 +10869,9 @@ } }, "ramda": { - "version": "0.21.0", - "from": "ramda@>=0.21.0 <0.22.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", + "version": "0.22.1", + "from": "ramda@>=0.22.1 <0.23.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.22.1.tgz", "dev": true }, "randomatic": { @@ -11164,6 +11161,11 @@ "from": "require_optional@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.0.tgz", "dependencies": { + "resolve-from": { + "version": "2.0.0", + "from": "resolve-from@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz" + }, "semver": { "version": "5.3.0", "from": "semver@>=5.1.0 <6.0.0", @@ -11181,15 +11183,7 @@ "version": "1.0.3", "from": "require-uncached@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "dev": true, - "dependencies": { - "resolve-from": { - "version": "1.0.1", - "from": "resolve-from@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "dev": true - } - } + "dev": true }, "requires-port": { "version": "1.0.0", @@ -11208,9 +11202,10 @@ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz" }, "resolve-from": { - "version": "2.0.0", - "from": "resolve-from@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz" + "version": "1.0.1", + "from": "resolve-from@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "dev": true }, "resolve-url": { "version": "0.2.1", @@ -13140,9 +13135,9 @@ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz" }, "vue": { - "version": "2.1.4", - "from": "vue@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.1.4.tgz" + "version": "2.1.6", + "from": "vue@2.1.6", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.1.6.tgz" }, "vue-hot-reload-api": { "version": "1.3.3", @@ -13182,9 +13177,9 @@ "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-1.0.0.tgz" }, "vue-template-compiler": { - "version": "2.1.4", - "from": "vue-template-compiler@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.1.4.tgz" + "version": "2.1.6", + "from": "vue-template-compiler@2.1.6", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.1.6.tgz" }, "vue-template-es2015-compiler": { "version": "1.3.2", @@ -13272,11 +13267,17 @@ } }, "webpack-dev-middleware": { - "version": "1.8.4", - "from": "webpack-dev-middleware@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz", + "version": "1.9.0", + "from": "webpack-dev-middleware@1.9.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.9.0.tgz", "dev": true, "dependencies": { + "memory-fs": { + "version": "0.4.1", + "from": "memory-fs@>=0.4.1 <0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "dev": true + }, "mime": { "version": "1.3.4", "from": "mime@>=1.3.4 <2.0.0", diff --git a/package.json b/package.json index 5dac539734..cdc9626080 100644 --- a/package.json +++ b/package.json @@ -160,7 +160,6 @@ "postinstall": "bower --config.interactive=false install -f; gulp build; npm run client:build" }, "devDependencies": { - "babel-eslint": "^6.0.0", "chai": "^3.4.0", "chai-as-promised": "^5.1.0", "chalk": "^1.1.3", @@ -170,13 +169,12 @@ "cross-spawn": "^2.1.5", "csv": "~0.3.6", "deep-diff": "~0.1.4", - "eslint": "~2.12.0", - "eslint-config-habitrpg": "^1.0.0", + "eslint": "^3.0.0", + "eslint-config-habitrpg": "^2.0.0", "eslint-friendly-formatter": "^2.0.5", "eslint-loader": "^1.3.0", - "eslint-plugin-babel": "^3.0.0", "eslint-plugin-html": "^1.3.0", - "eslint-plugin-mocha": "^2.1.0", + "eslint-plugin-mocha": "^4.7.0", "event-stream": "^3.2.2", "eventsource-polyfill": "^0.9.6", "expect.js": "~0.2.0", diff --git a/test/.eslintrc b/test/.eslintrc index 16b8a50d92..465e06424b 100644 --- a/test/.eslintrc +++ b/test/.eslintrc @@ -1,7 +1,7 @@ { "extends": [ "habitrpg/mocha", - "habitrpg/babel" + "habitrpg/esnext" ], "env": { "node": true, diff --git a/test/api/v3/integration/groups/GET-groups_groupId_members.test.js b/test/api/v3/integration/groups/GET-groups_groupId_members.test.js index 02f05062de..75511cca4c 100644 --- a/test/api/v3/integration/groups/GET-groups_groupId_members.test.js +++ b/test/api/v3/integration/groups/GET-groups_groupId_members.test.js @@ -82,8 +82,10 @@ describe('GET /groups/:groupId/members', () => { 'backer', 'contributor', 'auth', 'items', 'inbox', ]); expect(Object.keys(memberRes.auth)).to.eql(['timestamps']); - expect(Object.keys(memberRes.preferences).sort()).to.eql(['size', 'hair', 'skin', 'shirt', - 'chair', 'costume', 'sleep', 'background'].sort()); + expect(Object.keys(memberRes.preferences).sort()).to.eql([ + 'size', 'hair', 'skin', 'shirt', + 'chair', 'costume', 'sleep', 'background', + ].sort()); expect(memberRes.stats.maxMP).to.exist; expect(memberRes.stats.maxHealth).to.equal(common.maxHealth); diff --git a/test/api/v3/integration/members/GET-members_id.test.js b/test/api/v3/integration/members/GET-members_id.test.js index 58ca1142d4..06151be350 100644 --- a/test/api/v3/integration/members/GET-members_id.test.js +++ b/test/api/v3/integration/members/GET-members_id.test.js @@ -35,8 +35,10 @@ describe('GET /members/:memberId', () => { 'backer', 'contributor', 'auth', 'items', 'inbox', ]); expect(Object.keys(memberRes.auth)).to.eql(['timestamps']); - expect(Object.keys(memberRes.preferences).sort()).to.eql(['size', 'hair', 'skin', 'shirt', - 'chair', 'costume', 'sleep', 'background'].sort()); + expect(Object.keys(memberRes.preferences).sort()).to.eql([ + 'size', 'hair', 'skin', 'shirt', + 'chair', 'costume', 'sleep', 'background', + ].sort()); expect(memberRes.stats.maxMP).to.exist; expect(memberRes.stats.maxHealth).to.equal(common.maxHealth); diff --git a/test/api/v3/integration/tasks/GET-tasks_user.test.js b/test/api/v3/integration/tasks/GET-tasks_user.test.js index afcff72c6b..d1a24ebfc8 100644 --- a/test/api/v3/integration/tasks/GET-tasks_user.test.js +++ b/test/api/v3/integration/tasks/GET-tasks_user.test.js @@ -115,7 +115,7 @@ describe('GET /tasks/user', () => { for (let i = 0; i < numberOfTodos; i++) { let id = todos[i]._id; - await user.post(`/tasks/${id}/score/up`); // eslint-disable-line babel/no-await-in-loop + await user.post(`/tasks/${id}/score/up`); // eslint-disable-line no-await-in-loop } await user.sync(); diff --git a/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js b/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js index d6cdf21749..1689e30437 100644 --- a/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js +++ b/test/api/v3/integration/tasks/POST-tasks_clearCompletedTodos.test.js @@ -29,7 +29,7 @@ describe('POST /tasks/clearCompletedTodos', () => { for (let task of tasks) { if (['todo 2', 'todo 3', 'todo 6'].indexOf(task.text) !== -1) { - await user.post(`/tasks/${task._id}/score/up`); // eslint-disable-line babel/no-await-in-loop + await user.post(`/tasks/${task._id}/score/up`); // eslint-disable-line no-await-in-loop } } diff --git a/test/api/v3/unit/libs/analyticsService.test.js b/test/api/v3/unit/libs/analyticsService.test.js index dd459852c0..9f0446833b 100644 --- a/test/api/v3/unit/libs/analyticsService.test.js +++ b/test/api/v3/unit/libs/analyticsService.test.js @@ -353,7 +353,8 @@ describe('analyticsService', () => { purchaseType: 'checkout', gift: false, quantity: 1, - headers: {'x-client': 'habitica-web', + headers: { + 'x-client': 'habitica-web', 'user-agent': '', }, }; diff --git a/test/api/v3/unit/libs/cron.test.js b/test/api/v3/unit/libs/cron.test.js index 5c26fe798b..180a635a07 100644 --- a/test/api/v3/unit/libs/cron.test.js +++ b/test/api/v3/unit/libs/cron.test.js @@ -300,7 +300,7 @@ describe('cron', () => { startDate: new Date(), }; - let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line babel/new-cap + let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap tasksByType.dailys.push(task); tasksByType.dailys[0].completed = true; @@ -321,7 +321,7 @@ describe('cron', () => { value: 0, }; - let task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line babel/new-cap + let task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap tasksByType.todos.push(task); }); @@ -347,7 +347,7 @@ describe('cron', () => { type: 'daily', }; - let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line babel/new-cap + let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap tasksByType.dailys = []; tasksByType.dailys.push(task); @@ -449,7 +449,7 @@ describe('cron', () => { type: 'habit', }; - let task = new Tasks.habit(Tasks.Task.sanitize(habit)); // eslint-disable-line babel/new-cap + let task = new Tasks.habit(Tasks.Task.sanitize(habit)); // eslint-disable-line new-cap tasksByType.habits = []; tasksByType.habits.push(task); }); @@ -490,7 +490,7 @@ describe('cron', () => { type: 'daily', }; - let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line babel/new-cap + let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap tasksByType.dailys = []; tasksByType.dailys.push(task); @@ -633,7 +633,7 @@ describe('cron', () => { type: 'daily', }; - let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line babel/new-cap + let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap tasksByType.dailys = []; tasksByType.dailys.push(task); diff --git a/test/api/v3/unit/models/challenge.test.js b/test/api/v3/unit/models/challenge.test.js index 6e8895527b..bbde1064a7 100644 --- a/test/api/v3/unit/models/challenge.test.js +++ b/test/api/v3/unit/models/challenge.test.js @@ -166,7 +166,7 @@ describe('Challenge Model', () => { context('type specific updates', () => { it('updates habit specific field to challenge and challenge members', async () => { - task = new Tasks.habit(Tasks.Task.sanitize(tasksToTest.habit)); // eslint-disable-line babel/new-cap + task = new Tasks.habit(Tasks.Task.sanitize(tasksToTest.habit)); // eslint-disable-line new-cap task.challenge.id = challenge._id; await task.save(); @@ -185,7 +185,7 @@ describe('Challenge Model', () => { }); it('updates todo specific field to challenge and challenge members', async () => { - task = new Tasks.todo(Tasks.Task.sanitize(tasksToTest.todo)); // eslint-disable-line babel/new-cap + task = new Tasks.todo(Tasks.Task.sanitize(tasksToTest.todo)); // eslint-disable-line new-cap task.challenge.id = challenge._id; await task.save(); @@ -201,7 +201,7 @@ describe('Challenge Model', () => { }); it('does not update checklists on the user task', async () => { - task = new Tasks.todo(Tasks.Task.sanitize(tasksToTest.todo)); // eslint-disable-line babel/new-cap + task = new Tasks.todo(Tasks.Task.sanitize(tasksToTest.todo)); // eslint-disable-line new-cap task.challenge.id = challenge._id; await task.save(); @@ -219,7 +219,7 @@ describe('Challenge Model', () => { }); it('updates daily specific field to challenge and challenge members', async () => { - task = new Tasks.daily(Tasks.Task.sanitize(tasksToTest.daily)); // eslint-disable-line babel/new-cap + task = new Tasks.daily(Tasks.Task.sanitize(tasksToTest.daily)); // eslint-disable-line new-cap task.challenge.id = challenge._id; await task.save(); diff --git a/test/api/v3/unit/models/task.test.js b/test/api/v3/unit/models/task.test.js index 4ae02e6ca9..cd097144eb 100644 --- a/test/api/v3/unit/models/task.test.js +++ b/test/api/v3/unit/models/task.test.js @@ -81,7 +81,7 @@ describe('Task Model', () => { user = new User(); await user.save(); - taskWithAlias = new Tasks.todo({ // eslint-disable-line babel/new-cap + taskWithAlias = new Tasks.todo({ // eslint-disable-line new-cap text: 'some text', alias: 'short-name', userId: user.id, diff --git a/test/helpers/api-unit.helper.js b/test/helpers/api-unit.helper.js index 33168c2a8b..dae4a7bf20 100644 --- a/test/helpers/api-unit.helper.js +++ b/test/helpers/api-unit.helper.js @@ -86,7 +86,7 @@ export function generateTodo (user) { completed: false, }; - let task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line babel/new-cap + let task = new Tasks.todo(Tasks.Task.sanitize(todo)); // eslint-disable-line new-cap task.userId = user._id; task.save(); @@ -101,7 +101,7 @@ export function generateDaily (user) { completed: false, }; - let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line babel/new-cap + let task = new Tasks.daily(Tasks.Task.sanitize(daily)); // eslint-disable-line new-cap task.userId = user._id; task.save(); diff --git a/website/client/.eslintrc b/website/client/.eslintrc index ad6777090c..64155c32ec 100644 --- a/website/client/.eslintrc +++ b/website/client/.eslintrc @@ -1,7 +1,7 @@ { "extends": [ "habitrpg/browser", - "habitrpg/babel" + "habitrpg/esnext" ], "plugins": [ "html" diff --git a/website/common/script/.eslintrc b/website/common/script/.eslintrc index 0b1303a736..4acd626597 100644 --- a/website/common/script/.eslintrc +++ b/website/common/script/.eslintrc @@ -1,6 +1,6 @@ { "extends": [ "habitrpg/browser", - "habitrpg/babel" + "habitrpg/esnext" ] } diff --git a/website/server/.eslintrc b/website/server/.eslintrc index 97ee927997..7b3c05adf0 100644 --- a/website/server/.eslintrc +++ b/website/server/.eslintrc @@ -1,6 +1,6 @@ { "extends": [ "habitrpg/server", - "habitrpg/babel" + "habitrpg/esnext" ] } \ No newline at end of file diff --git a/website/server/controllers/api-v3/auth.js b/website/server/controllers/api-v3/auth.js index 1effc3d850..175a8ca88d 100644 --- a/website/server/controllers/api-v3/auth.js +++ b/website/server/controllers/api-v3/auth.js @@ -534,14 +534,16 @@ api.resetPassword = { from: 'Habitica ', to: email, subject: res.t('passwordResetEmailSubject'), - text: res.t('passwordResetEmailText', { username: user.auth.local.username, - newPassword, - baseUrl: nconf.get('BASE_URL'), - }), - html: res.t('passwordResetEmailHtml', { username: user.auth.local.username, - newPassword, - baseUrl: nconf.get('BASE_URL'), - }), + text: res.t('passwordResetEmailText', { + username: user.auth.local.username, + newPassword, + baseUrl: nconf.get('BASE_URL'), + }), + html: res.t('passwordResetEmailHtml', { + username: user.auth.local.username, + newPassword, + baseUrl: nconf.get('BASE_URL'), + }), }); await user.save(); diff --git a/website/server/controllers/top-level/dataexport.js b/website/server/controllers/top-level/dataexport.js index dbfb5d5979..fc420a2c23 100644 --- a/website/server/controllers/top-level/dataexport.js +++ b/website/server/controllers/top-level/dataexport.js @@ -93,13 +93,13 @@ async function _getUserDataForExport (user) { userId: user._id, }).exec(); - tasks = _.chain(tasks) + _.chain(tasks) .map(task => task.toJSON()) .groupBy(task => task.type) .each((tasksPerType, taskType) => { userData.tasks[`${taskType}s`] = tasksPerType; }) - .value(); + .value(); // to force evaluation return userData; } diff --git a/website/server/controllers/top-level/pages.js b/website/server/controllers/top-level/pages.js index ad8be7edff..b9772bb2c2 100644 --- a/website/server/controllers/top-level/pages.js +++ b/website/server/controllers/top-level/pages.js @@ -29,9 +29,9 @@ api.getFrontPage = { }; let staticPages = ['front', 'privacy', 'terms', 'features', - 'videos', 'contact', 'plans', 'new-stuff', 'community-guidelines', - 'old-news', 'press-kit', 'faq', 'overview', 'apps', - 'clear-browser-data', 'merch', 'maintenance-info']; + 'videos', 'contact', 'plans', 'new-stuff', 'community-guidelines', + 'old-news', 'press-kit', 'faq', 'overview', 'apps', + 'clear-browser-data', 'merch', 'maintenance-info']; _.each(staticPages, (name) => { api[`get${name}Page`] = { diff --git a/website/server/controllers/top-level/payments/iap.js b/website/server/controllers/top-level/payments/iap.js index 9ddb56a5db..3252bc8b15 100644 --- a/website/server/controllers/top-level/payments/iap.js +++ b/website/server/controllers/top-level/payments/iap.js @@ -120,12 +120,12 @@ api.iapiOSVerify = { let purchaseData = purchaseDataList[index]; let token = purchaseData.transactionId; - let existingReceipt = await IapPurchaseReceipt.findOne({ // eslint-disable-line babel/no-await-in-loop + let existingReceipt = await IapPurchaseReceipt.findOne({ // eslint-disable-line no-await-in-loop _id: token, }).exec(); if (!existingReceipt) { - await IapPurchaseReceipt.create({ // eslint-disable-line babel/no-await-in-loop + await IapPurchaseReceipt.create({ // eslint-disable-line no-await-in-loop _id: token, consumed: true, userId: user._id, @@ -155,7 +155,7 @@ api.iapiOSVerify = { break; } - await payments.buyGems({ // eslint-disable-line babel/no-await-in-loop + await payments.buyGems({ // eslint-disable-line no-await-in-loop user, paymentMethod: 'IAP AppleStore', amount, diff --git a/website/server/middlewares/locals.js b/website/server/middlewares/locals.js index 31e2af78d0..8a23e606fd 100644 --- a/website/server/middlewares/locals.js +++ b/website/server/middlewares/locals.js @@ -12,9 +12,9 @@ import { mods } from '../models/user'; // To avoid stringifying more data then we need, // items from `env` used on the client will have to be specified in this array const CLIENT_VARS = ['language', 'isStaticPage', 'availableLanguages', 'translations', - 'FACEBOOK_KEY', 'GOOGLE_CLIENT_ID', 'FACEBOOK_ANALYTICS', 'NODE_ENV', 'BASE_URL', 'GA_ID', - 'AMAZON_PAYMENTS', 'STRIPE_PUB_KEY', 'AMPLITUDE_KEY', - 'worldDmg', 'mods', 'IS_MOBILE', 'PUSHER:KEY', 'PUSHER:ENABLED']; + 'FACEBOOK_KEY', 'GOOGLE_CLIENT_ID', 'FACEBOOK_ANALYTICS', 'NODE_ENV', 'BASE_URL', 'GA_ID', + 'AMAZON_PAYMENTS', 'STRIPE_PUB_KEY', 'AMPLITUDE_KEY', + 'worldDmg', 'mods', 'IS_MOBILE', 'PUSHER:KEY', 'PUSHER:ENABLED']; let env = { getManifestFiles, diff --git a/website/server/middlewares/v1.js b/website/server/middlewares/v1.js index c91c65b617..72371af36c 100644 --- a/website/server/middlewares/v1.js +++ b/website/server/middlewares/v1.js @@ -7,7 +7,7 @@ import { NotFound, } from '../libs/errors'; -const router = express.Router(); // eslint-disable-line babel/new-cap +const router = express.Router(); // eslint-disable-line new-cap const BASE_URL = nconf.get('BASE_URL'); diff --git a/website/server/middlewares/v2.js b/website/server/middlewares/v2.js index 7b35de3b72..3cfbef292a 100644 --- a/website/server/middlewares/v2.js +++ b/website/server/middlewares/v2.js @@ -7,7 +7,7 @@ import { NotFound, } from '../libs/errors'; -const router = express.Router(); // eslint-disable-line babel/new-cap +const router = express.Router(); // eslint-disable-line new-cap const BASE_URL = nconf.get('BASE_URL'); diff --git a/website/server/middlewares/v3.js b/website/server/middlewares/v3.js index d7afccb28c..54a3b1d1b3 100644 --- a/website/server/middlewares/v3.js +++ b/website/server/middlewares/v3.js @@ -18,12 +18,12 @@ v3app.use(expressValidator()); v3app.use(analytics); v3app.use(setupBody); -const topLevelRouter = express.Router(); // eslint-disable-line babel/new-cap +const topLevelRouter = express.Router(); // eslint-disable-line new-cap routes.walkControllers(topLevelRouter, TOP_LEVEL_CONTROLLERS_PATH); v3app.use('/', topLevelRouter); -const v3Router = express.Router(); // eslint-disable-line babel/new-cap +const v3Router = express.Router(); // eslint-disable-line new-cap routes.walkControllers(v3Router, API_CONTROLLERS_PATH); v3app.use('/api/v3', v3Router); diff --git a/website/server/models/group.js b/website/server/models/group.js index 87c205b925..ea99e52e9b 100644 --- a/website/server/models/group.js +++ b/website/server/models/group.js @@ -1038,7 +1038,7 @@ if (!nconf.get('IS_TEST')) { model.count({_id: TAVERN_ID}, (err, ct) => { if (err) throw err; if (ct > 0) return; - new model({ // eslint-disable-line babel/new-cap + new model({ // eslint-disable-line new-cap _id: TAVERN_ID, leader: '7bde7864-ebc5-4ee2-a4b7-1070d464cdb0', // Siena Leslie name: 'Tavern',