diff --git a/lib/assert.js b/lib/assert.js index 28b2785ab..f0f3330d1 100644 --- a/lib/assert.js +++ b/lib/assert.js @@ -344,7 +344,9 @@ function wrapAssertions(callbacks) { if (isPromise(thrower)) { return handlePromise(thrower, false); - } else if (isObservable(thrower)) { + } + + if (isObservable(thrower)) { return handleObservable(thrower, false); } @@ -361,14 +363,18 @@ function wrapAssertions(callbacks) { if (!threw) { if (isPromise(retval)) { return handlePromise(retval, true); - } else if (isObservable(retval)) { + } + + if (isObservable(retval)) { return handleObservable(retval, true); } + fail(this, new AssertionError({ assertion: 'throws', message, values: [formatWithLabel('Function returned:', retval)] })); + return; } @@ -426,7 +432,9 @@ function wrapAssertions(callbacks) { if (isPromise(nonThrower)) { return handlePromise(nonThrower, false); - } else if (isObservable(nonThrower)) { + } + + if (isObservable(nonThrower)) { return handleObservable(nonThrower, false); } @@ -444,9 +452,12 @@ function wrapAssertions(callbacks) { if (isPromise(retval)) { return handlePromise(retval, true); - } else if (isObservable(retval)) { + } + + if (isObservable(retval)) { return handleObservable(retval, true); } + pass(this); }, diff --git a/lib/process-adapter.js b/lib/process-adapter.js index cf4685b4f..700fdbcd1 100644 --- a/lib/process-adapter.js +++ b/lib/process-adapter.js @@ -101,6 +101,7 @@ exports.installPrecompilerHook = () => { }); }; +/* eslint-disable node/no-deprecated-api */ exports.installDependencyTracking = (dependencies, testPath) => { Object.keys(require.extensions).forEach(ext => { const wrappedHandler = require.extensions[ext]; @@ -114,3 +115,4 @@ exports.installDependencyTracking = (dependencies, testPath) => { }; }); }; +/* eslint-enable node/no-deprecated-api */ diff --git a/package-lock.json b/package-lock.json index c424f5093..845d0042e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -456,9 +456,9 @@ } }, "@std/esm": { - "version": "0.19.7", - "resolved": "https://registry.npmjs.org/@std/esm/-/esm-0.19.7.tgz", - "integrity": "sha512-bPBbpu1vqgOOD70aMVG5tgioPdttKXQQFq6xodjZxVbPprtZIcm8NcTEJoB+/1QoH8z1TIqjaEN1Wm3YndnfNQ==", + "version": "0.21.7", + "resolved": "https://registry.npmjs.org/@std/esm/-/esm-0.21.7.tgz", + "integrity": "sha512-GbuVyWFeh+HYCX0cgvKoY0jWN3t8s11+i2mvBtXswl2WDNNaHpF6JwbZQxdf3cfRRO4E7bS9FeZ2Y+HB1WwFPg==", "dev": true }, "abbrev": { @@ -466,12 +466,6 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=" }, - "acorn": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.0.3.tgz", - "integrity": "sha1-xGDfCEkUY/AozLguqzcwvwEIez0=", - "dev": true - }, "acorn-jsx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", @@ -498,12 +492,6 @@ "json-stable-stringify": "1.0.1" } }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", @@ -1408,6 +1396,12 @@ "estraverse": "4.2.0" } }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, "call-signature": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz", @@ -1688,6 +1682,15 @@ } } }, + "clean-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz", + "integrity": "sha1-jffHquUf02h06PjQW5GAvBGj/tc=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, "clean-stack": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", @@ -2190,15 +2193,6 @@ "array-find-index": "1.0.2" } }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.23" - } - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -2266,15 +2260,6 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, - "deep-assign": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-1.0.0.tgz", - "integrity": "sha1-sJJ0O+hCfcYh6gBnzex+cN0Z83s=", - "dev": true, - "requires": { - "is-obj": "1.0.1" - } - }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -2436,16 +2421,6 @@ } } }, - "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - } - }, "dot-prop": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", @@ -2495,6 +2470,12 @@ "lodash": "4.17.4" } }, + "env-editor": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.3.1.tgz", + "integrity": "sha1-MNBUDCEBQU8lipTUwKUkwGwT48Y=", + "dev": true + }, "equal-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz", @@ -2508,362 +2489,33 @@ "is-arrayish": "0.2.1" } }, - "es5-ext": { - "version": "0.10.23", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.23.tgz", - "integrity": "sha1-dXi1G+l0IHpUh4IbVlOMIk5Oezg=", - "dev": true, - "requires": { - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } - }, "es6-error": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.0.2.tgz", "integrity": "sha1-7sXHJurO9Rt/a3PCDbbhsTsGnJg=" }, - "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.23", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.23", - "es6-iterator": "2.0.1", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.23", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.23" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.23", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" - } - }, - "eslint": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz", - "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "eslint-ast-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-ast-utils/-/eslint-ast-utils-1.1.0.tgz", + "integrity": "sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==", "dev": true, "requires": { - "babel-code-frame": "6.22.0", - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.9", - "doctrine": "2.0.0", - "escope": "3.6.0", - "espree": "3.4.3", - "esquery": "1.0.0", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "glob": "7.1.2", - "globals": "9.17.0", - "ignore": "3.3.3", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "2.16.0", - "is-resolvable": "1.0.0", - "js-yaml": "3.8.4", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.7.8", - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "1.0.1" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.1.1", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.1.0", - "figures": "1.7.0", - "lodash": "4.17.4", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" - } - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "lodash.get": "4.4.2", + "lodash.zip": "4.2.0" } }, - "eslint-config-xo": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.18.2.tgz", - "integrity": "sha1-ChVxIIdWGZKec1/9axhcQeihh68=", - "dev": true - }, - "eslint-formatter-pretty": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-formatter-pretty/-/eslint-formatter-pretty-1.1.0.tgz", - "integrity": "sha1-q00G2gL+2ME66fDcVApDPvftb14=", + "eslint-config-prettier": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz", + "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { - "ansi-escapes": "1.4.0", - "chalk": "1.1.3", - "log-symbols": "1.0.2", - "plur": "2.1.2", - "string-width": "2.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } + "get-stdin": "5.0.1" } }, "eslint-import-resolver-node": { @@ -2933,22 +2585,6 @@ } } }, - "eslint-plugin-ava": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-4.2.1.tgz", - "integrity": "sha1-fNtegbx3n0gz1HIKYJPl9KbKGRM=", - "dev": true, - "requires": { - "arrify": "1.0.1", - "deep-strict-equal": "0.2.0", - "enhance-visitors": "1.0.0", - "espree": "3.4.3", - "espurify": "1.7.0", - "import-modules": "1.1.0", - "multimatch": "2.1.0", - "pkg-up": "2.0.0" - } - }, "eslint-plugin-import": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz", @@ -3008,25 +2644,61 @@ "is-proto-prop": "1.0.0" } }, - "eslint-plugin-promise": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.5.0.tgz", - "integrity": "sha1-ePu2/+BHIBYnVp6FpsU3OvKmj8o=", - "dev": true + "eslint-plugin-node": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-6.0.0.tgz", + "integrity": "sha512-Qj4dMF1N/wRALO1IRvnchn8c1i0awgrztrGx7MjF9ewDwlW/heNB+WeZ09bhp8Yp0TD+BZcADP8BRya0wmropA==", + "dev": true, + "requires": { + "ignore": "3.3.7", + "minimatch": "3.0.4", + "resolve": "1.5.0", + "semver": "5.5.0" + }, + "dependencies": { + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true + }, + "resolve": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + } + } }, - "eslint-plugin-unicorn": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-2.1.2.tgz", - "integrity": "sha1-md/+n0dzsEvDk1an/r1k3XACdLw=", + "eslint-plugin-prettier": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz", + "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", + "dev": true, + "requires": { + "fast-diff": "1.1.1", + "jest-docblock": "21.2.0" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "import-modules": "1.1.0", - "lodash.camelcase": "4.3.0", - "lodash.kebabcase": "4.1.1", - "lodash.snakecase": "4.1.1", - "lodash.upperfirst": "4.3.1" + "esrecurse": "4.2.0", + "estraverse": "4.2.0" } }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, "espower-location-detector": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/espower-location-detector/-/espower-location-detector-1.0.0.tgz", @@ -3038,16 +2710,6 @@ "xtend": "4.0.1" } }, - "espree": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.4.3.tgz", - "integrity": "sha1-KRC1zNSc6JPC//+qtP2LOjG4I3Q=", - "dev": true, - "requires": { - "acorn": "5.0.3", - "acorn-jsx": "3.0.1" - } - }, "esprima": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", @@ -3091,16 +2753,6 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.23" - } - }, "events-to-array": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", @@ -3135,12 +2787,6 @@ } } }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, "expand-brackets": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", @@ -3194,196 +2840,459 @@ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" }, + "fast-deep-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true + }, "fast-diff": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.1.1.tgz", "integrity": "sha1-CuoOTmBbaiGJ8Ok21Lf7rxt8/Zs=" }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "fast-glob": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.0.3.tgz", + "integrity": "sha512-H50yGY6hTHyq+8jKULDQHuXnu9db4Z08L26AXJTP+MRHksijJ2Yfi8uddNtQm6oRccjivTVCHOrGyzmyPDhTKg==", "dev": true, "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" + "glob-parent": "3.1.0", + "merge2": "1.2.1", + "micromatch": "3.1.5", + "readdir-enhanced": "github:mrmlnc/readdir-enhanced#1580afe4fdf21cd191c202ec599d1ca7d0ab062d" }, "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true - } - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "1.2.2", - "object-assign": "4.1.1" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" - }, - "fill-keys": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", - "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", - "dev": true, - "requires": { - "is-object": "1.0.1", - "merge-descriptors": "1.0.1" - } - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.6", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "2.0.0" - } - }, - "flat-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", - "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", - "dev": true, - "requires": { - "circular-json": "0.3.1", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - }, - "dependencies": { - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", + "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.1", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.1" } }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "ms": "2.0.0" } - } - } - }, - "flow-bin": { - "version": "0.64.0", - "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.64.0.tgz", - "integrity": "sha1-3dP7Oxg6sas1pdXeycr167ze0Wc=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "requires": { - "for-in": "1.0.2" - } - }, - "foreground-child": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "dev": true, - "requires": { - "cross-spawn": "4.0.2", - "signal-exit": "3.0.2" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "formatio": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", - "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", - "dev": true, - "requires": { - "samsam": "1.3.0" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "0.2.2" - } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.0", + "snapdragon": "0.8.1", + "to-regex": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "extglob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.2.tgz", + "integrity": "sha512-I0+eZBH+jFGL8F5BnIz2ON2nKCjTS3AS3H/5PeSmCp7UVC70Ym8IhdRiQly2juKYQ//f7z1aj1BRpQniFJoU1w==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.0", + "snapdragon": "0.8.1", + "to-regex": "3.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", + "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.0", + "define-property": "1.0.0", + "extend-shallow": "2.0.1", + "extglob": "2.0.2", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.7", + "object.pick": "1.3.0", + "regex-not": "1.0.0", + "snapdragon": "0.8.1", + "to-regex": "3.0.1" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fbjs": { + "version": "0.8.16", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", + "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "dev": true, + "requires": { + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.17" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + } + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.2.2", + "object-assign": "4.1.1" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fill-keys": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz", + "integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=", + "dev": true, + "requires": { + "is-object": "1.0.1", + "merge-descriptors": "1.0.1" + } + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.6", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "dev": true, + "requires": { + "circular-json": "0.3.1", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" + }, + "dependencies": { + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.1" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + } + } + }, + "flow-bin": { + "version": "0.65.0", + "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.65.0.tgz", + "integrity": "sha512-/Ny7pElDdmwgxq8ALf87/MylzXWAh2Kny1kxGUOG1TxwGEQMctgENtLpuwx8fwvlIUebgJWF8ylhWOcmiNKDpA==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "1.0.2" + } + }, + "foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "dev": true, + "requires": { + "cross-spawn": "4.0.2", + "signal-exit": "3.0.2" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "formatio": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz", + "integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=", + "dev": true, + "requires": { + "samsam": "1.3.0" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "0.2.2" + } }, "fs-exists-cached": { "version": "1.0.0", @@ -3556,6 +3465,12 @@ "resolved": "https://registry.npmjs.org/function-name-support/-/function-name-support-0.2.0.tgz", "integrity": "sha1-VdO/qm6v1QWlD5vIH99XVkoLsHE=" }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -3701,6 +3616,12 @@ "is-glob": "2.0.1" } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, "global-dirs": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.0.tgz", @@ -3709,12 +3630,6 @@ "ini": "1.3.4" } }, - "globals": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.17.0.tgz", - "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=", - "dev": true - }, "globby": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", @@ -3879,6 +3794,12 @@ "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=" }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -4117,12 +4038,6 @@ } } }, - "interpret": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", - "dev": true - }, "invariant": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", @@ -4498,6 +4413,12 @@ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -4620,6 +4541,12 @@ "handlebars": "4.0.11" } }, + "jest-docblock": { + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-21.2.0.tgz", + "integrity": "sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw==", + "dev": true + }, "jodid25519": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", @@ -4676,6 +4603,12 @@ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", @@ -4684,6 +4617,12 @@ "jsonify": "0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -4786,6 +4725,12 @@ "type-check": "0.3.2" } }, + "line-column-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/line-column-path/-/line-column-path-1.0.0.tgz", + "integrity": "sha1-ODuD/KhIj6p6WZQOvyi4IFjBbFU=", + "dev": true + }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -4891,6 +4836,12 @@ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, "lodash.snakecase": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", @@ -4903,66 +4854,18 @@ "integrity": "sha1-E2Xt9DFIBIHvDRxolXpe2Z1J984=", "dev": true }, + "lodash.zip": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.zip/-/lodash.zip-4.2.0.tgz", + "integrity": "sha1-7GZi5IlkCO1KtsVCo5kLcswIACA=", + "dev": true + }, "log-driver": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", "dev": true }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "1.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, "lolex": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.3.1.tgz", @@ -5158,6 +5061,12 @@ "source-map": "0.5.6" } }, + "merge2": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.1.tgz", + "integrity": "sha512-wUqcG5pxrAcaFI1lkqkMnk3Q7nUxV/NWfpAFSeWUwG9TRODnBDCUHa75mi3o3vLWQ5N4CQERWCauSlP0I3ZqUg==", + "dev": true + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -6101,12 +6010,32 @@ "mimic-fn": "1.1.0" } }, + "open-editor": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/open-editor/-/open-editor-1.2.0.tgz", + "integrity": "sha1-dcoj8LdNSz9V7guKTg9cIyXrd18=", + "dev": true, + "requires": { + "env-editor": "0.3.1", + "line-column-path": "1.0.0", + "opn": "5.1.0" + } + }, "opener": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz", "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=", "dev": true }, + "opn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, "optimist": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", @@ -6459,12 +6388,6 @@ "irregular-plurals": "1.2.0" } }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", @@ -6486,6 +6409,12 @@ "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, + "prettier": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.10.2.tgz", + "integrity": "sha512-TcdNoQIWFoHblurqqU6d1ysopjq7UX0oRcT/hJ8qvBAELiYWn+Ugf0AXdnzISEJ7vuhNnQ98N8jR8Sh53x4IZg==", + "dev": true + }, "pretty-ms": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-3.1.0.tgz", @@ -6500,12 +6429,6 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true - }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -6647,6 +6570,14 @@ "util-deprecate": "1.0.2" } }, + "readdir-enhanced": { + "version": "github:mrmlnc/readdir-enhanced#1580afe4fdf21cd191c202ec599d1ca7d0ab062d", + "dev": true, + "requires": { + "call-me-maybe": "1.0.1", + "glob-to-regexp": "0.3.0" + } + }, "readdirp": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", @@ -6658,43 +6589,6 @@ "set-immediate-shim": "1.0.1" } }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "mute-stream": "0.0.5" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "1.1.7" - } - }, "redent": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", @@ -6926,6 +6820,12 @@ "signal-exit": "3.0.2" } }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -6957,6 +6857,15 @@ "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", "dev": true }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "3.1.2" + } + }, "rxjs": { "version": "5.5.6", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", @@ -6979,6 +6888,15 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, "samsam": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz", @@ -7051,17 +6969,6 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true, - "requires": { - "glob": "7.1.2", - "interpret": "1.0.3", - "rechoir": "0.6.2" - } - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -7087,12 +6994,6 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, "slide": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", @@ -7576,65 +7477,6 @@ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.4", - "slice-ansi": "0.0.4", - "string-width": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, "tap": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/tap/-/tap-11.0.1.tgz", @@ -8544,15 +8386,6 @@ } } }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -8783,19 +8616,9 @@ "dependencies": { "detect-indent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", - "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" - } - } - }, - "write-pkg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-2.1.0.tgz", - "integrity": "sha1-NTqkTDnEjCFED1wIzmq9RhQcnAg=", - "dev": true, - "requires": { - "sort-keys": "1.1.2", - "write-json-file": "2.2.0" + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" + } } }, "xdg-basedir": { @@ -8804,155 +8627,293 @@ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" }, "xo": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/xo/-/xo-0.18.2.tgz", - "integrity": "sha1-kqQusCpPsUnf6lUYAhkU9arIT/A=", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/xo/-/xo-0.20.0.tgz", + "integrity": "sha512-1JxEvSf+XY4ByAOBZIhL7ZZOsGYcj6V1LP4wduhBY3Cbzmq18fVD74SKlWpb0AhLHLZMGp1wIshXAt+a3sW9bg==", "dev": true, "requires": { "arrify": "1.0.1", - "debug": "2.6.9", - "deep-assign": "1.0.0", - "eslint": "3.19.0", - "eslint-config-xo": "0.18.2", - "eslint-formatter-pretty": "1.1.0", - "eslint-plugin-ava": "4.2.1", + "debug": "3.1.0", + "eslint": "4.17.0", + "eslint-config-prettier": "2.9.0", + "eslint-config-xo": "0.20.0", + "eslint-formatter-pretty": "1.3.0", + "eslint-plugin-ava": "4.5.0", "eslint-plugin-import": "2.8.0", "eslint-plugin-no-use-extend-native": "0.3.12", - "eslint-plugin-promise": "3.5.0", - "eslint-plugin-unicorn": "2.1.2", + "eslint-plugin-node": "6.0.0", + "eslint-plugin-prettier": "2.6.0", + "eslint-plugin-promise": "3.6.0", + "eslint-plugin-unicorn": "4.0.1", "get-stdin": "5.0.1", - "globby": "6.1.0", - "has-flag": "2.0.0", - "ignore": "3.3.3", + "globby": "8.0.0", + "has-flag": "3.0.0", "lodash.isequal": "4.5.0", - "meow": "3.7.0", + "lodash.mergewith": "4.6.1", + "meow": "4.0.0", "multimatch": "2.1.0", + "open-editor": "1.2.0", "path-exists": "3.0.0", "pkg-conf": "2.1.0", - "resolve-cwd": "1.0.0", - "resolve-from": "2.0.0", + "prettier": "1.10.2", + "resolve-cwd": "2.0.0", + "resolve-from": "4.0.0", + "semver": "5.5.0", "slash": "1.0.0", "update-notifier": "2.3.0", - "xo-init": "0.5.0" + "xo-init": "0.7.0" }, "dependencies": { - "camelcase": { + "acorn": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "dev": true + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true }, - "camelcase-keys": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.0.2", + "shebang-command": "1.2.0", + "which": "1.2.14" + } + }, + "doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "esutils": "2.0.2" } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "eslint": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.17.0.tgz", + "integrity": "sha512-AyxBUCANU/o/xC0ijGMKavo5Ls3oK6xykiOITlMdjFjrKOsqLrA7Nf5cnrDgcKrHzBirclAZt63XO7YZlVUPwA==", "dev": true, "requires": { - "ms": "2.0.0" + "ajv": "5.5.2", + "babel-code-frame": "6.22.0", + "chalk": "2.3.0", + "concat-stream": "1.6.0", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.2", + "esquery": "1.0.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.1.0", + "ignore": "3.3.3", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.0.0", + "js-yaml": "3.10.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.2", + "text-table": "0.2.0" + } + }, + "eslint-config-xo": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/eslint-config-xo/-/eslint-config-xo-0.20.0.tgz", + "integrity": "sha512-FbvxLZ0QXBL7a0ToVFT8cTD/ZWRcMdLHF2nehow0SUtVslMa5+YUnVcUq8jxcb6IFj1dwdO4LvjNkPeBMdwAdA==", + "dev": true + }, + "eslint-formatter-pretty": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-formatter-pretty/-/eslint-formatter-pretty-1.3.0.tgz", + "integrity": "sha512-5DY64Y1rYCm7cfFDHEGUn54bvCnK+wSUVF07N8oXeqUJFSd+gnYOTXbzelQ1HurESluY6gnEQPmXOIkB4Wa+gA==", + "dev": true, + "requires": { + "ansi-escapes": "2.0.0", + "chalk": "2.3.0", + "log-symbols": "2.2.0", + "plur": "2.1.2", + "string-width": "2.1.1" }, "dependencies": { - "ms": { + "ansi-escapes": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-2.0.0.tgz", + "integrity": "sha1-W65SvkJIeN2Xg+iRDj/Cki6DyBs=", "dev": true } } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "eslint-plugin-ava": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-ava/-/eslint-plugin-ava-4.5.0.tgz", + "integrity": "sha512-l3MBi4nvPOo8a/sPOvYjluWRxbMwi7roYIk53eb71ChtRfNow9TInUAcxV+P8TIXr2fYaeStP5M8cva2hbedSA==", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1" - } - } + "arrify": "1.0.1", + "deep-strict-equal": "0.2.0", + "enhance-visitors": "1.0.0", + "espree": "3.5.2", + "espurify": "1.7.0", + "import-modules": "1.1.0", + "multimatch": "2.1.0", + "pkg-up": "2.0.0" + } + }, + "eslint-plugin-promise": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz", + "integrity": "sha512-YQzM6TLTlApAr7Li8vWKR+K3WghjwKcYzY0d2roWap4SLK+kzuagJX/leTetIDWsFcTFnKNJXWupDCD6aZkP2Q==", + "dev": true + }, + "eslint-plugin-unicorn": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-4.0.1.tgz", + "integrity": "sha512-2Z3g9gygH2x+m2ZXcfAdIV8qRAYJWjxQrIzj1NljU4xZ6Oaxl0gIDffAgWzN0Wg4mN/uNqYabeglcMKhVDXHNA==", + "dev": true, + "requires": { + "clean-regexp": "1.0.0", + "eslint-ast-utils": "1.1.0", + "import-modules": "1.1.0", + "lodash.camelcase": "4.3.0", + "lodash.kebabcase": "4.1.1", + "lodash.snakecase": "4.1.1", + "lodash.upperfirst": "4.3.1", + "safe-regex": "1.1.0" + } + }, + "espree": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", + "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", + "dev": true, + "requires": { + "acorn": "5.2.1", + "acorn-jsx": "3.0.1" } }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, + "globals": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", + "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", + "dev": true + }, "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.0.tgz", + "integrity": "sha512-J8ous7DaaOmpw58Vw6E0EyV3yPK+RdMe7Y+/T3rGy3uhFBMwRL1/UEntVCLg5xY6ASm7X6aziXCO+ZgtMv/ZMA==", "dev": true, "requires": { "array-union": "1.0.2", + "dir-glob": "2.0.0", + "fast-glob": "2.0.3", "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "ignore": "3.3.7", + "pify": "3.0.0", + "slash": "1.0.0" + }, + "dependencies": { + "ignore": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true + } } }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.0.0", + "chalk": "2.3.0", + "cli-cursor": "2.1.0", + "cli-width": "2.1.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.4", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "dev": true, "requires": { - "repeating": "2.0.1" + "argparse": "1.0.9", + "esprima": "4.0.0" } }, "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.3.8", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "chalk": "2.3.0" } }, "minimist": { @@ -8961,136 +8922,143 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.1" + } + }, "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "pify": "3.0.0" } }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "1.1.0", + "load-json-file": "4.0.0", "normalize-package-data": "2.3.8", - "path-type": "1.1.0" + "path-type": "3.0.0" } }, "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "2.1.0", + "read-pkg": "3.0.0" } }, - "redent": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "slice-ansi": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "is-fullwidth-code-point": "2.0.0" } }, - "resolve-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-1.0.0.tgz", - "integrity": "sha1-Tq7qQe0EDRcCRX32SkKysH0kb58=", + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", "dev": true, "requires": { - "resolve-from": "2.0.0" + "is-plain-obj": "1.1.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "get-stdin": "4.0.1" - }, - "dependencies": { - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - } + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.3.0", + "lodash": "4.17.4", + "slice-ansi": "1.0.0", + "string-width": "2.1.1" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - } - } - }, - "xo-init": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/xo-init/-/xo-init-0.5.0.tgz", - "integrity": "sha1-jijex5Z2zF4EL95f2PcQ4mRrDjY=", - "dev": true, - "requires": { - "arrify": "1.0.1", - "execa": "0.5.1", - "minimist": "1.2.0", - "path-exists": "3.0.0", - "read-pkg-up": "2.0.0", - "the-argv": "1.0.0", - "write-pkg": "2.1.0" - }, - "dependencies": { - "execa": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.5.1.tgz", - "integrity": "sha1-3j+4XLjW6RyFvLzrFkWBeFy1ezY=", + "write-pkg": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/write-pkg/-/write-pkg-3.1.0.tgz", + "integrity": "sha1-AwqZlMyZk9JbTnWp8aGSNgcpHOk=", "dev": true, "requires": { - "cross-spawn": "4.0.2", - "get-stream": "2.3.1", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "sort-keys": "2.0.0", + "write-json-file": "2.2.0" } }, - "get-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", - "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "xo-init": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/xo-init/-/xo-init-0.7.0.tgz", + "integrity": "sha512-mrrCKMu52vz0u2tiOl8DoG709pBtnSp58bb4/j58a4jeXjrb1gV7dxfOBjOlXitYtfW2QnlxxxfAojoFcpynDg==", "dev": true, "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" + "arrify": "1.0.1", + "execa": "0.9.0", + "has-yarn": "1.0.0", + "minimist": "1.2.0", + "path-exists": "3.0.0", + "read-pkg-up": "3.0.0", + "the-argv": "1.0.0", + "write-pkg": "3.1.0" } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true } } }, @@ -9147,9 +9115,9 @@ } }, "zen-observable": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz", - "integrity": "sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.6.tgz", + "integrity": "sha512-L/snSXVoNsU1djDL0dx5qDQVY52QKu09c2vEgThkyuRA/yQC+ZJcZMESC2YaKkDK7Shq2F/lgm1TefLLzZJiSg==", "dev": true } } diff --git a/package.json b/package.json index c5cdee456..ab3b4f5ca 100644 --- a/package.json +++ b/package.json @@ -141,13 +141,13 @@ "update-notifier": "^2.3.0" }, "devDependencies": { - "@std/esm": "^0.19.1", + "@std/esm": "^0.21.7", "cli-table2": "^0.2.0", "codecov": "^3.0.0", "del": "^3.0.0", "delay": "^2.0.0", "execa": "^0.9.0", - "flow-bin": "^0.64.0", + "flow-bin": "^0.65.0", "get-stream": "^3.0.0", "git-branch": "^1.0.0", "has-ansi": "^3.0.0", @@ -165,8 +165,8 @@ "temp-write": "^3.4.0", "touch": "^3.1.0", "typescript": "^2.7.1", - "xo": "^0.18.2", - "zen-observable": "^0.7.1" + "xo": "^0.20.0", + "zen-observable": "^0.8.6" }, "typings": "index.d.ts", "xo": { diff --git a/test/assert.js b/test/assert.js index 0d3deb65a..1fad472ca 100644 --- a/test/assert.js +++ b/test/assert.js @@ -799,7 +799,7 @@ test('.throws()', gather(t => { // Passes because the correct error is thrown. passes(t, () => { assertions.throws(() => { - throw new TypeError(); + throw new TypeError(); // eslint-disable-line unicorn/error-message }, {name: 'TypeError'}); }); diff --git a/test/beautify-stack.js b/test/beautify-stack.js index d23ac0186..e777baeaf 100644 --- a/test/beautify-stack.js +++ b/test/beautify-stack.js @@ -18,7 +18,7 @@ function fooFunc() { } function barFunc() { - throw new Error(); + throw new Error(); // eslint-disable-line unicorn/error-message } test('does not strip ava internals and dependencies from stack trace with debug enabled', t => { diff --git a/test/fixture/_generate-source-map-initial.js b/test/fixture/_generate-source-map-initial.js index ff70aba7a..239bf7f36 100644 --- a/test/fixture/_generate-source-map-initial.js +++ b/test/fixture/_generate-source-map-initial.js @@ -26,9 +26,11 @@ const run = () => fixture.run(); fs.writeFileSync( path.join(__dirname, 'source-map-initial.js'), - transformed.code + '\n//# sourceMappingURL=./source-map-initial.js.map\n// Generated using node test/fixtures/_generate-source-map-initial.js\n'); + transformed.code + '\n//# sourceMappingURL=./source-map-initial.js.map\n// Generated using node test/fixtures/_generate-source-map-initial.js\n' +); fs.writeFileSync( path.join(__dirname, 'source-map-initial.js.map'), - JSON.stringify(transformed.map)); + JSON.stringify(transformed.map) +); console.log('Generated source-map-initial.js'); diff --git a/test/fixture/async-await.js b/test/fixture/async-await.js index 28fc37783..ce69fe867 100644 --- a/test/fixture/async-await.js +++ b/test/fixture/async-await.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('async function', async t => { t.plan(1); diff --git a/test/fixture/babelrc-js/test.js b/test/fixture/babelrc-js/test.js index 4da86f81c..c22364862 100644 --- a/test/fixture/babelrc-js/test.js +++ b/test/fixture/babelrc-js/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; const fixture = [1, 2]; diff --git a/test/fixture/babelrc/test.js b/test/fixture/babelrc/test.js index 4da86f81c..c22364862 100644 --- a/test/fixture/babelrc/test.js +++ b/test/fixture/babelrc/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; const fixture = [1, 2]; diff --git a/test/fixture/caching/test.js b/test/fixture/caching/test.js index e893ee744..61051370c 100644 --- a/test/fixture/caching/test.js +++ b/test/fixture/caching/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; test('test', t => { t.true(2 + 2 === 4); diff --git a/test/fixture/chalk-disabled.js b/test/fixture/chalk-disabled.js index 21caccf3e..0204ac28b 100644 --- a/test/fixture/chalk-disabled.js +++ b/test/fixture/chalk-disabled.js @@ -1,5 +1,5 @@ import chalk from 'chalk'; -import test from '../../'; +import test from '../..'; test('should not support colors', t => { t.false(chalk.enabled); diff --git a/test/fixture/chalk-enabled.js b/test/fixture/chalk-enabled.js index a7e0ff640..0827cc370 100644 --- a/test/fixture/chalk-enabled.js +++ b/test/fixture/chalk-enabled.js @@ -1,5 +1,5 @@ import chalk from 'chalk'; -import test from '../../'; +import test from '../..'; test('should support colors', t => { t.true(chalk.enabled); diff --git a/test/fixture/circular-reference-on-assertion.js b/test/fixture/circular-reference-on-assertion.js index 452e35477..476e0f9f2 100644 --- a/test/fixture/circular-reference-on-assertion.js +++ b/test/fixture/circular-reference-on-assertion.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('test', t => { const circular = ['a', 'b']; diff --git a/test/fixture/concurrency/test.js b/test/fixture/concurrency/test.js index 777e7f3d8..035e8bb9c 100644 --- a/test/fixture/concurrency/test.js +++ b/test/fixture/concurrency/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; test('works', t => { t.pass(); diff --git a/test/fixture/debug-arg.js b/test/fixture/debug-arg.js index 6d62bc8cb..ad46b6e18 100644 --- a/test/fixture/debug-arg.js +++ b/test/fixture/debug-arg.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('test', t => { t.true(process.execArgv[0].indexOf('--debug') === 0); diff --git a/test/fixture/destructuring-public-api.js b/test/fixture/destructuring-public-api.js index 961a2d7ed..f8f6b3ac7 100644 --- a/test/fixture/destructuring-public-api.js +++ b/test/fixture/destructuring-public-api.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.beforeEach(t => { t.context = 'bar'; diff --git a/test/fixture/error-in-anonymous-function.js b/test/fixture/error-in-anonymous-function.js index 1a9051bde..0a6e54242 100644 --- a/test/fixture/error-in-anonymous-function.js +++ b/test/fixture/error-in-anonymous-function.js @@ -1,7 +1,7 @@ -import test from '../../'; +import test from '../..'; const getAnonymousFn = () => () => { - throw new Error(); + throw new Error(); // eslint-disable-line unicorn/error-message }; test('test', t => { diff --git a/test/fixture/error-without-message.js b/test/fixture/error-without-message.js index c2a2af7ef..775933f27 100644 --- a/test/fixture/error-without-message.js +++ b/test/fixture/error-without-message.js @@ -1,5 +1,5 @@ -import test from '../../'; +import test from '../..'; test('throw an error without a message', () => { - throw new Error(); + throw new Error(); // eslint-disable-line unicorn/error-message }); diff --git a/test/fixture/es2015-source-maps.js b/test/fixture/es2015-source-maps.js index 63c3dda1f..385e483d0 100644 --- a/test/fixture/es2015-source-maps.js +++ b/test/fixture/es2015-source-maps.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('test', t => { t.pass(); diff --git a/test/fixture/es2015.js b/test/fixture/es2015.js index 56bf8fb88..49d1343b0 100644 --- a/test/fixture/es2015.js +++ b/test/fixture/es2015.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('test', t => { t.pass(); diff --git a/test/fixture/exclusive-nonexclusive.js b/test/fixture/exclusive-nonexclusive.js index 2f68cd105..c8260ef90 100644 --- a/test/fixture/exclusive-nonexclusive.js +++ b/test/fixture/exclusive-nonexclusive.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.only('only', t => { t.pass(); diff --git a/test/fixture/fail-fast/crash/crashes.js b/test/fixture/fail-fast/crash/crashes.js index fe046b460..ab018a18e 100644 --- a/test/fixture/fail-fast/crash/crashes.js +++ b/test/fixture/fail-fast/crash/crashes.js @@ -1,3 +1,3 @@ -import '../../../../'; // eslint-disable-line import/no-unassigned-import +import '../../../..'; // eslint-disable-line import/no-unassigned-import process.exit(1); // eslint-disable-line unicorn/no-process-exit diff --git a/test/fixture/fail-fast/crash/passes.js b/test/fixture/fail-fast/crash/passes.js index fe55dc3d0..ca94aefad 100644 --- a/test/fixture/fail-fast/crash/passes.js +++ b/test/fixture/fail-fast/crash/passes.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('first pass', t => { t.pass(); diff --git a/test/fixture/fail-fast/multiple-files/fails.js b/test/fixture/fail-fast/multiple-files/fails.js index 83c8bc219..cf9474e7b 100644 --- a/test/fixture/fail-fast/multiple-files/fails.js +++ b/test/fixture/fail-fast/multiple-files/fails.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('first pass', t => { t.pass(); diff --git a/test/fixture/fail-fast/multiple-files/passes-slow.js b/test/fixture/fail-fast/multiple-files/passes-slow.js index 3464a4216..465eee0ca 100644 --- a/test/fixture/fail-fast/multiple-files/passes-slow.js +++ b/test/fixture/fail-fast/multiple-files/passes-slow.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test.serial('first pass', async t => { t.pass(); diff --git a/test/fixture/fail-fast/multiple-files/passes.js b/test/fixture/fail-fast/multiple-files/passes.js index fe55dc3d0..ca94aefad 100644 --- a/test/fixture/fail-fast/multiple-files/passes.js +++ b/test/fixture/fail-fast/multiple-files/passes.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('first pass', t => { t.pass(); diff --git a/test/fixture/fail-fast/single-file/test.js b/test/fixture/fail-fast/single-file/test.js index 83c8bc219..cf9474e7b 100644 --- a/test/fixture/fail-fast/single-file/test.js +++ b/test/fixture/fail-fast/single-file/test.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('first pass', t => { t.pass(); diff --git a/test/fixture/fail-fast/timeout/fails.js b/test/fixture/fail-fast/timeout/fails.js index cd9545d57..c182f29af 100644 --- a/test/fixture/fail-fast/timeout/fails.js +++ b/test/fixture/fail-fast/timeout/fails.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test.cb('slow pass', t => { setTimeout(t.end, 1000); diff --git a/test/fixture/fail-fast/timeout/passes.js b/test/fixture/fail-fast/timeout/passes.js index fe55dc3d0..ca94aefad 100644 --- a/test/fixture/fail-fast/timeout/passes.js +++ b/test/fixture/fail-fast/timeout/passes.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('first pass', t => { t.pass(); diff --git a/test/fixture/fake-timers.js b/test/fixture/fake-timers.js index 294bb4135..576e765ff 100644 --- a/test/fixture/fake-timers.js +++ b/test/fixture/fake-timers.js @@ -1,5 +1,5 @@ import sinon from 'sinon'; -import test from '../../'; +import test from '../..'; test('test', t => { sinon.useFakeTimers(Date.now() + 10000); diff --git a/test/fixture/formatting.js b/test/fixture/formatting.js index 1876708f1..15241d615 100644 --- a/test/fixture/formatting.js +++ b/test/fixture/formatting.js @@ -1,6 +1,6 @@ import React from 'react'; import {Buffer} from 'safe-buffer'; -import test from '../../'; +import test from '../..'; import HelloMessage from './hello-message'; // Older AVA versions that do not use Concordance don't handle globals very diff --git a/test/fixture/generators.js b/test/fixture/generators.js index 0b807f378..7ee1517d0 100644 --- a/test/fixture/generators.js +++ b/test/fixture/generators.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('generator function', function * (t) { t.plan(1); diff --git a/test/fixture/hooks-failing.js b/test/fixture/hooks-failing.js index fc3b695d2..6876942aa 100644 --- a/test/fixture/hooks-failing.js +++ b/test/fixture/hooks-failing.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.beforeEach(fail); test('pass', pass); diff --git a/test/fixture/hooks-passing.js b/test/fixture/hooks-passing.js index c2f9ec5a0..4938ba919 100644 --- a/test/fixture/hooks-passing.js +++ b/test/fixture/hooks-passing.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.before(pass); test.beforeEach(pass); diff --git a/test/fixture/ignored-dirs/fixtures/test.js b/test/fixture/ignored-dirs/fixtures/test.js index 84543f040..0aaeea531 100644 --- a/test/fixture/ignored-dirs/fixtures/test.js +++ b/test/fixture/ignored-dirs/fixtures/test.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('test', t => { t.pass(); diff --git a/test/fixture/ignored-dirs/helpers/test.js b/test/fixture/ignored-dirs/helpers/test.js index 84543f040..0aaeea531 100644 --- a/test/fixture/ignored-dirs/helpers/test.js +++ b/test/fixture/ignored-dirs/helpers/test.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('test', t => { t.pass(); diff --git a/test/fixture/infinity-stack-trace.js b/test/fixture/infinity-stack-trace.js index acb822113..01d4a1491 100644 --- a/test/fixture/infinity-stack-trace.js +++ b/test/fixture/infinity-stack-trace.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; Error.stackTraceLimit = 1; diff --git a/test/fixture/inspect-arg.js b/test/fixture/inspect-arg.js index 95ef6346f..b11ffe44c 100644 --- a/test/fixture/inspect-arg.js +++ b/test/fixture/inspect-arg.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('test', t => { t.true(process.execArgv[0].indexOf('--inspect') === 0); diff --git a/test/fixture/just-enhancement-compilation/power-assert.js b/test/fixture/just-enhancement-compilation/power-assert.js index 99bab9868..ea21f47f2 100644 --- a/test/fixture/just-enhancement-compilation/power-assert.js +++ b/test/fixture/just-enhancement-compilation/power-assert.js @@ -1,6 +1,6 @@ 'use strict'; -const test = require('../../../'); +const test = require('../../..'); test('test', t => { const bool = false; diff --git a/test/fixture/long-running.js b/test/fixture/long-running.js index 1d0eb8312..8476100ba 100644 --- a/test/fixture/long-running.js +++ b/test/fixture/long-running.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.cb('slow', t => { setTimeout(t.end, 5000); diff --git a/test/fixture/long-stack-trace/test.js b/test/fixture/long-stack-trace/test.js index b69ad77d7..81f88145f 100644 --- a/test/fixture/long-stack-trace/test.js +++ b/test/fixture/long-stack-trace/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; import Bluebird from './_enable-trace'; // This promise throwing pattern was used in bluebird documentation for long stack traces diff --git a/test/fixture/loud-rejection.js b/test/fixture/loud-rejection.js index f96fe0e04..08fbedb42 100644 --- a/test/fixture/loud-rejection.js +++ b/test/fixture/loud-rejection.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.cb('creates an unhandled rejection', t => { Promise.reject(new Error('You can\'t handle this!')); diff --git a/test/fixture/match-no-match-2.js b/test/fixture/match-no-match-2.js index 11673b32d..a502d060f 100644 --- a/test/fixture/match-no-match-2.js +++ b/test/fixture/match-no-match-2.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('this test will match', t => { t.pass(); diff --git a/test/fixture/match-no-match.js b/test/fixture/match-no-match.js index 4b38a0594..d54f8df56 100644 --- a/test/fixture/match-no-match.js +++ b/test/fixture/match-no-match.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('foo', t => { t.pass(); diff --git a/test/fixture/no-babel-compilation/no-power-assert.js b/test/fixture/no-babel-compilation/no-power-assert.js index 99bab9868..ea21f47f2 100644 --- a/test/fixture/no-babel-compilation/no-power-assert.js +++ b/test/fixture/no-babel-compilation/no-power-assert.js @@ -1,6 +1,6 @@ 'use strict'; -const test = require('../../../'); +const test = require('../../..'); test('test', t => { const bool = false; diff --git a/test/fixture/no-babel-compilation/require-helper.js b/test/fixture/no-babel-compilation/require-helper.js index 6c22749d5..b293d6146 100644 --- a/test/fixture/no-babel-compilation/require-helper.js +++ b/test/fixture/no-babel-compilation/require-helper.js @@ -1,6 +1,6 @@ 'use strict'; -const test = require('../../../'); +const test = require('../../..'); test('test', t => { t.throws(() => require('./_helper'), SyntaxError); diff --git a/test/fixture/no-tests.js b/test/fixture/no-tests.js index 2e925c1d0..0fd49392d 100644 --- a/test/fixture/no-tests.js +++ b/test/fixture/no-tests.js @@ -1 +1 @@ -import '../../'; // eslint-disable-line import/no-unassigned-import +import '../..'; // eslint-disable-line import/no-unassigned-import diff --git a/test/fixture/node-env-foo.js b/test/fixture/node-env-foo.js index e9fac6b44..6c6d0416b 100644 --- a/test/fixture/node-env-foo.js +++ b/test/fixture/node-env-foo.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('NODE_ENV is foo', t => { t.plan(1); diff --git a/test/fixture/node-env-test.js b/test/fixture/node-env-test.js index f96db9d89..7571aecfb 100644 --- a/test/fixture/node-env-test.js +++ b/test/fixture/node-env-test.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('NODE_ENV is test', t => { t.plan(1); diff --git a/test/fixture/node-paths.js b/test/fixture/node-paths.js index 3e6cb409f..d155755bc 100644 --- a/test/fixture/node-paths.js +++ b/test/fixture/node-paths.js @@ -1,6 +1,6 @@ import foo from 'nested/foo'; // eslint-disable-line import/no-extraneous-dependencies, import/no-unresolved import bar from 'the-path/bar'; // eslint-disable-line import/no-extraneous-dependencies, import/no-unresolved -import test from '../../'; +import test from '../..'; test('relative require', t => { t.is(foo, 'bar'); diff --git a/test/fixture/one-pass-one-fail.js b/test/fixture/one-pass-one-fail.js index 460bcbe73..976be787c 100644 --- a/test/fixture/one-pass-one-fail.js +++ b/test/fixture/one-pass-one-fail.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('this is a passing test', t => { t.pass(); diff --git a/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-3.js b/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-3.js index 1637f8170..96d98a983 100644 --- a/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-3.js +++ b/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-3.js @@ -1,4 +1,4 @@ -import test from '../../../../../../'; +import test from '../../../../../..'; test('test', t => { t.pass(); diff --git a/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-4.js b/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-4.js index 1637f8170..96d98a983 100644 --- a/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-4.js +++ b/test/fixture/pkg-conf/resolve-dir/dir-a-wrapper/dir-a/dir-a-wrapper-4.js @@ -1,4 +1,4 @@ -import test from '../../../../../../'; +import test from '../../../../../..'; test('test', t => { t.pass(); diff --git a/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-1.js b/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-1.js index b999b33ea..dcc1fb40b 100644 --- a/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-1.js +++ b/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-1.js @@ -1,4 +1,4 @@ -import test from '../../../../../'; +import test from '../../../../..'; test('test', t => { t.pass(); diff --git a/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-2.js b/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-2.js index b999b33ea..dcc1fb40b 100644 --- a/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-2.js +++ b/test/fixture/pkg-conf/resolve-dir/dir-a/dir-a-base-2.js @@ -1,4 +1,4 @@ -import test from '../../../../../'; +import test from '../../../../..'; test('test', t => { t.pass(); diff --git a/test/fixture/power-assert.js b/test/fixture/power-assert.js index 78ee8ffff..9576092a7 100644 --- a/test/fixture/power-assert.js +++ b/test/fixture/power-assert.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.serial('bar', t => { const a = 'foo'; diff --git a/test/fixture/precompile-helpers/test/test.js b/test/fixture/precompile-helpers/test/test.js index 84812c864..263f208f3 100644 --- a/test/fixture/precompile-helpers/test/test.js +++ b/test/fixture/precompile-helpers/test/test.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; import a from './helpers/a'; import b from './_b'; diff --git a/test/fixture/process-cwd-default.js b/test/fixture/process-cwd-default.js index 35314c213..74d82446d 100644 --- a/test/fixture/process-cwd-default.js +++ b/test/fixture/process-cwd-default.js @@ -1,6 +1,6 @@ import path from 'path'; import pkgConf from 'pkg-conf'; -import test from '../../'; +import test from '../..'; test('test', t => { const conf = pkgConf.sync('ava'); diff --git a/test/fixture/process-cwd-pkgdir.js b/test/fixture/process-cwd-pkgdir.js index 1fdfea5ac..cac9f85c1 100644 --- a/test/fixture/process-cwd-pkgdir.js +++ b/test/fixture/process-cwd-pkgdir.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('test', t => { t.is(process.cwd(), __dirname); diff --git a/test/fixture/require-compiled-helper/test/verify.js b/test/fixture/require-compiled-helper/test/verify.js index 98ff767ce..36f8e8738 100644 --- a/test/fixture/require-compiled-helper/test/verify.js +++ b/test/fixture/require-compiled-helper/test/verify.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('test', t => { t.is(global.value, '🦄'); diff --git a/test/fixture/serial.js b/test/fixture/serial.js index 186ba22fa..afaa3fb57 100644 --- a/test/fixture/serial.js +++ b/test/fixture/serial.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; const tests = []; diff --git a/test/fixture/skip-only.js b/test/fixture/skip-only.js index f4e05f1d7..30f3b9fc2 100644 --- a/test/fixture/skip-only.js +++ b/test/fixture/skip-only.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test.skip('test', t => { t.fail(); diff --git a/test/fixture/slow-exit.js b/test/fixture/slow-exit.js index e5642c151..fc191b2ff 100644 --- a/test/fixture/slow-exit.js +++ b/test/fixture/slow-exit.js @@ -1,5 +1,5 @@ import signalExit from 'signal-exit'; -import test from '../../'; +import test from '../..'; test.cb('long running', t => { t.plan(1); diff --git a/test/fixture/source-map-file-browser-env.js b/test/fixture/source-map-file-browser-env.js index 00a214acd..94dcd0e4b 100644 --- a/test/fixture/source-map-file-browser-env.js +++ b/test/fixture/source-map-file-browser-env.js @@ -1,5 +1,5 @@ const fixture = require('source-map-fixtures').mapFile('throws').require(); -const test = require('../../'); +const test = require('../..'); global.window = function () {}; global.XMLHttpRequest = function () {}; diff --git a/test/fixture/source-map-file.js b/test/fixture/source-map-file.js index d460c6950..5862fceef 100644 --- a/test/fixture/source-map-file.js +++ b/test/fixture/source-map-file.js @@ -1,5 +1,5 @@ const fixture = require('source-map-fixtures').mapFile('throws').require(); -const test = require('../../'); +const test = require('../..'); const run = () => fixture.run(); diff --git a/test/fixture/source-map-inline.js b/test/fixture/source-map-inline.js index 52d3510c4..768519ab9 100644 --- a/test/fixture/source-map-inline.js +++ b/test/fixture/source-map-inline.js @@ -1,5 +1,5 @@ const fixture = require('source-map-fixtures').inline('throws').require(); -const test = require('../../'); +const test = require('../..'); const run = () => fixture.run(); diff --git a/test/fixture/std-esm/test.js b/test/fixture/std-esm/test.js index 4213c80a0..5a923ff67 100644 --- a/test/fixture/std-esm/test.js +++ b/test/fixture/std-esm/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; import m from '.'; test('works', t => { diff --git a/test/fixture/subdir/failing-subdir.js b/test/fixture/subdir/failing-subdir.js index 351c571e7..5c132ea00 100644 --- a/test/fixture/subdir/failing-subdir.js +++ b/test/fixture/subdir/failing-subdir.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; test('subdir fail', t => { t.fail(); diff --git a/test/fixture/subdir/in-a-subdir.js b/test/fixture/subdir/in-a-subdir.js index 3022a6714..f17eb395c 100644 --- a/test/fixture/subdir/in-a-subdir.js +++ b/test/fixture/subdir/in-a-subdir.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; test('subdir', t => { t.pass(); diff --git a/test/fixture/subdir/nested/nested.js b/test/fixture/subdir/nested/nested.js index 88e68ff6b..fb433b976 100644 --- a/test/fixture/subdir/nested/nested.js +++ b/test/fixture/subdir/nested/nested.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('subdir', t => { t.pass(); diff --git a/test/fixture/symlinkdir/symlink.js b/test/fixture/symlinkdir/symlink.js index 91aa9c284..b888dee43 100644 --- a/test/fixture/symlinkdir/symlink.js +++ b/test/fixture/symlinkdir/symlink.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; test('test', t => { t.pass(); diff --git a/test/fixture/target-symlink.js b/test/fixture/target-symlink.js index 56bf8fb88..49d1343b0 100644 --- a/test/fixture/target-symlink.js +++ b/test/fixture/target-symlink.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('test', t => { t.pass(); diff --git a/test/fixture/test-count-2.js b/test/fixture/test-count-2.js index b80f59cbf..5a13ece01 100644 --- a/test/fixture/test-count-2.js +++ b/test/fixture/test-count-2.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('passCount', t => { t.pass(); diff --git a/test/fixture/test-count-3.js b/test/fixture/test-count-3.js index 086fb5824..b74ed5c4b 100644 --- a/test/fixture/test-count-3.js +++ b/test/fixture/test-count-3.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('passCount', t => { t.pass(); diff --git a/test/fixture/test-count.js b/test/fixture/test-count.js index b80f59cbf..5a13ece01 100644 --- a/test/fixture/test-count.js +++ b/test/fixture/test-count.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('passCount', t => { t.pass(); diff --git a/test/fixture/trigger-worker-exception/test-fallback.js b/test/fixture/trigger-worker-exception/test-fallback.js index 6c4098bf8..f2686d1c7 100644 --- a/test/fixture/trigger-worker-exception/test-fallback.js +++ b/test/fixture/trigger-worker-exception/test-fallback.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; test('test', async () => { throw new Error('Hi :)'); diff --git a/test/fixture/trigger-worker-exception/test.js b/test/fixture/trigger-worker-exception/test.js index f2e0b3866..3f622ec6e 100644 --- a/test/fixture/trigger-worker-exception/test.js +++ b/test/fixture/trigger-worker-exception/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; import {restoreAfterFirstCall} from './hack'; diff --git a/test/fixture/uncaught-exception.js b/test/fixture/uncaught-exception.js index 2c110d45f..72f11c6f4 100644 --- a/test/fixture/uncaught-exception.js +++ b/test/fixture/uncaught-exception.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('throw an uncaught exception', t => { setImmediate(() => { diff --git a/test/fixture/validate-installed-global.js b/test/fixture/validate-installed-global.js index 112bbb531..92a823111 100644 --- a/test/fixture/validate-installed-global.js +++ b/test/fixture/validate-installed-global.js @@ -1,3 +1,3 @@ -import test from '../../'; +import test from '../..'; test('test', t => t.is(global.foo, 'bar')); diff --git a/test/fixture/watcher/tap-in-conf/test.js b/test/fixture/watcher/tap-in-conf/test.js index c5af73c39..a7b86803a 100644 --- a/test/fixture/watcher/tap-in-conf/test.js +++ b/test/fixture/watcher/tap-in-conf/test.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('works', t => { t.pass(); diff --git a/test/fixture/watcher/test.js b/test/fixture/watcher/test.js index 777e7f3d8..035e8bb9c 100644 --- a/test/fixture/watcher/test.js +++ b/test/fixture/watcher/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; test('works', t => { t.pass(); diff --git a/test/fixture/watcher/with-dependencies/test-1.js b/test/fixture/watcher/with-dependencies/test-1.js index 50fac0a16..34848288a 100644 --- a/test/fixture/watcher/with-dependencies/test-1.js +++ b/test/fixture/watcher/with-dependencies/test-1.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; import dependency from './source'; test('works', t => { diff --git a/test/fixture/watcher/with-dependencies/test-2.js b/test/fixture/watcher/with-dependencies/test-2.js index c5af73c39..a7b86803a 100644 --- a/test/fixture/watcher/with-dependencies/test-2.js +++ b/test/fixture/watcher/with-dependencies/test-2.js @@ -1,4 +1,4 @@ -import test from '../../../../'; +import test from '../../../..'; test('works', t => { t.pass(); diff --git a/test/fixture/with-dependencies/require-custom.js b/test/fixture/with-dependencies/require-custom.js index e45f9ad5a..ccc22e9dc 100644 --- a/test/fixture/with-dependencies/require-custom.js +++ b/test/fixture/with-dependencies/require-custom.js @@ -1 +1,2 @@ +/* eslint-disable node/no-deprecated-api */ require.extensions['.custom'] = require.extensions['.js']; diff --git a/test/fixture/with-dependencies/test-failure.js b/test/fixture/with-dependencies/test-failure.js index 62fe63b3a..58f0d6ca9 100644 --- a/test/fixture/with-dependencies/test-failure.js +++ b/test/fixture/with-dependencies/test-failure.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; import './dep-1'; // eslint-disable-line import/no-unassigned-import import './dep-2'; // eslint-disable-line import/no-unassigned-import diff --git a/test/fixture/with-dependencies/test-uncaught-exception.js b/test/fixture/with-dependencies/test-uncaught-exception.js index 47c9837b9..273218b8f 100644 --- a/test/fixture/with-dependencies/test-uncaught-exception.js +++ b/test/fixture/with-dependencies/test-uncaught-exception.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; import './dep-1'; // eslint-disable-line import/no-unassigned-import import './dep-2'; // eslint-disable-line import/no-unassigned-import diff --git a/test/fixture/with-dependencies/test.js b/test/fixture/with-dependencies/test.js index 89f03e713..6c193e67f 100644 --- a/test/fixture/with-dependencies/test.js +++ b/test/fixture/with-dependencies/test.js @@ -1,4 +1,4 @@ -import test from '../../../'; +import test from '../../..'; import './dep-1'; // eslint-disable-line import/no-unassigned-import import './dep-2'; // eslint-disable-line import/no-unassigned-import diff --git a/test/fixture/worker-argv.js b/test/fixture/worker-argv.js index 614d723bf..6af882fa4 100644 --- a/test/fixture/worker-argv.js +++ b/test/fixture/worker-argv.js @@ -1,4 +1,4 @@ -import test from '../../'; +import test from '../..'; test('argv', t => { t.deepEqual(process.argv, [process.execPath, require.resolve('../../lib/test-worker.js'), '--hello', 'world']); diff --git a/test/test.js b/test/test.js index 5645759b9..fa0f32a1d 100644 --- a/test/test.js +++ b/test/test.js @@ -15,9 +15,11 @@ class ContextRef { constructor() { this.value = {}; } + get() { return this.value; } + set(newValue) { this.value = newValue; } @@ -417,7 +419,7 @@ test('skipped assertions count towards the plan', t => { a.deepEqual.skip({foo: 'bar'}, {foo: 'bar'}); a.notDeepEqual.skip({foo: 'bar'}, {baz: 'thud'}); a.throws.skip(() => { - throw new Error(); + throw new Error(); // eslint-disable-line unicorn/error-message }); a.notThrows.skip(() => {}); a.ifError.skip(null); @@ -446,7 +448,7 @@ test('assertion.skip() is bound', t => { (a.deepEqual.skip)({foo: 'bar'}, {foo: 'bar'}); (a.notDeepEqual.skip)({foo: 'bar'}, {baz: 'thud'}); (a.throws.skip)(() => { - throw new Error(); + throw new Error(); // eslint-disable-line unicorn/error-message }); (a.notThrows.skip)(() => {}); (a.ifError.skip)(null); @@ -704,7 +706,7 @@ test('assertions are bound', t => { (a.deepEqual)({foo: 'bar'}, {foo: 'bar'}); (a.notDeepEqual)({foo: 'bar'}, {baz: 'thud'}); (a.throws)(() => { - throw new Error(); + throw new Error(); // eslint-disable-line unicorn/error-message }); (a.notThrows)(() => {}); (a.ifError)(null);