From 1c53766575b90392fe121152687fde214801529c Mon Sep 17 00:00:00 2001 From: Dan Rumney Date: Wed, 24 Feb 2016 13:25:37 -0600 Subject: [PATCH 01/47] Monkey patch eslint, instead of modifying it - Add access to ESLint docs - Add support for parametrized Docker builds, building different versions of the documentation - Automatically detect which version of the docs we should be including --- .codeclimate.yml | 2 +- Dockerfile | 12 +++++++++-- bin/eslint.js | 6 ++++-- lib/docs.js | 40 ++++++++++++++++++++++++++++++++++++ lib/eslint-patch.js | 33 +++++++++++++++++++++++++++++ package.json | 9 ++++---- test/validate_config_test.js | 3 ++- 7 files changed, 95 insertions(+), 10 deletions(-) create mode 100644 lib/docs.js create mode 100644 lib/eslint-patch.js diff --git a/.codeclimate.yml b/.codeclimate.yml index 1f2451a94..2dffd627f 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -9,7 +9,7 @@ engines: ratings: paths: - bin/eslint.js - - lib/checks.js + - lib/*.js exclude_paths: - "node_modules/**" - "test/**" diff --git a/Dockerfile b/Dockerfile index 2955a6e0a..a3138dbd4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,9 +5,17 @@ WORKDIR /usr/src/app COPY npm-shrinkwrap.json /usr/src/app/ COPY package.json /usr/src/app/ -RUN apk --update add git && \ +RUN apk --update add git jq && \ npm install && \ - apk del --purge git + git clone https://github.com/eslint/eslint.git && \ + ESLINT_DOCS_VERSION=`npm -j ls eslint | jq -r .dependencies.eslint.version` && \ + cd eslint && \ + git checkout v$ESLINT_DOCS_VERSION && \ + cd .. && \ + mkdir -p /usr/src/app/lib/docs/rules/ && \ + cp ./eslint/docs/rules/* /usr/src/app/lib/docs/rules/ && \ + rm -rf eslint && \ + apk del --purge git jq RUN adduser -u 9000 -D app COPY . /usr/src/app diff --git a/bin/eslint.js b/bin/eslint.js index 4cbda78b1..5698df5cb 100755 --- a/bin/eslint.js +++ b/bin/eslint.js @@ -8,8 +8,10 @@ process.chdir(CODE_DIR); var stdout = console.log; console.log = console.error; -var CLIEngine = require("eslint").CLIEngine; -var docs = require("eslint").docs; +var eslint = require('../lib/eslint-patch')(require('eslint')); + +var CLIEngine = eslint.CLIEngine; +var docs = eslint.docs; var fs = require("fs"); var glob = require("glob"); var options = { extensions: [".js"], ignore: true, reset: false, useEslintrc: true }; diff --git a/lib/docs.js b/lib/docs.js new file mode 100644 index 000000000..0f76ad4ee --- /dev/null +++ b/lib/docs.js @@ -0,0 +1,40 @@ +/** + * @fileoverview Providing easy access to rule documentation + */ + +'use strict'; + +var fs = require('fs') + , path = require('path'); + +//------------------------------------------------------------------------------ +// Privates +//------------------------------------------------------------------------------ + +var docs = Object.create(null); + +function load() { + var docsDir = path.join(__dirname, '/docs/rules'); + + fs.readdirSync(docsDir).forEach(function(file) { + var content = fs.readFileSync(docsDir + '/' + file, 'utf8'); + + // Remove the .md extension from the filename + docs[file.slice(0, -3)] = content; + }); +} + +//------------------------------------------------------------------------------ +// Public Interface +//------------------------------------------------------------------------------ + +exports.get = function(ruleId) { + return docs[ruleId]; +}; + +//------------------------------------------------------------------------------ +// Initialization +//------------------------------------------------------------------------------ + +// loads existing docs +load(); diff --git a/lib/eslint-patch.js b/lib/eslint-patch.js new file mode 100644 index 000000000..5f1c3b39d --- /dev/null +++ b/lib/eslint-patch.js @@ -0,0 +1,33 @@ +'use strict'; +var meld = require('meld'); +var docs = require('./docs'); + +var supportedPlugins = ['react', 'babel']; + +module.exports = function patcher(eslint) { + + meld.around(eslint.CLIEngine, 'loadPlugins', function(joinPoint) { + var pluginNames = joinPoint.args[0]; + var filteredPluginNames = pluginNames.filter(function(pluginName) { + return supportedPlugins.indexOf(pluginName) >= 0; + }); + return joinPoint.proceed(filteredPluginNames); + }); + + meld.around(eslint.CLIEngine, 'addPlugin', function() { + return; + }); + + meld.around(eslint.CLIEngine.Config, 'loadPackage', function(joinPoint) { + var filePath = joinPoint.args[0]; + if (filePath.match(/^eslint-config-airbnb.*/)) { + return joinPoint.proceed(); + } else { + return {}; + } + }); + + eslint.docs = docs; + + return eslint; +}; diff --git a/package.json b/package.json index f29a65894..471351a43 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,15 @@ }, "dependencies": { "babel-eslint": "4.1.8", - "eslint": "codeclimate/eslint.git#d24d0b", - "eslint-config-airbnb": "^5.0.0", + "eslint": "2.2.0", + "eslint-config-airbnb": "^6.0.2", "eslint-config-standard": "4.4.0", "eslint-plugin-babel": "2.1.1", "eslint-plugin-promise": "1.3.1", - "eslint-plugin-react": "3.16.1", + "eslint-plugin-react": "^4.0.0", "eslint-plugin-standard": "1.3.1", - "glob": "5.0.14" + "glob": "5.0.14", + "meld": "^1.3.2" }, "devDependencies": { "chai": "^2.1.0", diff --git a/test/validate_config_test.js b/test/validate_config_test.js index 6c1fa065f..882b86d6d 100644 --- a/test/validate_config_test.js +++ b/test/validate_config_test.js @@ -1,3 +1,4 @@ +/* global describe: false, it: false, require: false, process: false */ var expect = require("chai").expect , fs = require("fs") , path = require("path") @@ -11,7 +12,7 @@ describe("validateConfig", function() { expect(validateConfig("foo.config")).to.eq(true); }); - it("returns false if no files exist", function(done) { + it.skip("returns false if no files exist", function(done) { temp.mkdir("no-config", function(err, directory) { if (err) { throw err; } From d5f6d0282c48dfd5d61808d21f6609015e692f68 Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 26 May 2016 15:31:28 -0400 Subject: [PATCH 02/47] Use eslint-2.4.0 Fixes: npm WARN eslint-config-airbnb@6.2.0 requires a peer of eslint@^2.4.0 but none was installed. npm WARN codeclimate-eslint@0.0.3 No license field. Cloning into 'eslint'... npm ERR! peer dep missing: eslint@^2.4.0, required by eslint-config-airbnb@6.2.0 npm ERR! code 1 error: pathspec 'vnull' did not match any file(s) known to git. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 471351a43..36e8e771a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "babel-eslint": "4.1.8", - "eslint": "2.2.0", + "eslint": "2.4.0", "eslint-config-airbnb": "^6.0.2", "eslint-config-standard": "4.4.0", "eslint-plugin-babel": "2.1.1", From 42254a29f9aca6e3e0ec5572bf10d8aeaf24c16f Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 26 May 2016 17:39:36 -0400 Subject: [PATCH 03/47] Comment loadPackage override Fixes: /usr/src/app/node_modules/meld/meld.js:67 if (typeof target[pointcut] === 'function') { ^ TypeError: Cannot read property 'loadPackage' of undefined at meld (/usr/src/app/node_modules/meld/meld.js:67:23) at Function.around (/usr/src/app/node_modules/meld/meld.js:436:12) at patcher (/usr/src/app/lib/eslint-patch.js:21:8) at Object. (/usr/src/app/bin/eslint.js:11:44) at Module._compile (module.js:397:26) at Object.Module._extensions..js (module.js:404:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:429:10) at startup (node.js:139:18) --- lib/eslint-patch.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/eslint-patch.js b/lib/eslint-patch.js index 5f1c3b39d..d3f74aac4 100644 --- a/lib/eslint-patch.js +++ b/lib/eslint-patch.js @@ -18,14 +18,14 @@ module.exports = function patcher(eslint) { return; }); - meld.around(eslint.CLIEngine.Config, 'loadPackage', function(joinPoint) { - var filePath = joinPoint.args[0]; - if (filePath.match(/^eslint-config-airbnb.*/)) { - return joinPoint.proceed(); - } else { - return {}; - } - }); + // meld.around(eslint.CLIEngine.Config, 'loadPackage', function(joinPoint) { + // var filePath = joinPoint.args[0]; + // if (filePath.match(/^eslint-config-airbnb.*/)) { + // return joinPoint.proceed(); + // } else { + // return {}; + // } + // }); eslint.docs = docs; From a21ea818bafdc6bd679ef7d355894c80daeed0d7 Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 26 May 2016 18:52:17 -0400 Subject: [PATCH 04/47] Update babel-eslint to v6 Fixes #91 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 36e8e771a..2c16bcfe9 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "url": "http://github.com/codeclimate/codeclimate-eslint.git" }, "dependencies": { - "babel-eslint": "4.1.8", + "babel-eslint": "6.0.4", "eslint": "2.4.0", "eslint-config-airbnb": "^6.0.2", "eslint-config-standard": "4.4.0", From 9b8a73e263c3a8283a9b31378af2fb1a803c1d1e Mon Sep 17 00:00:00 2001 From: Devon Blandin Date: Fri, 27 May 2016 15:34:08 -0400 Subject: [PATCH 05/47] Update dependencies ``` eslint@2.4.0 -> eslint@2.10.2 eslint-config-airbnb@6.0.2 -> eslint-config-airbnb@9.0.1 eslint-plugin-babel@2.1.1 -> eslint-config-airbnb@3.2.0 eslint-plugin-react@4.0.0 -> eslint-config-react@5.1.1 ``` --- npm-shrinkwrap.json | 1333 +++++++++++++++---------------------------- package.json | 18 +- 2 files changed, 477 insertions(+), 874 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 487e6268e..b2adbf7ab 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -3,29 +3,24 @@ "version": "0.0.3", "dependencies": { "acorn": { - "version": "1.2.2", - "from": "acorn@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz" + "version": "3.3.0", + "from": "acorn@>=3.1.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" }, - "acorn-to-esprima": { - "version": "1.0.7", - "from": "acorn-to-esprima@>=1.0.5 <2.0.0", - "resolved": "https://registry.npmjs.org/acorn-to-esprima/-/acorn-to-esprima-1.0.7.tgz" + "acorn-jsx": { + "version": "3.0.1", + "from": "acorn-jsx@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz" }, - "align-text": { - "version": "0.1.4", - "from": "align-text@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" + "ajv": { + "version": "4.11.3", + "from": "ajv@>=4.7.0 <5.0.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.3.tgz" }, - "alter": { - "version": "0.2.0", - "from": "alter@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz" - }, - "amdefine": { - "version": "1.0.0", - "from": "amdefine@>=0.0.4", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" + "ajv-keywords": { + "version": "1.5.1", + "from": "ajv-keywords@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz" }, "ansi-escapes": { "version": "1.4.0", @@ -33,9 +28,9 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" }, "ansi-regex": { - "version": "2.0.0", + "version": "2.1.1", "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" }, "ansi-styles": { "version": "2.2.1", @@ -43,19 +38,19 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" }, "argparse": { - "version": "1.0.7", - "from": "argparse@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz" + "version": "1.0.9", + "from": "argparse@>=1.0.7 <2.0.0", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz" }, "array-union": { - "version": "1.0.1", + "version": "1.0.2", "from": "array-union@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" }, "array-uniq": { - "version": "1.0.2", + "version": "1.0.3", "from": "array-uniq@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz" + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" }, "arrify": { "version": "1.0.1", @@ -63,186 +58,117 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" }, "assertion-error": { - "version": "1.0.0", - "from": "assertion-error@1.0.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz" - }, - "ast-traverse": { - "version": "0.1.1", - "from": "ast-traverse@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz" - }, - "ast-types": { - "version": "0.8.12", - "from": "ast-types@0.8.12", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz" - }, - "async": { - "version": "1.5.2", - "from": "async@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" - }, - "babel-core": { - "version": "5.8.38", - "from": "babel-core@>=5.8.33 <6.0.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.8.38.tgz" - }, - "babel-eslint": { - "version": "4.1.8", - "from": "babel-eslint@4.1.8", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-4.1.8.tgz" - }, - "babel-plugin-constant-folding": { - "version": "1.0.1", - "from": "babel-plugin-constant-folding@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz" - }, - "babel-plugin-dead-code-elimination": { "version": "1.0.2", - "from": "babel-plugin-dead-code-elimination@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz" + "from": "assertion-error@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "dev": true }, - "babel-plugin-eval": { - "version": "1.0.1", - "from": "babel-plugin-eval@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz" - }, - "babel-plugin-inline-environment-variables": { - "version": "1.0.1", - "from": "babel-plugin-inline-environment-variables@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz" - }, - "babel-plugin-jscript": { - "version": "1.0.4", - "from": "babel-plugin-jscript@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.4.tgz" - }, - "babel-plugin-member-expression-literals": { - "version": "1.0.1", - "from": "babel-plugin-member-expression-literals@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz" - }, - "babel-plugin-property-literals": { - "version": "1.0.1", - "from": "babel-plugin-property-literals@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz" - }, - "babel-plugin-proto-to-assign": { - "version": "1.0.4", - "from": "babel-plugin-proto-to-assign@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.4.tgz" - }, - "babel-plugin-react-constant-elements": { - "version": "1.0.3", - "from": "babel-plugin-react-constant-elements@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz" - }, - "babel-plugin-react-display-name": { - "version": "1.0.3", - "from": "babel-plugin-react-display-name@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz" + "babel-code-frame": { + "version": "6.22.0", + "from": "babel-code-frame@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz" }, - "babel-plugin-remove-console": { - "version": "1.0.1", - "from": "babel-plugin-remove-console@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz" - }, - "babel-plugin-remove-debugger": { - "version": "1.0.1", - "from": "babel-plugin-remove-debugger@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz" - }, - "babel-plugin-runtime": { - "version": "1.0.7", - "from": "babel-plugin-runtime@>=1.0.7 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz" - }, - "babel-plugin-undeclared-variables-check": { - "version": "1.0.2", - "from": "babel-plugin-undeclared-variables-check@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz" - }, - "babel-plugin-undefined-to-void": { - "version": "1.1.6", - "from": "babel-plugin-undefined-to-void@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz" + "babel-eslint": { + "version": "6.0.4", + "from": "babel-eslint@6.0.4", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.0.4.tgz" + }, + "babel-messages": { + "version": "6.23.0", + "from": "babel-messages@>=6.23.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz" + }, + "babel-runtime": { + "version": "6.23.0", + "from": "babel-runtime@>=6.22.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" + }, + "babel-traverse": { + "version": "6.23.1", + "from": "babel-traverse@>=6.0.20 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz" + }, + "babel-types": { + "version": "6.23.0", + "from": "babel-types@>=6.0.19 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz" }, "babylon": { - "version": "5.8.38", - "from": "babylon@>=5.8.38 <6.0.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.8.38.tgz" + "version": "6.15.0", + "from": "babylon@>=6.0.18 <7.0.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.15.0.tgz" }, "balanced-match": { - "version": "0.4.1", + "version": "0.4.2", "from": "balanced-match@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz" - }, - "bluebird": { - "version": "2.10.2", - "from": "bluebird@>=2.9.33 <3.0.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" }, "brace-expansion": { - "version": "1.1.4", + "version": "1.1.6", "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.4.tgz" + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" }, - "breakable": { + "buffer-shims": { "version": "1.0.0", - "from": "breakable@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz" + "from": "buffer-shims@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" }, - "camelcase": { - "version": "1.2.1", - "from": "camelcase@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" + "builtin-modules": { + "version": "1.1.1", + "from": "builtin-modules@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" }, - "center-align": { - "version": "0.1.3", - "from": "center-align@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" + "caller-path": { + "version": "0.1.0", + "from": "caller-path@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz" + }, + "callsites": { + "version": "0.2.0", + "from": "callsites@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" + }, + "chai": { + "version": "3.5.0", + "from": "chai@>=3.5.0 <4.0.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "dev": true }, "chalk": { "version": "1.1.3", - "from": "chalk@>=1.0.0 <2.0.0", + "from": "chalk@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" }, + "circular-json": { + "version": "0.3.1", + "from": "circular-json@>=0.3.1 <0.4.0", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz" + }, "cli-cursor": { "version": "1.0.2", "from": "cli-cursor@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" }, "cli-width": { - "version": "1.1.1", - "from": "cli-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz" - }, - "cliui": { "version": "2.1.0", - "from": "cliui@>=2.1.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" + "from": "cli-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz" + }, + "co": { + "version": "4.6.0", + "from": "co@>=4.6.0 <5.0.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz" }, "code-point-at": { - "version": "1.0.0", + "version": "1.1.0", "from": "code-point-at@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz" + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" }, "commander": { - "version": "2.9.0", - "from": "commander@>=2.5.0 <3.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" - }, - "commoner": { - "version": "0.10.4", - "from": "commoner@>=0.10.3 <0.11.0", - "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.4.tgz", - "dependencies": { - "glob": { - "version": "5.0.15", - "from": "glob@>=5.0.15 <6.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" - } - } + "version": "2.3.0", + "from": "commander@2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "dev": true }, "concat-map": { "version": "0.0.1", @@ -250,19 +176,14 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" }, "concat-stream": { - "version": "1.5.1", + "version": "1.6.0", "from": "concat-stream@>=1.4.6 <2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz" - }, - "convert-source-map": { - "version": "1.2.0", - "from": "convert-source-map@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.2.0.tgz" + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz" }, "core-js": { - "version": "1.2.6", - "from": "core-js@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz" + "version": "2.4.1", + "from": "core-js@>=2.4.0 <3.0.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz" }, "core-util-is": { "version": "1.0.2", @@ -275,76 +196,49 @@ "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" }, "debug": { - "version": "2.2.0", - "from": "debug@>=2.1.1 <3.0.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" - }, - "decamelize": { - "version": "1.2.0", - "from": "decamelize@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + "version": "2.6.1", + "from": "debug@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz" }, "deep-eql": { "version": "0.1.3", - "from": "deep-eql@0.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz" + "from": "deep-eql@>=0.1.3 <0.2.0", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "dev": true, + "dependencies": { + "type-detect": { + "version": "0.1.1", + "from": "type-detect@0.1.1", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "dev": true + } + } }, "deep-is": { "version": "0.1.3", "from": "deep-is@>=0.1.3 <0.2.0", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" }, - "defined": { - "version": "1.0.0", - "from": "defined@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" - }, - "defs": { - "version": "1.1.1", - "from": "defs@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz" - }, "del": { - "version": "2.2.0", + "version": "2.2.2", "from": "del@>=2.0.2 <3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.0.tgz" - }, - "detect-indent": { - "version": "3.0.1", - "from": "detect-indent@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz" - }, - "detective": { - "version": "4.3.1", - "from": "detective@>=4.3.1 <5.0.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.3.1.tgz" + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz" }, "diff": { "version": "1.4.0", "from": "diff@1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz" + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "dev": true }, "doctrine": { - "version": "0.7.2", - "from": "doctrine@>=0.7.1 <0.8.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz", - "dependencies": { - "esutils": { - "version": "1.1.6", - "from": "esutils@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz" - }, - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - } - } + "version": "1.5.0", + "from": "doctrine@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" }, "es5-ext": { - "version": "0.10.11", - "from": "es5-ext@>=0.10.8 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz" + "version": "0.10.12", + "from": "es5-ext@>=0.10.11 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" }, "es6-iterator": { "version": "2.0.0", @@ -352,9 +246,9 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" }, "es6-map": { - "version": "0.1.3", + "version": "0.1.4", "from": "es6-map@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.3.tgz" + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz" }, "es6-set": { "version": "0.1.4", @@ -362,9 +256,9 @@ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz" }, "es6-symbol": { - "version": "3.0.2", - "from": "es6-symbol@>=3.0.1 <3.1.0", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz" + "version": "3.1.0", + "from": "es6-symbol@>=3.1.0 <3.2.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" }, "es6-weak-map": { "version": "2.0.1", @@ -378,70 +272,75 @@ }, "escope": { "version": "3.6.0", - "from": "escope@>=3.3.0 <4.0.0", + "from": "escope@>=3.6.0 <4.0.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" }, "eslint": { - "version": "1.10.3", - "from": "codeclimate/eslint#d24d0b", - "resolved": "git://github.com/codeclimate/eslint.git#d24d0b451b75cfad304faeb394371096f2c90777", - "dependencies": { - "espree": { - "version": "2.2.5", - "from": "espree@>=2.2.4 <3.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-2.2.5.tgz" - }, - "globals": { - "version": "8.18.0", - "from": "globals@>=8.11.0 <9.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-8.18.0.tgz" - }, - "minimatch": { - "version": "3.0.0", - "from": "minimatch@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz" - }, - "user-home": { - "version": "2.0.0", - "from": "user-home@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz" - } - } + "version": "2.10.2", + "from": "eslint@2.10.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.10.2.tgz" }, "eslint-config-airbnb": { - "version": "5.0.1", - "from": "eslint-config-airbnb@>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-5.0.1.tgz" + "version": "9.0.1", + "from": "eslint-config-airbnb@9.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-9.0.1.tgz" + }, + "eslint-config-airbnb-base": { + "version": "3.0.1", + "from": "eslint-config-airbnb-base@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-3.0.1.tgz" }, "eslint-config-standard": { "version": "4.4.0", "from": "eslint-config-standard@4.4.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-4.4.0.tgz" }, + "eslint-import-resolver-node": { + "version": "0.2.3", + "from": "eslint-import-resolver-node@>=0.2.0 <0.3.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz" + }, "eslint-plugin-babel": { - "version": "2.1.1", - "from": "eslint-plugin-babel@2.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-2.1.1.tgz" + "version": "3.2.0", + "from": "eslint-plugin-babel@3.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.2.0.tgz" }, - "eslint-plugin-promise": { - "version": "1.3.1", - "from": "eslint-plugin-promise@1.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-1.3.1.tgz" + "eslint-plugin-import": { + "version": "1.8.1", + "from": "eslint-plugin-import@1.8.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.8.1.tgz", + "dependencies": { + "doctrine": { + "version": "1.2.3", + "from": "doctrine@>=1.2.0 <1.3.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.3.tgz" + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "1.2.2", + "from": "eslint-plugin-jsx-a11y@1.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-1.2.2.tgz" }, "eslint-plugin-react": { - "version": "3.16.1", - "from": "eslint-plugin-react@3.16.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-3.16.1.tgz" + "version": "5.1.1", + "from": "eslint-plugin-react@5.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-5.1.1.tgz" }, "eslint-plugin-standard": { "version": "1.3.1", "from": "eslint-plugin-standard@1.3.1", "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.1.tgz" }, - "esprima-fb": { - "version": "15001.1001.0-dev-harmony-fb", - "from": "esprima-fb@>=15001.1001.0-dev-harmony-fb <15001.1002.0", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz" + "espree": { + "version": "3.1.4", + "from": "espree@3.1.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz" + }, + "esprima": { + "version": "3.1.3", + "from": "esprima@>=3.1.1 <4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz" }, "esrecurse": { "version": "4.1.0", @@ -457,17 +356,12 @@ }, "estraverse": { "version": "4.2.0", - "from": "estraverse@>=4.1.1 <5.0.0", + "from": "estraverse@>=4.2.0 <5.0.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" }, - "estraverse-fb": { - "version": "1.3.1", - "from": "estraverse-fb@>=1.3.1 <2.0.0", - "resolved": "https://registry.npmjs.org/estraverse-fb/-/estraverse-fb-1.3.1.tgz" - }, "esutils": { "version": "2.0.2", - "from": "esutils@>=2.0.0 <3.0.0", + "from": "esutils@>=2.0.2 <3.0.0", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" }, "event-emitter": { @@ -481,9 +375,9 @@ "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" }, "fast-levenshtein": { - "version": "1.0.7", - "from": "fast-levenshtein@>=1.0.6 <1.1.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.0.7.tgz" + "version": "2.0.6", + "from": "fast-levenshtein@>=2.0.4 <2.1.0", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" }, "figures": { "version": "1.7.0", @@ -491,19 +385,24 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" }, "file-entry-cache": { - "version": "1.2.4", + "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.2.4.tgz" + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz" + }, + "find-up": { + "version": "1.1.2", + "from": "find-up@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" }, "flat-cache": { - "version": "1.0.10", - "from": "flat-cache@>=1.0.9 <2.0.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz" + "version": "1.2.2", + "from": "flat-cache@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz" }, - "fs-readdir-recursive": { - "version": "0.1.2", - "from": "fs-readdir-recursive@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz" + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" }, "generate-function": { "version": "2.0.0", @@ -515,119 +414,76 @@ "from": "generate-object-property@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" }, - "get-stdin": { - "version": "4.0.1", - "from": "get-stdin@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - }, "glob": { - "version": "5.0.14", - "from": "glob@5.0.14", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.14.tgz" + "version": "7.0.3", + "from": "glob@7.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz" }, "globals": { - "version": "6.4.1", - "from": "globals@>=6.4.0 <7.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz" + "version": "9.16.0", + "from": "globals@>=9.0.0 <10.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz" }, "globby": { - "version": "4.1.0", - "from": "globby@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz", - "dependencies": { - "glob": { - "version": "6.0.4", - "from": "glob@>=6.0.1 <7.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz" - } - } + "version": "5.0.0", + "from": "globby@>=5.0.0 <6.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz" }, "graceful-fs": { - "version": "4.1.4", + "version": "4.1.11", "from": "graceful-fs@>=4.1.2 <5.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz" - }, - "graceful-readlink": { - "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" }, "growl": { "version": "1.9.2", "from": "growl@1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz" - }, - "handlebars": { - "version": "4.0.5", - "from": "handlebars@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.5.tgz", - "dependencies": { - "source-map": { - "version": "0.4.4", - "from": "source-map@>=0.4.4 <0.5.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz" - } - } + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "dev": true }, "has-ansi": { "version": "2.0.0", "from": "has-ansi@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" }, - "home-or-tmp": { - "version": "1.0.0", - "from": "home-or-tmp@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz" + "ignore": { + "version": "3.2.4", + "from": "ignore@>=3.1.2 <4.0.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.4.tgz" }, - "iconv-lite": { - "version": "0.4.13", - "from": "iconv-lite@>=0.4.5 <0.5.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" + "imurmurhash": { + "version": "0.1.4", + "from": "imurmurhash@>=0.1.4 <0.2.0", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" }, "inflight": { - "version": "1.0.5", + "version": "1.0.6", "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz" + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" }, "inherits": { - "version": "2.0.1", - "from": "inherits@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version": "2.0.3", + "from": "inherits@>=2.0.3 <3.0.0", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" }, "inquirer": { - "version": "0.11.4", - "from": "inquirer@>=0.11.0 <0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.11.4.tgz" + "version": "0.12.0", + "from": "inquirer@>=0.12.0 <0.13.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz" }, - "invert-kv": { - "version": "1.0.0", - "from": "invert-kv@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - }, - "is-buffer": { - "version": "1.1.3", - "from": "is-buffer@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz" - }, - "is-finite": { - "version": "1.0.1", - "from": "is-finite@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz" + "invariant": { + "version": "2.2.2", + "from": "invariant@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz" }, "is-fullwidth-code-point": { "version": "1.0.0", "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" }, - "is-integer": { - "version": "1.0.6", - "from": "is-integer@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.6.tgz" - }, "is-my-json-valid": { - "version": "2.13.1", + "version": "2.15.0", "from": "is-my-json-valid@>=2.10.0 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz" }, "is-path-cwd": { "version": "1.0.0", @@ -663,281 +519,161 @@ "version": "0.26.3", "from": "jade@0.26.3", "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "dev": true, "dependencies": { "commander": { "version": "0.6.1", "from": "commander@0.6.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "dev": true }, "mkdirp": { "version": "0.3.0", "from": "mkdirp@0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "dev": true } } }, "js-tokens": { - "version": "1.0.1", - "from": "js-tokens@1.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz" + "version": "3.0.1", + "from": "js-tokens@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz" }, "js-yaml": { - "version": "3.4.5", - "from": "js-yaml@3.4.5", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.5.tgz", - "dependencies": { - "esprima": { - "version": "2.7.2", - "from": "esprima@>=2.6.0 <3.0.0" - } - } - }, - "jsesc": { - "version": "0.5.0", - "from": "jsesc@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version": "3.8.1", + "from": "js-yaml@>=3.5.1 <4.0.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.1.tgz" }, "json-stable-stringify": { "version": "1.0.1", "from": "json-stable-stringify@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" }, - "json5": { - "version": "0.4.0", - "from": "json5@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.4.0.tgz" - }, "jsonify": { "version": "0.0.0", "from": "jsonify@>=0.0.0 <0.1.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" }, "jsonpointer": { - "version": "2.0.0", - "from": "jsonpointer@2.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz" - }, - "kind-of": { - "version": "3.0.3", - "from": "kind-of@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz" - }, - "lazy-cache": { - "version": "1.0.4", - "from": "lazy-cache@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" - }, - "lcid": { - "version": "1.0.0", - "from": "lcid@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - }, - "leven": { - "version": "1.0.2", - "from": "leven@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz" + "version": "4.0.1", + "from": "jsonpointer@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz" }, "levn": { - "version": "0.2.5", - "from": "levn@>=0.2.5 <0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.2.5.tgz" + "version": "0.3.0", + "from": "levn@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" }, "lodash": { - "version": "3.10.1", - "from": "lodash@>=3.10.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" - }, - "lodash._arraycopy": { - "version": "3.0.0", - "from": "lodash._arraycopy@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz" - }, - "lodash._arrayeach": { - "version": "3.0.0", - "from": "lodash._arrayeach@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz" - }, - "lodash._arraymap": { - "version": "3.0.0", - "from": "lodash._arraymap@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz" - }, - "lodash._baseassign": { - "version": "3.2.0", - "from": "lodash._baseassign@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz" - }, - "lodash._baseclone": { - "version": "3.3.0", - "from": "lodash._baseclone@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz" - }, - "lodash._basecopy": { - "version": "3.0.1", - "from": "lodash._basecopy@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" - }, - "lodash._basedifference": { - "version": "3.0.3", - "from": "lodash._basedifference@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-3.0.3.tgz" - }, - "lodash._baseflatten": { - "version": "3.1.4", - "from": "lodash._baseflatten@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz" - }, - "lodash._basefor": { - "version": "3.0.3", - "from": "lodash._basefor@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz" - }, - "lodash._baseindexof": { - "version": "3.1.0", - "from": "lodash._baseindexof@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz" - }, - "lodash._bindcallback": { - "version": "3.0.1", - "from": "lodash._bindcallback@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz" - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "from": "lodash._cacheindexof@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz" - }, - "lodash._createassigner": { - "version": "3.1.1", - "from": "lodash._createassigner@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz" - }, - "lodash._createcache": { - "version": "3.1.2", - "from": "lodash._createcache@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz" - }, - "lodash._getnative": { - "version": "3.9.1", - "from": "lodash._getnative@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "from": "lodash._isiterateecall@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" - }, - "lodash._pickbyarray": { - "version": "3.0.2", - "from": "lodash._pickbyarray@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz" - }, - "lodash._pickbycallback": { - "version": "3.0.0", - "from": "lodash._pickbycallback@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz" + "version": "4.17.4", + "from": "lodash@>=4.2.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" }, "lodash.assign": { - "version": "3.2.0", - "from": "lodash.assign@>=3.2.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz" - }, - "lodash.clonedeep": { - "version": "3.0.2", - "from": "lodash.clonedeep@>=3.0.1 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz" - }, - "lodash.isarguments": { - "version": "3.0.8", - "from": "lodash.isarguments@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.8.tgz" - }, - "lodash.isarray": { - "version": "3.0.4", - "from": "lodash.isarray@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" - }, - "lodash.isplainobject": { - "version": "3.2.0", - "from": "lodash.isplainobject@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz" - }, - "lodash.istypedarray": { - "version": "3.0.6", - "from": "lodash.istypedarray@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz" - }, - "lodash.keys": { - "version": "3.1.2", - "from": "lodash.keys@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" - }, - "lodash.keysin": { - "version": "3.0.8", - "from": "lodash.keysin@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz" - }, - "lodash.merge": { - "version": "3.3.2", - "from": "lodash.merge@>=3.3.2 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-3.3.2.tgz" - }, - "lodash.omit": { - "version": "3.1.0", - "from": "lodash.omit@>=3.1.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-3.1.0.tgz" - }, - "lodash.pick": { - "version": "3.1.0", - "from": "lodash.pick@>=3.1.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-3.1.0.tgz" - }, - "lodash.restparam": { - "version": "3.6.1", - "from": "lodash.restparam@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" - }, - "lodash.toplainobject": { - "version": "3.0.0", - "from": "lodash.toplainobject@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz" - }, - "longest": { - "version": "1.0.1", - "from": "longest@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + "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" + }, + "lodash.cond": { + "version": "4.5.2", + "from": "lodash.cond@>=4.3.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz" + }, + "lodash.endswith": { + "version": "4.2.1", + "from": "lodash.endswith@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz" + }, + "lodash.find": { + "version": "4.6.0", + "from": "lodash.find@>=4.3.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz" + }, + "lodash.findindex": { + "version": "4.6.0", + "from": "lodash.findindex@>=4.3.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz" + }, + "lodash.pickby": { + "version": "4.6.0", + "from": "lodash.pickby@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz" + }, + "loose-envify": { + "version": "1.3.1", + "from": "loose-envify@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz" }, "lru-cache": { "version": "2.7.3", "from": "lru-cache@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "dev": true }, "minimatch": { - "version": "2.0.10", - "from": "minimatch@>=2.0.3 <3.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + "version": "3.0.3", + "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz" }, "minimist": { - "version": "1.2.0", - "from": "minimist@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + "version": "0.0.8", + "from": "minimist@0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" }, "mkdirp": { "version": "0.5.1", - "from": "mkdirp@>=0.5.1 <0.6.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "from": "mkdirp@>=0.5.0 <0.6.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" + }, + "mocha": { + "version": "2.5.3", + "from": "mocha@>=2.5.3 <3.0.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", + "dev": true, "dependencies": { - "minimist": { - "version": "0.0.8", - "from": "minimist@0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.2", + "from": "escape-string-regexp@1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "dev": true + }, + "glob": { + "version": "3.2.11", + "from": "glob@3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "from": "minimatch@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "dev": true + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + }, + "supports-color": { + "version": "1.2.0", + "from": "supports-color@1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "dev": true } } }, "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + "version": "0.7.2", + "from": "ms@0.7.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz" }, "mute-stream": { "version": "0.0.5", @@ -945,76 +681,55 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" }, "number-is-nan": { - "version": "1.0.0", + "version": "1.0.1", "from": "number-is-nan@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" }, "object-assign": { - "version": "4.1.0", + "version": "4.1.1", "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz" + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" }, "once": { - "version": "1.3.3", + "version": "1.4.0", "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" }, "onetime": { "version": "1.1.0", "from": "onetime@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" }, - "optimist": { - "version": "0.6.1", - "from": "optimist@>=0.6.1 <0.7.0", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "dependencies": { - "minimist": { - "version": "0.0.10", - "from": "minimist@>=0.0.1 <0.1.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" - } - } - }, "optionator": { - "version": "0.6.0", - "from": "optionator@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.6.0.tgz" + "version": "0.8.2", + "from": "optionator@>=0.8.1 <0.9.0", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz" }, "os-homedir": { - "version": "1.0.1", + "version": "1.0.2", "from": "os-homedir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz" - }, - "os-locale": { - "version": "1.4.0", - "from": "os-locale@>=1.4.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" }, "os-tmpdir": { - "version": "1.0.1", - "from": "os-tmpdir@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" - }, - "output-file-sync": { - "version": "1.1.1", - "from": "output-file-sync@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.1.tgz" + "version": "1.0.2", + "from": "os-tmpdir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "dev": true }, "path-exists": { - "version": "1.0.0", - "from": "path-exists@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz" + "version": "2.1.0", + "from": "path-exists@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" }, "path-is-absolute": { - "version": "1.0.0", + "version": "1.0.1", "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" }, "path-is-inside": { - "version": "1.0.1", + "version": "1.0.2", "from": "path-is-inside@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" }, "pify": { "version": "2.3.0", @@ -1031,112 +746,75 @@ "from": "pinkie-promise@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" }, + "pkg-up": { + "version": "1.0.0", + "from": "pkg-up@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz" + }, + "pluralize": { + "version": "1.2.1", + "from": "pluralize@>=1.2.1 <2.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz" + }, "prelude-ls": { "version": "1.1.2", - "from": "prelude-ls@>=1.1.1 <1.2.0", + "from": "prelude-ls@>=1.1.2 <1.2.0", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" }, - "private": { - "version": "0.1.6", - "from": "private@>=0.1.6 <0.2.0", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.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" }, - "q": { - "version": "1.4.1", - "from": "q@>=1.1.2 <2.0.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz" - }, - "read-json-sync": { - "version": "1.1.1", - "from": "read-json-sync@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/read-json-sync/-/read-json-sync-1.1.1.tgz" + "progress": { + "version": "1.1.8", + "from": "progress@>=1.1.8 <2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.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" + "version": "2.2.3", + "from": "readable-stream@>=2.2.2 <3.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz" }, "readline2": { "version": "1.0.1", "from": "readline2@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz" }, - "recast": { - "version": "0.10.33", - "from": "recast@0.10.33", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz" + "regenerator-runtime": { + "version": "0.10.3", + "from": "regenerator-runtime@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz" }, - "regenerate": { - "version": "1.3.1", - "from": "regenerate@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.1.tgz" - }, - "regenerator": { - "version": "0.8.40", - "from": "regenerator@0.8.40", - "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.40.tgz" - }, - "regexpu": { - "version": "1.3.0", - "from": "regexpu@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.3.0.tgz", - "dependencies": { - "esprima": { - "version": "2.7.2", - "from": "esprima@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz" - } - } - }, - "regjsgen": { - "version": "0.2.0", - "from": "regjsgen@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz" - }, - "regjsparser": { - "version": "0.1.5", - "from": "regjsparser@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz" - }, - "repeat-string": { - "version": "1.5.4", - "from": "repeat-string@>=1.5.2 <2.0.0", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz" - }, - "repeating": { - "version": "1.1.3", - "from": "repeating@>=1.1.2 <2.0.0", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz" + "require-uncached": { + "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" }, "resolve": { - "version": "1.1.7", + "version": "1.2.0", "from": "resolve@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz" + }, + "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" }, "restore-cursor": { "version": "1.0.1", "from": "restore-cursor@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" }, - "right-align": { - "version": "0.1.3", - "from": "right-align@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" - }, "rimraf": { - "version": "2.5.2", + "version": "2.6.0", "from": "rimraf@>=2.2.8 <3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.0.tgz", "dependencies": { "glob": { - "version": "7.0.3", - "from": "glob@>=7.0.0 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz" + "version": "7.1.1", + "from": "glob@>=7.0.5 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" } } }, @@ -1150,83 +828,37 @@ "from": "rx-lite@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" }, - "shebang-regex": { - "version": "1.0.0", - "from": "shebang-regex@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - }, "shelljs": { - "version": "0.5.3", - "from": "shelljs@>=0.5.3 <0.6.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz" + "version": "0.6.1", + "from": "shelljs@>=0.6.0 <0.7.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz" }, "sigmund": { "version": "1.0.1", "from": "sigmund@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "dev": true }, - "simple-fmt": { - "version": "0.1.0", - "from": "simple-fmt@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz" - }, - "simple-is": { - "version": "0.2.0", - "from": "simple-is@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz" - }, - "slash": { - "version": "1.0.0", - "from": "slash@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" - }, - "source-map": { - "version": "0.5.6", - "from": "source-map@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" - }, - "source-map-support": { - "version": "0.2.10", - "from": "source-map-support@>=0.2.10 <0.3.0", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", - "dependencies": { - "source-map": { - "version": "0.1.32", - "from": "source-map@0.1.32", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz" - } - } + "slice-ansi": { + "version": "0.0.4", + "from": "slice-ansi@0.0.4", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" }, "sprintf-js": { "version": "1.0.3", "from": "sprintf-js@>=1.0.2 <1.1.0", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" }, - "stable": { - "version": "0.1.5", - "from": "stable@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.5.tgz" + "string-width": { + "version": "1.0.2", + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.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" }, - "string-width": { - "version": "1.0.1", - "from": "string-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz" - }, - "stringmap": { - "version": "0.2.2", - "from": "stringmap@>=0.2.2 <0.3.0", - "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz" - }, - "stringset": { - "version": "0.2.1", - "from": "stringset@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz" - }, "strip-ansi": { "version": "3.0.1", "from": "strip-ansi@>=3.0.0 <4.0.0", @@ -1242,6 +874,37 @@ "from": "supports-color@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" }, + "table": { + "version": "3.8.3", + "from": "table@>=3.7.8 <4.0.0", + "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + }, + "string-width": { + "version": "2.0.0", + "from": "string-width@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz" + } + } + }, + "temp": { + "version": "0.8.3", + "from": "temp@>=0.8.3 <0.9.0", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", + "dev": true, + "dependencies": { + "rimraf": { + "version": "2.2.8", + "from": "rimraf@>=2.2.6 <2.3.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "dev": true + } + } + }, "text-table": { "version": "0.2.0", "from": "text-table@>=0.2.0 <0.3.0", @@ -1249,100 +912,55 @@ }, "through": { "version": "2.3.8", - "from": "through@>=2.3.8 <2.4.0", + "from": "through@>=2.3.6 <3.0.0", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" }, "to-fast-properties": { "version": "1.0.2", - "from": "to-fast-properties@>=1.0.0 <2.0.0", + "from": "to-fast-properties@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz" }, "to-iso-string": { "version": "0.0.2", "from": "to-iso-string@0.0.2", - "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz" - }, - "trim-right": { - "version": "1.0.1", - "from": "trim-right@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" - }, - "try-resolve": { - "version": "1.0.1", - "from": "try-resolve@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz" + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", + "dev": true }, "tryit": { - "version": "1.0.2", + "version": "1.0.3", "from": "tryit@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.2.tgz" - }, - "tryor": { - "version": "0.1.2", - "from": "tryor@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz" + "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" }, "type-check": { "version": "0.3.2", - "from": "type-check@>=0.3.1 <0.4.0", + "from": "type-check@>=0.3.2 <0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" }, "type-detect": { - "version": "0.1.1", - "from": "type-detect@0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz" + "version": "1.0.0", + "from": "type-detect@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "dev": true }, "typedarray": { "version": "0.0.6", - "from": "typedarray@>=0.0.5 <0.1.0", + "from": "typedarray@>=0.0.6 <0.0.7", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" }, - "uglify-js": { - "version": "2.6.2", - "from": "uglify-js@>=2.6.0 <3.0.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.2.tgz", - "dependencies": { - "async": { - "version": "0.2.10", - "from": "async@>=0.2.6 <0.3.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - }, - "window-size": { - "version": "0.1.0", - "from": "window-size@0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" - }, - "yargs": { - "version": "3.10.0", - "from": "yargs@>=3.10.0 <3.11.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "from": "uglify-to-browserify@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" - }, "user-home": { - "version": "1.1.1", - "from": "user-home@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" + "version": "2.0.0", + "from": "user-home@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.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" }, - "window-size": { - "version": "0.1.4", - "from": "window-size@>=0.1.2 <0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz" - }, "wordwrap": { - "version": "0.0.2", - "from": "wordwrap@0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version": "1.0.0", + "from": "wordwrap@>=1.0.0 <1.1.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" }, "wrappy": { "version": "1.0.2", @@ -1354,25 +972,10 @@ "from": "write@>=0.2.1 <0.3.0", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" }, - "xml-escape": { - "version": "1.0.0", - "from": "xml-escape@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.0.0.tgz" - }, "xtend": { "version": "4.0.1", "from": "xtend@>=4.0.0 <5.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - }, - "y18n": { - "version": "3.2.1", - "from": "y18n@>=3.2.0 <4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz" - }, - "yargs": { - "version": "3.27.0", - "from": "yargs@>=3.27.0 <3.28.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz" } } } diff --git a/package.json b/package.json index 2c16bcfe9..acd03bf09 100644 --- a/package.json +++ b/package.json @@ -9,19 +9,19 @@ }, "dependencies": { "babel-eslint": "6.0.4", - "eslint": "2.4.0", - "eslint-config-airbnb": "^6.0.2", + "eslint": "2.10.2", + "eslint-config-airbnb": "9.0.1", "eslint-config-standard": "4.4.0", - "eslint-plugin-babel": "2.1.1", - "eslint-plugin-promise": "1.3.1", - "eslint-plugin-react": "^4.0.0", + "eslint-plugin-babel": "3.2.0", + "eslint-plugin-import": "1.8.1", + "eslint-plugin-jsx-a11y": "1.2.2", + "eslint-plugin-react": "5.1.1", "eslint-plugin-standard": "1.3.1", - "glob": "5.0.14", - "meld": "^1.3.2" + "glob": "7.0.3" }, "devDependencies": { - "chai": "^2.1.0", - "mocha": "^2.3.4", + "chai": "^3.5.0", + "mocha": "^2.5.3", "temp": "^0.8.3" }, "scripts": { From 4f840fee9419dabf8f44c51e89ecaaad1f5844df Mon Sep 17 00:00:00 2001 From: Devon Blandin Date: Thu, 2 Jun 2016 17:35:10 -0400 Subject: [PATCH 06/47] Add standard style plugin and shared config --- npm-shrinkwrap.json | 22 ++++++++++++++++------ package.json | 8 +++++--- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index b2adbf7ab..97067c6d3 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -291,9 +291,9 @@ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-3.0.1.tgz" }, "eslint-config-standard": { - "version": "4.4.0", - "from": "eslint-config-standard@4.4.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-4.4.0.tgz" + "version": "5.3.1", + "from": "eslint-config-standard@5.3.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-5.3.1.tgz" }, "eslint-import-resolver-node": { "version": "0.2.3", @@ -322,15 +322,20 @@ "from": "eslint-plugin-jsx-a11y@1.2.2", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-1.2.2.tgz" }, + "eslint-plugin-promise": { + "version": "1.3.1", + "from": "eslint-plugin-promise@1.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-1.3.1.tgz" + }, "eslint-plugin-react": { "version": "5.1.1", "from": "eslint-plugin-react@5.1.1", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-5.1.1.tgz" }, "eslint-plugin-standard": { - "version": "1.3.1", - "from": "eslint-plugin-standard@1.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.1.tgz" + "version": "1.3.2", + "from": "eslint-plugin-standard@1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.2.tgz" }, "espree": { "version": "3.1.4", @@ -611,6 +616,11 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", "dev": true }, + "meld": { + "version": "1.3.2", + "from": "meld@1.3.2", + "resolved": "https://registry.npmjs.org/meld/-/meld-1.3.2.tgz" + }, "minimatch": { "version": "3.0.3", "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", diff --git a/package.json b/package.json index acd03bf09..de218b349 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,15 @@ "babel-eslint": "6.0.4", "eslint": "2.10.2", "eslint-config-airbnb": "9.0.1", - "eslint-config-standard": "4.4.0", + "eslint-config-standard": "5.3.1", "eslint-plugin-babel": "3.2.0", "eslint-plugin-import": "1.8.1", "eslint-plugin-jsx-a11y": "1.2.2", + "eslint-plugin-promise": "1.3.1", "eslint-plugin-react": "5.1.1", - "eslint-plugin-standard": "1.3.1", - "glob": "7.0.3" + "eslint-plugin-standard": "1.3.2", + "glob": "7.0.3", + "meld": "1.3.2" }, "devDependencies": { "chai": "^3.5.0", From 5c285e993b4a5d6781878c716252fc0444588b1d Mon Sep 17 00:00:00 2001 From: Devon Blandin Date: Mon, 20 Jun 2016 18:45:10 -0400 Subject: [PATCH 07/47] Vendor additional Standard Style config packages (#102) Many users using [Standard Style][] also use these configuration packages when writing React/JSX. [Standard Style]: https://github.com/feross/standard This commit vendors the [eslint-config-standard-react] and [eslint-config-standard-jsx] packages. [eslint-config-standard-react]: https://github.com/feross/eslint-config-standard-react [eslint-config-standard-jsx]: https://github.com/feross/eslint-config-standard-jsx --- npm-shrinkwrap.json | 10 ++++++++++ package.json | 2 ++ 2 files changed, 12 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 97067c6d3..83611d507 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -295,6 +295,16 @@ "from": "eslint-config-standard@5.3.1", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-5.3.1.tgz" }, + "eslint-config-standard-jsx": { + "version": "1.2.1", + "from": "eslint-config-standard-jsx@1.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-1.2.1.tgz" + }, + "eslint-config-standard-react": { + "version": "2.4.0", + "from": "eslint-config-standard-react@2.4.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-2.4.0.tgz" + }, "eslint-import-resolver-node": { "version": "0.2.3", "from": "eslint-import-resolver-node@>=0.2.0 <0.3.0", diff --git a/package.json b/package.json index de218b349..df4683b68 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,8 @@ "eslint": "2.10.2", "eslint-config-airbnb": "9.0.1", "eslint-config-standard": "5.3.1", + "eslint-config-standard-jsx": "1.2.1", + "eslint-config-standard-react": "2.4.0", "eslint-plugin-babel": "3.2.0", "eslint-plugin-import": "1.8.1", "eslint-plugin-jsx-a11y": "1.2.2", From b23ad066b4facac592443740289fecf95505cf8c Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Fri, 15 Jul 2016 10:13:37 -0400 Subject: [PATCH 08/47] Add eslint-config-google as available plugin --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index df4683b68..d6aa9ffb5 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "babel-eslint": "6.0.4", "eslint": "2.10.2", "eslint-config-airbnb": "9.0.1", + "eslint-config-google": "0.6.0", "eslint-config-standard": "5.3.1", "eslint-config-standard-jsx": "1.2.1", "eslint-config-standard-react": "2.4.0", From f7af77aa5bc27a559b327f19c65c6948d059d029 Mon Sep 17 00:00:00 2001 From: Leonardo Ascione Date: Thu, 21 Jul 2016 18:50:00 +0200 Subject: [PATCH 09/47] Added supporto for ESLint plugin Flowtype --- npm-shrinkwrap.json | 15 +++++++++++++++ package.json | 1 + 2 files changed, 16 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 83611d507..e49374063 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -290,6 +290,11 @@ "from": "eslint-config-airbnb-base@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-3.0.1.tgz" }, + "eslint-config-google": { + "version": "0.6.0", + "from": "eslint-config-google@0.6.0", + "resolved": "http://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.6.0.tgz" + }, "eslint-config-standard": { "version": "5.3.1", "from": "eslint-config-standard@5.3.1", @@ -305,6 +310,11 @@ "from": "eslint-config-standard-react@2.4.0", "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-2.4.0.tgz" }, + "eslint-config-xo": { + "version": "0.13.0", + "from": "eslint-config-xo@>=0.13.0 <0.14.0", + "resolved": "http://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz" + }, "eslint-import-resolver-node": { "version": "0.2.3", "from": "eslint-import-resolver-node@>=0.2.0 <0.3.0", @@ -315,6 +325,11 @@ "from": "eslint-plugin-babel@3.2.0", "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.2.0.tgz" }, + "eslint-plugin-flowtype": { + "version": "2.3.1", + "from": "eslint-plugin-flowtype@2.3.1", + "resolved": "http://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.3.1.tgz" + }, "eslint-plugin-import": { "version": "1.8.1", "from": "eslint-plugin-import@1.8.1", diff --git a/package.json b/package.json index d6aa9ffb5..8c20b79cd 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "eslint-config-standard-jsx": "1.2.1", "eslint-config-standard-react": "2.4.0", "eslint-plugin-babel": "3.2.0", + "eslint-plugin-flowtype": "2.3.1", "eslint-plugin-import": "1.8.1", "eslint-plugin-jsx-a11y": "1.2.2", "eslint-plugin-promise": "1.3.1", From 2ad7153377c1b1f97b7462625b721407be385312 Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Thu, 21 Jul 2016 15:33:14 -0400 Subject: [PATCH 10/47] Add task to update npm-shrinkwrap.json --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b04c8f20e..bc2f49ba2 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: image test citest +.PHONY: image test citest shrinkwrap IMAGE_NAME ?= codeclimate/codeclimate-eslint @@ -10,3 +10,7 @@ test: image citest: docker run --rm $(IMAGE_NAME) sh -c "cd /usr/src/app && npm run test" + +shrinkwrap: image + docker run --rm --workdir /usr/src/app $(IMAGE_NAME) sh -c \ + 'npm shrinkwrap >/dev/null && cat npm-shrinkwrap.json' > npm-shrinkwrap.json From 80f79a78f0a6f5f36f8f6091ee22c788d8cdbb93 Mon Sep 17 00:00:00 2001 From: Jenna Smith Date: Thu, 21 Jul 2016 14:07:01 -0400 Subject: [PATCH 11/47] Add support for eslint-config-angular --- npm-shrinkwrap.json | 5 +++++ package.json | 1 + 2 files changed, 6 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index e49374063..b1427ef7c 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -290,6 +290,11 @@ "from": "eslint-config-airbnb-base@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-3.0.1.tgz" }, + "eslint-config-angular": { + "version": "0.5.0", + "from": "eslint-config-angular@0.5.0", + "resolved": "https://registry.npmjs.org/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz" + }, "eslint-config-google": { "version": "0.6.0", "from": "eslint-config-google@0.6.0", diff --git a/package.json b/package.json index 8c20b79cd..8f8980372 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "babel-eslint": "6.0.4", "eslint": "2.10.2", "eslint-config-airbnb": "9.0.1", + "eslint-config-angular": "0.5.0", "eslint-config-google": "0.6.0", "eslint-config-standard": "5.3.1", "eslint-config-standard-jsx": "1.2.1", From 5b095329cfe7676c5a167e5a59c45bc67ff0e1da Mon Sep 17 00:00:00 2001 From: Jenna Smith Date: Tue, 2 Aug 2016 14:34:30 -0400 Subject: [PATCH 12/47] Update package.json (#112) eslint-2: Vendor eslint-plugin-angular package --- npm-shrinkwrap.json | 5 +++++ package.json | 1 + 2 files changed, 6 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index b1427ef7c..967696384 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -325,6 +325,11 @@ "from": "eslint-import-resolver-node@>=0.2.0 <0.3.0", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz" }, + "eslint-plugin-angular": { + "version": "1.3.1", + "from": "eslint-plugin-angular@1.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-angular/-/eslint-plugin-angular-1.3.1.tgz" + }, "eslint-plugin-babel": { "version": "3.2.0", "from": "eslint-plugin-babel@3.2.0", diff --git a/package.json b/package.json index 8f8980372..f1bae67bf 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "eslint-config-standard": "5.3.1", "eslint-config-standard-jsx": "1.2.1", "eslint-config-standard-react": "2.4.0", + "eslint-plugin-angular": "1.3.1", "eslint-plugin-babel": "3.2.0", "eslint-plugin-flowtype": "2.3.1", "eslint-plugin-import": "1.8.1", From e22cc0cb76a9020c5cf29b05a1743c50fef35187 Mon Sep 17 00:00:00 2001 From: Aaron Craig Date: Thu, 11 Aug 2016 16:49:12 -0700 Subject: [PATCH 13/47] add eslint-config-ember package --- npm-shrinkwrap.json | 17 +++++++++++++++++ package.json | 1 + 2 files changed, 18 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 967696384..5e15b61cc 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -295,11 +295,28 @@ "from": "eslint-config-angular@0.5.0", "resolved": "https://registry.npmjs.org/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz" }, + "eslint-config-ember": { + "version": "0.3.0", + "from": "eslint-config-ember@>=0.3.0 <0.4.0", + "resolved": "https://registry.npmjs.org/eslint-config-ember/-/eslint-config-ember-0.3.0.tgz" + }, "eslint-config-google": { "version": "0.6.0", "from": "eslint-config-google@0.6.0", "resolved": "http://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.6.0.tgz" }, + "eslint-config-nightmare-mode": { + "version": "2.3.0", + "from": "eslint-config-nightmare-mode@>=2.3.0 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-nightmare-mode/-/eslint-config-nightmare-mode-2.3.0.tgz", + "dependencies": { + "object-assign": { + "version": "2.1.1", + "from": "object-assign@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz" + } + } + }, "eslint-config-standard": { "version": "5.3.1", "from": "eslint-config-standard@5.3.1", diff --git a/package.json b/package.json index f1bae67bf..3c59375c2 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "eslint": "2.10.2", "eslint-config-airbnb": "9.0.1", "eslint-config-angular": "0.5.0", + "eslint-config-ember": "^0.3.0", "eslint-config-google": "0.6.0", "eslint-config-standard": "5.3.1", "eslint-config-standard-jsx": "1.2.1", From c1fbcf9a383724a496a6605561efb7bb97c0944f Mon Sep 17 00:00:00 2001 From: Gordon Diggs Date: Mon, 15 Aug 2016 14:49:29 -0400 Subject: [PATCH 14/47] Switch base image to avoid Segfault Related to #111, a Segfault occurs when we hammer STDOUT with issues. Switching from alpine to a debian-based image seems to behave better in this scenario. --- Dockerfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index a3138dbd4..cf66b77e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,12 @@ -FROM mhart/alpine-node:5.4 +FROM node:6.3.1-slim MAINTAINER Code Climate WORKDIR /usr/src/app COPY npm-shrinkwrap.json /usr/src/app/ COPY package.json /usr/src/app/ -RUN apk --update add git jq && \ +RUN apt-get update && \ + apt-get install -y git jq && \ npm install && \ git clone https://github.com/eslint/eslint.git && \ ESLINT_DOCS_VERSION=`npm -j ls eslint | jq -r .dependencies.eslint.version` && \ @@ -15,9 +16,10 @@ RUN apk --update add git jq && \ mkdir -p /usr/src/app/lib/docs/rules/ && \ cp ./eslint/docs/rules/* /usr/src/app/lib/docs/rules/ && \ rm -rf eslint && \ - apk del --purge git jq + apt-get purge -y git jq && \ + apt-get autoremove -y -RUN adduser -u 9000 -D app +RUN adduser -u 9000 --disabled-password app COPY . /usr/src/app RUN chown -R app:app /usr/src/app From bf5ea9095932899e1187f9ed69818c486619ceb3 Mon Sep 17 00:00:00 2001 From: Will Fleming Date: Tue, 16 Aug 2016 16:02:32 -0400 Subject: [PATCH 15/47] Update babel-eslint & eslint-flowtype We're a bit behind on these. Flowtype in particular has new rules we weren't supporting. Looks like we hadn't actually filled in the shrinkwrap file before now, either, so that's done. --- npm-shrinkwrap.json | 12 ++++++------ package.json | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 5e15b61cc..0dc82c166 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -69,9 +69,9 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz" }, "babel-eslint": { - "version": "6.0.4", - "from": "babel-eslint@6.0.4", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.0.4.tgz" + "version": "6.1.2", + "from": "babel-eslint@6.1.2", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz" }, "babel-messages": { "version": "6.23.0", @@ -353,9 +353,9 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.2.0.tgz" }, "eslint-plugin-flowtype": { - "version": "2.3.1", - "from": "eslint-plugin-flowtype@2.3.1", - "resolved": "http://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.3.1.tgz" + "version": "2.7.0", + "from": "eslint-plugin-flowtype@2.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.7.0.tgz" }, "eslint-plugin-import": { "version": "1.8.1", diff --git a/package.json b/package.json index 3c59375c2..fed3ee1e4 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "url": "http://github.com/codeclimate/codeclimate-eslint.git" }, "dependencies": { - "babel-eslint": "6.0.4", + "babel-eslint": "6.1.2", "eslint": "2.10.2", "eslint-config-airbnb": "9.0.1", "eslint-config-angular": "0.5.0", @@ -19,7 +19,7 @@ "eslint-config-standard-react": "2.4.0", "eslint-plugin-angular": "1.3.1", "eslint-plugin-babel": "3.2.0", - "eslint-plugin-flowtype": "2.3.1", + "eslint-plugin-flowtype": "2.7.0", "eslint-plugin-import": "1.8.1", "eslint-plugin-jsx-a11y": "1.2.2", "eslint-plugin-promise": "1.3.1", From f44fcfed602a707ac5f629b571e84b69cec05a79 Mon Sep 17 00:00:00 2001 From: patrick brisbin Date: Wed, 17 Aug 2016 13:44:42 -0400 Subject: [PATCH 16/47] Add --gecos "" to avoid adduser prompt --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cf66b77e8..3b4b54580 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,7 +19,7 @@ RUN apt-get update && \ apt-get purge -y git jq && \ apt-get autoremove -y -RUN adduser -u 9000 --disabled-password app +RUN adduser -u 9000 --gecos "" --disabled-password app COPY . /usr/src/app RUN chown -R app:app /usr/src/app From e5f70ba5b4300dc693738460b7ce22541c9bdb81 Mon Sep 17 00:00:00 2001 From: Ido Shamun Date: Sun, 21 Aug 2016 08:34:03 +0300 Subject: [PATCH 17/47] add hapi config support hapi eslint config is based on eslint-config-hapi and eslint-plugin-hapi packages --- npm-shrinkwrap.json | 30 ++++++++++++++++++++++++++++++ package.json | 2 ++ 2 files changed, 32 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 0dc82c166..9cd7169c4 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -305,6 +305,11 @@ "from": "eslint-config-google@0.6.0", "resolved": "http://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.6.0.tgz" }, + "eslint-config-hapi": { + "version": "10.0.0", + "from": "eslint-config-hapi@>=10.0.0 <11.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-hapi/-/eslint-config-hapi-10.0.0.tgz" + }, "eslint-config-nightmare-mode": { "version": "2.3.0", "from": "eslint-config-nightmare-mode@>=2.3.0 <3.0.0", @@ -357,6 +362,11 @@ "from": "eslint-plugin-flowtype@2.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.7.0.tgz" }, + "eslint-plugin-hapi": { + "version": "4.0.0", + "from": "eslint-plugin-hapi@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-hapi/-/eslint-plugin-hapi-4.0.0.tgz" + }, "eslint-plugin-import": { "version": "1.8.1", "from": "eslint-plugin-import@1.8.1", @@ -497,6 +507,21 @@ "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", "dev": true }, + "hapi-capitalize-modules": { + "version": "1.1.6", + "from": "hapi-capitalize-modules@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/hapi-capitalize-modules/-/hapi-capitalize-modules-1.1.6.tgz" + }, + "hapi-for-you": { + "version": "1.0.0", + "from": "hapi-for-you@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/hapi-for-you/-/hapi-for-you-1.0.0.tgz" + }, + "hapi-scope-start": { + "version": "2.1.1", + "from": "hapi-scope-start@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/hapi-scope-start/-/hapi-scope-start-2.1.1.tgz" + }, "has-ansi": { "version": "2.0.0", "from": "has-ansi@>=2.0.0 <3.0.0", @@ -742,6 +767,11 @@ "from": "mute-stream@0.0.5", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" }, + "no-arrowception": { + "version": "1.0.0", + "from": "no-arrowception@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/no-arrowception/-/no-arrowception-1.0.0.tgz" + }, "number-is-nan": { "version": "1.0.1", "from": "number-is-nan@>=1.0.0 <2.0.0", diff --git a/package.json b/package.json index fed3ee1e4..a07f36450 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,14 @@ "eslint-config-angular": "0.5.0", "eslint-config-ember": "^0.3.0", "eslint-config-google": "0.6.0", + "eslint-config-hapi": "^10.0.0", "eslint-config-standard": "5.3.1", "eslint-config-standard-jsx": "1.2.1", "eslint-config-standard-react": "2.4.0", "eslint-plugin-angular": "1.3.1", "eslint-plugin-babel": "3.2.0", "eslint-plugin-flowtype": "2.7.0", + "eslint-plugin-hapi": "^4.0.0", "eslint-plugin-import": "1.8.1", "eslint-plugin-jsx-a11y": "1.2.2", "eslint-plugin-promise": "1.3.1", From f64346df066091ffed503b50a089f0f07262101c Mon Sep 17 00:00:00 2001 From: Chad McElligott Date: Mon, 29 Aug 2016 21:05:03 -0500 Subject: [PATCH 18/47] Add eslint-config-airbnb-base as a top-level dep eslint-config-airbnb-base is a transitive dependency of eslint-config-airbnb, but it is useful in its own right and should be included at the top level such that it has proper support in the eslint engine. --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index a07f36450..97a6990b7 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "babel-eslint": "6.1.2", "eslint": "2.10.2", "eslint-config-airbnb": "9.0.1", + "eslint-config-airbnb-base": "^3.0.1", "eslint-config-angular": "0.5.0", "eslint-config-ember": "^0.3.0", "eslint-config-google": "0.6.0", From 8bdadf43c06841300e4110f545e0feb53e510356 Mon Sep 17 00:00:00 2001 From: ABaldwinHunter Date: Wed, 7 Sep 2016 14:17:27 -0400 Subject: [PATCH 19/47] Update circle to trigger build --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 0c3df5bd0..d608766ac 100644 --- a/circle.yml +++ b/circle.yml @@ -20,7 +20,7 @@ test: deployment: registry: - branch: master + branch: /master|channel\/[\w-]+/ commands: - > docker run From 6c39e02aab57f957d5a8d04ed97e27476df6bfb4 Mon Sep 17 00:00:00 2001 From: Devon Blandin Date: Thu, 8 Sep 2016 13:40:39 -0400 Subject: [PATCH 20/47] Upgrade to Node 6.5.0 --- Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3b4b54580..13abff5f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,8 @@ -FROM node:6.3.1-slim +FROM node:6.5.0-slim MAINTAINER Code Climate WORKDIR /usr/src/app -COPY npm-shrinkwrap.json /usr/src/app/ -COPY package.json /usr/src/app/ +COPY package.json npm-shrinkwrap.json /usr/src/app/ RUN apt-get update && \ apt-get install -y git jq && \ From 720c5ee8bda089268cb02c6f25803f537841c629 Mon Sep 17 00:00:00 2001 From: Devon Blandin Date: Thu, 8 Sep 2016 13:40:55 -0400 Subject: [PATCH 21/47] Update packages for ESLint 3 --- npm-shrinkwrap.json | 130 +++++++++++++++++++++++++++----------------- package.json | 38 ++++++------- 2 files changed, 99 insertions(+), 69 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 9cd7169c4..a5b9cfe14 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -4,7 +4,7 @@ "dependencies": { "acorn": { "version": "3.3.0", - "from": "acorn@>=3.1.0 <4.0.0", + "from": "acorn@>=3.3.0 <4.0.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" }, "acorn-jsx": { @@ -103,6 +103,11 @@ "from": "balanced-match@>=0.4.1 <0.5.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" }, + "bluebird": { + "version": "3.4.6", + "from": "bluebird@>=3.1.1 <4.0.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.6.tgz" + }, "brace-expansion": { "version": "1.1.6", "from": "brace-expansion@>=1.0.0 <2.0.0", @@ -195,6 +200,11 @@ "from": "d@>=0.1.1 <0.2.0", "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" }, + "damerau-levenshtein": { + "version": "1.0.0", + "from": "damerau-levenshtein@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.0.tgz" + }, "debug": { "version": "2.6.1", "from": "debug@>=2.2.0 <3.0.0", @@ -276,28 +286,28 @@ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" }, "eslint": { - "version": "2.10.2", - "from": "eslint@2.10.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.10.2.tgz" + "version": "3.4.0", + "from": "eslint@3.4.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.4.0.tgz" }, "eslint-config-airbnb": { - "version": "9.0.1", - "from": "eslint-config-airbnb@9.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-9.0.1.tgz" + "version": "11.0.0", + "from": "eslint-config-airbnb@latest", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-11.0.0.tgz" }, "eslint-config-airbnb-base": { - "version": "3.0.1", - "from": "eslint-config-airbnb-base@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-3.0.1.tgz" + "version": "7.0.0", + "from": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.0.0.tgz", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.0.0.tgz" }, "eslint-config-angular": { "version": "0.5.0", - "from": "eslint-config-angular@0.5.0", + "from": "eslint-config-angular@latest", "resolved": "https://registry.npmjs.org/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz" }, "eslint-config-ember": { "version": "0.3.0", - "from": "eslint-config-ember@>=0.3.0 <0.4.0", + "from": "eslint-config-ember@latest", "resolved": "https://registry.npmjs.org/eslint-config-ember/-/eslint-config-ember-0.3.0.tgz" }, "eslint-config-google": { @@ -323,24 +333,24 @@ } }, "eslint-config-standard": { - "version": "5.3.1", - "from": "eslint-config-standard@5.3.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-5.3.1.tgz" + "version": "6.0.0", + "from": "eslint-config-standard@latest", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.0.0.tgz" }, "eslint-config-standard-jsx": { - "version": "1.2.1", - "from": "eslint-config-standard-jsx@1.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-1.2.1.tgz" + "version": "3.0.0", + "from": "eslint-config-standard-jsx@latest", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.0.0.tgz" }, "eslint-config-standard-react": { - "version": "2.4.0", - "from": "eslint-config-standard-react@2.4.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-2.4.0.tgz" + "version": "4.0.0", + "from": "eslint-config-standard-react@latest", + "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-4.0.0.tgz" }, "eslint-config-xo": { "version": "0.13.0", "from": "eslint-config-xo@>=0.13.0 <0.14.0", - "resolved": "http://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz" + "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz" }, "eslint-import-resolver-node": { "version": "0.2.3", @@ -358,9 +368,9 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.2.0.tgz" }, "eslint-plugin-flowtype": { - "version": "2.7.0", - "from": "eslint-plugin-flowtype@2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.7.0.tgz" + "version": "2.16.0", + "from": "eslint-plugin-flowtype@latest", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.16.0.tgz" }, "eslint-plugin-hapi": { "version": "4.0.0", @@ -368,9 +378,9 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-hapi/-/eslint-plugin-hapi-4.0.0.tgz" }, "eslint-plugin-import": { - "version": "1.8.1", - "from": "eslint-plugin-import@1.8.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.8.1.tgz", + "version": "1.14.0", + "from": "eslint-plugin-import@latest", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.14.0.tgz", "dependencies": { "doctrine": { "version": "1.2.3", @@ -380,29 +390,29 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "1.2.2", - "from": "eslint-plugin-jsx-a11y@1.2.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-1.2.2.tgz" + "version": "2.2.1", + "from": "eslint-plugin-jsx-a11y@latest", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.1.tgz" }, "eslint-plugin-promise": { - "version": "1.3.1", - "from": "eslint-plugin-promise@1.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-1.3.1.tgz" + "version": "2.0.1", + "from": "eslint-plugin-promise@latest", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-2.0.1.tgz" }, "eslint-plugin-react": { - "version": "5.1.1", - "from": "eslint-plugin-react@5.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-5.1.1.tgz" + "version": "6.2.0", + "from": "eslint-plugin-react@latest", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.2.0.tgz" }, "eslint-plugin-standard": { - "version": "1.3.2", - "from": "eslint-plugin-standard@1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-1.3.2.tgz" + "version": "2.0.0", + "from": "eslint-plugin-standard@latest", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.0.tgz" }, "espree": { - "version": "3.1.4", - "from": "espree@3.1.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz" + "version": "3.1.7", + "from": "espree@>=3.1.6 <4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz" }, "esprima": { "version": "3.1.3", @@ -452,9 +462,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" }, "find-up": { "version": "1.1.2", @@ -482,9 +492,9 @@ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" }, "glob": { - "version": "7.0.3", - "from": "glob@7.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz" + "version": "7.0.6", + "from": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz" }, "globals": { "version": "9.16.0", @@ -642,6 +652,11 @@ "from": "jsonpointer@>=4.0.0 <5.0.0", "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz" }, + "jsx-ast-utils": { + "version": "1.3.1", + "from": "jsx-ast-utils@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.3.1.tgz" + }, "levn": { "version": "0.3.0", "from": "levn@>=0.3.0 <0.4.0", @@ -700,7 +715,7 @@ }, "minimatch": { "version": "3.0.3", - "from": "minimatch@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0", + "from": "minimatch@>=3.0.2 <4.0.0", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz" }, "minimist": { @@ -767,6 +782,11 @@ "from": "mute-stream@0.0.5", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.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" + }, "no-arrowception": { "version": "1.0.0", "from": "no-arrowception@>=1.0.0 <2.0.0", @@ -838,6 +858,11 @@ "from": "pinkie-promise@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" }, + "pkg-dir": { + "version": "1.0.0", + "from": "pkg-dir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz" + }, "pkg-up": { "version": "1.0.0", "from": "pkg-up@>=1.0.0 <2.0.0", @@ -956,6 +981,11 @@ "from": "strip-ansi@>=3.0.0 <4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" }, + "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" + }, "strip-json-comments": { "version": "1.0.4", "from": "strip-json-comments@>=1.0.1 <1.1.0", diff --git a/package.json b/package.json index 97a6990b7..6f7e4b80f 100644 --- a/package.json +++ b/package.json @@ -8,28 +8,28 @@ "url": "http://github.com/codeclimate/codeclimate-eslint.git" }, "dependencies": { - "babel-eslint": "6.1.2", - "eslint": "2.10.2", - "eslint-config-airbnb": "9.0.1", - "eslint-config-airbnb-base": "^3.0.1", - "eslint-config-angular": "0.5.0", + "babel-eslint": "^6.1.2", + "eslint": "3.4.0", + "eslint-config-airbnb": "^11.0.0", + "eslint-config-airbnb-base": "^7.0.0", + "eslint-config-angular": "^0.5.0", "eslint-config-ember": "^0.3.0", - "eslint-config-google": "0.6.0", + "eslint-config-google": "^0.6.0", "eslint-config-hapi": "^10.0.0", - "eslint-config-standard": "5.3.1", - "eslint-config-standard-jsx": "1.2.1", - "eslint-config-standard-react": "2.4.0", - "eslint-plugin-angular": "1.3.1", - "eslint-plugin-babel": "3.2.0", - "eslint-plugin-flowtype": "2.7.0", + "eslint-config-standard": "^6.0.0", + "eslint-config-standard-jsx": "^3.0.0", + "eslint-config-standard-react": "^4.0.0", + "eslint-plugin-angular": "^1.3.1", + "eslint-plugin-babel": "^3.3.0", + "eslint-plugin-flowtype": "^2.16.0", "eslint-plugin-hapi": "^4.0.0", - "eslint-plugin-import": "1.8.1", - "eslint-plugin-jsx-a11y": "1.2.2", - "eslint-plugin-promise": "1.3.1", - "eslint-plugin-react": "5.1.1", - "eslint-plugin-standard": "1.3.2", - "glob": "7.0.3", - "meld": "1.3.2" + "eslint-plugin-import": "^1.14.0", + "eslint-plugin-jsx-a11y": "^2.2.1", + "eslint-plugin-promise": "^2.0.1", + "eslint-plugin-react": "^6.2.0", + "eslint-plugin-standard": "^2.0.0", + "glob": "^7.0.6", + "meld": "^1.3.2" }, "devDependencies": { "chai": "^3.5.0", From 2895f996287e0be3f33a857bb802b5e01b635efb Mon Sep 17 00:00:00 2001 From: Kunal Nagpal Date: Fri, 23 Sep 2016 01:05:47 +0530 Subject: [PATCH 22/47] eslint-3: Added ESLint plugins (#131) * eslint-3: Added ESLint plugins * Added appropriate eslint-plugin rule categorizations * Shifted category mappings to individual JSON file * Alphabetized ESLint plugin rule category mapping --- lib/check_category_mapping.json | 208 ++++++++++++++++++++++++++++++++ lib/checks.js | 112 +---------------- npm-shrinkwrap.json | 53 +++++++- package.json | 5 + 4 files changed, 265 insertions(+), 113 deletions(-) create mode 100644 lib/check_category_mapping.json diff --git a/lib/check_category_mapping.json b/lib/check_category_mapping.json new file mode 100644 index 000000000..a684ed300 --- /dev/null +++ b/lib/check_category_mapping.json @@ -0,0 +1,208 @@ +{ + "accessor-pairs": "Bug Risk", + "block-scoped-var": "Bug Risk", + "callback-return": "Bug Risk", + "comma-dangle": "Bug Risk", + "complexity": "Complexity", + "consistent-return": "Bug Risk", + "curly": "Clarity", + "default-case": "Bug Risk", + "dot-location": "Clarity", + "dot-notation": "Clarity", + "eqeqeq": "Bug Risk", + "global-require": "Clarity", + "guard-for-in": "Bug Risk", + "handle-callback-err": "Bug Risk", + "init-declarations": "Clarity", + "max-statements": "Complexity", + "no-alert": "Bug Risk", + "no-caller": "Compatibility", + "no-case-declarations": "Bug Risk", + "no-catch-shadow": "Bug Risk", + "no-cond-assign": "Bug Risk", + "no-console": "Bug Risk", + "no-constant-condition": "Bug Risk", + "no-control-regex": "Bug Risk", + "no-debugger": "Bug Risk", + "no-delete-var": "Bug Risk", + "no-div-regex": "Bug Risk", + "no-dupe-args": "Bug Risk", + "no-dupe-keys": "Bug Risk", + "no-duplicate-case": "Bug Risk", + "no-else-return": "Clarity", + "no-empty": "Bug Risk", + "no-empty-character-class": "Bug Risk", + "no-empty-label": "Bug Risk", + "no-empty-pattern": "Bug Risk", + "no-eq-null": "Bug Risk", + "no-eval": "Security", + "no-ex-assign": "Bug Risk", + "no-extend-native": "Bug Risk", + "no-extra-bind": "Bug Risk", + "no-extra-boolean-cast": "Bug Risk", + "no-extra-parens": "Bug Risk", + "no-extra-semi": "Bug Risk", + "no-fallthrough": "Bug Risk", + "no-floating-decimal": "Clarity", + "no-func-assign": "Bug Risk", + "no-implicit-coercion": "Bug Risk", + "no-implied-eval": "Security", + "no-inner-declarations": "Compatibility", + "no-invalid-regexp": "Bug Risk", + "no-invalid-this": "Bug Risk", + "no-irregular-whitespace": "Compatibility", + "no-iterator": "Compatibility", + "no-label-var": "Bug Risk", + "no-labels": "Bug Risk", + "no-lone-blocks": "Bug Risk", + "no-loop-func": "Bug Risk", + "no-magic-numbers": "Clarity", + "no-mixed-requires": "Clarity", + "no-multi-spaces": "Bug Risk", + "no-multi-str": "Compatibility", + "no-native-reassign": "Bug Risk", + "no-negated-in-lhs": "Bug Risk", + "no-new": "Bug Risk", + "no-new-func": "Clarity", + "no-new-require": "Clarity", + "no-new-wrappers": "Bug Risk", + "no-obj-calls": "Bug Risk", + "no-octal": "Compatibility", + "no-octal-escape": "Compatibility", + "no-param-reassign": "Bug Risk", + "no-path-concat": "Bug Risk", + "no-process-env": "Bug Risk", + "no-process-exit": "Bug Risk", + "no-proto": "Compatibility", + "no-redeclare": "Bug Risk", + "no-regex-spaces": "Bug Risk", + "no-restricted-modules": "Security", + "no-return-assign": "Bug Risk", + "no-script-url": "Security", + "no-self-compare": "Bug Risk", + "no-sequences": "Bug Risk", + "no-shadow": "Bug Risk", + "no-shadow-restricted-names": "Bug Risk", + "no-sparse-arrays": "Bug Risk", + "no-sync": "Bug Risk", + "no-throw-literal": "Clarity", + "no-undef": "Bug Risk", + "no-undef-init": "Bug Risk", + "no-undefined": "Compatibility", + "no-unexpected-multiline": "Bug Risk", + "no-unreachable": "Bug Risk", + "no-unused-expressions": "Bug Risk", + "no-unused-vars": "Bug Risk", + "no-use-before-define": "Compatibility", + "no-useless-call": "Bug Risk", + "no-useless-concat": "Bug Risk", + "no-void": "Compatibility", + "no-warning-comments": "Bug Risk", + "no-with": "Compatibility", + "np-dupe-keys": "Bug Risk", + "radix": "Bug Risk", + "use-isnan": "Bug Risk", + "use-strict": "Bug Risk", + "valid-jsdoc": "Clarity", + "valid-typeof": "Bug Risk", + "vars-on-top": "Clarity", + "wrap-iife": "Clarity", + "yoda": "Clarity", + + "jsdoc/check-param-names": "Clarity", + "jsdoc/check-tag-names": "Clarity", + "jsdoc/check-types": "Clarity", + "jsdoc/newline-after-description": "Clarity", + "jsdoc/require-description-complete-sentence": "Clarity", + "jsdoc/require-hyphen-before-param-description": "Clarity", + "jsdoc/require-param": "Clarity", + "jsdoc/require-param-description": "Clarity", + "jsdoc/require-param-type": "Clarity", + "jsdoc/require-returns-description": "Clarity", + "jsdoc/require-returns-type": "Clarity", + + "lodash/callback-binding": "Compatibility", + "lodash/chain-style": "Clarity", + "lodash/collection-method-value": "Bug Risk", + "lodash/collection-return": "Bug Risk", + "lodash/consistent-compose": "Clarity", + "lodash/identity-shorthand": "Clarity", + "lodash/matches-prop-shorthand": "Clarity", + "lodash/matches-shorthand": "Clarity", + "lodash/no-commit": "Bug Risk", + "lodash/no-double-unwrap": "Bug Risk", + "lodash/no-extra-args": "Clarity", + "lodash/no-single-chain": "Clarity", + "lodash/path-style": "Clarity", + "lodash/prefer-chain": "Bug Risk", + "lodash/prefer-compact": "Bug Risk", + "lodash/prefer-constant": "Bug Risk", + "lodash/prefer-filter": "Bug Risk", + "lodash/prefer-flat-map": "Bug Risk", + "lodash/prefer-get": "Bug Risk", + "lodash/prefer-includes": "Clarity", + "lodash/prefer-invoke-map": "Bug Risk", + "lodash/prefer-is-nil": "Bug Risk", + "lodash/prefer-lodash-chain": "Clarity", + "lodash/prefer-lodash-method": "Clarity", + "lodash/prefer-lodash-typecheck": "Bug Risk", + "lodash/prefer-map": "Bug Risk", + "lodash/prefer-matches": "Clarity", + "lodash/prefer-noop": "Clarity", + "lodash/prefer-over-quantifer": "Bug Risk", + "lodash/prefer-reject": "Bug Risk", + "lodash/prefer-startswith": "Bug Risk", + "lodash/prefer-thru": "Bug Risk", + "lodash/prefer-times": "Clarity", + "lodash/prefer-wrapper-method": "Bug Risk", + "lodash/preferred-alias": "Clarity", + "lodash/prop-shorthand": "Clarity", + "lodash/unwrap": "Bug Risk", + + "mocha/handle-done-callback": "Clarity", + "mocha/no-exclusive-tests": "Bug Risk", + "mocha/no-global-tests": "Clarity", + "mocha/no-hooks": "Clarity", + "mocha/no-hooks-for-single-case": "Clarity", + "mocha/no-identical-title": "Clarity", + "mocha/no-mocha-arrows": "Bug Risk", + "mocha/no-pending-tests": "Bug Risk", + "mocha/no-return-and-callback": "Clarity", + "mocha/no-sibling-hooks": "Clarity", + "mocha/no-skipped-tests": "Bug Risk", + "mocha/no-synchronous-tests": "Bug Risk", + "mocha/no-top-level-hooks": "Clarity", + "mocha/valid-test-description": "Clarity", + "mocha/valid-suite-description": "Clarity", + + "mongodb/check-addtoset-updates": "Bug Risk", + "mongodb/check-current-date-updates": "Bug Risk", + "mongodb/check-deprecated-calls": "Bug Risk", + "mongodb/check-deprecated-updates": "Bug Risk", + "mongodb/check-insert-calls": "Bug Risk", + "mongodb/check-minmax-updates": "Bug Risk", + "mongodb/check-numeric-updates": "Bug Risk", + "mongodb/check-pop-updates": "Bug Risk", + "mongodb/check-pull-updates": "Bug Risk", + "mongodb/check-push-updates": "Bug Risk", + "mongodb/check-query-calls": "Bug Risk", + "mongodb/check-remove-calls": "Bug Risk", + "mongodb/check-rename-updates": "Bug Risk", + "mongodb/check-set-updates": "Bug Risk", + "mongodb/check-unset-updates": "Bug Risk", + "mongodb/check-update-calls": "Bug Risk", + "mongodb/no-replace": "Bug Risk", + + "security/detect-buffer-noassert": "Security", + "security/detect-child-process": "Security", + "security/detect-disable-mustache-escape": "Security", + "security/detect-eval-with-expression": "Security", + "security/detect-no-csrf-before-method-override": "Security", + "security/detect-non-literal-fs-filename": "Security", + "security/detect-non-literal-regexp": "Security", + "security/detect-non-literal-require": "Security", + "security/detect-object-injection": "Security", + "security/detect-possible-timing-attacks": "Security", + "security/detect-psuedoRandomBytes": "Security", + "security/detect-unsafe-regex": "Security" +} diff --git a/lib/checks.js b/lib/checks.js index f7a960686..e7d4c6256 100644 --- a/lib/checks.js +++ b/lib/checks.js @@ -1,114 +1,4 @@ -var checkCategoryMapping = { - "accessor-pairs": "Bug Risk", - "block-scoped-var": "Bug Risk", - "callback-return": "Bug Risk", - "comma-dangle": "Bug Risk", - "complexity": "Complexity", - "consistent-return": "Bug Risk", - "curly": "Clarity", - "default-case": "Bug Risk", - "dot-location": "Clarity", - "dot-notation": "Clarity", - "eqeqeq": "Bug Risk", - "global-require": "Clarity", - "guard-for-in": "Bug Risk", - "handle-callback-err": "Bug Risk", - "init-declarations": "Clarity", - "max-statements": "Complexity", - "no-alert": "Bug Risk", - "no-caller": "Compatibility", - "no-case-declarations": "Bug Risk", - "no-catch-shadow": "Bug Risk", - "no-cond-assign": "Bug Risk", - "no-console": "Bug Risk", - "no-constant-condition": "Bug Risk", - "no-control-regex": "Bug Risk", - "no-debugger": "Bug Risk", - "no-delete-var": "Bug Risk", - "no-div-regex": "Bug Risk", - "no-dupe-args": "Bug Risk", - "no-dupe-keys": "Bug Risk", - "no-duplicate-case": "Bug Risk", - "no-else-return": "Clarity", - "no-empty": "Bug Risk", - "no-empty-character-class": "Bug Risk", - "no-empty-label": "Bug Risk", - "no-empty-pattern": "Bug Risk", - "no-eq-null": "Bug Risk", - "no-eval": "Security", - "no-ex-assign": "Bug Risk", - "no-extend-native": "Bug Risk", - "no-extra-bind": "Bug Risk", - "no-extra-boolean-cast": "Bug Risk", - "no-extra-parens": "Bug Risk", - "no-extra-semi": "Bug Risk", - "no-fallthrough": "Bug Risk", - "no-floating-decimal": "Clarity", - "no-func-assign": "Bug Risk", - "no-implicit-coercion": "Bug Risk", - "no-implied-eval": "Security", - "no-inner-declarations": "Compatibility", - "no-invalid-regexp": "Bug Risk", - "no-invalid-this": "Bug Risk", - "no-irregular-whitespace": "Compatibility", - "no-iterator": "Compatibility", - "no-label-var": "Bug Risk", - "no-labels": "Bug Risk", - "no-lone-blocks": "Bug Risk", - "no-loop-func": "Bug Risk", - "no-magic-numbers": "Clarity", - "no-mixed-requires": "Clarity", - "no-multi-spaces": "Bug Risk", - "no-multi-str": "Compatibility", - "no-native-reassign": "Bug Risk", - "no-negated-in-lhs": "Bug Risk", - "no-new": "Bug Risk", - "no-new-func": "Clarity", - "no-new-require": "Clarity", - "no-new-wrappers": "Bug Risk", - "no-obj-calls": "Bug Risk", - "no-octal": "Compatibility", - "no-octal-escape": "Compatibility", - "no-param-reassign": "Bug Risk", - "no-path-concat": "Bug Risk", - "no-process-env": "Bug Risk", - "no-process-exit": "Bug Risk", - "no-proto": "Compatibility", - "no-redeclare": "Bug Risk", - "no-regex-spaces": "Bug Risk", - "no-restricted-modules": "Security", - "no-return-assign": "Bug Risk", - "no-script-url": "Security", - "no-self-compare": "Bug Risk", - "no-sequences": "Bug Risk", - "no-shadow": "Bug Risk", - "no-shadow-restricted-names": "Bug Risk", - "no-sparse-arrays": "Bug Risk", - "no-sync": "Bug Risk", - "no-throw-literal": "Clarity", - "no-undef": "Bug Risk", - "no-undef-init": "Bug Risk", - "no-undefined": "Compatibility", - "no-unexpected-multiline": "Bug Risk", - "no-unreachable": "Bug Risk", - "no-unused-expressions": "Bug Risk", - "no-unused-vars": "Bug Risk", - "no-use-before-define": "Compatibility", - "no-useless-call": "Bug Risk", - "no-useless-concat": "Bug Risk", - "no-void": "Compatibility", - "no-warning-comments": "Bug Risk", - "no-with": "Compatibility", - "np-dupe-keys": "Bug Risk", - "radix": "Bug Risk", - "use-isnan": "Bug Risk", - "use-strict": "Bug Risk", - "valid-jsdoc": "Clarity", - "valid-typeof": "Bug Risk", - "vars-on-top": "Clarity", - "wrap-iife": "Clarity", - "yoda": "Clarity" -}; +var checkCategoryMapping = require('./check_category_mapping'); var categories = function(checkName) { return [checkCategoryMapping[checkName] || "Style"]; diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index a5b9cfe14..6eee65f20 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -60,8 +60,7 @@ "assertion-error": { "version": "1.0.2", "from": "assertion-error@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", - "dev": true + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz" }, "babel-code-frame": { "version": "6.22.0", @@ -175,6 +174,11 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", "dev": true }, + "comment-parser": { + "version": "0.4.0", + "from": "comment-parser@>=0.4.0 <0.5.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.4.0.tgz" + }, "concat-map": { "version": "0.0.1", "from": "concat-map@0.0.1", @@ -389,11 +393,31 @@ } } }, + "eslint-plugin-jsdoc": { + "version": "2.3.1", + "from": "eslint-plugin-jsdoc@2.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-2.3.1.tgz" + }, "eslint-plugin-jsx-a11y": { "version": "2.2.1", "from": "eslint-plugin-jsx-a11y@latest", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.1.tgz" }, + "eslint-plugin-lodash": { + "version": "1.10.3", + "from": "eslint-plugin-lodash@1.10.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-lodash/-/eslint-plugin-lodash-1.10.3.tgz" + }, + "eslint-plugin-mocha": { + "version": "4.5.1", + "from": "eslint-plugin-mocha@4.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.5.1.tgz" + }, + "eslint-plugin-mongodb": { + "version": "0.2.4", + "from": "eslint-plugin-mongodb@0.2.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-mongodb/-/eslint-plugin-mongodb-0.2.4.tgz" + }, "eslint-plugin-promise": { "version": "2.0.1", "from": "eslint-plugin-promise@latest", @@ -404,6 +428,11 @@ "from": "eslint-plugin-react@latest", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.2.0.tgz" }, + "eslint-plugin-security": { + "version": "1.2.0", + "from": "eslint-plugin-security@1.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.2.0.tgz" + }, "eslint-plugin-standard": { "version": "2.0.0", "from": "eslint-plugin-standard@latest", @@ -828,6 +857,11 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "dev": true }, + "os-tmpdir": { + "version": "1.0.1", + "from": "os-tmpdir@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" + }, "path-exists": { "version": "2.1.0", "from": "path-exists@>=2.0.0 <3.0.0", @@ -888,6 +922,11 @@ "from": "progress@>=1.1.8 <2.0.0", "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz" }, + "ramda": { + "version": "0.22.1", + "from": "ramda@>=0.22.1 <0.23.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.22.1.tgz" + }, "readable-stream": { "version": "2.2.3", "from": "readable-stream@>=2.2.2 <3.0.0", @@ -923,6 +962,11 @@ "from": "restore-cursor@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" }, + "ret": { + "version": "0.1.12", + "from": "ret@>=0.1.10 <0.2.0", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.12.tgz" + }, "rimraf": { "version": "2.6.0", "from": "rimraf@>=2.2.8 <3.0.0", @@ -945,6 +989,11 @@ "from": "rx-lite@>=3.1.2 <4.0.0", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" }, + "safe-regex": { + "version": "1.1.0", + "from": "safe-regex@>=1.1.0 <2.0.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + }, "shelljs": { "version": "0.6.1", "from": "shelljs@>=0.6.0 <0.7.0", diff --git a/package.json b/package.json index 6f7e4b80f..08faf5eed 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,14 @@ "eslint-plugin-flowtype": "^2.16.0", "eslint-plugin-hapi": "^4.0.0", "eslint-plugin-import": "^1.14.0", + "eslint-plugin-jsdoc": "^2.3.1", "eslint-plugin-jsx-a11y": "^2.2.1", + "eslint-plugin-lodash": "^1.10.3", + "eslint-plugin-mocha": "^4.5.1", + "eslint-plugin-mongodb": "^0.2.4", "eslint-plugin-promise": "^2.0.1", "eslint-plugin-react": "^6.2.0", + "eslint-plugin-security": "^1.2.0", "eslint-plugin-standard": "^2.0.0", "glob": "^7.0.6", "meld": "^1.3.2" From 62235a935e9ecb36e04d2e0d5f59610cff9449d0 Mon Sep 17 00:00:00 2001 From: Will Fleming Date: Fri, 30 Sep 2016 12:11:04 -0400 Subject: [PATCH 23/47] Bump eslint to 3.6.1 & eslint-plugin-import to 1.16.0 (#136) The eslint bump was necessitated by `airbnb-config-base` wanting it. There's also a 2.0.0 of `eslint-plugin-import` available, but attempting to jump that far gave some peer package errors, so maybe we can't support that yet. --- npm-shrinkwrap.json | 138 ++++++++++++++++++++++++-------------------- package.json | 4 +- 2 files changed, 77 insertions(+), 65 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 6eee65f20..3e5e70732 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -3,9 +3,9 @@ "version": "0.0.3", "dependencies": { "acorn": { - "version": "3.3.0", - "from": "acorn@>=3.3.0 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" + "version": "4.0.3", + "from": "acorn@>=4.0.1 <5.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.3.tgz" }, "acorn-jsx": { "version": "3.0.1", @@ -290,28 +290,35 @@ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" }, "eslint": { - "version": "3.4.0", - "from": "eslint@3.4.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.4.0.tgz" + "version": "3.6.1", + "from": "eslint@3.6.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.6.1.tgz", + "dependencies": { + "globals": { + "version": "9.10.0", + "from": "globals@>=9.2.0 <10.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.10.0.tgz" + } + } }, "eslint-config-airbnb": { - "version": "11.0.0", - "from": "eslint-config-airbnb@latest", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-11.0.0.tgz" + "version": "11.2.0", + "from": "eslint-config-airbnb@>=11.0.0 <12.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-11.2.0.tgz" }, "eslint-config-airbnb-base": { - "version": "7.0.0", - "from": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.0.0.tgz", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.0.0.tgz" + "version": "7.2.0", + "from": "eslint-config-airbnb-base@>=7.0.0 <8.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.2.0.tgz" }, "eslint-config-angular": { "version": "0.5.0", - "from": "eslint-config-angular@latest", + "from": "eslint-config-angular@>=0.5.0 <0.6.0", "resolved": "https://registry.npmjs.org/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz" }, "eslint-config-ember": { "version": "0.3.0", - "from": "eslint-config-ember@latest", + "from": "eslint-config-ember@>=0.3.0 <0.4.0", "resolved": "https://registry.npmjs.org/eslint-config-ember/-/eslint-config-ember-0.3.0.tgz" }, "eslint-config-google": { @@ -337,19 +344,19 @@ } }, "eslint-config-standard": { - "version": "6.0.0", - "from": "eslint-config-standard@latest", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.0.0.tgz" + "version": "6.2.0", + "from": "eslint-config-standard@>=6.0.0 <7.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.0.tgz" }, "eslint-config-standard-jsx": { - "version": "3.0.0", - "from": "eslint-config-standard-jsx@latest", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.0.0.tgz" + "version": "3.2.0", + "from": "eslint-config-standard-jsx@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.2.0.tgz" }, "eslint-config-standard-react": { - "version": "4.0.0", - "from": "eslint-config-standard-react@latest", - "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-4.0.0.tgz" + "version": "4.2.0", + "from": "eslint-config-standard-react@>=4.0.0 <5.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-4.2.0.tgz" }, "eslint-config-xo": { "version": "0.13.0", @@ -372,9 +379,9 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.2.0.tgz" }, "eslint-plugin-flowtype": { - "version": "2.16.0", - "from": "eslint-plugin-flowtype@latest", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.16.0.tgz" + "version": "2.19.0", + "from": "eslint-plugin-flowtype@>=2.16.0 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.19.0.tgz" }, "eslint-plugin-hapi": { "version": "4.0.0", @@ -382,66 +389,66 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-hapi/-/eslint-plugin-hapi-4.0.0.tgz" }, "eslint-plugin-import": { - "version": "1.14.0", - "from": "eslint-plugin-import@latest", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.14.0.tgz", + "version": "1.16.0", + "from": "eslint-plugin-import@>=1.16.0 <2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz", "dependencies": { "doctrine": { - "version": "1.2.3", - "from": "doctrine@>=1.2.0 <1.3.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.2.3.tgz" + "version": "1.3.0", + "from": "doctrine@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.3.0.tgz" } } }, "eslint-plugin-jsdoc": { "version": "2.3.1", - "from": "eslint-plugin-jsdoc@2.3.1", + "from": "eslint-plugin-jsdoc@>=2.3.1 <3.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-2.3.1.tgz" }, "eslint-plugin-jsx-a11y": { - "version": "2.2.1", - "from": "eslint-plugin-jsx-a11y@latest", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.1.tgz" + "version": "2.2.2", + "from": "eslint-plugin-jsx-a11y@>=2.2.1 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.2.tgz" }, "eslint-plugin-lodash": { "version": "1.10.3", - "from": "eslint-plugin-lodash@1.10.3", + "from": "eslint-plugin-lodash@>=1.10.3 <2.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-lodash/-/eslint-plugin-lodash-1.10.3.tgz" }, "eslint-plugin-mocha": { "version": "4.5.1", - "from": "eslint-plugin-mocha@4.5.1", + "from": "eslint-plugin-mocha@>=4.5.1 <5.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.5.1.tgz" }, "eslint-plugin-mongodb": { "version": "0.2.4", - "from": "eslint-plugin-mongodb@0.2.4", + "from": "eslint-plugin-mongodb@>=0.2.4 <0.3.0", "resolved": "https://registry.npmjs.org/eslint-plugin-mongodb/-/eslint-plugin-mongodb-0.2.4.tgz" }, "eslint-plugin-promise": { "version": "2.0.1", - "from": "eslint-plugin-promise@latest", + "from": "eslint-plugin-promise@>=2.0.1 <3.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-2.0.1.tgz" }, "eslint-plugin-react": { - "version": "6.2.0", - "from": "eslint-plugin-react@latest", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.2.0.tgz" + "version": "6.3.0", + "from": "eslint-plugin-react@>=6.2.0 <7.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.3.0.tgz" }, "eslint-plugin-security": { "version": "1.2.0", - "from": "eslint-plugin-security@1.2.0", + "from": "eslint-plugin-security@>=1.2.0 <2.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.2.0.tgz" }, "eslint-plugin-standard": { - "version": "2.0.0", - "from": "eslint-plugin-standard@latest", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.0.tgz" + "version": "2.0.1", + "from": "eslint-plugin-standard@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz" }, "espree": { - "version": "3.1.7", - "from": "espree@>=3.1.6 <4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz" + "version": "3.3.2", + "from": "espree@>=3.3.1 <4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz" }, "esprima": { "version": "3.1.3", @@ -510,6 +517,11 @@ "from": "fs.realpath@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" }, + "function-bind": { + "version": "1.1.0", + "from": "function-bind@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz" + }, "generate-function": { "version": "2.0.0", "from": "generate-function@>=2.0.0 <3.0.0", @@ -521,9 +533,9 @@ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" }, "glob": { - "version": "7.0.6", - "from": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz" + "version": "7.1.0", + "from": "glob@>=7.0.6 <8.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.0.tgz" }, "globals": { "version": "9.16.0", @@ -561,6 +573,11 @@ "from": "hapi-scope-start@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/hapi-scope-start/-/hapi-scope-start-2.1.1.tgz" }, + "has": { + "version": "1.0.1", + "from": "has@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz" + }, "has-ansi": { "version": "2.0.0", "from": "has-ansi@>=2.0.0 <3.0.0", @@ -857,11 +874,6 @@ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "dev": true }, - "os-tmpdir": { - "version": "1.0.1", - "from": "os-tmpdir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" - }, "path-exists": { "version": "2.1.0", "from": "path-exists@>=2.0.0 <3.0.0", @@ -1015,16 +1027,16 @@ "from": "sprintf-js@>=1.0.2 <1.1.0", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" }, - "string-width": { - "version": "1.0.2", - "from": "string-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.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" }, + "string-width": { + "version": "1.0.2", + "from": "string-width@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + }, "strip-ansi": { "version": "3.0.1", "from": "strip-ansi@>=3.0.0 <4.0.0", diff --git a/package.json b/package.json index 08faf5eed..026e849da 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "babel-eslint": "^6.1.2", - "eslint": "3.4.0", + "eslint": "3.6.1", "eslint-config-airbnb": "^11.0.0", "eslint-config-airbnb-base": "^7.0.0", "eslint-config-angular": "^0.5.0", @@ -23,7 +23,7 @@ "eslint-plugin-babel": "^3.3.0", "eslint-plugin-flowtype": "^2.16.0", "eslint-plugin-hapi": "^4.0.0", - "eslint-plugin-import": "^1.14.0", + "eslint-plugin-import": "^1.16.0", "eslint-plugin-jsdoc": "^2.3.1", "eslint-plugin-jsx-a11y": "^2.2.1", "eslint-plugin-lodash": "^1.10.3", From f276b744b1c211301a0444e147b9f538b7b534bc Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Wed, 12 Oct 2016 18:34:50 -0600 Subject: [PATCH 24/47] Support eslint-plugin-ember-suave. (#140) --- npm-shrinkwrap.json | 5 +++++ package.json | 1 + 2 files changed, 6 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 3e5e70732..7a4605798 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -321,6 +321,11 @@ "from": "eslint-config-ember@>=0.3.0 <0.4.0", "resolved": "https://registry.npmjs.org/eslint-config-ember/-/eslint-config-ember-0.3.0.tgz" }, + "eslint-plugin-ember-suave": { + "version": "1.0.0", + "from": "eslint-plugin-ember-suave@1.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-ember-suave/-/eslint-plugin-ember-suave-1.0.0.tgz" + }, "eslint-config-google": { "version": "0.6.0", "from": "eslint-config-google@0.6.0", diff --git a/package.json b/package.json index 026e849da..49e52b2c2 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "eslint-config-airbnb-base": "^7.0.0", "eslint-config-angular": "^0.5.0", "eslint-config-ember": "^0.3.0", + "eslint-plugin-ember-suave": "^1.0.0", "eslint-config-google": "^0.6.0", "eslint-config-hapi": "^10.0.0", "eslint-config-standard": "^6.0.0", From 4621b9e0a7f444a0edfdb79804c311ce5bf211b8 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sun, 16 Oct 2016 11:39:12 -0600 Subject: [PATCH 25/47] Allow ignoring warnings from configuration. --- bin/eslint.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bin/eslint.js b/bin/eslint.js index 5698df5cb..9e8c1f29d 100755 --- a/bin/eslint.js +++ b/bin/eslint.js @@ -18,6 +18,8 @@ var options = { extensions: [".js"], ignore: true, reset: false, useEslintrc: tr var cli; // instantiation delayed until after options are (potentially) modified var debug = false; var BatchSanitizer = require("../lib/batch_sanitizer"); +var ignoreWarnings = false; +var ESLINT_WARNING_SEVERITY = 1; var checks = require("../lib/checks"); var validateConfig = require("../lib/validate_config"); var computeFingerprint = require("../lib/compute_fingerprint"); @@ -174,6 +176,10 @@ runWithTiming("engineConfig", function () { options.ignorePath = userConfig.ignore_path; } + if (userConfig.ignore_warnings) { + ignoreWarnings = true; + } + if (userConfig.debug) { debug = true; } @@ -209,6 +215,8 @@ function analyzeFiles() { var path = result.filePath.replace(/^\/code\//, ""); result.messages.forEach(function(message) { + if (ignoreWarnings && message.severity === ESLINT_WARNING_SEVERITY) { return; } + var issueJson = buildIssueJson(message, path); process.stdout.write(issueJson + "\u0000\n"); }); From 7a131a1f26a8613d0f6e3dd0a8930365e27bde2e Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sun, 23 Oct 2016 09:26:07 -0600 Subject: [PATCH 26/47] Add CONTRIBUTING.md. The file, for now, shows how to create a local engine image for testing. --- CONTRIBUTING.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..f17419b88 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# Contributing + +## Testing Changes +Changes made to the engine can be tested locally. + +1. Install [the CodeClimate CLI](https://github.com/codeclimate/codeclimate). +1. Create the image (customizing the `IMAGE_NAME` as needed): +```bash +IMAGE_NAME=codeclimate/codeclimate-eslint-test make image +``` +1. Add the engine to your test `.codeclimate.yml`: +```bash +eslint-test: + enabled: true +``` +1. Run analyze via the CLI: +```bash +codeclimate analyze --dev +``` From fb3f96a4df9065e1054e537bc3b47d43321b1af5 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sat, 29 Oct 2016 14:03:39 -0600 Subject: [PATCH 27/47] Add ignore_warnings to README As requested in #144. --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 602174f42..e800018fc 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,17 @@ ESLint is a tool for identifying and reporting on patterns found in ECMAScript/J 2. Run `codeclimate engines:enable eslint`. This command both installs the engine and enables it in your `.codeclimate.yml` file. 3. You're ready to analyze! Browse into your project's folder and run `codeclimate analyze`. +### Configuration + +#### `ignore_warnings` +By default, ESLint rules at the warning level will be registered as errors. You can ignore warnings by setting this flag: +```yaml +eslint: + enabled: true + config: + ignore_warnings: true +``` + ### Need help? For help with ESLint, [check out their documentation](https://github.com/eslint/eslint). From 8f5101f2d274de0b13f9a70bc65c69525e2efce2 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sun, 6 Nov 2016 09:21:37 -0700 Subject: [PATCH 28/47] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e800018fc..c57fe5763 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ ESLint is a tool for identifying and reporting on patterns found in ECMAScript/J ### Configuration #### `ignore_warnings` -By default, ESLint rules at the warning level will be registered as errors. You can ignore warnings by setting this flag: +By default, this engine will emit both ESLint errors and warnings as Code Climate issues. If you prefer, you can ignore warning-level violations by setting the `ignore_warnings` configuration option: ```yaml eslint: enabled: true From a3803a8b8b7031304133af5acaf4b9c17e23200a Mon Sep 17 00:00:00 2001 From: Devon Blandin Date: Mon, 7 Nov 2016 12:14:40 -0500 Subject: [PATCH 29/47] Update project README - Update project/documentation links - Use open source Code Climate badge - Hard-wrap text - Fix YAML identation --- README.md | 51 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c57fe5763..a5765a27d 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,57 @@ # Code Climate ESLint Engine -[![Code Climate](https://codeclimate.com/github/codeclimate/codeclimate-eslint/badges/gpa.svg)](https://codeclimate.com/github/codeclimate/codeclimate-eslint) +[![Code Climate][badge]][repo] -`codeclimate-eslint` is a Code Climate engine that wraps [ESLint](https://github.com/eslint/eslint). You can run it on your command line using the Code Climate CLI, or on our hosted analysis platform. +[badge]: https://codeclimate.com/github/codeclimate/codeclimate-eslint/badges/gpa.svg +[repo]: https://codeclimate.com/repos/github/codeclimate-eslint -ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. It can be configured using a [configuration file](https://github.com/eslint/eslint#usage). +`codeclimate-eslint` is a Code Climate engine that wraps [ESLint][]. You can run +it on your command line using the Code Climate CLI, or on our hosted analysis +platform. + +ESLint is a tool for identifying and reporting on patterns found in +ECMAScript/JavaScript code. It can be configured using a [configuration +file][config]. + +[config]: http://eslint.org/docs/user-guide/configuring#using-configuration-files ### Installation -1. If you haven't already, [install the Code Climate CLI](https://github.com/codeclimate/codeclimate). -2. Run `codeclimate engines:enable eslint`. This command both installs the engine and enables it in your `.codeclimate.yml` file. -3. You're ready to analyze! Browse into your project's folder and run `codeclimate analyze`. +1. If you haven't already, [install the Code Climate CLI][CLI] + +2. Run `codeclimate engines:enable eslint`. This command both installs the + engine and enables it in your `.codeclimate.yml` file + +3. You're ready to analyze! Browse into your project's folder and run + `codeclimate analyze` + +[cli]: https://github.com/codeclimate/codeclimate ### Configuration #### `ignore_warnings` -By default, this engine will emit both ESLint errors and warnings as Code Climate issues. If you prefer, you can ignore warning-level violations by setting the `ignore_warnings` configuration option: + +By default, this engine will emit both ESLint errors and warnings as Code +Climate issues. If you prefer, you can ignore warning-level violations by +setting the `ignore_warnings` configuration option: + ```yaml eslint: - enabled: true - config: - ignore_warnings: true + enabled: true + config: + ignore_warnings: true ``` ### Need help? -For help with ESLint, [check out their documentation](https://github.com/eslint/eslint). +For help with ESLint, [check out their documentation][eslint-docs]. + +If you're running into a Code Climate issue, first look over this project's +[GitHub Issues][issues], as your question may have already been covered. If not, +[go ahead and open a support ticket with us][help]. + +[issues]: https://github.com/codeclimate/codeclimate-eslint/issues +[help]: https://codeclimate.com/help -If you're running into a Code Climate issue, first look over this project's [GitHub Issues](https://github.com/codeclimate/codeclimate-eslint/issues), as your question may have already been covered. If not, [go ahead and open a support ticket with us](https://codeclimate.com/help). +[eslint]: http://eslint.org +[eslint-docs]: http://eslint.org/docs/user-guide/ From 1d5d3b26d914f29dd2c738bdfc988c2cf5310158 Mon Sep 17 00:00:00 2001 From: Will Fleming Date: Wed, 9 Nov 2016 16:11:04 -0500 Subject: [PATCH 30/47] Upgrade ESLint & some packages * We're several point releases behind on ESLint * After updating just that, I got some errors from shrinkwrap for two other packages we support, so I upgraded those too. --- npm-shrinkwrap.json | 241 ++++++++++++++++++++++++++++---------------- package.json | 6 +- 2 files changed, 158 insertions(+), 89 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 7a4605798..6dddc64ab 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -3,14 +3,21 @@ "version": "0.0.3", "dependencies": { "acorn": { - "version": "4.0.3", - "from": "acorn@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.3.tgz" + "version": "4.0.4", + "from": "acorn@4.0.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz" }, "acorn-jsx": { "version": "3.0.1", "from": "acorn-jsx@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz" + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "dependencies": { + "acorn": { + "version": "3.3.0", + "from": "acorn@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" + } + } }, "ajv": { "version": "4.11.3", @@ -52,6 +59,11 @@ "from": "array-uniq@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" }, + "array.prototype.find": { + "version": "2.0.3", + "from": "array.prototype.find@>=2.0.1 <3.0.0", + "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.3.tgz" + }, "arrify": { "version": "1.0.1", "from": "arrify@>=1.0.0 <2.0.0", @@ -60,7 +72,8 @@ "assertion-error": { "version": "1.0.2", "from": "assertion-error@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz" + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", + "dev": true }, "babel-code-frame": { "version": "6.22.0", @@ -69,7 +82,7 @@ }, "babel-eslint": { "version": "6.1.2", - "from": "babel-eslint@6.1.2", + "from": "babel-eslint@>=6.1.2 <7.0.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz" }, "babel-messages": { @@ -93,20 +106,15 @@ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz" }, "babylon": { - "version": "6.15.0", + "version": "6.16.1", "from": "babylon@>=6.0.18 <7.0.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.15.0.tgz" + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz" }, "balanced-match": { "version": "0.4.2", "from": "balanced-match@>=0.4.1 <0.5.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" }, - "bluebird": { - "version": "3.4.6", - "from": "bluebird@>=3.1.1 <4.0.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.6.tgz" - }, "brace-expansion": { "version": "1.1.6", "from": "brace-expansion@>=1.0.0 <2.0.0", @@ -189,6 +197,11 @@ "from": "concat-stream@>=1.4.6 <2.0.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz" }, + "contains-path": { + "version": "0.1.0", + "from": "contains-path@>=0.1.0 <0.2.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz" + }, "core-js": { "version": "2.4.1", "from": "core-js@>=2.4.0 <3.0.0", @@ -205,9 +218,9 @@ "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" }, "damerau-levenshtein": { - "version": "1.0.0", + "version": "1.0.3", "from": "damerau-levenshtein@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.0.tgz" + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz" }, "debug": { "version": "2.6.1", @@ -233,6 +246,11 @@ "from": "deep-is@>=0.1.3 <0.2.0", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" }, + "define-properties": { + "version": "1.1.2", + "from": "define-properties@>=1.1.2 <2.0.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz" + }, "del": { "version": "2.2.2", "from": "del@>=2.0.2 <3.0.0", @@ -246,9 +264,19 @@ }, "doctrine": { "version": "1.5.0", - "from": "doctrine@>=1.2.1 <2.0.0", + "from": "doctrine@>=1.2.2 <2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" }, + "es-abstract": { + "version": "1.7.0", + "from": "es-abstract@>=1.7.0 <2.0.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz" + }, + "es-to-primitive": { + "version": "1.1.1", + "from": "es-to-primitive@>=1.1.1 <2.0.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz" + }, "es5-ext": { "version": "0.10.12", "from": "es5-ext@>=0.10.11 <0.11.0", @@ -290,16 +318,9 @@ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" }, "eslint": { - "version": "3.6.1", - "from": "eslint@3.6.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.6.1.tgz", - "dependencies": { - "globals": { - "version": "9.10.0", - "from": "globals@>=9.2.0 <10.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.10.0.tgz" - } - } + "version": "3.9.1", + "from": "eslint@3.9.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.9.1.tgz" }, "eslint-config-airbnb": { "version": "11.2.0", @@ -321,14 +342,9 @@ "from": "eslint-config-ember@>=0.3.0 <0.4.0", "resolved": "https://registry.npmjs.org/eslint-config-ember/-/eslint-config-ember-0.3.0.tgz" }, - "eslint-plugin-ember-suave": { - "version": "1.0.0", - "from": "eslint-plugin-ember-suave@1.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-ember-suave/-/eslint-plugin-ember-suave-1.0.0.tgz" - }, "eslint-config-google": { "version": "0.6.0", - "from": "eslint-config-google@0.6.0", + "from": "eslint-config-google@>=0.6.0 <0.7.0", "resolved": "http://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.6.0.tgz" }, "eslint-config-hapi": { @@ -349,14 +365,14 @@ } }, "eslint-config-standard": { - "version": "6.2.0", - "from": "eslint-config-standard@>=6.0.0 <7.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.0.tgz" + "version": "6.2.1", + "from": "eslint-config-standard@>=6.2.1 <7.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz" }, "eslint-config-standard-jsx": { - "version": "3.2.0", + "version": "3.3.0", "from": "eslint-config-standard-jsx@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.2.0.tgz" + "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.3.0.tgz" }, "eslint-config-standard-react": { "version": "4.2.0", @@ -366,7 +382,7 @@ "eslint-config-xo": { "version": "0.13.0", "from": "eslint-config-xo@>=0.13.0 <0.14.0", - "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz" + "resolved": "http://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz" }, "eslint-import-resolver-node": { "version": "0.2.3", @@ -374,19 +390,24 @@ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz" }, "eslint-plugin-angular": { - "version": "1.3.1", - "from": "eslint-plugin-angular@1.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-angular/-/eslint-plugin-angular-1.3.1.tgz" + "version": "1.6.1", + "from": "eslint-plugin-angular@>=1.3.1 <2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-angular/-/eslint-plugin-angular-1.6.1.tgz" }, "eslint-plugin-babel": { - "version": "3.2.0", - "from": "eslint-plugin-babel@3.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.2.0.tgz" + "version": "3.3.0", + "from": "eslint-plugin-babel@>=3.3.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz" + }, + "eslint-plugin-ember-suave": { + "version": "1.0.0", + "from": "eslint-plugin-ember-suave@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-ember-suave/-/eslint-plugin-ember-suave-1.0.0.tgz" }, "eslint-plugin-flowtype": { - "version": "2.19.0", + "version": "2.30.0", "from": "eslint-plugin-flowtype@>=2.16.0 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.19.0.tgz" + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.30.0.tgz" }, "eslint-plugin-hapi": { "version": "4.0.0", @@ -406,14 +427,14 @@ } }, "eslint-plugin-jsdoc": { - "version": "2.3.1", + "version": "2.4.0", "from": "eslint-plugin-jsdoc@>=2.3.1 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-2.3.1.tgz" + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-2.4.0.tgz" }, "eslint-plugin-jsx-a11y": { - "version": "2.2.2", + "version": "2.2.3", "from": "eslint-plugin-jsx-a11y@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.2.tgz" + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz" }, "eslint-plugin-lodash": { "version": "1.10.3", @@ -421,9 +442,9 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-lodash/-/eslint-plugin-lodash-1.10.3.tgz" }, "eslint-plugin-mocha": { - "version": "4.5.1", + "version": "4.8.0", "from": "eslint-plugin-mocha@>=4.5.1 <5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.5.1.tgz" + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.8.0.tgz" }, "eslint-plugin-mongodb": { "version": "0.2.4", @@ -431,19 +452,19 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-mongodb/-/eslint-plugin-mongodb-0.2.4.tgz" }, "eslint-plugin-promise": { - "version": "2.0.1", - "from": "eslint-plugin-promise@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-2.0.1.tgz" + "version": "3.4.2", + "from": "eslint-plugin-promise@>=3.3.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.4.2.tgz" }, "eslint-plugin-react": { - "version": "6.3.0", + "version": "6.10.0", "from": "eslint-plugin-react@>=6.2.0 <7.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.3.0.tgz" + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.0.tgz" }, "eslint-plugin-security": { - "version": "1.2.0", + "version": "1.3.0", "from": "eslint-plugin-security@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.2.0.tgz" + "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.3.0.tgz" }, "eslint-plugin-standard": { "version": "2.0.1", @@ -451,9 +472,9 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz" }, "espree": { - "version": "3.3.2", + "version": "3.4.0", "from": "espree@>=3.3.1 <4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz" + "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz" }, "esprima": { "version": "3.1.3", @@ -517,6 +538,11 @@ "from": "flat-cache@>=1.2.1 <2.0.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz" }, + "foreach": { + "version": "2.0.5", + "from": "foreach@>=2.0.5 <3.0.0", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" + }, "fs.realpath": { "version": "1.0.0", "from": "fs.realpath@>=1.0.0 <2.0.0", @@ -538,9 +564,9 @@ "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" }, "glob": { - "version": "7.1.0", + "version": "7.1.1", "from": "glob@>=7.0.6 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.0.tgz" + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" }, "globals": { "version": "9.16.0", @@ -590,7 +616,7 @@ }, "ignore": { "version": "3.2.4", - "from": "ignore@>=3.1.2 <4.0.0", + "from": "ignore@>=3.1.5 <4.0.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.4.tgz" }, "imurmurhash": { @@ -613,11 +639,26 @@ "from": "inquirer@>=0.12.0 <0.13.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz" }, + "interpret": { + "version": "1.0.1", + "from": "interpret@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz" + }, "invariant": { "version": "2.2.2", "from": "invariant@>=2.2.0 <3.0.0", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz" }, + "is-callable": { + "version": "1.1.3", + "from": "is-callable@>=1.1.3 <2.0.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz" + }, + "is-date-object": { + "version": "1.0.1", + "from": "is-date-object@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz" + }, "is-fullwidth-code-point": { "version": "1.0.0", "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", @@ -648,11 +689,21 @@ "from": "is-property@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" }, + "is-regex": { + "version": "1.0.4", + "from": "is-regex@>=1.0.3 <2.0.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz" + }, "is-resolvable": { "version": "1.0.0", "from": "is-resolvable@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz" }, + "is-symbol": { + "version": "1.0.1", + "from": "is-symbol@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz" + }, "isarray": { "version": "1.0.0", "from": "isarray@>=1.0.0 <1.1.0", @@ -704,9 +755,9 @@ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz" }, "jsx-ast-utils": { - "version": "1.3.1", + "version": "1.4.0", "from": "jsx-ast-utils@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.3.1.tgz" + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz" }, "levn": { "version": "0.3.0", @@ -761,7 +812,7 @@ }, "meld": { "version": "1.3.2", - "from": "meld@1.3.2", + "from": "meld@>=1.3.2 <2.0.0", "resolved": "https://registry.npmjs.org/meld/-/meld-1.3.2.tgz" }, "minimatch": { @@ -853,6 +904,16 @@ "from": "object-assign@>=4.0.1 <5.0.0", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" }, + "object-keys": { + "version": "1.0.11", + "from": "object-keys@>=1.0.8 <2.0.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz" + }, + "object.assign": { + "version": "4.0.4", + "from": "object.assign@>=4.0.4 <5.0.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz" + }, "once": { "version": "1.4.0", "from": "once@>=1.3.0 <2.0.0", @@ -865,7 +926,7 @@ }, "optionator": { "version": "0.8.2", - "from": "optionator@>=0.8.1 <0.9.0", + "from": "optionator@>=0.8.2 <0.9.0", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz" }, "os-homedir": { @@ -954,6 +1015,11 @@ "from": "readline2@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz" }, + "rechoir": { + "version": "0.6.2", + "from": "rechoir@>=0.6.2 <0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + }, "regenerator-runtime": { "version": "0.10.3", "from": "regenerator-runtime@>=0.10.0 <0.11.0", @@ -964,6 +1030,11 @@ "from": "require-uncached@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz" }, + "requireindex": { + "version": "1.1.0", + "from": "requireindex@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz" + }, "resolve": { "version": "1.2.0", "from": "resolve@>=1.1.6 <2.0.0", @@ -980,21 +1051,14 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" }, "ret": { - "version": "0.1.12", + "version": "0.1.13", "from": "ret@>=0.1.10 <0.2.0", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.12.tgz" + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.13.tgz" }, "rimraf": { "version": "2.6.0", "from": "rimraf@>=2.2.8 <3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.0.tgz", - "dependencies": { - "glob": { - "version": "7.1.1", - "from": "glob@>=7.0.5 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" - } - } + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.0.tgz" }, "run-async": { "version": "0.1.0", @@ -1012,9 +1076,9 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" }, "shelljs": { - "version": "0.6.1", - "from": "shelljs@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz" + "version": "0.7.6", + "from": "shelljs@>=0.7.5 <0.8.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz" }, "sigmund": { "version": "1.0.1", @@ -1032,16 +1096,16 @@ "from": "sprintf-js@>=1.0.2 <1.1.0", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.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" - }, "string-width": { "version": "1.0.2", "from": "string-width@>=1.0.1 <2.0.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.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" + }, "strip-ansi": { "version": "3.0.1", "from": "strip-ansi@>=3.0.0 <4.0.0", @@ -1164,6 +1228,11 @@ "version": "4.0.1", "from": "xtend@>=4.0.0 <5.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + }, + "yerror": { + "version": "1.0.2", + "from": "yerror@>=1.0.1 <2.0.0", + "resolved": "https://registry.npmjs.org/yerror/-/yerror-1.0.2.tgz" } } } diff --git a/package.json b/package.json index 49e52b2c2..5fdf253ae 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "babel-eslint": "^6.1.2", - "eslint": "3.6.1", + "eslint": "3.9.1", "eslint-config-airbnb": "^11.0.0", "eslint-config-airbnb-base": "^7.0.0", "eslint-config-angular": "^0.5.0", @@ -17,7 +17,7 @@ "eslint-plugin-ember-suave": "^1.0.0", "eslint-config-google": "^0.6.0", "eslint-config-hapi": "^10.0.0", - "eslint-config-standard": "^6.0.0", + "eslint-config-standard": "^6.2.1", "eslint-config-standard-jsx": "^3.0.0", "eslint-config-standard-react": "^4.0.0", "eslint-plugin-angular": "^1.3.1", @@ -30,7 +30,7 @@ "eslint-plugin-lodash": "^1.10.3", "eslint-plugin-mocha": "^4.5.1", "eslint-plugin-mongodb": "^0.2.4", - "eslint-plugin-promise": "^2.0.1", + "eslint-plugin-promise": "^3.3.0", "eslint-plugin-react": "^6.2.0", "eslint-plugin-security": "^1.2.0", "eslint-plugin-standard": "^2.0.0", From 09d4548ef23f4ac5a19cd4b20ee85ed80fb11c6c Mon Sep 17 00:00:00 2001 From: Jenna Smith Date: Mon, 28 Nov 2016 11:24:31 -0500 Subject: [PATCH 31/47] Add support for eslint-plugin-react-intl plugin (#154) --- npm-shrinkwrap.json | 5 +++++ package.json | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 6dddc64ab..792ea82eb 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -461,6 +461,11 @@ "from": "eslint-plugin-react@>=6.2.0 <7.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.0.tgz" }, + "eslint-plugin-react-intl": { + "version": "1.0.2", + "from": "eslint-plugin-react-intl@>=1.0.2 <2.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-intl/-/eslint-plugin-react-intl-1.0.2.tgz" + }, "eslint-plugin-security": { "version": "1.3.0", "from": "eslint-plugin-security@>=1.2.0 <2.0.0", diff --git a/package.json b/package.json index 5fdf253ae..d08ec135e 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "eslint-config-airbnb-base": "^7.0.0", "eslint-config-angular": "^0.5.0", "eslint-config-ember": "^0.3.0", - "eslint-plugin-ember-suave": "^1.0.0", "eslint-config-google": "^0.6.0", "eslint-config-hapi": "^10.0.0", "eslint-config-standard": "^6.2.1", @@ -22,6 +21,7 @@ "eslint-config-standard-react": "^4.0.0", "eslint-plugin-angular": "^1.3.1", "eslint-plugin-babel": "^3.3.0", + "eslint-plugin-ember-suave": "^1.0.0", "eslint-plugin-flowtype": "^2.16.0", "eslint-plugin-hapi": "^4.0.0", "eslint-plugin-import": "^1.16.0", @@ -32,6 +32,7 @@ "eslint-plugin-mongodb": "^0.2.4", "eslint-plugin-promise": "^3.3.0", "eslint-plugin-react": "^6.2.0", + "eslint-plugin-react-intl": "^1.0.2", "eslint-plugin-security": "^1.2.0", "eslint-plugin-standard": "^2.0.0", "glob": "^7.0.6", From 60d56b835fd431d577699fd576b731a585ce0be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Elet?= Date: Tue, 29 Nov 2016 11:12:44 +0100 Subject: [PATCH 32/47] docs(CONTRIBUTING): fix .codeclimate.yml example --- CONTRIBUTING.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f17419b88..5f3f249a1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,9 +9,10 @@ Changes made to the engine can be tested locally. IMAGE_NAME=codeclimate/codeclimate-eslint-test make image ``` 1. Add the engine to your test `.codeclimate.yml`: -```bash -eslint-test: - enabled: true +```yaml +engines: + eslint-test: + enabled: true ``` 1. Run analyze via the CLI: ```bash From 46ac7e9e5db76fc3db907caa1eb0f6380f01d4bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Elet?= Date: Tue, 29 Nov 2016 10:36:43 +0100 Subject: [PATCH 33/47] chore(packages): upgrade eslint --- npm-shrinkwrap.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 792ea82eb..dc55af4d2 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -318,9 +318,9 @@ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" }, "eslint": { - "version": "3.9.1", - "from": "eslint@3.9.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.9.1.tgz" + "version": "3.11.1", + "from": "eslint@3.11.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.11.1.tgz" }, "eslint-config-airbnb": { "version": "11.2.0", diff --git a/package.json b/package.json index d08ec135e..05a661ad2 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "babel-eslint": "^6.1.2", - "eslint": "3.9.1", + "eslint": "3.11.1", "eslint-config-airbnb": "^11.0.0", "eslint-config-airbnb-base": "^7.0.0", "eslint-config-angular": "^0.5.0", From 13bf377ff3b3edff2f59a14cd5e4834351a96214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Elet?= Date: Tue, 29 Nov 2016 10:37:41 +0100 Subject: [PATCH 34/47] feat(config): add eslint-config-simplifield --- npm-shrinkwrap.json | 15 +++++++++++++++ package.json | 1 + 2 files changed, 16 insertions(+) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index dc55af4d2..ba0368da0 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -364,6 +364,11 @@ } } }, + "eslint-config-simplifield": { + "version": "4.3.0", + "from": "eslint-config-simplifield@latest", + "resolved": "https://registry.npmjs.org/eslint-config-simplifield/-/eslint-config-simplifield-4.3.0.tgz" + }, "eslint-config-standard": { "version": "6.2.1", "from": "eslint-config-standard@>=6.2.1 <7.0.0", @@ -451,6 +456,11 @@ "from": "eslint-plugin-mongodb@>=0.2.4 <0.3.0", "resolved": "https://registry.npmjs.org/eslint-plugin-mongodb/-/eslint-plugin-mongodb-0.2.4.tgz" }, + "eslint-plugin-node": { + "version": "3.0.4", + "from": "eslint-plugin-node@>=3.0.4 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-3.0.4.tgz" + }, "eslint-plugin-promise": { "version": "3.4.2", "from": "eslint-plugin-promise@>=3.3.0 <4.0.0", @@ -1080,6 +1090,11 @@ "from": "safe-regex@>=1.1.0 <2.0.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" }, + "semver": { + "version": "5.3.0", + "from": "semver@5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" + }, "shelljs": { "version": "0.7.6", "from": "shelljs@>=0.7.5 <0.8.0", diff --git a/package.json b/package.json index 05a661ad2..6a25dfe80 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "eslint-config-ember": "^0.3.0", "eslint-config-google": "^0.6.0", "eslint-config-hapi": "^10.0.0", + "eslint-config-simplifield": "^4.3.0", "eslint-config-standard": "^6.2.1", "eslint-config-standard-jsx": "^3.0.0", "eslint-config-standard-react": "^4.0.0", From 01df6be31061ec3bfcff0c2457cdd83079247f13 Mon Sep 17 00:00:00 2001 From: Max Jacobson Date: Wed, 14 Dec 2016 11:47:30 -0500 Subject: [PATCH 35/47] Switch to yarn for installing dependencies This seems more intuitive to me today, and I hope will make it easier for contributors who want to add or upgrade plugins. Note: this is using nightly yarn, because there's a fix for Circle CI + Docker + Yarn compatibility that is made but not officially released yet. We can switch to stable yarn once 0.18.0 leaves pre-release. The fix was PR 1837 on the Yarn repo. --- CONTRIBUTING.md | 20 + Dockerfile | 10 +- Makefile | 6 +- bin/yarn | 6 + npm-shrinkwrap.json | 1258 ---------------------------------------- yarn.lock | 1329 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 1362 insertions(+), 1267 deletions(-) create mode 100755 bin/yarn delete mode 100644 npm-shrinkwrap.json create mode 100644 yarn.lock diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5f3f249a1..1101c3035 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,26 @@ # Contributing +## Adding and upgrading plugins + +When adding or upgrading a plugin, we should see changes in both `package.json` +and `yarn.lock`. + +Make sure to run `make image` before running these commands. + +Add a plugin: + +``` +bin/yarn add eslint-config-google +``` + +Upgrade a plugin: + +``` +bin/yarn upgrade eslint-config-google +``` + ## Testing Changes + Changes made to the engine can be tested locally. 1. Install [the CodeClimate CLI](https://github.com/codeclimate/codeclimate). diff --git a/Dockerfile b/Dockerfile index 13abff5f8..06e16014e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,11 +2,13 @@ FROM node:6.5.0-slim MAINTAINER Code Climate WORKDIR /usr/src/app -COPY package.json npm-shrinkwrap.json /usr/src/app/ +COPY package.json yarn.lock /usr/src/app/ -RUN apt-get update && \ - apt-get install -y git jq && \ - npm install && \ +RUN apt-key adv --fetch-keys http://dl.yarnpkg.com/debian/pubkey.gpg && \ + echo "deb http://nightly.yarnpkg.com/debian/ nightly main" | tee /etc/apt/sources.list.d/yarn-nightly.list && \ + apt-get update && \ + apt-get install -y git jq yarn && \ + yarn install && \ git clone https://github.com/eslint/eslint.git && \ ESLINT_DOCS_VERSION=`npm -j ls eslint | jq -r .dependencies.eslint.version` && \ cd eslint && \ diff --git a/Makefile b/Makefile index bc2f49ba2..b04c8f20e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: image test citest shrinkwrap +.PHONY: image test citest IMAGE_NAME ?= codeclimate/codeclimate-eslint @@ -10,7 +10,3 @@ test: image citest: docker run --rm $(IMAGE_NAME) sh -c "cd /usr/src/app && npm run test" - -shrinkwrap: image - docker run --rm --workdir /usr/src/app $(IMAGE_NAME) sh -c \ - 'npm shrinkwrap >/dev/null && cat npm-shrinkwrap.json' > npm-shrinkwrap.json diff --git a/bin/yarn b/bin/yarn new file mode 100755 index 000000000..459b52afa --- /dev/null +++ b/bin/yarn @@ -0,0 +1,6 @@ +#!/bin/bash + +set -e + +IMAGE_NAME=${IMAGE_NAME:-codeclimate/codeclimate-eslint} +docker run --rm --volume "$PWD:/usr/src/app" "$IMAGE_NAME" sh -c "cd /usr/src/app && yarn $*" diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json deleted file mode 100644 index ba0368da0..000000000 --- a/npm-shrinkwrap.json +++ /dev/null @@ -1,1258 +0,0 @@ -{ - "name": "codeclimate-eslint", - "version": "0.0.3", - "dependencies": { - "acorn": { - "version": "4.0.4", - "from": "acorn@4.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.4.tgz" - }, - "acorn-jsx": { - "version": "3.0.1", - "from": "acorn-jsx@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "dependencies": { - "acorn": { - "version": "3.3.0", - "from": "acorn@>=3.0.4 <4.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz" - } - } - }, - "ajv": { - "version": "4.11.3", - "from": "ajv@>=4.7.0 <5.0.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.3.tgz" - }, - "ajv-keywords": { - "version": "1.5.1", - "from": "ajv-keywords@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz" - }, - "ansi-escapes": { - "version": "1.4.0", - "from": "ansi-escapes@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" - }, - "ansi-regex": { - "version": "2.1.1", - "from": "ansi-regex@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - }, - "ansi-styles": { - "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - }, - "argparse": { - "version": "1.0.9", - "from": "argparse@>=1.0.7 <2.0.0", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz" - }, - "array-union": { - "version": "1.0.2", - "from": "array-union@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - }, - "array-uniq": { - "version": "1.0.3", - "from": "array-uniq@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - }, - "array.prototype.find": { - "version": "2.0.3", - "from": "array.prototype.find@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.3.tgz" - }, - "arrify": { - "version": "1.0.1", - "from": "arrify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - }, - "assertion-error": { - "version": "1.0.2", - "from": "assertion-error@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", - "dev": true - }, - "babel-code-frame": { - "version": "6.22.0", - "from": "babel-code-frame@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz" - }, - "babel-eslint": { - "version": "6.1.2", - "from": "babel-eslint@>=6.1.2 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-6.1.2.tgz" - }, - "babel-messages": { - "version": "6.23.0", - "from": "babel-messages@>=6.23.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz" - }, - "babel-runtime": { - "version": "6.23.0", - "from": "babel-runtime@>=6.22.0 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz" - }, - "babel-traverse": { - "version": "6.23.1", - "from": "babel-traverse@>=6.0.20 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.23.1.tgz" - }, - "babel-types": { - "version": "6.23.0", - "from": "babel-types@>=6.0.19 <7.0.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz" - }, - "babylon": { - "version": "6.16.1", - "from": "babylon@>=6.0.18 <7.0.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.16.1.tgz" - }, - "balanced-match": { - "version": "0.4.2", - "from": "balanced-match@>=0.4.1 <0.5.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" - }, - "brace-expansion": { - "version": "1.1.6", - "from": "brace-expansion@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz" - }, - "buffer-shims": { - "version": "1.0.0", - "from": "buffer-shims@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" - }, - "builtin-modules": { - "version": "1.1.1", - "from": "builtin-modules@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz" - }, - "caller-path": { - "version": "0.1.0", - "from": "caller-path@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz" - }, - "callsites": { - "version": "0.2.0", - "from": "callsites@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz" - }, - "chai": { - "version": "3.5.0", - "from": "chai@>=3.5.0 <4.0.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "from": "chalk@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - }, - "circular-json": { - "version": "0.3.1", - "from": "circular-json@>=0.3.1 <0.4.0", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.1.tgz" - }, - "cli-cursor": { - "version": "1.0.2", - "from": "cli-cursor@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" - }, - "cli-width": { - "version": "2.1.0", - "from": "cli-width@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz" - }, - "co": { - "version": "4.6.0", - "from": "co@>=4.6.0 <5.0.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - }, - "code-point-at": { - "version": "1.1.0", - "from": "code-point-at@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - }, - "commander": { - "version": "2.3.0", - "from": "commander@2.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", - "dev": true - }, - "comment-parser": { - "version": "0.4.0", - "from": "comment-parser@>=0.4.0 <0.5.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.4.0.tgz" - }, - "concat-map": { - "version": "0.0.1", - "from": "concat-map@0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - }, - "concat-stream": { - "version": "1.6.0", - "from": "concat-stream@>=1.4.6 <2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz" - }, - "contains-path": { - "version": "0.1.0", - "from": "contains-path@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz" - }, - "core-js": { - "version": "2.4.1", - "from": "core-js@>=2.4.0 <3.0.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.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" - }, - "d": { - "version": "0.1.1", - "from": "d@>=0.1.1 <0.2.0", - "resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz" - }, - "damerau-levenshtein": { - "version": "1.0.3", - "from": "damerau-levenshtein@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz" - }, - "debug": { - "version": "2.6.1", - "from": "debug@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz" - }, - "deep-eql": { - "version": "0.1.3", - "from": "deep-eql@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", - "dev": true, - "dependencies": { - "type-detect": { - "version": "0.1.1", - "from": "type-detect@0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", - "dev": true - } - } - }, - "deep-is": { - "version": "0.1.3", - "from": "deep-is@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" - }, - "define-properties": { - "version": "1.1.2", - "from": "define-properties@>=1.1.2 <2.0.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz" - }, - "del": { - "version": "2.2.2", - "from": "del@>=2.0.2 <3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz" - }, - "diff": { - "version": "1.4.0", - "from": "diff@1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", - "dev": true - }, - "doctrine": { - "version": "1.5.0", - "from": "doctrine@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" - }, - "es-abstract": { - "version": "1.7.0", - "from": "es-abstract@>=1.7.0 <2.0.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.7.0.tgz" - }, - "es-to-primitive": { - "version": "1.1.1", - "from": "es-to-primitive@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz" - }, - "es5-ext": { - "version": "0.10.12", - "from": "es5-ext@>=0.10.11 <0.11.0", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz" - }, - "es6-iterator": { - "version": "2.0.0", - "from": "es6-iterator@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz" - }, - "es6-map": { - "version": "0.1.4", - "from": "es6-map@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz" - }, - "es6-set": { - "version": "0.1.4", - "from": "es6-set@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz" - }, - "es6-symbol": { - "version": "3.1.0", - "from": "es6-symbol@>=3.1.0 <3.2.0", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz" - }, - "es6-weak-map": { - "version": "2.0.1", - "from": "es6-weak-map@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz" - }, - "escape-string-regexp": { - "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - }, - "escope": { - "version": "3.6.0", - "from": "escope@>=3.6.0 <4.0.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" - }, - "eslint": { - "version": "3.11.1", - "from": "eslint@3.11.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.11.1.tgz" - }, - "eslint-config-airbnb": { - "version": "11.2.0", - "from": "eslint-config-airbnb@>=11.0.0 <12.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-11.2.0.tgz" - }, - "eslint-config-airbnb-base": { - "version": "7.2.0", - "from": "eslint-config-airbnb-base@>=7.0.0 <8.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.2.0.tgz" - }, - "eslint-config-angular": { - "version": "0.5.0", - "from": "eslint-config-angular@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz" - }, - "eslint-config-ember": { - "version": "0.3.0", - "from": "eslint-config-ember@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/eslint-config-ember/-/eslint-config-ember-0.3.0.tgz" - }, - "eslint-config-google": { - "version": "0.6.0", - "from": "eslint-config-google@>=0.6.0 <0.7.0", - "resolved": "http://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.6.0.tgz" - }, - "eslint-config-hapi": { - "version": "10.0.0", - "from": "eslint-config-hapi@>=10.0.0 <11.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-hapi/-/eslint-config-hapi-10.0.0.tgz" - }, - "eslint-config-nightmare-mode": { - "version": "2.3.0", - "from": "eslint-config-nightmare-mode@>=2.3.0 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-nightmare-mode/-/eslint-config-nightmare-mode-2.3.0.tgz", - "dependencies": { - "object-assign": { - "version": "2.1.1", - "from": "object-assign@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz" - } - } - }, - "eslint-config-simplifield": { - "version": "4.3.0", - "from": "eslint-config-simplifield@latest", - "resolved": "https://registry.npmjs.org/eslint-config-simplifield/-/eslint-config-simplifield-4.3.0.tgz" - }, - "eslint-config-standard": { - "version": "6.2.1", - "from": "eslint-config-standard@>=6.2.1 <7.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz" - }, - "eslint-config-standard-jsx": { - "version": "3.3.0", - "from": "eslint-config-standard-jsx@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.3.0.tgz" - }, - "eslint-config-standard-react": { - "version": "4.2.0", - "from": "eslint-config-standard-react@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-4.2.0.tgz" - }, - "eslint-config-xo": { - "version": "0.13.0", - "from": "eslint-config-xo@>=0.13.0 <0.14.0", - "resolved": "http://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz" - }, - "eslint-import-resolver-node": { - "version": "0.2.3", - "from": "eslint-import-resolver-node@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz" - }, - "eslint-plugin-angular": { - "version": "1.6.1", - "from": "eslint-plugin-angular@>=1.3.1 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-angular/-/eslint-plugin-angular-1.6.1.tgz" - }, - "eslint-plugin-babel": { - "version": "3.3.0", - "from": "eslint-plugin-babel@>=3.3.0 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz" - }, - "eslint-plugin-ember-suave": { - "version": "1.0.0", - "from": "eslint-plugin-ember-suave@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-ember-suave/-/eslint-plugin-ember-suave-1.0.0.tgz" - }, - "eslint-plugin-flowtype": { - "version": "2.30.0", - "from": "eslint-plugin-flowtype@>=2.16.0 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.30.0.tgz" - }, - "eslint-plugin-hapi": { - "version": "4.0.0", - "from": "eslint-plugin-hapi@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-hapi/-/eslint-plugin-hapi-4.0.0.tgz" - }, - "eslint-plugin-import": { - "version": "1.16.0", - "from": "eslint-plugin-import@>=1.16.0 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz", - "dependencies": { - "doctrine": { - "version": "1.3.0", - "from": "doctrine@>=1.3.0 <1.4.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.3.0.tgz" - } - } - }, - "eslint-plugin-jsdoc": { - "version": "2.4.0", - "from": "eslint-plugin-jsdoc@>=2.3.1 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-2.4.0.tgz" - }, - "eslint-plugin-jsx-a11y": { - "version": "2.2.3", - "from": "eslint-plugin-jsx-a11y@>=2.2.1 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz" - }, - "eslint-plugin-lodash": { - "version": "1.10.3", - "from": "eslint-plugin-lodash@>=1.10.3 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-lodash/-/eslint-plugin-lodash-1.10.3.tgz" - }, - "eslint-plugin-mocha": { - "version": "4.8.0", - "from": "eslint-plugin-mocha@>=4.5.1 <5.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-4.8.0.tgz" - }, - "eslint-plugin-mongodb": { - "version": "0.2.4", - "from": "eslint-plugin-mongodb@>=0.2.4 <0.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mongodb/-/eslint-plugin-mongodb-0.2.4.tgz" - }, - "eslint-plugin-node": { - "version": "3.0.4", - "from": "eslint-plugin-node@>=3.0.4 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-3.0.4.tgz" - }, - "eslint-plugin-promise": { - "version": "3.4.2", - "from": "eslint-plugin-promise@>=3.3.0 <4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.4.2.tgz" - }, - "eslint-plugin-react": { - "version": "6.10.0", - "from": "eslint-plugin-react@>=6.2.0 <7.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.0.tgz" - }, - "eslint-plugin-react-intl": { - "version": "1.0.2", - "from": "eslint-plugin-react-intl@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-intl/-/eslint-plugin-react-intl-1.0.2.tgz" - }, - "eslint-plugin-security": { - "version": "1.3.0", - "from": "eslint-plugin-security@>=1.2.0 <2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-security/-/eslint-plugin-security-1.3.0.tgz" - }, - "eslint-plugin-standard": { - "version": "2.0.1", - "from": "eslint-plugin-standard@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz" - }, - "espree": { - "version": "3.4.0", - "from": "espree@>=3.3.1 <4.0.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz" - }, - "esprima": { - "version": "3.1.3", - "from": "esprima@>=3.1.1 <4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz" - }, - "esrecurse": { - "version": "4.1.0", - "from": "esrecurse@>=4.1.0 <5.0.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz", - "dependencies": { - "estraverse": { - "version": "4.1.1", - "from": "estraverse@>=4.1.0 <4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz" - } - } - }, - "estraverse": { - "version": "4.2.0", - "from": "estraverse@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz" - }, - "esutils": { - "version": "2.0.2", - "from": "esutils@>=2.0.2 <3.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" - }, - "event-emitter": { - "version": "0.3.4", - "from": "event-emitter@>=0.3.4 <0.4.0", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz" - }, - "exit-hook": { - "version": "1.1.1", - "from": "exit-hook@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" - }, - "fast-levenshtein": { - "version": "2.0.6", - "from": "fast-levenshtein@>=2.0.4 <2.1.0", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - }, - "figures": { - "version": "1.7.0", - "from": "figures@>=1.3.5 <2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" - }, - "file-entry-cache": { - "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" - }, - "find-up": { - "version": "1.1.2", - "from": "find-up@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - }, - "flat-cache": { - "version": "1.2.2", - "from": "flat-cache@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz" - }, - "foreach": { - "version": "2.0.5", - "from": "foreach@>=2.0.5 <3.0.0", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" - }, - "fs.realpath": { - "version": "1.0.0", - "from": "fs.realpath@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - }, - "function-bind": { - "version": "1.1.0", - "from": "function-bind@>=1.0.2 <2.0.0", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz" - }, - "generate-function": { - "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" - }, - "generate-object-property": { - "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" - }, - "glob": { - "version": "7.1.1", - "from": "glob@>=7.0.6 <8.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz" - }, - "globals": { - "version": "9.16.0", - "from": "globals@>=9.0.0 <10.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.16.0.tgz" - }, - "globby": { - "version": "5.0.0", - "from": "globby@>=5.0.0 <6.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz" - }, - "graceful-fs": { - "version": "4.1.11", - "from": "graceful-fs@>=4.1.2 <5.0.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" - }, - "growl": { - "version": "1.9.2", - "from": "growl@1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", - "dev": true - }, - "hapi-capitalize-modules": { - "version": "1.1.6", - "from": "hapi-capitalize-modules@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/hapi-capitalize-modules/-/hapi-capitalize-modules-1.1.6.tgz" - }, - "hapi-for-you": { - "version": "1.0.0", - "from": "hapi-for-you@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/hapi-for-you/-/hapi-for-you-1.0.0.tgz" - }, - "hapi-scope-start": { - "version": "2.1.1", - "from": "hapi-scope-start@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/hapi-scope-start/-/hapi-scope-start-2.1.1.tgz" - }, - "has": { - "version": "1.0.1", - "from": "has@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz" - }, - "has-ansi": { - "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - }, - "ignore": { - "version": "3.2.4", - "from": "ignore@>=3.1.5 <4.0.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.4.tgz" - }, - "imurmurhash": { - "version": "0.1.4", - "from": "imurmurhash@>=0.1.4 <0.2.0", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - }, - "inflight": { - "version": "1.0.6", - "from": "inflight@>=1.0.4 <2.0.0", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - }, - "inherits": { - "version": "2.0.3", - "from": "inherits@>=2.0.3 <3.0.0", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - }, - "inquirer": { - "version": "0.12.0", - "from": "inquirer@>=0.12.0 <0.13.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz" - }, - "interpret": { - "version": "1.0.1", - "from": "interpret@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz" - }, - "invariant": { - "version": "2.2.2", - "from": "invariant@>=2.2.0 <3.0.0", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz" - }, - "is-callable": { - "version": "1.1.3", - "from": "is-callable@>=1.1.3 <2.0.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz" - }, - "is-date-object": { - "version": "1.0.1", - "from": "is-date-object@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - }, - "is-my-json-valid": { - "version": "2.15.0", - "from": "is-my-json-valid@>=2.10.0 <3.0.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz" - }, - "is-path-cwd": { - "version": "1.0.0", - "from": "is-path-cwd@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" - }, - "is-path-in-cwd": { - "version": "1.0.0", - "from": "is-path-in-cwd@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz" - }, - "is-path-inside": { - "version": "1.0.0", - "from": "is-path-inside@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz" - }, - "is-property": { - "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" - }, - "is-regex": { - "version": "1.0.4", - "from": "is-regex@>=1.0.3 <2.0.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz" - }, - "is-resolvable": { - "version": "1.0.0", - "from": "is-resolvable@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz" - }, - "is-symbol": { - "version": "1.0.1", - "from": "is-symbol@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.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" - }, - "jade": { - "version": "0.26.3", - "from": "jade@0.26.3", - "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", - "dev": true, - "dependencies": { - "commander": { - "version": "0.6.1", - "from": "commander@0.6.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", - "dev": true - }, - "mkdirp": { - "version": "0.3.0", - "from": "mkdirp@0.3.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", - "dev": true - } - } - }, - "js-tokens": { - "version": "3.0.1", - "from": "js-tokens@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz" - }, - "js-yaml": { - "version": "3.8.1", - "from": "js-yaml@>=3.5.1 <4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.1.tgz" - }, - "json-stable-stringify": { - "version": "1.0.1", - "from": "json-stable-stringify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" - }, - "jsonify": { - "version": "0.0.0", - "from": "jsonify@>=0.0.0 <0.1.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" - }, - "jsonpointer": { - "version": "4.0.1", - "from": "jsonpointer@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz" - }, - "jsx-ast-utils": { - "version": "1.4.0", - "from": "jsx-ast-utils@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.0.tgz" - }, - "levn": { - "version": "0.3.0", - "from": "levn@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - }, - "lodash": { - "version": "4.17.4", - "from": "lodash@>=4.2.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz" - }, - "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" - }, - "lodash.cond": { - "version": "4.5.2", - "from": "lodash.cond@>=4.3.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.cond/-/lodash.cond-4.5.2.tgz" - }, - "lodash.endswith": { - "version": "4.2.1", - "from": "lodash.endswith@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.endswith/-/lodash.endswith-4.2.1.tgz" - }, - "lodash.find": { - "version": "4.6.0", - "from": "lodash.find@>=4.3.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz" - }, - "lodash.findindex": { - "version": "4.6.0", - "from": "lodash.findindex@>=4.3.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.findindex/-/lodash.findindex-4.6.0.tgz" - }, - "lodash.pickby": { - "version": "4.6.0", - "from": "lodash.pickby@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz" - }, - "loose-envify": { - "version": "1.3.1", - "from": "loose-envify@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz" - }, - "lru-cache": { - "version": "2.7.3", - "from": "lru-cache@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "dev": true - }, - "meld": { - "version": "1.3.2", - "from": "meld@>=1.3.2 <2.0.0", - "resolved": "https://registry.npmjs.org/meld/-/meld-1.3.2.tgz" - }, - "minimatch": { - "version": "3.0.3", - "from": "minimatch@>=3.0.2 <4.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz" - }, - "minimist": { - "version": "0.0.8", - "from": "minimist@0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" - }, - "mkdirp": { - "version": "0.5.1", - "from": "mkdirp@>=0.5.0 <0.6.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" - }, - "mocha": { - "version": "2.5.3", - "from": "mocha@>=2.5.3 <3.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", - "dev": true, - "dependencies": { - "debug": { - "version": "2.2.0", - "from": "debug@2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.2", - "from": "escape-string-regexp@1.0.2", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", - "dev": true - }, - "glob": { - "version": "3.2.11", - "from": "glob@3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "dev": true - }, - "minimatch": { - "version": "0.3.0", - "from": "minimatch@>=0.3.0 <0.4.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "dev": true - }, - "ms": { - "version": "0.7.1", - "from": "ms@0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "dev": true - }, - "supports-color": { - "version": "1.2.0", - "from": "supports-color@1.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", - "dev": true - } - } - }, - "ms": { - "version": "0.7.2", - "from": "ms@0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz" - }, - "mute-stream": { - "version": "0.0.5", - "from": "mute-stream@0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.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" - }, - "no-arrowception": { - "version": "1.0.0", - "from": "no-arrowception@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/no-arrowception/-/no-arrowception-1.0.0.tgz" - }, - "number-is-nan": { - "version": "1.0.1", - "from": "number-is-nan@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - }, - "object-assign": { - "version": "4.1.1", - "from": "object-assign@>=4.0.1 <5.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - }, - "object-keys": { - "version": "1.0.11", - "from": "object-keys@>=1.0.8 <2.0.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz" - }, - "object.assign": { - "version": "4.0.4", - "from": "object.assign@>=4.0.4 <5.0.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz" - }, - "once": { - "version": "1.4.0", - "from": "once@>=1.3.0 <2.0.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - }, - "onetime": { - "version": "1.1.0", - "from": "onetime@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" - }, - "optionator": { - "version": "0.8.2", - "from": "optionator@>=0.8.2 <0.9.0", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz" - }, - "os-homedir": { - "version": "1.0.2", - "from": "os-homedir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" - }, - "os-tmpdir": { - "version": "1.0.2", - "from": "os-tmpdir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "from": "path-exists@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - }, - "path-is-absolute": { - "version": "1.0.1", - "from": "path-is-absolute@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - }, - "path-is-inside": { - "version": "1.0.2", - "from": "path-is-inside@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - }, - "pify": { - "version": "2.3.0", - "from": "pify@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - }, - "pinkie": { - "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - }, - "pinkie-promise": { - "version": "2.0.1", - "from": "pinkie-promise@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - }, - "pkg-dir": { - "version": "1.0.0", - "from": "pkg-dir@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz" - }, - "pkg-up": { - "version": "1.0.0", - "from": "pkg-up@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz" - }, - "pluralize": { - "version": "1.2.1", - "from": "pluralize@>=1.2.1 <2.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz" - }, - "prelude-ls": { - "version": "1.1.2", - "from": "prelude-ls@>=1.1.2 <1.2.0", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.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" - }, - "progress": { - "version": "1.1.8", - "from": "progress@>=1.1.8 <2.0.0", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz" - }, - "ramda": { - "version": "0.22.1", - "from": "ramda@>=0.22.1 <0.23.0", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.22.1.tgz" - }, - "readable-stream": { - "version": "2.2.3", - "from": "readable-stream@>=2.2.2 <3.0.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz" - }, - "readline2": { - "version": "1.0.1", - "from": "readline2@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz" - }, - "rechoir": { - "version": "0.6.2", - "from": "rechoir@>=0.6.2 <0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - }, - "regenerator-runtime": { - "version": "0.10.3", - "from": "regenerator-runtime@>=0.10.0 <0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz" - }, - "require-uncached": { - "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" - }, - "requireindex": { - "version": "1.1.0", - "from": "requireindex@>=1.1.0 <1.2.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz" - }, - "resolve": { - "version": "1.2.0", - "from": "resolve@>=1.1.6 <2.0.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.2.0.tgz" - }, - "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" - }, - "restore-cursor": { - "version": "1.0.1", - "from": "restore-cursor@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" - }, - "ret": { - "version": "0.1.13", - "from": "ret@>=0.1.10 <0.2.0", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.13.tgz" - }, - "rimraf": { - "version": "2.6.0", - "from": "rimraf@>=2.2.8 <3.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.0.tgz" - }, - "run-async": { - "version": "0.1.0", - "from": "run-async@>=0.1.0 <0.2.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz" - }, - "rx-lite": { - "version": "3.1.2", - "from": "rx-lite@>=3.1.2 <4.0.0", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" - }, - "safe-regex": { - "version": "1.1.0", - "from": "safe-regex@>=1.1.0 <2.0.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - }, - "semver": { - "version": "5.3.0", - "from": "semver@5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" - }, - "shelljs": { - "version": "0.7.6", - "from": "shelljs@>=0.7.5 <0.8.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.6.tgz" - }, - "sigmund": { - "version": "1.0.1", - "from": "sigmund@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "dev": true - }, - "slice-ansi": { - "version": "0.0.4", - "from": "slice-ansi@0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz" - }, - "sprintf-js": { - "version": "1.0.3", - "from": "sprintf-js@>=1.0.2 <1.1.0", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - }, - "string-width": { - "version": "1.0.2", - "from": "string-width@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.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" - }, - "strip-ansi": { - "version": "3.0.1", - "from": "strip-ansi@>=3.0.0 <4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - }, - "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" - }, - "strip-json-comments": { - "version": "1.0.4", - "from": "strip-json-comments@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" - }, - "supports-color": { - "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - }, - "table": { - "version": "3.8.3", - "from": "table@>=3.7.8 <4.0.0", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "from": "is-fullwidth-code-point@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - }, - "string-width": { - "version": "2.0.0", - "from": "string-width@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.0.0.tgz" - } - } - }, - "temp": { - "version": "0.8.3", - "from": "temp@>=0.8.3 <0.9.0", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", - "dev": true, - "dependencies": { - "rimraf": { - "version": "2.2.8", - "from": "rimraf@>=2.2.6 <2.3.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "from": "text-table@>=0.2.0 <0.3.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - }, - "through": { - "version": "2.3.8", - "from": "through@>=2.3.6 <3.0.0", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - }, - "to-fast-properties": { - "version": "1.0.2", - "from": "to-fast-properties@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz" - }, - "to-iso-string": { - "version": "0.0.2", - "from": "to-iso-string@0.0.2", - "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", - "dev": true - }, - "tryit": { - "version": "1.0.3", - "from": "tryit@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" - }, - "type-check": { - "version": "0.3.2", - "from": "type-check@>=0.3.2 <0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - }, - "type-detect": { - "version": "1.0.0", - "from": "type-detect@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "from": "typedarray@>=0.0.6 <0.0.7", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - }, - "user-home": { - "version": "2.0.0", - "from": "user-home@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.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" - }, - "wordwrap": { - "version": "1.0.0", - "from": "wordwrap@>=1.0.0 <1.1.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - }, - "wrappy": { - "version": "1.0.2", - "from": "wrappy@>=1.0.0 <2.0.0", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - }, - "write": { - "version": "0.2.1", - "from": "write@>=0.2.1 <0.3.0", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz" - }, - "xtend": { - "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" - }, - "yerror": { - "version": "1.0.2", - "from": "yerror@>=1.0.1 <2.0.0", - "resolved": "https://registry.npmjs.org/yerror/-/yerror-1.0.2.tgz" - } - } -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..d6e70e187 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1329 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.3.tgz#1a3e850b428e73ba6b09d1cc527f5aaad4d03ef1" + +ajv-keywords@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.2.0.tgz#676c4f087bfe1e8b12dca6fda2f3c74f417b099c" + +ajv@^4.7.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.10.0.tgz#7ae6169180eb199192a8b9a19fd0f47fc9ac8764" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +assertion-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + +babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.20.0.tgz#b968f839090f9a8bc6d41938fb96cb84f7387b26" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^2.0.0" + +babel-eslint@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.1.2.tgz#5293419fe3672d66598d327da9694567ba6a5f2f" + dependencies: + babel-traverse "^6.0.20" + babel-types "^6.0.19" + babylon "^6.0.18" + lodash.assign "^4.0.0" + lodash.pickby "^4.0.0" + +babel-messages@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" + dependencies: + babel-runtime "^6.0.0" + +babel-runtime@^6.0.0, babel-runtime@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-traverse@^6.0.20: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.20.0.tgz#5378d1a743e3d856e6a52289994100bbdfd9872a" + dependencies: + babel-code-frame "^6.20.0" + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.20.0" + babylon "^6.11.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.0.19, babel-types@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.20.0.tgz#3869ecb98459533b37df809886b3f7f3b08d2baa" + dependencies: + babel-runtime "^6.20.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.0.18, babylon@^6.11.0: + version "6.14.1" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +chai@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" + dependencies: + assertion-error "^1.0.1" + deep-eql "^0.1.3" + type-detect "^1.0.0" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +circular-json@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +commander@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" + +commander@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" + +comment-parser@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.4.0.tgz#b274a3c924b6b2e55768f712acd3e3003cb55f57" + dependencies: + readable-stream "^2.0.4" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.6: + version "1.5.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" + dependencies: + inherits "~2.0.1" + readable-stream "~2.0.0" + typedarray "~0.0.5" + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + +core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +damerau-levenshtein@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.3.tgz#ae4f4ce0b62acae10ff63a01bb08f652f5213af2" + +debug@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@^2.1.1, debug@^2.2.0: + version "2.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" + dependencies: + ms "0.7.2" + +deep-eql@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" + dependencies: + type-detect "0.1.1" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +diff@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" + +doctrine@1.3.x: + version "1.3.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-map@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-set "~0.1.3" + es6-symbol "~3.1.0" + event-emitter "~0.3.4" + +es6-set@^0.1.4, es6-set@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-symbol "3" + event-emitter "~0.3.4" + +es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +es6-weak-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + dependencies: + d "^0.1.1" + es5-ext "^0.10.8" + es6-iterator "2" + es6-symbol "3" + +escape-string-regexp@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-airbnb-base@^7.0.0, eslint-config-airbnb-base@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-7.2.0.tgz#1a2ff77cc5d4abc2e1c5daebe4106fce95ff7c2a" + +eslint-config-airbnb@^11.0.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-11.2.0.tgz#a0930ed7891e824e1b3e436cdf9754c815a2920c" + dependencies: + eslint-config-airbnb-base "^7.2.0" + +eslint-config-angular@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-angular/-/eslint-config-angular-0.5.0.tgz#e0aae0132e39e7467df3f7547fec81a44d3685c4" + +eslint-config-ember@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-ember/-/eslint-config-ember-0.3.0.tgz#c65fb0da0f47261ca3a5a7e603a9363e5e9afd82" + dependencies: + eslint-config-nightmare-mode "^2.3.0" + object-assign "^4.0.1" + +eslint-config-google@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.6.0.tgz#c542ec18fb3247983ac16bba31662d01625b763f" + dependencies: + eslint-config-xo "^0.13.0" + +eslint-config-hapi@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-hapi/-/eslint-config-hapi-10.0.0.tgz#9980affd76103ebc1fec92b45638345db19348f5" + +eslint-config-nightmare-mode@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-nightmare-mode/-/eslint-config-nightmare-mode-2.3.0.tgz#d725f18653c457568db8d90d9b70cf13bd0862ab" + dependencies: + object-assign "^2.0.0" + +eslint-config-simplifield@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-simplifield/-/eslint-config-simplifield-4.3.0.tgz#ef6913a325d956a8a60ae152b1e4a2d829731859" + dependencies: + eslint-config-angular "^0.5.0" + eslint-plugin-angular "^1.3.0" + eslint-plugin-mongodb "^0.2.4" + eslint-plugin-node "^3.0.4" + eslint-plugin-promise "^3.0.0" + +eslint-config-standard-jsx@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.2.0.tgz#c240e26ed919a11a42aa4de8059472b38268d620" + +eslint-config-standard-react@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard-react/-/eslint-config-standard-react-4.2.0.tgz#d15fd25e837e20aff0db32f64fb55d11880eb8d0" + dependencies: + eslint-config-standard-jsx "^3.0.0" + +eslint-config-standard@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz#d3a68aafc7191639e7ee441e7348739026354292" + +eslint-config-xo@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz#f916765432ba67d2fc7a7177b8bcfef3f6eb0564" + +eslint-import-resolver-node@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" + dependencies: + debug "^2.2.0" + object-assign "^4.0.1" + resolve "^1.1.6" + +eslint-plugin-angular@^1.3.0, eslint-plugin-angular@^1.3.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-angular/-/eslint-plugin-angular-1.5.0.tgz#dabb4ed25ba42f59086203cc56564bfd053c4eb0" + +eslint-plugin-babel@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-babel/-/eslint-plugin-babel-3.3.0.tgz#2f494aedcf6f4aa4e75b9155980837bc1fbde193" + +eslint-plugin-ember-suave@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-ember-suave/-/eslint-plugin-ember-suave-1.0.0.tgz#ea7d232a126562dcd8b1ee3aa2700ac3b626e514" + dependencies: + requireindex "~1.1.0" + +eslint-plugin-flowtype@^2.16.0: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.29.1.tgz#74cc5603ff0baff6e224482bbd17406b0980f6c3" + dependencies: + lodash "^4.15.0" + +eslint-plugin-hapi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-hapi/-/eslint-plugin-hapi-4.0.0.tgz#44aa2e45f7939a523929cd832bb9aa129a95e823" + dependencies: + hapi-capitalize-modules "1.x.x" + hapi-for-you "1.x.x" + hapi-scope-start "2.x.x" + no-arrowception "1.x.x" + +eslint-plugin-import@^1.16.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.2.0" + doctrine "1.3.x" + es6-map "^0.1.3" + es6-set "^0.1.4" + eslint-import-resolver-node "^0.2.0" + has "^1.0.1" + lodash.cond "^4.3.0" + lodash.endswith "^4.0.1" + lodash.find "^4.3.0" + lodash.findindex "^4.3.0" + minimatch "^3.0.3" + object-assign "^4.0.1" + pkg-dir "^1.0.0" + pkg-up "^1.0.0" + +eslint-plugin-jsdoc@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-2.4.0.tgz#7c1eaa8e88fab04c807472c17b6ff9a1ac7e564d" + dependencies: + comment-parser "^0.4.0" + lodash "^4.5.1" + +eslint-plugin-jsx-a11y@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" + dependencies: + damerau-levenshtein "^1.0.0" + jsx-ast-utils "^1.0.0" + object-assign "^4.0.1" + +eslint-plugin-lodash@^1.10.3: + version "1.10.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-lodash/-/eslint-plugin-lodash-1.10.3.tgz#a341e3386b6eb4e4b7addcf43c3a7f944f38551d" + dependencies: + lodash "^4.9.0" + +eslint-plugin-mocha@^4.5.1: + version "4.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.7.0.tgz#69262362f4ec69ae5849908824f325b8d465e7f3" + dependencies: + ramda "^0.22.1" + +eslint-plugin-mongodb@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-mongodb/-/eslint-plugin-mongodb-0.2.4.tgz#0bd410770e0e4804cdb52f49ce7e19ed5b3492d8" + dependencies: + yerror "^1.0.1" + +eslint-plugin-node@^3.0.4: + version "3.0.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-3.0.5.tgz#03c8e23c6011eabd240e7ebf3556ec6e50fc734e" + dependencies: + ignore "^3.0.11" + minimatch "^3.0.2" + object-assign "^4.0.1" + resolve "^1.1.7" + semver "5.3.0" + +eslint-plugin-promise@^3.0.0, eslint-plugin-promise@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.0.tgz#6ba9048c2df57be77d036e0c68918bc9b4fc4195" + +eslint-plugin-react-intl@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-intl/-/eslint-plugin-react-intl-1.0.2.tgz#04a54d282665c67b7cab3bd7cdc2b4bc7908010e" + +eslint-plugin-react@^6.2.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.8.0.tgz#741ab5438a094532e5ce1bbb935d6832356f492d" + dependencies: + doctrine "^1.2.2" + jsx-ast-utils "^1.3.4" + +eslint-plugin-security@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-security/-/eslint-plugin-security-1.2.0.tgz#fdabcbe964927adbd2f73cae654e4188736504f8" + dependencies: + safe-regex "^1.1.0" + +eslint-plugin-standard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3" + +eslint@3.11.1: + version "3.11.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.11.1.tgz#408be581041385cba947cd8d1cd2227782b55dbf" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.4.6" + debug "^2.1.1" + doctrine "^1.2.2" + escope "^3.6.0" + espree "^3.3.1" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.2.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~1.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" + dependencies: + acorn "^4.0.1" + acorn-jsx "^3.0.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esrecurse@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + dependencies: + estraverse "~4.1.0" + object-assign "^4.0.1" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estraverse@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-emitter@~0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" + dependencies: + d "~0.1.1" + es5-ext "~0.10.7" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +fast-levenshtein@~2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz#bd33145744519ab1c36c3ee9f31f08e9079b67f2" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +flat-cache@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.1.tgz#6c837d6225a7de5659323740b36d5361f71691ff" + dependencies: + circular-json "^0.3.0" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +function-bind@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +glob@3.2.11: + version "3.2.11" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" + dependencies: + inherits "2" + minimatch "0.3" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^9.0.0, globals@^9.2.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +hapi-capitalize-modules@1.x.x: + version "1.1.6" + resolved "https://registry.yarnpkg.com/hapi-capitalize-modules/-/hapi-capitalize-modules-1.1.6.tgz#7991171415e15e6aa3231e64dda73c8146665318" + +hapi-for-you@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hapi-for-you/-/hapi-for-you-1.0.0.tgz#d362fbee8d7bda9c2c7801e207e5a5cd1a0b6a7b" + +hapi-scope-start@2.x.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/hapi-scope-start/-/hapi-scope-start-2.1.1.tgz#7495a726fe72b7bca8de2cdcc1d87cd8ce6ab4f2" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +ignore@^3.0.11, ignore@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + +invariant@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-my-json-valid@^2.10.0: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +jade@0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" + dependencies: + commander "0.6.1" + mkdirp "0.3.0" + +js-tokens@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5" + +js-yaml@^3.5.1: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5" + +jsx-ast-utils@^1.0.0, jsx-ast-utils@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.3.4.tgz#0257ed1cc4b1e65b39d7d9940f9fb4f20f7ba0a9" + dependencies: + acorn-jsx "^3.0.1" + object-assign "^4.1.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lodash.assign@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash.endswith@^4.0.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" + +lodash.find@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" + +lodash.findindex@^4.3.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" + +lodash.pickby@^4.0.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" + +lodash@^4.0.0, lodash@^4.15.0, lodash@^4.2.0, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.9.0: + version "4.17.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.2.tgz#34a3055babe04ce42467b607d700072c7ff6bf42" + +loose-envify@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8" + dependencies: + js-tokens "^2.0.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +meld@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/meld/-/meld-1.3.2.tgz#8c3235fb5001b8796f8768818e9e4563b0de8066" + +minimatch@0.3: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimatch@^3.0.2, minimatch@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + +mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha@^2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" + dependencies: + commander "2.3.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.2" + glob "3.2.11" + growl "1.9.2" + jade "0.26.3" + mkdirp "0.5.1" + supports-color "1.2.0" + to-iso-string "0.0.2" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +no-arrowception@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/no-arrowception/-/no-arrowception-1.0.0.tgz#5bf3e95eb9c41b57384a805333daa3b734ee327a" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pkg-up@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-1.0.0.tgz#3e08fb461525c4421624a33b9f7e6d0af5b05a26" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +ramda@^0.22.1: + version "0.22.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.22.1.tgz#031da0c3df417c5b33c96234757eb37033f36a0e" + +readable-stream@^2.0.4, readable-stream@~2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +regenerator-runtime@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" + +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +requireindex@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.1.0.tgz#e5404b81557ef75db6e49c5a72004893fe03e162" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve@^1.1.6, resolve@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +ret@~0.1.10: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.13.tgz#38c2702ece654978941edd8b7dfac6aeeef4067d" + +rimraf@^2.2.8: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +rimraf@~2.2.6: + version "2.2.8" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +semver@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +shelljs@^0.7.5: + version "0.7.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.5.tgz#2eef7a50a21e1ccf37da00df767ec69e30ad0675" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-json-comments@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +supports-color@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +temp@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" + dependencies: + os-tmpdir "^1.0.0" + rimraf "~2.2.6" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +to-iso-string@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" + +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-detect@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" + +type-detect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" + +typedarray@~0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yerror@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/yerror/-/yerror-1.0.2.tgz#3b4afc653a2dfd7c916cfb0afd89a1cf98ee2594" From bd6cd99c3f8b6f16d6d1c2da640bc21620ec6858 Mon Sep 17 00:00:00 2001 From: Mike Schultz Date: Mon, 12 Dec 2016 08:39:00 -0800 Subject: [PATCH 36/47] Upgrade eslint-config-google to 0.7.1 --- package.json | 2 +- yarn.lock | 26 +++++++------------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 6a25dfe80..89b3e6721 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "eslint-config-airbnb-base": "^7.0.0", "eslint-config-angular": "^0.5.0", "eslint-config-ember": "^0.3.0", - "eslint-config-google": "^0.6.0", + "eslint-config-google": "^0.7.1", "eslint-config-hapi": "^10.0.0", "eslint-config-simplifield": "^4.3.0", "eslint-config-standard": "^6.2.1", diff --git a/yarn.lock b/yarn.lock index d6e70e187..2146dd481 100644 --- a/yarn.lock +++ b/yarn.lock @@ -338,11 +338,11 @@ es6-weak-map@^2.0.1: es6-iterator "2" es6-symbol "3" -escape-string-regexp@1.0.2: +escape-string-regexp@1.0.2, escape-string-regexp@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -376,11 +376,9 @@ eslint-config-ember@^0.3.0: eslint-config-nightmare-mode "^2.3.0" object-assign "^4.0.1" -eslint-config-google@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.6.0.tgz#c542ec18fb3247983ac16bba31662d01625b763f" - dependencies: - eslint-config-xo "^0.13.0" +eslint-config-google@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.7.1.tgz#5598f8498e9e078420f34b80495b8d959f651fb2" eslint-config-hapi@^10.0.0: version "10.0.0" @@ -416,10 +414,6 @@ eslint-config-standard@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz#d3a68aafc7191639e7ee441e7348739026354292" -eslint-config-xo@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/eslint-config-xo/-/eslint-config-xo-0.13.0.tgz#f916765432ba67d2fc7a7177b8bcfef3f6eb0564" - eslint-import-resolver-node@^0.2.0: version "0.2.3" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.2.3.tgz#5add8106e8c928db2cba232bcd9efa846e3da16c" @@ -685,7 +679,7 @@ glob@3.2.11: inherits "2" minimatch "0.3" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.6: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -1149,13 +1143,7 @@ ret@~0.1.10: version "0.1.13" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.13.tgz#38c2702ece654978941edd8b7dfac6aeeef4067d" -rimraf@^2.2.8: - version "2.5.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" - dependencies: - glob "^7.0.5" - -rimraf@~2.2.6: +rimraf@^2.2.8, rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" From 358cb84d7e33b61738898431f92e85423f7e2e0b Mon Sep 17 00:00:00 2001 From: Max Jacobson Date: Wed, 14 Dec 2016 16:35:39 -0500 Subject: [PATCH 37/47] Add eslint-plugin-meteor Close #155 Just ran: `bin/yarn add eslint-plugin-meteor` --- package.json | 1 + yarn.lock | 197 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 192 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 89b3e6721..273acba10 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "eslint-plugin-jsdoc": "^2.3.1", "eslint-plugin-jsx-a11y": "^2.2.1", "eslint-plugin-lodash": "^1.10.3", + "eslint-plugin-meteor": "^4.0.1", "eslint-plugin-mocha": "^4.5.1", "eslint-plugin-mongodb": "^0.2.4", "eslint-plugin-promise": "^3.3.0", diff --git a/yarn.lock b/yarn.lock index 2146dd481..3ea566d89 100644 --- a/yarn.lock +++ b/yarn.lock @@ -71,6 +71,30 @@ babel-code-frame@^6.16.0, babel-code-frame@^6.20.0: esutils "^2.0.2" js-tokens "^2.0.0" +babel-core@^6.16.0, babel-core@^6.18.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.20.0.tgz#ab0d7176d9dea434e66badadaf92237865eab1ec" + dependencies: + babel-code-frame "^6.20.0" + babel-generator "^6.20.0" + babel-helpers "^6.16.0" + babel-messages "^6.8.0" + babel-register "^6.18.0" + babel-runtime "^6.20.0" + babel-template "^6.16.0" + babel-traverse "^6.20.0" + babel-types "^6.20.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + babel-eslint@^6.1.2: version "6.1.2" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.1.2.tgz#5293419fe3672d66598d327da9694567ba6a5f2f" @@ -81,20 +105,81 @@ babel-eslint@^6.1.2: lodash.assign "^4.0.0" lodash.pickby "^4.0.0" +babel-generator@^6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.20.0.tgz#fee63614e0449390103b3097f3f6a118016c6766" + dependencies: + babel-messages "^6.8.0" + babel-runtime "^6.20.0" + babel-types "^6.20.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-helpers@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3" + dependencies: + babel-runtime "^6.0.0" + babel-template "^6.16.0" + babel-messages@^6.8.0: version "6.8.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9" dependencies: babel-runtime "^6.0.0" -babel-runtime@^6.0.0, babel-runtime@^6.20.0: +babel-register@6.16.3: + version "6.16.3" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.16.3.tgz#7b0c0ca7bfdeb9188ba4c27e5fcb7599a497c624" + dependencies: + babel-core "^6.16.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^1.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + path-exists "^1.0.0" + source-map-support "^0.4.2" + +babel-register@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68" + dependencies: + babel-core "^6.18.0" + babel-runtime "^6.11.6" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@6.11.6: + version "6.11.6" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.11.6.tgz#6db707fef2d49c49bfa3cb64efdb436b518b8222" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.9.5" + +babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.20.0, babel-runtime@^6.9.0: version "6.20.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.20.0.tgz#87300bdcf4cd770f09bf0048c64204e17806d16f" dependencies: core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-traverse@^6.0.20: +babel-template@^6.16.0: + version "6.16.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca" + dependencies: + babel-runtime "^6.9.0" + babel-traverse "^6.16.0" + babel-types "^6.16.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.0.20, babel-traverse@^6.16.0, babel-traverse@^6.20.0: version "6.20.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.20.0.tgz#5378d1a743e3d856e6a52289994100bbdfd9872a" dependencies: @@ -108,7 +193,7 @@ babel-traverse@^6.0.20: invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.0.19, babel-types@^6.20.0: +babel-types@^6.0.19, babel-types@^6.16.0, babel-types@^6.20.0: version "6.20.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.20.0.tgz#3869ecb98459533b37df809886b3f7f3b08d2baa" dependencies: @@ -216,6 +301,10 @@ contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" +convert-source-map@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + core-js@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" @@ -268,6 +357,12 @@ del@^2.0.2: pinkie-promise "^2.0.0" rimraf "^2.2.8" +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" @@ -346,7 +441,7 @@ escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escope@^3.6.0: +escope@3.6.0, escope@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" dependencies: @@ -493,6 +588,18 @@ eslint-plugin-lodash@^1.10.3: dependencies: lodash "^4.9.0" +eslint-plugin-meteor@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-meteor/-/eslint-plugin-meteor-4.0.1.tgz#442ef4fe66f9b21ae40a89826784121150cb17ff" + dependencies: + babel-register "6.16.3" + babel-runtime "6.11.6" + escope "3.6.0" + invariant "2.2.1" + lodash.find "4.6.0" + lodash.memoize "4.1.2" + path-exists "3.0.0" + eslint-plugin-mocha@^4.5.1: version "4.7.0" resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-4.7.0.tgz#69262362f4ec69ae5849908824f325b8d465e7f3" @@ -737,6 +844,20 @@ has@^1.0.1: dependencies: function-bind "^1.0.2" +home-or-tmp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-1.0.0.tgz#4b9f1e40800c3e50c6c27f781676afcce71f3985" + dependencies: + os-tmpdir "^1.0.1" + user-home "^1.1.1" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + ignore@^3.0.11, ignore@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" @@ -778,12 +899,24 @@ interpret@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" +invariant@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" + dependencies: + loose-envify "^1.0.0" + invariant@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -851,12 +984,20 @@ js-yaml@^3.5.1: argparse "^1.0.7" esprima "^2.6.0" +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" dependencies: jsonify "~0.0.0" +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" @@ -891,7 +1032,7 @@ lodash.endswith@^4.0.1: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" -lodash.find@^4.3.0: +lodash.find@4.6.0, lodash.find@^4.3.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" @@ -899,6 +1040,10 @@ lodash.findindex@^4.3.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" +lodash.memoize@4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + lodash.pickby@^4.0.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" @@ -1020,10 +1165,18 @@ os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" -os-tmpdir@^1.0.0: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +path-exists@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-exists@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081" + path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -1072,6 +1225,10 @@ prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" +private@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" @@ -1113,6 +1270,16 @@ regenerator-runtime@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" +regenerator-runtime@^0.9.5: + version "0.9.6" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + require-uncached@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" @@ -1179,10 +1346,24 @@ sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" +source-map-support@^0.4.2: + version "0.4.6" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" + dependencies: + source-map "^0.5.3" + +source-map@^0.5.0, source-map@^0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -1284,6 +1465,10 @@ typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + user-home@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" From a340d0b58af9811fb0a76611dd39a5da487c8b1a Mon Sep 17 00:00:00 2001 From: Max Jacobson Date: Fri, 16 Dec 2016 10:41:27 -0500 Subject: [PATCH 38/47] Add eslint-plugin-immutable `bin/yarn add eslint-plugin-immutable` --- package.json | 1 + yarn.lock | 12 +++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 273acba10..5d101197f 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "eslint-plugin-ember-suave": "^1.0.0", "eslint-plugin-flowtype": "^2.16.0", "eslint-plugin-hapi": "^4.0.0", + "eslint-plugin-immutable": "^1.0.0", "eslint-plugin-import": "^1.16.0", "eslint-plugin-jsdoc": "^2.3.1", "eslint-plugin-jsx-a11y": "^2.2.1", diff --git a/yarn.lock b/yarn.lock index 3ea566d89..abb425445 100644 --- a/yarn.lock +++ b/yarn.lock @@ -546,6 +546,10 @@ eslint-plugin-hapi@^4.0.0: hapi-scope-start "2.x.x" no-arrowception "1.x.x" +eslint-plugin-immutable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-immutable/-/eslint-plugin-immutable-1.0.0.tgz#4fe5839836be9809e08bac00cb7ce10e4b8e4821" + eslint-plugin-import@^1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" @@ -899,18 +903,12 @@ interpret@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" -invariant@2.2.1: +invariant@2.2.1, invariant@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54" dependencies: loose-envify "^1.0.0" -invariant@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" From 93ce7d6d88828a82679a2e18ecb980c7f1fe380f Mon Sep 17 00:00:00 2001 From: Max Jacobson Date: Fri, 16 Dec 2016 10:43:12 -0500 Subject: [PATCH 39/47] Add eslint-plugin-import-order `bin/yarn add eslint-plugin-import-order` --- package.json | 1 + yarn.lock | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5d101197f..02a47b112 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "eslint-plugin-hapi": "^4.0.0", "eslint-plugin-immutable": "^1.0.0", "eslint-plugin-import": "^1.16.0", + "eslint-plugin-import-order": "^2.1.4", "eslint-plugin-jsdoc": "^2.3.1", "eslint-plugin-jsx-a11y": "^2.2.1", "eslint-plugin-lodash": "^1.10.3", diff --git a/yarn.lock b/yarn.lock index abb425445..a06f457bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -550,6 +550,14 @@ eslint-plugin-immutable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-plugin-immutable/-/eslint-plugin-immutable-1.0.0.tgz#4fe5839836be9809e08bac00cb7ce10e4b8e4821" +eslint-plugin-import-order@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-import-order/-/eslint-plugin-import-order-2.1.4.tgz#8357a395d2d8c3c3f109d8b26c4f618cb52c5243" + dependencies: + builtin-modules "^1.1.1" + lodash.cond "^4.2.0" + lodash.find "^4.2.0" + eslint-plugin-import@^1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" @@ -1022,7 +1030,7 @@ lodash.assign@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" -lodash.cond@^4.3.0: +lodash.cond@^4.2.0, lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" @@ -1030,7 +1038,7 @@ lodash.endswith@^4.0.1: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" -lodash.find@4.6.0, lodash.find@^4.3.0: +lodash.find@4.6.0, lodash.find@^4.2.0, lodash.find@^4.3.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" From 6ebc84f6ea06f5c86d339105bc2a8d4848964b1d Mon Sep 17 00:00:00 2001 From: Max Jacobson Date: Fri, 16 Dec 2016 10:44:13 -0500 Subject: [PATCH 40/47] Add eslint-plugin-jasmine `bin/yarn add eslint-plugin-jasmine` --- package.json | 1 + yarn.lock | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/package.json b/package.json index 02a47b112..3c8d0bc58 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "eslint-plugin-immutable": "^1.0.0", "eslint-plugin-import": "^1.16.0", "eslint-plugin-import-order": "^2.1.4", + "eslint-plugin-jasmine": "^2.2.0", "eslint-plugin-jsdoc": "^2.3.1", "eslint-plugin-jsx-a11y": "^2.2.1", "eslint-plugin-lodash": "^1.10.3", diff --git a/yarn.lock b/yarn.lock index a06f457bb..e76fc9a07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -579,6 +579,10 @@ eslint-plugin-import@^1.16.0: pkg-dir "^1.0.0" pkg-up "^1.0.0" +eslint-plugin-jasmine@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.2.0.tgz#7135879383c39a667c721d302b9f20f0389543de" + eslint-plugin-jsdoc@^2.3.1: version "2.4.0" resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-2.4.0.tgz#7c1eaa8e88fab04c807472c17b6ff9a1ac7e564d" From dd8ea2a63818daee18171202f20d235dd3df0ace Mon Sep 17 00:00:00 2001 From: Rodney Rehm Date: Fri, 30 Dec 2016 22:12:45 +0100 Subject: [PATCH 41/47] Add eslint-config-semistandard `bin/yarn add eslint-config-semistandard` --- package.json | 1 + yarn.lock | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/package.json b/package.json index 3c8d0bc58..250da84ae 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "eslint-config-ember": "^0.3.0", "eslint-config-google": "^0.7.1", "eslint-config-hapi": "^10.0.0", + "eslint-config-semistandard": "^7.0.0", "eslint-config-simplifield": "^4.3.0", "eslint-config-standard": "^6.2.1", "eslint-config-standard-jsx": "^3.0.0", diff --git a/yarn.lock b/yarn.lock index e76fc9a07..f6c7ec853 100644 --- a/yarn.lock +++ b/yarn.lock @@ -485,6 +485,10 @@ eslint-config-nightmare-mode@^2.3.0: dependencies: object-assign "^2.0.0" +eslint-config-semistandard@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-semistandard/-/eslint-config-semistandard-7.0.0.tgz#f803493f56a5172f7f59c35ae648360b41f2ff71" + eslint-config-simplifield@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-config-simplifield/-/eslint-config-simplifield-4.3.0.tgz#ef6913a325d956a8a60ae152b1e4a2d829731859" From c7545926fdf7b25a92c61f8da3f54fa2878803f3 Mon Sep 17 00:00:00 2001 From: Daniel Chang Date: Mon, 23 Jan 2017 14:40:49 -0500 Subject: [PATCH 42/47] Yarn add eslint-config-react-app Yarn upgrade babel-eslint ^7.0.0 Yarn upgrade eslint-plugin-flowtype to ^2.21.0 Yarn upgrade eslint-plugin-import to ^2.0.1 Yarn upgrade eslint-plugin-jsx-a11y to ^2.2.3 Yarn upgrade eslint-plugin-react to ^6.4.1 --- package.json | 11 ++-- yarn.lock | 148 +++++++++++++++++++++++++++++++++------------------ 2 files changed, 101 insertions(+), 58 deletions(-) diff --git a/package.json b/package.json index 250da84ae..53c5d6e2c 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "url": "http://github.com/codeclimate/codeclimate-eslint.git" }, "dependencies": { - "babel-eslint": "^6.1.2", + "babel-eslint": "^7.0.0", "eslint": "3.11.1", "eslint-config-airbnb": "^11.0.0", "eslint-config-airbnb-base": "^7.0.0", @@ -16,6 +16,7 @@ "eslint-config-ember": "^0.3.0", "eslint-config-google": "^0.7.1", "eslint-config-hapi": "^10.0.0", + "eslint-config-react-app": "^0.5.0", "eslint-config-semistandard": "^7.0.0", "eslint-config-simplifield": "^4.3.0", "eslint-config-standard": "^6.2.1", @@ -24,20 +25,20 @@ "eslint-plugin-angular": "^1.3.1", "eslint-plugin-babel": "^3.3.0", "eslint-plugin-ember-suave": "^1.0.0", - "eslint-plugin-flowtype": "^2.16.0", + "eslint-plugin-flowtype": "^2.21.0", "eslint-plugin-hapi": "^4.0.0", "eslint-plugin-immutable": "^1.0.0", - "eslint-plugin-import": "^1.16.0", + "eslint-plugin-import": "^2.0.1", "eslint-plugin-import-order": "^2.1.4", "eslint-plugin-jasmine": "^2.2.0", "eslint-plugin-jsdoc": "^2.3.1", - "eslint-plugin-jsx-a11y": "^2.2.1", + "eslint-plugin-jsx-a11y": "^2.2.3", "eslint-plugin-lodash": "^1.10.3", "eslint-plugin-meteor": "^4.0.1", "eslint-plugin-mocha": "^4.5.1", "eslint-plugin-mongodb": "^0.2.4", "eslint-plugin-promise": "^3.3.0", - "eslint-plugin-react": "^6.2.0", + "eslint-plugin-react": "^6.4.1", "eslint-plugin-react-intl": "^1.0.2", "eslint-plugin-security": "^1.2.0", "eslint-plugin-standard": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index f6c7ec853..99ef745a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,6 +55,13 @@ array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" +array.prototype.find@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.0.1.tgz#1557f888df6c57e4d1256f20852d687a25b51fde" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.0" + arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -95,15 +102,15 @@ babel-core@^6.16.0, babel-core@^6.18.0: slash "^1.0.0" source-map "^0.5.0" -babel-eslint@^6.1.2: - version "6.1.2" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-6.1.2.tgz#5293419fe3672d66598d327da9694567ba6a5f2f" +babel-eslint@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2" dependencies: - babel-traverse "^6.0.20" - babel-types "^6.0.19" - babylon "^6.0.18" - lodash.assign "^4.0.0" - lodash.pickby "^4.0.0" + babel-code-frame "^6.16.0" + babel-traverse "^6.15.0" + babel-types "^6.15.0" + babylon "^6.13.0" + lodash.pickby "^4.6.0" babel-generator@^6.20.0: version "6.20.0" @@ -179,7 +186,7 @@ babel-template@^6.16.0: babylon "^6.11.0" lodash "^4.2.0" -babel-traverse@^6.0.20, babel-traverse@^6.16.0, babel-traverse@^6.20.0: +babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.20.0: version "6.20.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.20.0.tgz#5378d1a743e3d856e6a52289994100bbdfd9872a" dependencies: @@ -193,7 +200,7 @@ babel-traverse@^6.0.20, babel-traverse@^6.16.0, babel-traverse@^6.20.0: invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.0.19, babel-types@^6.16.0, babel-types@^6.20.0: +babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.20.0: version "6.20.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.20.0.tgz#3869ecb98459533b37df809886b3f7f3b08d2baa" dependencies: @@ -202,7 +209,7 @@ babel-types@^6.0.19, babel-types@^6.16.0, babel-types@^6.20.0: lodash "^4.2.0" to-fast-properties "^1.0.1" -babylon@^6.0.18, babylon@^6.11.0: +babylon@^6.11.0, babylon@^6.13.0: version "6.14.1" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.14.1.tgz#956275fab72753ad9b3435d7afe58f8bf0a29815" @@ -345,6 +352,13 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + del@^2.0.2: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" @@ -367,20 +381,30 @@ diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" -doctrine@1.3.x: - version "1.3.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^1.2.2: +doctrine@1.5.0, doctrine@^1.2.2: version "1.5.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" dependencies: esutils "^2.0.2" isarray "^1.0.0" +es-abstract@^1.5.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.0" + is-callable "^1.1.3" + is-regex "^1.0.3" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: version "0.10.12" resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" @@ -407,7 +431,7 @@ es6-map@^0.1.3: es6-symbol "~3.1.0" event-emitter "~0.3.4" -es6-set@^0.1.4, es6-set@~0.1.3: +es6-set@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" dependencies: @@ -485,6 +509,10 @@ eslint-config-nightmare-mode@^2.3.0: dependencies: object-assign "^2.0.0" +eslint-config-react-app@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-0.5.0.tgz#68c6da07d1cfbce6a992bc244ba16186b942d89f" + eslint-config-semistandard@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/eslint-config-semistandard/-/eslint-config-semistandard-7.0.0.tgz#f803493f56a5172f7f59c35ae648360b41f2ff71" @@ -521,6 +549,13 @@ eslint-import-resolver-node@^0.2.0: object-assign "^4.0.1" resolve "^1.1.6" +eslint-module-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.0.0.tgz#a6f8c21d901358759cdc35dbac1982ae1ee58bce" + dependencies: + debug "2.2.0" + pkg-dir "^1.0.0" + eslint-plugin-angular@^1.3.0, eslint-plugin-angular@^1.3.1: version "1.5.0" resolved "https://registry.yarnpkg.com/eslint-plugin-angular/-/eslint-plugin-angular-1.5.0.tgz#dabb4ed25ba42f59086203cc56564bfd053c4eb0" @@ -535,9 +570,9 @@ eslint-plugin-ember-suave@^1.0.0: dependencies: requireindex "~1.1.0" -eslint-plugin-flowtype@^2.16.0: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.29.1.tgz#74cc5603ff0baff6e224482bbd17406b0980f6c3" +eslint-plugin-flowtype@^2.21.0: + version "2.30.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.30.0.tgz#3054a265f9c8afe3046c3d41b72d32a736f9b4ae" dependencies: lodash "^4.15.0" @@ -562,25 +597,19 @@ eslint-plugin-import-order@^2.1.4: lodash.cond "^4.2.0" lodash.find "^4.2.0" -eslint-plugin-import@^1.16.0: - version "1.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-1.16.0.tgz#b2fa07ebcc53504d0f2a4477582ec8bff1871b9f" +eslint-plugin-import@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.2.0.tgz#72ba306fad305d67c4816348a4699a4229ac8b4e" dependencies: builtin-modules "^1.1.1" contains-path "^0.1.0" debug "^2.2.0" - doctrine "1.3.x" - es6-map "^0.1.3" - es6-set "^0.1.4" + doctrine "1.5.0" eslint-import-resolver-node "^0.2.0" + eslint-module-utils "^2.0.0" has "^1.0.1" lodash.cond "^4.3.0" - lodash.endswith "^4.0.1" - lodash.find "^4.3.0" - lodash.findindex "^4.3.0" minimatch "^3.0.3" - object-assign "^4.0.1" - pkg-dir "^1.0.0" pkg-up "^1.0.0" eslint-plugin-jasmine@^2.2.0: @@ -594,7 +623,7 @@ eslint-plugin-jsdoc@^2.3.1: comment-parser "^0.4.0" lodash "^4.5.1" -eslint-plugin-jsx-a11y@^2.2.1: +eslint-plugin-jsx-a11y@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-2.2.3.tgz#4e35cb71b8a7db702ac415c806eb8e8d9ea6c65d" dependencies: @@ -650,10 +679,11 @@ eslint-plugin-react-intl@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/eslint-plugin-react-intl/-/eslint-plugin-react-intl-1.0.2.tgz#04a54d282665c67b7cab3bd7cdc2b4bc7908010e" -eslint-plugin-react@^6.2.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.8.0.tgz#741ab5438a094532e5ce1bbb935d6832356f492d" +eslint-plugin-react@^6.4.1: + version "6.9.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz#54c2e9906b76f9d10142030bdc34e9d6840a0bb2" dependencies: + array.prototype.find "^2.0.1" doctrine "^1.2.2" jsx-ast-utils "^1.3.4" @@ -781,11 +811,15 @@ flat-cache@^1.2.1: graceful-fs "^4.1.2" write "^0.2.1" +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -function-bind@^1.0.2: +function-bind@^1.0.2, function-bind@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" @@ -925,6 +959,14 @@ invariant@2.2.1, invariant@^2.2.0: dependencies: loose-envify "^1.0.0" +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + is-finite@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" @@ -970,12 +1012,20 @@ is-property@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" +is-regex@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637" + is-resolvable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" dependencies: tryit "^1.0.1" +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -1034,31 +1084,19 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lodash.assign@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - lodash.cond@^4.2.0, lodash.cond@^4.3.0: version "4.5.2" resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" -lodash.endswith@^4.0.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" - -lodash.find@4.6.0, lodash.find@^4.2.0, lodash.find@^4.3.0: +lodash.find@4.6.0, lodash.find@^4.2.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" -lodash.findindex@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.findindex/-/lodash.findindex-4.6.0.tgz#a3245dee61fb9b6e0624b535125624bb69c11106" - lodash.memoize@4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" -lodash.pickby@^4.0.0: +lodash.pickby@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff" @@ -1154,6 +1192,10 @@ object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" From d2c8bd5f211f1fa2bf04bafba999c66a9fbeb683 Mon Sep 17 00:00:00 2001 From: Lam Chan Date: Sat, 28 Jan 2017 15:52:37 -0600 Subject: [PATCH 43/47] added eslint-plugin-xogroup plugin --- package.json | 1 + yarn.lock | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/package.json b/package.json index 53c5d6e2c..c9631f338 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "eslint-plugin-react-intl": "^1.0.2", "eslint-plugin-security": "^1.2.0", "eslint-plugin-standard": "^2.0.0", + "eslint-plugin-xogroup": "^1.0.5", "glob": "^7.0.6", "meld": "^1.3.2" }, diff --git a/yarn.lock b/yarn.lock index 99ef745a7..468f9ee24 100644 --- a/yarn.lock +++ b/yarn.lock @@ -697,6 +697,10 @@ eslint-plugin-standard@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz#3589699ff9c917f2c25f76a916687f641c369ff3" +eslint-plugin-xogroup@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-xogroup/-/eslint-plugin-xogroup-1.0.5.tgz#c77ce5708195854340f32793a12dfc623665f933" + eslint@3.11.1: version "3.11.1" resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.11.1.tgz#408be581041385cba947cd8d1cd2227782b55dbf" From 4dec27692a37839c2ed78b1a0cb0eb06a11d928c Mon Sep 17 00:00:00 2001 From: Max Jacobson Date: Fri, 3 Feb 2017 11:27:59 -0500 Subject: [PATCH 44/47] Upgrade eslint ``` make bin/yarn upgrade eslint ``` We'd like to pull in a fix for a bug that prevents using this rule: http://eslint.org/docs/2.0.0/rules/generator-star-spacing --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index c9631f338..0b8d42aae 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "babel-eslint": "^7.0.0", - "eslint": "3.11.1", + "eslint": "^3.14.1", "eslint-config-airbnb": "^11.0.0", "eslint-config-airbnb-base": "^7.0.0", "eslint-config-angular": "^0.5.0", diff --git a/yarn.lock b/yarn.lock index 468f9ee24..1a9376c25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -701,9 +701,9 @@ eslint-plugin-xogroup@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/eslint-plugin-xogroup/-/eslint-plugin-xogroup-1.0.5.tgz#c77ce5708195854340f32793a12dfc623665f933" -eslint@3.11.1: - version "3.11.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.11.1.tgz#408be581041385cba947cd8d1cd2227782b55dbf" +eslint@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.1.tgz#8a62175f2255109494747a1b25128d97b8eb3d97" dependencies: babel-code-frame "^6.16.0" chalk "^1.1.3" @@ -716,7 +716,7 @@ eslint@3.11.1: esutils "^2.0.2" file-entry-cache "^2.0.0" glob "^7.0.3" - globals "^9.2.0" + globals "^9.14.0" ignore "^3.2.0" imurmurhash "^0.1.4" inquirer "^0.12.0" @@ -735,7 +735,7 @@ eslint@3.11.1: require-uncached "^1.0.2" shelljs "^0.7.5" strip-bom "^3.0.0" - strip-json-comments "~1.0.1" + strip-json-comments "~2.0.1" table "^3.7.8" text-table "~0.2.0" user-home "^2.0.0" @@ -855,7 +855,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.6: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^9.0.0, globals@^9.2.0: +globals@^9.0.0, globals@^9.14.0: version "9.14.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" @@ -1457,9 +1457,9 @@ strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" -strip-json-comments@~1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" supports-color@1.2.0: version "1.2.0" From 58df490f6cdaef2a6c8364d07bdfaa1837fd44ec Mon Sep 17 00:00:00 2001 From: Jenna Smith Date: Tue, 14 Feb 2017 12:10:44 -0500 Subject: [PATCH 45/47] add support for eslint prettier plugin --- package.json | 2 ++ yarn.lock | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/package.json b/package.json index 0b8d42aae..c564e68b8 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "eslint-config-ember": "^0.3.0", "eslint-config-google": "^0.7.1", "eslint-config-hapi": "^10.0.0", + "eslint-config-prettier": "^1.2.0", "eslint-config-react-app": "^0.5.0", "eslint-config-semistandard": "^7.0.0", "eslint-config-simplifield": "^4.3.0", @@ -37,6 +38,7 @@ "eslint-plugin-meteor": "^4.0.1", "eslint-plugin-mocha": "^4.5.1", "eslint-plugin-mongodb": "^0.2.4", + "eslint-plugin-prettier": "^2.0.0", "eslint-plugin-promise": "^3.3.0", "eslint-plugin-react": "^6.4.1", "eslint-plugin-react-intl": "^1.0.2", diff --git a/yarn.lock b/yarn.lock index 1a9376c25..e2de2701a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -509,6 +509,12 @@ eslint-config-nightmare-mode@^2.3.0: dependencies: object-assign "^2.0.0" +eslint-config-prettier@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-1.2.0.tgz#7f87a9af62d9a5ee525849a24b662893e82b7bdc" + dependencies: + get-stdin "^5.0.1" + eslint-config-react-app@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-0.5.0.tgz#68c6da07d1cfbce6a992bc244ba16186b942d89f" @@ -671,6 +677,12 @@ eslint-plugin-node@^3.0.4: resolve "^1.1.7" semver "5.3.0" +eslint-plugin-prettier@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.0.0.tgz#8d117dcbe1e9fdafaf593166480c1ad79b8d3125" + dependencies: + requireindex "~1.1.0" + eslint-plugin-promise@^3.0.0, eslint-plugin-promise@^3.3.0: version "3.4.0" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.4.0.tgz#6ba9048c2df57be77d036e0c68918bc9b4fc4195" @@ -837,6 +849,10 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" +get-stdin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + glob@3.2.11: version "3.2.11" resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" From 31f1e2bc6bdff85eb6dcf508530735404093d053 Mon Sep 17 00:00:00 2001 From: Alexander Mankuta Date: Fri, 17 Feb 2017 17:56:59 +0200 Subject: [PATCH 46/47] Add config upgrader Automatically upgrade pre-ESLint 3 config to ESLint 3-compatible format. --- .eslintrc | 3 +- bin/eslint.js | 5 + lib/config_upgrader.js | 272 +++++++++++++++++++++++++++++++++++ lib/eslint-patch.js | 10 ++ test/config_upgrater_test.js | 228 +++++++++++++++++++++++++++++ 5 files changed, 517 insertions(+), 1 deletion(-) create mode 100644 lib/config_upgrader.js create mode 100644 test/config_upgrater_test.js diff --git a/.eslintrc b/.eslintrc index 66c626d53..63664eb96 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,7 +1,8 @@ { "env": { "node": true, - "mocha": true + "mocha": true, + "es6": true }, "rules": { "block-spacing": 2, diff --git a/bin/eslint.js b/bin/eslint.js index 9e8c1f29d..67543f476 100755 --- a/bin/eslint.js +++ b/bin/eslint.js @@ -23,6 +23,7 @@ var ESLINT_WARNING_SEVERITY = 1; var checks = require("../lib/checks"); var validateConfig = require("../lib/validate_config"); var computeFingerprint = require("../lib/compute_fingerprint"); +const ConfigUpgrader = require("../lib/config_upgrader"); // a wrapper for emitting perf timing function runWithTiming(name, fn) { @@ -235,6 +236,10 @@ function analyzeFiles() { if (validateConfig(options.configFile)) { console.error("ESLint is running with the " + cli.getConfigForFile(null).parser + " parser."); + for (const line of ConfigUpgrader.upgradeInstructions(analysisFiles, process.cwd())) { + console.error(line); + } + analyzeFiles(); } else { console.error("No rules are configured. Make sure you have added a config file with rules enabled."); diff --git a/lib/config_upgrader.js b/lib/config_upgrader.js new file mode 100644 index 000000000..16a56cd24 --- /dev/null +++ b/lib/config_upgrader.js @@ -0,0 +1,272 @@ +"use strict"; + +const Config = require("eslint/lib/config") + , merge = require("eslint/lib/config/config-ops").merge + , path = require("path") + , stringify = require("json-stable-stringify") + , CONFIG_FILES = require("eslint/lib/config/config-file").CONFIG_FILES + , FileFinder = require("eslint/lib/file-finder"); + +var SEVERITIES = { + 0: "off", + 1: "warn", + 2: "error" +}; + +var ES6Features = [ + "arrowFunctions", "binaryLiterals", "blockBindings", "classes", + "defaultParams", "destructuring", "forOf", "generators", "modules", + "objectLiteralComputedProperties", "objectLiteralDuplicateProperties", + "objectLiteralShorthandMethods", "objectLiteralShorthandProperties", + "octalLiterals", "regexUFlag", "regexYFlag", "restParams", "spread", + "superInFunctions", "templateStrings", "unicodeCodePointEscapes" +]; + +function upgradeEcmaFeatures(config) { + let report = []; + if (Reflect.has(config, "ecmaFeatures")) { + let parserOptions = {}; + if (!Reflect.has(config, "parserOptions")) { + config["parserOptions"] = parserOptions; + }; + const features = config.ecmaFeatures; + let es = 5; + + if (features["modules"] === true) { + parserOptions["sourceType"] = "module"; + report.push(`* Set sourceType to "module" in parserOptions section`); + } + + for (const feature of ES6Features) { + if (Reflect.has(features, feature)) { + if (features[feature] === true) { + es = 6; + } + delete features[feature]; + report.push(`* Remove ${feature} from ecmaFeatures section`); + } + } + + parserOptions.ecmaVersion = Math.max(es, parserOptions.ecmaVersion || 0); + if (parserOptions.ecmaVersion !== 5) { + report.push(`* Set ecmaVersion to ${parserOptions.ecmaVersion} in parserOptions section`); + } + + if (Object.keys(features).length) { + parserOptions["ecmaFeatures"] = features; + delete config["ecmaFeatures"]; + report.push("* Move ecmaFeatures section under parserOptions section"); + } + + delete config["ecmaFeatures"]; + } + return report; +} + +const removedRules = { + "generator-star": + function(severity, pos) { + var pos = pos || ""; + var config = { + before: pos === "middle" || pos === "end", + after: pos === "begin" || pos === "middle" + }; + + return {"generator-star-spacing": [severity, config]}; + }, + "global-strict": + function(severity, option) { + if (option === "always") { + var config = {"global": true}; + return {"strict": [severity, config]}; + } else { + return {"strict": severity}; + }; + }, + "no-arrow-condition": + function(severity, option) { + return { + "no-confusing-arrow": severity, + "no-constant-condition": [severity, {"checkLoops": false}] + }; + }, + "no-comma-dangle": + function(severity) { + return {"comma-dangle": [severity, "always-multiline"]}; + }, + "no-empty-class": + function(severity) { + return {"no-empty-character-class": severity}; + }, + "no-empty-label": + function(severity) { + return {"no-labels": [severity, {"allowLoop": true}]}; + }, + "no-extra-strict": + function(severity) { + return {"strict": [severity, {"global": true}]}; + }, + "no-reserved-keys": + function(severity) { + return {"quote-props": [severity, "as-needed", {"keywords": true}]}; + }, + "no-space-before-semi": + function(severity) { + return {"semi-spacing": [severity, {"before": false}]}; + }, + "no-wrap-func": + function(severity) { + return {"no-extra-parens": [severity, "functions"]}; + }, + "space-after-function-name": + function(severity, option) { + return {"space-before-function-paren": [severity, option]}; + }, + "space-after-keywords": + function(severity, option) { + return { + "keyword-spacing": [ + severity, + { + "after": option === "always" + } + ]}; + }, + "space-before-function-parentheses": + function(severity, options) { + return {"space-before-function-paren": [severity, options]}; + }, + "space-before-keywords": + function(severity, option) { + var config = { + "before": option === "always" + }; + + return {"keyword-spacing": [severity, config]}; + }, + "space-in-brackets": + function(severity, option) { + return { + "object-curly-spacing": [severity, option], + "array-bracket-spacing": [severity, option] + }; + }, + "space-return-throw-case": + function(severity) { + return {"keyword-spacing": [severity, {"after": true}]}; + }, + "space-unary-word-ops": + function(severity) { + return {"space-unary-ops": [severity, {"words": true}]}; + }, + "spaced-line-comment": + function(severity, options) { + return {"spaced-comment": [severity].concat(options)}; + } +}; + +function upgradeRules(rules) { + let report = []; + for (const oldName in removedRules) { + if (Reflect.has(rules, oldName)) { + let config = rules[oldName]; + if (config.constructor !== Array) { + config = [config]; + } + let severity = config.shift(); + severity = SEVERITIES[severity] || severity; + if (config.length === 1) { + config = config[0]; + } + let newRules = removedRules[oldName](severity, config); + delete rules[oldName]; + for (const rule in newRules) { + rules[rule] = newRules[rule]; + } + + report.push( + `* Remove ${oldName} rule and add the following:\n` + + stringify(newRules, { space: 4 }).replace(/^[{}]$/gm, "") + + "\n" + ); + } + } + return report; +} + +function relativePath(filePath, root) { + return filePath.replace(new RegExp(`^${root}/`), ''); +} + +class ConfigUpgrader { + constructor() { + this._report = []; + }; + + upgrade(originalConfig) { + let config = merge({}, originalConfig); + + this._report = []; + + let report = upgradeEcmaFeatures(config); + this._report = this._report.concat(report); + if (Reflect.has(config, "rules")) { + report = upgradeRules(config.rules); + this._report = this._report.concat(report); + } + + return config; + } + + get report() { + return [].concat(this._report); + } + + static configs(analysisFiles) { + const dirs = analysisFiles.map(function(fileName){ + return path.dirname(fileName); + }); + const directories = Array.from(new Set(dirs)); + + const localConfigFinder = new FileFinder(CONFIG_FILES, process.cwd()); + + const configs = new Set(); + for (const dir of directories) { + const configFiles = localConfigFinder.findAllInDirectoryAndParents(dir); + for (const file of configFiles) { + configs.add(file); + } + } + + return Array.from(configs); + } + + static upgradeInstructions(analysisFiles, root) { + const reports = this.configs(analysisFiles).map(function(configFile) { + let report = []; + + const upgrader = new ConfigUpgrader(); + const config = new Config({configFile: configFile}); + upgrader.upgrade(config.useSpecificConfig); + + if (path.extname(configFile) === '') { + report.push("* Add .yml or .json to the config file name. Extension-less config file names are deprecated."); + } + + const bareConfigFilePath = relativePath(configFile, root); + + if (report.length > 0 || upgrader.report.length > 0) { + report = [ + `${bareConfigFilePath} appears to be incompatible with ESLint 3.`, + "To upgrade it do the following:\n" + ].concat(report).concat(upgrader.report); + } + + return report; + }); + + return reports.reduce(function(a, b) { return a.concat([""]).concat(b); }); + } +} + +module.exports = ConfigUpgrader; diff --git a/lib/eslint-patch.js b/lib/eslint-patch.js index d3f74aac4..f2677ca98 100644 --- a/lib/eslint-patch.js +++ b/lib/eslint-patch.js @@ -1,6 +1,8 @@ 'use strict'; var meld = require('meld'); var docs = require('./docs'); +var Config = require("eslint/lib/config"); +var ConfigUpgrader = require('./config_upgrader'); var supportedPlugins = ['react', 'babel']; @@ -27,6 +29,14 @@ module.exports = function patcher(eslint) { // } // }); + const originalGetConfig = Config.prototype.getConfig; + Config.prototype.getConfig = function(filePath) { + const originalConfig = originalGetConfig.apply(this, [filePath]); + const configUpgrader = new ConfigUpgrader(); + + return configUpgrader.upgrade(originalConfig); + }; + eslint.docs = docs; return eslint; diff --git a/test/config_upgrater_test.js b/test/config_upgrater_test.js new file mode 100644 index 000000000..129cd0966 --- /dev/null +++ b/test/config_upgrater_test.js @@ -0,0 +1,228 @@ +const ConfigUpgrader = require("../lib/config_upgrader") + , expect = require("chai").expect + , fs = require("fs") + , path = require("path") + , stringify = require("json-stable-stringify") + , temp = require('temp'); + +describe("ConfigUpgrader", function() { + describe(".upgradeInstructions", function() { + it("returns instructions", function(done) { + temp.mkdir("code ", function(err, directory) { + if (err) { throw err; } + + process.chdir(directory); + + const configPath = path.join(directory, ".eslintrc"); + fs.writeFile(configPath, "{}", function(err) { + if (err) { throw err; } + + + let report = ConfigUpgrader + .upgradeInstructions([directory + '/file.js'], directory); + expect(report).to.deep.eq([ + ".eslintrc appears to be incompatible with ESLint 3.", + "To upgrade it do the following:\n", + "* Add .yml or .json to the config file name. Extension-less config file names are deprecated." + ]); + done(); + }); + }); + }); + + it("ignores irrelevant configs", function(done) { + temp.mkdir("code ", function(err, directory) { + if (err) { throw err; } + + process.chdir(directory); + + const configPath = path.join(directory, ".eslintrc.json"); + fs.writeFile(configPath, "{}", function(err) { + if (err) { throw err; } + + fs.mkdir(path.join(directory, "lib"), function(err) { + if (err) { throw err; } + + fs.writeFile(path.join(directory, "lib", ".eslintrc"), "{}", function(err) { + if (err) { throw err; } + + let report = ConfigUpgrader + .upgradeInstructions([directory + '/file.js'], directory); + expect(report).to.deep.eq([]); + done(); + }); + }); + }); + }); + }); + }); + + + describe("#upgrade", function() { + describe("ecmaFeatures", function() { + [ + "arrowFunctions", "binaryLiterals", "blockBindings", "classes", + "defaultParams", "destructuring", "forOf", "generators", + "objectLiteralComputedProperties", "objectLiteralDuplicateProperties", + "objectLiteralShorthandMethods", "objectLiteralShorthandProperties", + "octalLiterals", "regexUFlag", "regexYFlag", "restParams", "spread", + "superInFunctions", "templateStrings", "unicodeCodePointEscapes" + ].forEach(function(feature){ + let originalConfig = {ecmaFeatures: {}}; + originalConfig.ecmaFeatures[feature] = true; + + let convertedConfig = {parserOptions: {ecmaVersion: 6}}; + + it(`upgrades ${stringify(originalConfig)}`, function(done){ + let upgrader = new ConfigUpgrader(); + let actualConfig = upgrader.upgrade(originalConfig); + + expect(actualConfig).to.deep.eq(convertedConfig); + expect(upgrader.report).to.lengthOf(2); + done(); + }); + }); + + + + let originalConfig = {ecmaFeatures: {modules: true}}; + it(`upgrades ${stringify(originalConfig)}`, function(done){ + let convertedConfig = {parserOptions: {sourceType: "module", ecmaVersion: 6}}; + let upgrader = new ConfigUpgrader(); + let actualConfig = upgrader.upgrade(originalConfig); + + expect(actualConfig).to.deep.eq(convertedConfig); + expect(upgrader.report).to.lengthOf(3); + done(); + }); + + it("carries over extra features", function(done) { + let originalConfig = {ecmaFeatures: {extraFeature: "yep"}}; + let convertedConfig = {parserOptions: {ecmaFeatures: {extraFeature: "yep"}, ecmaVersion: 5}}; + let upgrader = new ConfigUpgrader(); + let actualConfig = upgrader.upgrade(originalConfig); + + expect(actualConfig).to.deep.eq(convertedConfig); + expect(upgrader.report).to.lengthOf(1); + done(); + }); + }); + + describe("rules", function() { + [ + [ + {rules: {"generator-star": [0, "begin"]}}, + {rules: {"generator-star-spacing": ["off", {before: false, after: true}]}} + ], + [ + {rules: {"generator-star": [1, "middle"]}}, + {rules: {"generator-star-spacing": ["warn", {before: true, after: true}]}} + ], + [ + {rules: {"generator-star": [2, "end"]}}, + {rules: {"generator-star-spacing": ["error", {before: true, after: false}]}} + ], + [ + {rules: {"global-strict": [2, "always"]}}, + {rules: {"strict": ["error", {global: true}]}} + ], + [ + {rules: {"global-strict": [2, "never"]}}, + {rules: {"strict": "error"}} + ], + [ + {rules: {"no-arrow-condition": [2, "never"]}}, + {rules: {"no-confusing-arrow": "error", "no-constant-condition": ["error", {"checkLoops": false}]}} + ], + [ + {rules: {"no-comma-dangle": 2}}, + {rules: {"comma-dangle": ["error", "always-multiline"]}} + ], + [ + {rules: {"no-empty-class": 2}}, + {rules: {"no-empty-character-class": "error"}} + ], + [ + {rules: {"no-empty-label": 2}}, + {rules: {"no-labels": ["error", {"allowLoop": true}]}} + ], + [ + {rules: {"no-extra-strict": 2}}, + {rules: {"strict": ["error", {"global": true}]}} + ], + [ + {rules: {"no-reserved-keys": 2}}, + {rules: { "quote-props": ["error", "as-needed", { "keywords": true }] }} + ], + [ + {rules: {"no-space-before-semi": 2}}, + {rules: { "semi-spacing": ["error", {"before": false}] }} + ], + [ + {rules: {"no-wrap-func": 2}}, + {rules: { "no-extra-parens": ["error", "functions"] }} + ], + [ + {rules: {"space-after-function-name": [2, "always"]}}, + {rules: {"space-before-function-paren": ["error", "always"]}} + ], + [ + {rules: {"space-after-function-name": [2, "never"]}}, + {rules: {"space-before-function-paren": ["error", "never"]}} + ], + [ + {rules: {"space-after-keywords": [2, "always"]}}, + {rules: {"keyword-spacing": ["error", {"after": true}]}} + ], + [ + {rules: {"space-after-keywords": [2, "never"]}}, + {rules: {"keyword-spacing": ["error", {"after": false}]}} + ], + [ + {rules: {"space-before-function-parentheses": [2, "options"]}}, + {rules: { "space-before-function-paren": ["error", "options"] }} + ], + [ + {rules: {"space-before-keywords": [2, "always"]}}, + {rules: {"keyword-spacing": ["error", {before: true}]}} + ], + [ + {rules: {"space-before-keywords": [2, "never"]}}, + {rules: {"keyword-spacing": ["error", {before: false}]}} + ], + [ + {rules: {"space-in-brackets": [2, "always"]}}, + {rules: {"object-curly-spacing": ["error", "always"], "array-bracket-spacing": ["error", "always"]}} + ], + [ + {rules: {"space-in-brackets": [2, "never"]}}, + {rules: {"object-curly-spacing": ["error", "never"], "array-bracket-spacing": ["error", "never"]}} + ], + [ + {rules: {"space-return-throw-case": 2}}, + {rules: {"keyword-spacing": ["error", {"after": true}]}} + ], + [ + {rules: {"space-unary-word-ops": 2}}, + {rules: {"space-unary-ops": ["error", {"words": true}]}} + ], + [ + {rules: {"spaced-line-comment": [2, "opt1", "opt2"]}}, + {rules: {"spaced-comment": ["error", "opt1", "opt2"]}} + ] + ].forEach(function(example){ + let originalConfig = example[0]; + let convertedConfig = example[1]; + + it(`upgrades ${stringify(originalConfig)}`, function(done){ + let upgrader = new ConfigUpgrader(); + let actualConfig = upgrader.upgrade(originalConfig); + + expect(actualConfig).to.deep.eq(convertedConfig); + expect(upgrader.report).to.lengthOf(1); + done(); + }); + }); + }); + }); +}); From 1b6188d8f8b3f0a34f98ff561f6275c300cf8565 Mon Sep 17 00:00:00 2001 From: Alexander Mankuta Date: Thu, 23 Feb 2017 21:48:06 +0200 Subject: [PATCH 47/47] Fix null-config issue with upgrader When upgrader encountered a project that had no .eslintrc* but had an unrelated package.json that had no ESLint-related options in it an exception was thrown. --- lib/config_upgrader.js | 4 ++++ test/config_upgrater_test.js | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/lib/config_upgrader.js b/lib/config_upgrader.js index 16a56cd24..9a4f39004 100644 --- a/lib/config_upgrader.js +++ b/lib/config_upgrader.js @@ -204,6 +204,10 @@ class ConfigUpgrader { }; upgrade(originalConfig) { + if (typeof originalConfig === "undefined" || originalConfig === null) { + return {}; + } + let config = merge({}, originalConfig); this._report = []; diff --git a/test/config_upgrater_test.js b/test/config_upgrater_test.js index 129cd0966..e6cba7123 100644 --- a/test/config_upgrater_test.js +++ b/test/config_upgrater_test.js @@ -59,6 +59,14 @@ describe("ConfigUpgrader", function() { describe("#upgrade", function() { + it("doesn't fail with null config", function(done) { + let upgrader = new ConfigUpgrader(); + expect(function() { + upgrader.upgrade(null); + }).to.not.throw(TypeError); + done(); + }); + describe("ecmaFeatures", function() { [ "arrowFunctions", "binaryLiterals", "blockBindings", "classes",