diff --git a/package-lock.json b/package-lock.json index 9dc523f3..e1c2ef79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "react-storefront", - "version": "8.12.1", + "version": "8.12.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -170,7 +170,7 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } @@ -227,7 +227,7 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } @@ -245,7 +245,7 @@ "dependencies": { "source-map": { "version": "0.5.7", - "resolved": "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } @@ -4037,13 +4037,13 @@ }, "ansi-html": { "version": "0.0.7", - "resolved": "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", "dev": true }, "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, @@ -4077,7 +4077,7 @@ "dependencies": { "normalize-path": { "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { @@ -4088,7 +4088,7 @@ }, "app-root-dir": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", "integrity": "sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg=", "dev": true }, @@ -4133,7 +4133,7 @@ }, "arr-diff": { "version": "4.0.0", - "resolved": "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", "dev": true }, @@ -4145,25 +4145,25 @@ }, "arr-union": { "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, "array-equal": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, "array-filter": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", "dev": true }, "array-flatten": { "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-includes": { @@ -4179,7 +4179,7 @@ }, "array-union": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { "array-uniq": "^1.0.1" @@ -4187,12 +4187,12 @@ }, "array-uniq": { "version": "1.0.3", - "resolved": "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" }, "array-unique": { "version": "0.3.2", - "resolved": "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, @@ -4241,13 +4241,13 @@ }, "arrify": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true }, "asap": { "version": "2.0.6", - "resolved": "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { @@ -4290,13 +4290,13 @@ "dependencies": { "inherits": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "dev": true }, "util": { "version": "0.10.3", - "resolved": "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "dev": true, "requires": { @@ -4307,13 +4307,13 @@ }, "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, "assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "dev": true }, @@ -4342,7 +4342,7 @@ }, "asynckit": { "version": "0.4.0", - "resolved": "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, @@ -4421,7 +4421,7 @@ }, "aws-sign2": { "version": "0.7.0", - "resolved": "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", "dev": true }, @@ -4433,7 +4433,7 @@ }, "babel-code-frame": { "version": "6.26.0", - "resolved": "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { @@ -4444,13 +4444,13 @@ "dependencies": { "ansi-styles": { "version": "2.2.1", - "resolved": "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz", + "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.yarnpkg.com/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -4463,13 +4463,13 @@ }, "js-tokens": { "version": "3.0.2", - "resolved": "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, "supports-color": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", "dev": true } @@ -4491,31 +4491,31 @@ }, "babel-helper-flip-expressions": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", "dev": true }, "babel-helper-is-nodes-equiv": { "version": "0.0.1", - "resolved": "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", "dev": true }, "babel-helper-is-void-0": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", "dev": true }, "babel-helper-mark-eval-scopes": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", "dev": true }, "babel-helper-remove-or-void": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", "dev": true }, @@ -4577,7 +4577,7 @@ }, "babel-plugin-add-react-displayname": { "version": "0.0.5", - "resolved": "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", "integrity": "sha1-M51M3be2X9YtHfnbn+BN4TQSK9U=", "dev": true }, @@ -4615,7 +4615,7 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } @@ -4685,7 +4685,7 @@ }, "babel-plugin-minify-flip-comparisons": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", "dev": true, "requires": { @@ -4704,7 +4704,7 @@ }, "babel-plugin-minify-infinity": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", "dev": true }, @@ -4719,7 +4719,7 @@ }, "babel-plugin-minify-numeric-literals": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", "dev": true }, @@ -4743,7 +4743,7 @@ }, "babel-plugin-minify-type-constructors": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", "dev": true, "requires": { @@ -4775,13 +4775,13 @@ }, "babel-plugin-syntax-jsx": { "version": "6.18.0", - "resolved": "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", "dev": true }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", - "resolved": "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" }, "babel-plugin-transform-define": { @@ -4806,31 +4806,31 @@ }, "babel-plugin-transform-inline-consecutive-adds": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", "dev": true }, "babel-plugin-transform-member-expression-literals": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", "dev": true }, "babel-plugin-transform-merge-sibling-variables": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", "dev": true }, "babel-plugin-transform-minify-booleans": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", "dev": true }, "babel-plugin-transform-object-rest-spread": { "version": "6.26.0", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "requires": { "babel-plugin-syntax-object-rest-spread": "^6.8.0", @@ -4839,7 +4839,7 @@ }, "babel-plugin-transform-property-literals": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", "dev": true, "requires": { @@ -4854,19 +4854,19 @@ }, "babel-plugin-transform-regexp-constructors": { "version": "0.4.3", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", "dev": true }, "babel-plugin-transform-remove-console": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", "dev": true }, "babel-plugin-transform-remove-debugger": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", "dev": true }, @@ -4881,13 +4881,13 @@ }, "babel-plugin-transform-simplify-comparison-operators": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", "dev": true }, "babel-plugin-transform-undefined-to-void": { "version": "6.9.4", - "resolved": "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", "dev": true }, @@ -4952,7 +4952,7 @@ }, "babel-runtime": { "version": "6.26.0", - "resolved": "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { "core-js": "^2.4.0", @@ -4985,7 +4985,7 @@ }, "balanced-match": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { @@ -5005,7 +5005,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { @@ -5051,13 +5051,13 @@ }, "batch-processor": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/batch-processor/-/batch-processor-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=", "dev": true }, "bcrypt-pbkdf": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, "requires": { @@ -5182,7 +5182,7 @@ }, "boolbase": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, @@ -5294,7 +5294,7 @@ }, "brorand": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, @@ -5315,7 +5315,7 @@ "dependencies": { "resolve": { "version": "1.1.7", - "resolved": "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true } @@ -5360,7 +5360,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -5471,7 +5471,7 @@ }, "buffer-xor": { "version": "1.0.3", - "resolved": "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, @@ -5482,7 +5482,7 @@ }, "builtin-status-codes": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, @@ -5538,13 +5538,13 @@ }, "call-me-maybe": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", "dev": true }, "caller-callsite": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { @@ -5553,7 +5553,7 @@ "dependencies": { "callsites": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true } @@ -5561,7 +5561,7 @@ }, "caller-path": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { @@ -5592,7 +5592,7 @@ }, "can-use-dom": { "version": "0.1.0", - "resolved": "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/can-use-dom/-/can-use-dom-0.1.0.tgz", "integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=", "dev": true }, @@ -5636,7 +5636,7 @@ }, "caseless": { "version": "0.12.0", - "resolved": "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, @@ -5774,7 +5774,7 @@ }, "clamp": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" }, "class-utils": { @@ -5963,7 +5963,7 @@ }, "clone-deep": { "version": "0.2.4", - "resolved": "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", "dev": true, "requires": { @@ -6009,7 +6009,7 @@ }, "co": { "version": "4.6.0", - "resolved": "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", "dev": true }, @@ -6078,7 +6078,7 @@ }, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, @@ -6096,7 +6096,7 @@ }, "collection-visit": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { @@ -6188,7 +6188,7 @@ }, "commondir": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "component-emitter": { @@ -6208,7 +6208,7 @@ }, "concat-map": { "version": "0.0.1", - "resolved": "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { @@ -6281,13 +6281,13 @@ }, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "dev": true }, "constants-browserify": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", "dev": true }, @@ -6331,7 +6331,7 @@ }, "cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "copy-concurrently": { @@ -6349,7 +6349,7 @@ }, "copy-descriptor": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, @@ -6410,7 +6410,7 @@ }, "core-util-is": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "corejs-upgrade-webpack-plugin": { @@ -6464,7 +6464,7 @@ }, "create-error-class": { "version": "3.0.2", - "resolved": "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { @@ -6534,13 +6534,12 @@ } }, "cross-fetch": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.3.tgz", - "integrity": "sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.5.tgz", + "integrity": "sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew==", "dev": true, "requires": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" + "node-fetch": "2.6.0" }, "dependencies": { "node-fetch": { @@ -6552,8 +6551,7 @@ "whatwg-fetch": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", - "dev": true + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" } } }, @@ -6591,7 +6589,7 @@ }, "crypto-random-string": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" }, "css": { @@ -6664,7 +6662,7 @@ }, "css-select": { "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { @@ -6893,7 +6891,7 @@ }, "cyclist": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" }, "d": { @@ -6908,7 +6906,7 @@ }, "dashdash": { "version": "1.14.1", - "resolved": "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { @@ -6951,7 +6949,7 @@ }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, @@ -6963,7 +6961,7 @@ }, "decode-uri-component": { "version": "0.2.0", - "resolved": "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, @@ -6983,7 +6981,7 @@ }, "deep-equal-ident": { "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/deep-equal-ident/-/deep-equal-ident-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/deep-equal-ident/-/deep-equal-ident-1.1.1.tgz", "integrity": "sha1-BvS4nlNxDNbOpKd4HHqVZkLejck=", "dev": true, "requires": { @@ -6992,7 +6990,7 @@ "dependencies": { "lodash.isequal": { "version": "3.0.4", - "resolved": "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-3.0.4.tgz", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-3.0.4.tgz", "integrity": "sha1-HDXrO27wzR/1F0Pj6jz3/f/ay2Q=", "dev": true, "requires": { @@ -7010,7 +7008,7 @@ }, "deep-is": { "version": "0.1.3", - "resolved": "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, @@ -7083,7 +7081,7 @@ }, "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true }, @@ -7094,13 +7092,13 @@ }, "delegates": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", "dev": true }, "depd": { "version": "1.1.2", - "resolved": "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "des.js": { @@ -7115,7 +7113,7 @@ }, "destroy": { "version": "1.0.4", - "resolved": "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detab": { @@ -7129,12 +7127,12 @@ }, "detect-hover": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/detect-hover/-/detect-hover-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/detect-hover/-/detect-hover-1.0.2.tgz", "integrity": "sha1-WJ+wtGkiCJep7uP6NqkX4e2jeiE=" }, "detect-it": { "version": "3.0.3", - "resolved": "https://registry.yarnpkg.com/detect-it/-/detect-it-3.0.3.tgz", + "resolved": "https://registry.npmjs.org/detect-it/-/detect-it-3.0.3.tgz", "integrity": "sha1-jhPaoLYhJhUMv3bQg6HTTRsH0HE=", "requires": { "detect-hover": "^1.0.2", @@ -7157,12 +7155,12 @@ }, "detect-passive-events": { "version": "1.0.4", - "resolved": "https://registry.yarnpkg.com/detect-passive-events/-/detect-passive-events-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/detect-passive-events/-/detect-passive-events-1.0.4.tgz", "integrity": "sha1-btR35uW863kHlzXc01d4nTf5qRo=" }, "detect-pointer": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/detect-pointer/-/detect-pointer-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/detect-pointer/-/detect-pointer-1.0.2.tgz", "integrity": "sha1-Hg5OJh2rRQVcUMdPtaT/Cc6xj70=" }, "detect-port": { @@ -7194,7 +7192,7 @@ }, "detect-touch-events": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/detect-touch-events/-/detect-touch-events-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/detect-touch-events/-/detect-touch-events-2.0.1.tgz", "integrity": "sha1-NlgzzwxcQMQJCggJa4pojbAPozc=" }, "detective": { @@ -7256,7 +7254,7 @@ }, "discontinuous-range": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", "dev": true }, @@ -7724,7 +7722,7 @@ }, "duplexer": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" }, "duplexer2": { @@ -7738,7 +7736,7 @@ }, "duplexer3": { "version": "0.1.4", - "resolved": "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, @@ -7755,7 +7753,7 @@ }, "ecc-jsbn": { "version": "0.1.2", - "resolved": "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "requires": { @@ -7765,7 +7763,7 @@ }, "ee-first": { "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "ejs": { @@ -7834,12 +7832,12 @@ }, "encodeurl": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "encoding": { "version": "0.1.12", - "resolved": "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { "iconv-lite": "~0.4.13" @@ -8105,12 +8103,12 @@ }, "escape-html": { "version": "1.0.3", - "resolved": "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, "escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { @@ -8169,7 +8167,7 @@ }, "etag": { "version": "1.8.1", - "resolved": "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "eventemitter3": { @@ -8226,13 +8224,13 @@ }, "exit": { "version": "0.1.2", - "resolved": "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", "dev": true }, "expand-brackets": { "version": "2.1.4", - "resolved": "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { @@ -8419,7 +8417,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { @@ -8474,7 +8472,7 @@ }, "extsprintf": { "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", "dev": true }, @@ -8504,7 +8502,7 @@ }, "fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, @@ -8537,7 +8535,7 @@ }, "fbjs": { "version": "0.8.17", - "resolved": "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { "core-js": "^1.0.0", @@ -8551,7 +8549,7 @@ "dependencies": { "core-js": { "version": "1.2.7", - "resolved": "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" } } @@ -8595,7 +8593,7 @@ }, "file-system-cache": { "version": "1.0.5", - "resolved": "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-1.0.5.tgz", "integrity": "sha1-hCWbNqK7uNPW6xAh0xMv/mTP/08=", "dev": true, "requires": { @@ -8606,7 +8604,7 @@ "dependencies": { "fs-extra": { "version": "0.30.0", - "resolved": "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { @@ -8619,7 +8617,7 @@ }, "jsonfile": { "version": "2.4.0", - "resolved": "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { @@ -8642,7 +8640,7 @@ }, "fill-range": { "version": "4.0.0", - "resolved": "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { @@ -8739,13 +8737,13 @@ }, "for-in": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, "for-own": { "version": "0.1.5", - "resolved": "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { @@ -8754,7 +8752,7 @@ }, "forever-agent": { "version": "0.6.1", - "resolved": "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", "dev": true }, @@ -8839,7 +8837,7 @@ }, "format": { "version": "0.2.2", - "resolved": "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=", "dev": true }, @@ -8850,12 +8848,12 @@ }, "forwarded": { "version": "0.1.2", - "resolved": "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, "fragment-cache": { "version": "0.2.1", - "resolved": "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { @@ -8864,12 +8862,12 @@ }, "fresh": { "version": "0.5.2", - "resolved": "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, "from2": { "version": "2.3.0", - "resolved": "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "requires": { "inherits": "^2.0.1", @@ -8913,7 +8911,7 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "resolved": "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "requires": { "graceful-fs": "^4.1.2", @@ -8924,7 +8922,7 @@ }, "fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { @@ -8968,7 +8966,7 @@ }, "gauge": { "version": "2.7.4", - "resolved": "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { @@ -9021,13 +9019,13 @@ }, "get-value": { "version": "2.0.6", - "resolved": "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", "dev": true }, "getpass": { "version": "0.1.7", - "resolved": "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { @@ -9085,7 +9083,7 @@ }, "glob-base": { "version": "0.3.0", - "resolved": "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { @@ -9095,7 +9093,7 @@ "dependencies": { "glob-parent": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { @@ -9104,13 +9102,13 @@ }, "is-extglob": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-glob": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { @@ -9121,7 +9119,7 @@ }, "glob-parent": { "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { "is-glob": "^3.1.0", @@ -9130,7 +9128,7 @@ "dependencies": { "is-glob": { "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { "is-extglob": "^2.1.0" @@ -9174,7 +9172,7 @@ }, "global-dirs": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { @@ -9253,7 +9251,7 @@ }, "got": { "version": "6.7.1", - "resolved": "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz", + "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { @@ -9285,7 +9283,7 @@ }, "growly": { "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", "dev": true, "optional": true @@ -9307,7 +9305,7 @@ }, "har-schema": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", "dev": true }, @@ -9332,7 +9330,7 @@ }, "has-ansi": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { @@ -9351,13 +9349,13 @@ }, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", "dev": true }, "has-value": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { @@ -9368,7 +9366,7 @@ }, "has-values": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { @@ -9378,7 +9376,7 @@ "dependencies": { "kind-of": { "version": "4.0.0", - "resolved": "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { @@ -9521,7 +9519,7 @@ }, "hmac-drbg": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { @@ -9694,7 +9692,7 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } @@ -9707,7 +9705,7 @@ }, "http-signature": { "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { @@ -9718,7 +9716,7 @@ }, "https-browserify": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, @@ -9759,7 +9757,7 @@ }, "iferr": { "version": "0.1.5", - "resolved": "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "ignore": { @@ -9769,7 +9767,7 @@ }, "ignore-by-default": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", "dev": true }, @@ -9790,7 +9788,7 @@ }, "import-cwd": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", "dev": true, "requires": { @@ -9817,7 +9815,7 @@ }, "import-from": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", "dev": true, "requires": { @@ -9826,7 +9824,7 @@ "dependencies": { "resolve-from": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true } @@ -9834,7 +9832,7 @@ }, "import-lazy": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", "dev": true }, @@ -9895,7 +9893,7 @@ }, "imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "indent-string": { @@ -9906,7 +9904,7 @@ }, "indexes-of": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, @@ -9917,7 +9915,7 @@ }, "inflight": { "version": "1.0.6", - "resolved": "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", @@ -10029,13 +10027,13 @@ }, "ip": { "version": "1.1.5", - "resolved": "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", "dev": true }, "ip-regex": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", "dev": true }, @@ -10110,13 +10108,13 @@ }, "is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-binary-path": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { @@ -10217,7 +10215,7 @@ }, "is-directory": { "version": "0.3.1", - "resolved": "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, @@ -10237,7 +10235,7 @@ }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { @@ -10277,13 +10275,13 @@ }, "is-in-browser": { "version": "1.1.3", - "resolved": "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=", "dev": true }, "is-installed-globally": { "version": "0.1.0", - "resolved": "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { @@ -10293,7 +10291,7 @@ }, "is-invalid-path": { "version": "0.1.0", - "resolved": "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", "dev": true, "requires": { @@ -10302,13 +10300,13 @@ "dependencies": { "is-extglob": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", "dev": true }, "is-glob": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { @@ -10336,13 +10334,13 @@ }, "is-npm": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", "dev": true }, "is-number": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { @@ -10368,12 +10366,12 @@ }, "is-obj": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, "is-path-inside": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { @@ -10382,7 +10380,7 @@ }, "is-plain-obj": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", "dev": true }, @@ -10402,7 +10400,7 @@ }, "is-redirect": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", "dev": true }, @@ -10417,7 +10415,7 @@ }, "is-regexp": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" }, "is-relative": { @@ -10464,7 +10462,7 @@ }, "is-stream": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-string": { @@ -10475,7 +10473,7 @@ }, "is-subset": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", "dev": true }, @@ -10499,7 +10497,7 @@ }, "is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, @@ -10514,7 +10512,7 @@ }, "is-utf8": { "version": "0.2.1", - "resolved": "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, @@ -10526,7 +10524,7 @@ }, "is-valid-path": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/is-valid-path/-/is-valid-path-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", "dev": true, "requires": { @@ -10553,29 +10551,29 @@ }, "is-wsl": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz", + "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.yarnpkg.com/isarray/-/isarray-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isomorphic-fetch": { "version": "2.2.1", - "resolved": "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { "node-fetch": "^1.0.1", @@ -10604,7 +10602,7 @@ }, "isstream": { "version": "0.1.2", - "resolved": "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, @@ -11458,13 +11456,13 @@ } }, "jest-fetch-mock": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-2.1.2.tgz", - "integrity": "sha512-tcSR4Lh2bWLe1+0w/IwvNxeDocMI/6yIA2bijZ0fyWxC4kQ18lckQ1n7Yd40NKuisGmcGBRFPandRXrW/ti/Bw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/jest-fetch-mock/-/jest-fetch-mock-3.0.3.tgz", + "integrity": "sha512-Ux1nWprtLrdrH4XwE7O7InRY6psIi3GOsqNESJgMJ+M5cv4A8Lh7SN9d2V2kKRZ8ebAfcd1LNyZguAOb6JiDqw==", "dev": true, "requires": { - "cross-fetch": "^2.2.2", - "promise-polyfill": "^7.1.1" + "cross-fetch": "^3.0.4", + "promise-polyfill": "^8.1.3" } }, "jest-get-type": { @@ -12052,7 +12050,7 @@ }, "jsbn": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, @@ -12216,7 +12214,7 @@ }, "json-schema": { "version": "0.2.3", - "resolved": "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, @@ -12233,7 +12231,7 @@ }, "json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, @@ -12253,7 +12251,7 @@ }, "jsonfile": { "version": "4.0.0", - "resolved": "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "requires": { "graceful-fs": "^4.1.6" @@ -12267,7 +12265,7 @@ }, "jsprim": { "version": "1.4.1", - "resolved": "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, "requires": { @@ -12365,7 +12363,7 @@ }, "keycode": { "version": "2.2.0", - "resolved": "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=" }, "kind-of": { @@ -12376,7 +12374,7 @@ }, "klaw": { "version": "1.3.1", - "resolved": "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { @@ -12391,7 +12389,7 @@ }, "latest-version": { "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { @@ -12400,7 +12398,7 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true }, @@ -12479,7 +12477,7 @@ }, "levn": { "version": "0.3.0", - "resolved": "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { @@ -12489,7 +12487,7 @@ }, "lines-and-columns": { "version": "1.1.6", - "resolved": "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", "dev": true }, @@ -12567,7 +12565,7 @@ }, "lodash._baseisequal": { "version": "3.0.7", - "resolved": "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz", + "resolved": "https://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz", "integrity": "sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE=", "dev": true, "requires": { @@ -12578,54 +12576,54 @@ }, "lodash._bindcallback": { "version": "3.0.1", - "resolved": "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", "dev": true }, "lodash._getnative": { "version": "3.9.1", - "resolved": "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", "dev": true }, "lodash._reinterpolate": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, "lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, "lodash.escape": { "version": "4.0.1", - "resolved": "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", "dev": true }, "lodash.flattendeep": { "version": "4.4.0", - "resolved": "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", "dev": true }, "lodash.isarguments": { "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", "dev": true }, "lodash.isarray": { "version": "3.0.4", - "resolved": "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", "dev": true }, "lodash.isequal": { "version": "4.5.0", - "resolved": "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", "dev": true }, @@ -12642,13 +12640,13 @@ }, "lodash.istypedarray": { "version": "3.0.6", - "resolved": "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", + "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=", "dev": true }, "lodash.keys": { "version": "3.1.2", - "resolved": "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", "dev": true, "requires": { @@ -12669,13 +12667,13 @@ }, "lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, "lodash.sortby": { "version": "4.7.0", - "resolved": "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, @@ -12698,7 +12696,7 @@ }, "lodash.throttle": { "version": "4.1.1", - "resolved": "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", "dev": true }, @@ -12783,7 +12781,7 @@ }, "makeerror": { "version": "1.0.11", - "resolved": "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dev": true, "requires": { @@ -12801,19 +12799,19 @@ }, "map-cache": { "version": "0.2.2", - "resolved": "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, "map-or-similar": { "version": "1.5.0", - "resolved": "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", "integrity": "sha1-beJlMXSt+12e3DPGnT6Sobdvrwg=", "dev": true }, "map-visit": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { @@ -12960,7 +12958,7 @@ }, "media-typer": { "version": "0.3.0", - "resolved": "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { @@ -12982,7 +12980,7 @@ }, "memoizerific": { "version": "1.11.3", - "resolved": "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", "integrity": "sha1-fIekZGREwy11Q4VwkF8tvRsagFo=", "dev": true, "requires": { @@ -12991,7 +12989,7 @@ }, "memory-fs": { "version": "0.4.1", - "resolved": "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { @@ -13023,7 +13021,7 @@ }, "merge-descriptors": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, "merge-stream": { @@ -13039,7 +13037,7 @@ }, "methods": { "version": "1.1.2", - "resolved": "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "microevent.ts": { @@ -13113,7 +13111,7 @@ }, "min-document": { "version": "2.19.0", - "resolved": "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { @@ -13146,7 +13144,7 @@ }, "minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", "dev": true }, @@ -13236,7 +13234,7 @@ }, "mixin-object": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { @@ -13246,7 +13244,7 @@ "dependencies": { "for-in": { "version": "0.1.8", - "resolved": "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", "dev": true }, @@ -13343,7 +13341,7 @@ }, "move-concurrently": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "requires": { "aproba": "^1.1.1", @@ -13402,7 +13400,7 @@ }, "natural-compare": { "version": "1.4.0", - "resolved": "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, @@ -14201,7 +14199,7 @@ }, "node-dir": { "version": "0.1.17", - "resolved": "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", "dev": true, "requires": { @@ -14225,7 +14223,7 @@ }, "node-int64": { "version": "0.4.0", - "resolved": "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, @@ -14262,7 +14260,7 @@ "dependencies": { "punycode": { "version": "1.4.1", - "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true } @@ -14270,7 +14268,7 @@ }, "node-modules-regexp": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", "dev": true }, @@ -14358,7 +14356,7 @@ }, "nopt": { "version": "1.0.10", - "resolved": "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", "dev": true, "requires": { @@ -14390,7 +14388,7 @@ }, "normalize-range": { "version": "0.1.2", - "resolved": "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", "dev": true }, @@ -14402,7 +14400,7 @@ }, "normalize-url": { "version": "1.9.1", - "resolved": "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "dev": true, "requires": { @@ -14449,7 +14447,7 @@ }, "npm-run-path": { "version": "2.0.2", - "resolved": "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { @@ -14489,13 +14487,13 @@ }, "num2fraction": { "version": "1.2.2", - "resolved": "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, @@ -14513,12 +14511,12 @@ }, "object-assign": { "version": "4.1.1", - "resolved": "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", - "resolved": "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { @@ -14576,7 +14574,7 @@ }, "object-visit": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { @@ -14637,7 +14635,7 @@ }, "object.pick": { "version": "1.3.0", - "resolved": "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { @@ -14658,7 +14656,7 @@ }, "on-finished": { "version": "2.3.0", - "resolved": "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "requires": { "ee-first": "1.1.1" @@ -14666,7 +14664,7 @@ }, "once": { "version": "1.4.0", - "resolved": "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" @@ -14741,7 +14739,7 @@ }, "os-browserify": { "version": "0.3.0", - "resolved": "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, @@ -14758,7 +14756,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, @@ -14776,7 +14774,7 @@ }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, @@ -14818,7 +14816,7 @@ }, "package-json": { "version": "4.0.1", - "resolved": "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { @@ -14977,7 +14975,7 @@ }, "pascalcase": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, @@ -14989,28 +14987,28 @@ }, "path-dirname": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, "path-key": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, @@ -15069,7 +15067,7 @@ }, "performance-now": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, @@ -15085,13 +15083,13 @@ }, "pinkie": { "version": "2.0.4", - "resolved": "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", "dev": true }, "pinkie-promise": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { @@ -15117,7 +15115,7 @@ }, "pkg-up": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", "requires": { "find-up": "^2.1.0" @@ -15125,7 +15123,7 @@ "dependencies": { "find-up": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { "locate-path": "^2.0.0" @@ -15133,7 +15131,7 @@ }, "locate-path": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { "p-locate": "^2.0.0", @@ -15150,7 +15148,7 @@ }, "p-locate": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { "p-limit": "^1.1.0" @@ -15201,7 +15199,7 @@ }, "posix-character-classes": { "version": "0.1.1", - "resolved": "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", "dev": true }, @@ -15888,13 +15886,13 @@ }, "prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, "prepend-http": { "version": "1.0.4", - "resolved": "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, @@ -15911,7 +15909,7 @@ }, "pretty-error": { "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "dev": true, "requires": { @@ -15941,7 +15939,7 @@ }, "pretty-hrtime": { "version": "1.0.3", - "resolved": "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", "dev": true }, @@ -15961,7 +15959,7 @@ }, "process": { "version": "0.11.10", - "resolved": "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "dev": true }, @@ -15980,13 +15978,13 @@ }, "promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "promise-polyfill": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-7.1.2.tgz", - "integrity": "sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", + "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==", "dev": true }, "promise.allsettled": { @@ -16070,13 +16068,13 @@ }, "prr": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, "pseudomap": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, @@ -16151,7 +16149,7 @@ }, "q": { "version": "1.5.1", - "resolved": "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, @@ -16162,7 +16160,7 @@ }, "query-string": { "version": "4.3.4", - "resolved": "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "dev": true, "requires": { @@ -16172,13 +16170,13 @@ }, "querystring": { "version": "0.2.0", - "resolved": "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", "dev": true }, "querystring-es3": { "version": "0.2.1", - "resolved": "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, @@ -16199,13 +16197,13 @@ }, "railroad-diagrams": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", "dev": true }, "ramda": { "version": "0.21.0", - "resolved": "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.21.0.tgz", "integrity": "sha1-oAGr7bP/YQd9T/HVd9RN536NCjU=", "dev": true }, @@ -16758,12 +16756,12 @@ "dependencies": { "fast-deep-equal": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, "prop-types": { "version": "15.6.0", - "resolved": "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", "requires": { "fbjs": "^0.8.16", @@ -16826,7 +16824,7 @@ }, "react-required-if": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/react-required-if/-/react-required-if-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/react-required-if/-/react-required-if-1.0.1.tgz", "integrity": "sha1-9B0Gvrt1NGwgbNHejcDvW3yPmr0=" }, "react-select": { @@ -17114,7 +17112,7 @@ }, "rechoir": { "version": "0.6.2", - "resolved": "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "dev": true, "requires": { @@ -17132,7 +17130,7 @@ }, "reflect.ownkeys": { "version": "0.2.0", - "resolved": "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=", "dev": true }, @@ -17236,7 +17234,7 @@ }, "registry-url": { "version": "3.1.0", - "resolved": "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { @@ -17258,14 +17256,14 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } }, "relateurl": { "version": "0.2.7", - "resolved": "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", "dev": true }, @@ -17399,7 +17397,7 @@ }, "remove-trailing-separator": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, @@ -17424,7 +17422,7 @@ }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, @@ -17514,7 +17512,7 @@ }, "require-directory": { "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, @@ -17526,7 +17524,7 @@ }, "requires-port": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, @@ -17569,7 +17567,7 @@ }, "resolve-url": { "version": "0.2.1", - "resolved": "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, @@ -17800,7 +17798,7 @@ }, "rst-selector-parser": { "version": "2.2.3", - "resolved": "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", + "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", "dev": true, "requires": { @@ -17822,7 +17820,7 @@ }, "run-queue": { "version": "1.0.3", - "resolved": "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "requires": { "aproba": "^1.1.1" @@ -17850,7 +17848,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -17980,7 +17978,7 @@ }, "semver-diff": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { @@ -18036,7 +18034,7 @@ }, "serve-favicon": { "version": "2.5.0", - "resolved": "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=", "dev": true, "requires": { @@ -18086,7 +18084,7 @@ }, "set-blocking": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, @@ -18121,7 +18119,7 @@ }, "setimmediate": { "version": "1.0.5", - "resolved": "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { @@ -18141,7 +18139,7 @@ }, "shallow-clone": { "version": "0.1.2", - "resolved": "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", "dev": true, "requires": { @@ -18159,7 +18157,7 @@ }, "kind-of": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", "dev": true, "requires": { @@ -18168,7 +18166,7 @@ }, "lazy-cache": { "version": "0.2.7", - "resolved": "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", "dev": true } @@ -18188,7 +18186,7 @@ }, "shebang-command": { "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { @@ -18197,7 +18195,7 @@ }, "shebang-regex": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, @@ -18382,7 +18380,7 @@ }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } @@ -18401,7 +18399,7 @@ "dependencies": { "define-property": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { @@ -18486,7 +18484,7 @@ }, "sort-keys": { "version": "1.1.2", - "resolved": "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "dev": true, "requires": { @@ -18527,7 +18525,7 @@ }, "source-map-url": { "version": "0.4.0", - "resolved": "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "sourcemap-codec": { @@ -18584,7 +18582,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, @@ -18650,7 +18648,7 @@ }, "static-extend": { "version": "0.1.2", - "resolved": "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { @@ -18671,12 +18669,12 @@ }, "statuses": { "version": "1.5.0", - "resolved": "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "stealthy-require": { "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true }, @@ -18773,13 +18771,13 @@ }, "strict-uri-encode": { "version": "1.1.0", - "resolved": "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, "string-hash": { "version": "1.1.3", - "resolved": "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", "dev": true }, @@ -18933,7 +18931,7 @@ }, "strip-bom": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, @@ -18948,7 +18946,7 @@ }, "strip-eof": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, @@ -18969,7 +18967,7 @@ }, "strip-json-comments": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, @@ -19517,7 +19515,7 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, @@ -19535,7 +19533,7 @@ }, "through": { "version": "2.3.8", - "resolved": "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, @@ -19560,7 +19558,7 @@ }, "timed-out": { "version": "4.0.1", - "resolved": "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, @@ -19643,7 +19641,7 @@ }, "tmpl": { "version": "1.0.4", - "resolved": "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", "dev": true }, @@ -19659,18 +19657,18 @@ }, "to-arraybuffer": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", "dev": true }, "to-fast-properties": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "to-object-path": { "version": "0.3.0", - "resolved": "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { @@ -19702,7 +19700,7 @@ }, "to-regex-range": { "version": "2.1.1", - "resolved": "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { @@ -19721,7 +19719,7 @@ }, "toggle-selection": { "version": "1.0.6", - "resolved": "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=", "dev": true }, @@ -19752,7 +19750,7 @@ }, "tr46": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", "dev": true, "requires": { @@ -19761,7 +19759,7 @@ }, "traverse": { "version": "0.6.6", - "resolved": "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", "dev": true }, @@ -19814,13 +19812,13 @@ }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, "tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { @@ -19829,7 +19827,7 @@ }, "tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, @@ -19841,7 +19839,7 @@ }, "type-check": { "version": "0.3.2", - "resolved": "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { @@ -19876,7 +19874,7 @@ }, "typedarray": { "version": "0.0.6", - "resolved": "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typedarray-to-buffer": { @@ -20014,7 +20012,7 @@ }, "uniq": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, @@ -20052,7 +20050,7 @@ }, "unique-string": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "requires": { "crypto-random-string": "^1.0.0" @@ -20125,18 +20123,18 @@ }, "unpipe": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "unquote": { "version": "1.1.1", - "resolved": "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", "dev": true }, "unset-value": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { @@ -20146,7 +20144,7 @@ "dependencies": { "has-value": { "version": "0.3.1", - "resolved": "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { @@ -20157,7 +20155,7 @@ "dependencies": { "isobject": { "version": "2.1.0", - "resolved": "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, "requires": { @@ -20168,7 +20166,7 @@ }, "has-values": { "version": "0.1.4", - "resolved": "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true } @@ -20176,7 +20174,7 @@ }, "unzip-response": { "version": "2.0.1", - "resolved": "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, @@ -20205,7 +20203,7 @@ "dependencies": { "ansi-align": { "version": "2.0.0", - "resolved": "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { @@ -20244,7 +20242,7 @@ }, "camelcase": { "version": "4.1.0", - "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, @@ -20267,7 +20265,7 @@ }, "cli-boxes": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, @@ -20288,7 +20286,7 @@ }, "cross-spawn": { "version": "5.1.0", - "resolved": "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { @@ -20299,7 +20297,7 @@ }, "execa": { "version": "0.7.0", - "resolved": "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { @@ -20379,7 +20377,7 @@ }, "term-size": { "version": "1.2.0", - "resolved": "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { @@ -20397,7 +20395,7 @@ }, "yallist": { "version": "2.1.2", - "resolved": "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", "dev": true } @@ -20419,13 +20417,13 @@ }, "urix": { "version": "0.1.0", - "resolved": "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, "url": { "version": "0.11.0", - "resolved": "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", "dev": true, "requires": { @@ -20435,7 +20433,7 @@ "dependencies": { "punycode": { "version": "1.3.2", - "resolved": "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true } @@ -20483,7 +20481,7 @@ }, "url-parse-lax": { "version": "1.0.0", - "resolved": "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { @@ -20538,7 +20536,7 @@ "dependencies": { "inherits": { "version": "2.0.3", - "resolved": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true } @@ -20546,7 +20544,7 @@ }, "util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util.promisify": { @@ -20561,13 +20559,13 @@ }, "utila": { "version": "0.4.0", - "resolved": "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", "dev": true }, "utils-merge": { "version": "1.0.1", - "resolved": "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { @@ -20621,7 +20619,7 @@ }, "vary": { "version": "1.1.2", - "resolved": "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, "vendors": { @@ -20632,7 +20630,7 @@ }, "verror": { "version": "1.10.0", - "resolved": "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { @@ -20862,7 +20860,7 @@ }, "walker": { "version": "1.0.7", - "resolved": "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "dev": true, "requires": { @@ -21601,7 +21599,7 @@ }, "wrappy": { "version": "1.0.2", - "resolved": "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { @@ -21632,7 +21630,7 @@ }, "xdg-basedir": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, @@ -21673,7 +21671,7 @@ "dependencies": { "camelcase": { "version": "3.0.0", - "resolved": "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, @@ -21836,7 +21834,7 @@ }, "y18n": { "version": "3.2.1", - "resolved": "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", "dev": true }, diff --git a/package.json b/package.json index a5874446..bc5a581a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-storefront", - "version": "8.12.2", + "version": "8.14.0-alpha.0", "description": "Build and deploy e-commerce progressive web apps (PWAs) in record time.", "module": "./index.js", "license": "Apache-2.0", @@ -78,7 +78,7 @@ "enzyme-adapter-react-16": "^1.15.1", "jest": "^25.4.0", "jest-enzyme": "^7.1.2", - "jest-fetch-mock": "^2.1.2", + "jest-fetch-mock": "^3.0.3", "jsdom": "^16.2.2", "next": "^9.4.4", "npm-watch": "^0.6.0", diff --git a/src/Image.js b/src/Image.js index d7222177..5b08f0e2 100644 --- a/src/Image.js +++ b/src/Image.js @@ -143,7 +143,12 @@ export default function Image({ [classes.fit]: aspectRatio != null, })} {...imgAttributes} - onError={() => setPrimaryNotFound(true)} + // prevent render "onerror" as a DOM prop in case of amp-img tag + onError={ + ImgElement !== 'amp-img' + ? () => setPrimaryNotFound(true) + : /* istanbul ignore next */ undefined + } /> )} diff --git a/src/LazyHydrate.js b/src/LazyHydrate.js index 64b467d3..678375ee 100644 --- a/src/LazyHydrate.js +++ b/src/LazyHydrate.js @@ -28,6 +28,7 @@ if (isBrowser()) { will be removed. */ export function LazyStyles() { + /* istanbul ignore next */ if (useAmp()) return null let styles = null @@ -212,7 +213,9 @@ function LazyHydrateInstance({ id, className, ssrOnly, children, on, ...props }) */ function LazyHydrate({ children, ...props }) { + /* istanbul ignore next */ if (useAmp()) return children + return ( {/* LazyStylesProvider should not be used in the browser. Once components diff --git a/src/hooks/useCartTotal.js b/src/hooks/useCartTotal.js new file mode 100644 index 00000000..0c18087e --- /dev/null +++ b/src/hooks/useCartTotal.js @@ -0,0 +1,14 @@ +import { useContext, useMemo } from 'react'; +import get from 'lodash/get'; +import SessionContext from '../session/SessionContext'; + +function useCartTotal() { + const context = useContext(SessionContext); + const items = get(context, 'session.cart.items', []); + const total = useMemo(() => items + .reduce((totalAcc, item) => item.quantity + totalAcc, 0), + [items]); + return total; +} + +export default useCartTotal; diff --git a/src/mock-connector/account.js b/src/mock-connector/account.js new file mode 100644 index 00000000..862a3fbf --- /dev/null +++ b/src/mock-connector/account.js @@ -0,0 +1,19 @@ +import fulfillAPIRequest from '..//props/fulfillAPIRequest' +import createAppData from './utils/createAppData' + +export default async function account(req, res) { + return await fulfillAPIRequest(req, { + appData: createAppData, + pageData: () => + Promise.resolve({ + title: 'My Account', + account: {}, + breadcrumbs: [ + { + text: 'Home', + href: '/', + }, + ], + }), + }) +} diff --git a/src/mock-connector/addToCart.js b/src/mock-connector/addToCart.js new file mode 100644 index 00000000..e24d3fdb --- /dev/null +++ b/src/mock-connector/addToCart.js @@ -0,0 +1,10 @@ +export default async function addToCart(product, quantity, req, res) { + const { id, color, size } = product + + console.log('product id: ', id) + console.log('color id: ', color || 'Not provided') + console.log('size id: ', size || 'Not provided') + console.log('quantity ', quantity) + + return {} +} diff --git a/src/mock-connector/cart.js b/src/mock-connector/cart.js index 81439a3a..ce09adc0 100644 --- a/src/mock-connector/cart.js +++ b/src/mock-connector/cart.js @@ -1,37 +1,27 @@ import createProduct from './utils/createProduct' -import withAmpFormParser from '../middlewares/withAmpFormParser' +import fulfillAPIRequest from '../props/fulfillAPIRequest' +import createAppData from './utils/createAppData' -const cart = (req, res) => { - if (req.method === 'POST') { - const { id, color, size, quantity } = req.body +export default async function cart(req, res) { + const products = [createProduct(1), createProduct(2), createProduct(3)] - console.log('product id: ', id) - console.log('color id: ', color || 'Not provided') - console.log('size id: ', size || 'Not provided') - console.log('quantity ', quantity) - - if (req.query['__amp_source_origin']) { - res.setHeader('AMP-Redirect-To', `${req.query['__amp_source_origin']}/cart`) - } - - setTimeout(() => { - res.end(JSON.stringify({ response: 'success', cartCount: 4 })) - }, 1) - } else { - const products = [createProduct(1), createProduct(2), createProduct(3)] - - res.end( - JSON.stringify({ - pageData: { items: products.map((item, i) => ({ ...item, quantity: i + 1 })) }, + return fulfillAPIRequest(req, { + appData: createAppData, + pageData: () => + Promise.resolve({ + title: 'My Cart', + breadcrumbs: [ + { + text: 'Home', + href: '/', + }, + ], + cart: { + items: products.map((item, i) => ({ + ...item, + quantity: 1, + })), + }, }), - ) - } + }) } - -export const config = { - api: { - bodyParser: false, - }, -} - -export default withAmpFormParser(cart) diff --git a/src/mock-connector/index.js b/src/mock-connector/index.js index 714ffb55..54f5620c 100644 --- a/src/mock-connector/index.js +++ b/src/mock-connector/index.js @@ -1,4 +1,7 @@ export { default as cart } from './cart.js' +export { default as account } from './account.js' +export { default as addToCart } from './addToCart.js' +export { default as updateCartItem } from './updateCartItem.js' export { default as home } from './home.js' export { default as product } from './product.js' export { default as productMedia } from './productMedia.js' diff --git a/src/mock-connector/removeCartItem.js b/src/mock-connector/removeCartItem.js new file mode 100644 index 00000000..dce9d334 --- /dev/null +++ b/src/mock-connector/removeCartItem.js @@ -0,0 +1,3 @@ +export default function removeCartItem(item, req, res) { + return {} +} diff --git a/src/mock-connector/routes.js b/src/mock-connector/routes.js index d36f8913..9ee4320f 100644 --- a/src/mock-connector/routes.js +++ b/src/mock-connector/routes.js @@ -2,7 +2,5 @@ export default [ { source: '/', destination: '/' }, { source: '/s/:subcategoryId', destination: '/s/[subcategoryId]' }, { source: '/p/:productId', destination: '/p/[productId]' }, - { source: '/products/:productId', destination: '/p/[productId]' }, { source: '/p/:productId/suggestions', destination: '/p/[productId]/suggestions' }, - { source: '/foo', destination: '/' }, ] diff --git a/src/mock-connector/session.js b/src/mock-connector/session.js index eeb0db6f..fd02f3d9 100644 --- a/src/mock-connector/session.js +++ b/src/mock-connector/session.js @@ -1,8 +1,17 @@ +import createProduct from './utils/createProduct' + export default async function session(req, res) { + const products = [createProduct(1), createProduct(2), createProduct(3)] + return { name: 'Mark', email: 'mark@domain.com', - itemsInCart: 0, + cart: { + items: products.map((item, i) => ({ + ...item, + quantity: 1, + })), + }, currency: 'USD', } } diff --git a/src/mock-connector/subcategory.js b/src/mock-connector/subcategory.js index 7e39f1e2..7912502c 100644 --- a/src/mock-connector/subcategory.js +++ b/src/mock-connector/subcategory.js @@ -6,7 +6,7 @@ import fulfillAPIRequest from 'react-storefront/props/fulfillAPIRequest' import createAppData from './utils/createAppData' export default async function subcategory(params, req, res) { - let { q, id = '1', page = 0, filters, sort, more = false } = params + let { q, slug = '1', page = 0, filters, sort, more = false } = params if (filters) { filters = JSON.parse(filters) @@ -18,9 +18,9 @@ export default async function subcategory(params, req, res) { appData: createAppData, pageData: () => Promise.resolve({ - id: id, - name: q != null ? `Results for "${q}"` : `Subcategory ${id}`, - title: q != null ? `Results for "${q}"` : `Subcategory ${id}`, + id: slug, + name: q != null ? `Results for "${q}"` : `Subcategory ${slug}`, + title: q != null ? `Results for "${q}"` : `Subcategory ${slug}`, total: 100, page: parseInt(page), totalPages: 5, diff --git a/src/mock-connector/updateCartItem.js b/src/mock-connector/updateCartItem.js new file mode 100644 index 00000000..55a2ab72 --- /dev/null +++ b/src/mock-connector/updateCartItem.js @@ -0,0 +1,3 @@ +export default function updateCartItem(item, quantity, req, res) { + return {} +} diff --git a/src/mock-connector/utils/createMenu.js b/src/mock-connector/utils/createMenu.js index c4f6b5c4..6b2e6c1d 100644 --- a/src/mock-connector/utils/createMenu.js +++ b/src/mock-connector/utils/createMenu.js @@ -34,7 +34,7 @@ function createSubcategoryItem(i) { return { text: `Subcategory ${i}`, - href: `/s/[subcategoryId]`, + href: `/s/[...categorySlug]`, as: `/s/${i}`, expanded: i === 1, items, diff --git a/src/mock-connector/utils/createTabs.js b/src/mock-connector/utils/createTabs.js index eaaf3dfe..6d4d7f83 100644 --- a/src/mock-connector/utils/createTabs.js +++ b/src/mock-connector/utils/createTabs.js @@ -3,11 +3,16 @@ export default function createTabs() { const subcategories = [] for (let i = 1; i <= 3; i++) { - subcategories.push({ as: `/s/${i}`, href: '/s/[subcategoryId]', text: `Subcategory ${i}` }) + subcategories.push({ as: `/s/${i}`, href: '/s/[...categorySlug]', text: `Subcategory ${i}` }) } for (let i = 1; i <= 10; i++) { - tabs.push({ as: `/s/${i}`, href: '/s/[subcategoryId]', text: `Category ${i}`, subcategories }) + tabs.push({ + as: `/s/${i}`, + href: '/s/[...categorySlug]', + text: `Category ${i}`, + items: subcategories, + }) } return tabs diff --git a/src/session/SessionProvider.js b/src/session/SessionProvider.js index acdb37c0..88f6e76e 100644 --- a/src/session/SessionProvider.js +++ b/src/session/SessionProvider.js @@ -2,6 +2,14 @@ import React, { useState, useEffect, useMemo } from 'react' import SessionContext from './SessionContext' import PropTypes from 'prop-types' import fetch from '../fetch' +import get from 'lodash/get' + +const initialState = { + signedIn: false, + cart: { + items: [], + }, +} /** * Fetches user session data from a specific URL and provides it to descendant components via `SessionContext`. @@ -11,17 +19,162 @@ import fetch from '../fetch' * since it would contain user-specific data. */ export default function SessionProvider({ url, children }) { - const [session, setSession] = useState(null) + const [session, setSession] = useState(initialState) const context = useMemo(() => { return { session, actions: { - updateCartCount(quantity) { - setSession({ - ...session, - itemsInCart: quantity, + /** + * Signs an existing user in + * @param {String} email The user's email + * @param {String} password The user's password + */ + async signIn({ email, password }) { + const response = await fetch('/api/signIn', { + method: 'post', + body: JSON.stringify({ + email, + password, + }), + }) + const result = await response.json() + + if (response.ok) { + setSession({ ...session, ...result }) + } else { + throw new Error(get(result, 'error', 'An error occurred during sign in')) + } + }, + + /** + * Signs the user out + */ + async signOut() { + const response = await fetch('/api/signOut', { method: 'post' }) + const result = await response.json() + + if (response.ok) { + setSession({ ...session, ...result }) + } else { + throw new Error(get(result, 'error', 'An error occurred during sign out')) + } + }, + + /** + * Signs the user up for a new account + * @param {Object} options + * @param {String} firstName The user's first name + * @param {String} lastName The user's last name + * @param {String} email The user's email address + * @param {String} password The user's password + * @param {Object} ...others Additional data to submit to api/signUp + */ + async signUp({ firstName, lastName, email, password, ...others }) { + const response = await fetch('/api/signUp', { + method: 'post', + body: JSON.stringify({ + firstName, + lastName, + email, + password, + ...others, + }), }) + + const result = await response.json() + + if (response.ok) { + setSession({ ...session, ...result }) + } else { + throw new Error(get(result, 'error', 'An error occurred during sign up')) + } + }, + + /** + * Adds items to the cart + * @param {Object} product Product data object + * @param {Number} quantity The quantity to add to the cart + * @param {Object} otherParams Additional data to submit to api/addToCart + */ + async addToCart({ product, quantity, ...otherParams }) { + const response = await fetch('/api/cart/add', { + method: 'post', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + product, + quantity, + ...otherParams, + }), + }) + + const result = await response.json() + + if (response.ok) { + setSession({ ...session, ...result }) + } else { + throw new Error( + get( + result, + 'error', + 'An unknown error occurred while attempting to add the item to your cart.', + ), + ) + } + }, + + /** + * Updates the items in the cart. Use this function to update the quantity of a product + * in the cart or remove a product from the cart. + * @param {Object} item Cart item to be updated + * @param {number} quantity Expected quantity value + * @param {Object} otherParams Additional data to submit to api/cart/update + */ + async updateCart({ item, quantity, ...otherParams }) { + const response = await fetch('/api/cart/update', { + method: 'post', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ item, quantity, ...otherParams }), + }) + + const result = await response.json() + + if (response.ok) { + setSession({ ...session, ...result }) + } else { + throw new Error( + get(result, 'error', 'An unknown error occurred while making changes to your cart.'), + ) + } + }, + + /** + * Removes item in the cart. + * @param {Object} item Cart item to be updated + * @param {Object} otherParams Additional data to submit to /api/cart/remove + */ + async removeCartItem({ item, ...otherParams }) { + const response = await fetch('/api/cart/remove', { + method: 'post', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ item, ...otherParams }), + }) + + const result = await response.json() + + if (response.ok) { + setSession({ ...session, ...result }) + } else { + throw new Error( + get(result, 'error', 'An unknown error occurred while removing item from your cart.'), + ) + } }, }, } @@ -29,7 +182,9 @@ export default function SessionProvider({ url, children }) { useEffect(() => { async function fetchSession() { - setSession(await fetch(url).then(res => res.json())) + const response = await fetch(url) + const result = await response.json() + setSession(result) } if (url) fetchSession() @@ -45,5 +200,3 @@ SessionProvider.propTypes = { */ url: PropTypes.string, } - -SessionProvider.defaultProps = {} diff --git a/test/hooks/useCartTotal.test.js b/test/hooks/useCartTotal.test.js new file mode 100644 index 00000000..393d8d5c --- /dev/null +++ b/test/hooks/useCartTotal.test.js @@ -0,0 +1,28 @@ +import React from 'react' +import useCartTotal from 'react-storefront/hooks/useCartTotal' +import SessionContext from 'react-storefront/session/SessionContext' +import { mount } from 'enzyme' + +describe('useCartTotal', () => { + it('should return the total count of items in the cart', () => { + let total + + const session = { + cart: { + items: [{ quantity: 2 }, { quantity: 3 }], + }, + } + const Test = () => { + total = useCartTotal() + return
{total}
+ } + + mount( + + + , + ) + + expect(total).toBe(5) + }) +}) diff --git a/test/session/SessionProvider.test.js b/test/session/SessionProvider.test.js index 949f1f1e..2897bd68 100644 --- a/test/session/SessionProvider.test.js +++ b/test/session/SessionProvider.test.js @@ -1,15 +1,19 @@ import React, { useContext } from 'react' import { mount } from 'enzyme' -import { Button } from '@material-ui/core' -import SessionProvider from 'react-storefront/session/SessionProvider' import SessionContext from 'react-storefront/session/SessionContext' import { act } from 'react-dom/test-utils' describe('SessionProvider', () => { - let wrapper + let wrapper, + SessionProvider, + actions, + session, + sessionResponse = { signedIn: false, cart: { items: [{ id: '1', name: 'Red Shoe' }] } } beforeEach(() => { - fetchMock.mockResponseOnce(JSON.stringify({ itemsInCart: 5 })) + session = {} + fetchMock.mockOnce(JSON.stringify(sessionResponse)) + SessionProvider = require('react-storefront/session/SessionProvider').default }) afterEach(() => { @@ -18,51 +22,308 @@ describe('SessionProvider', () => { }) const Test = () => { - const { actions, session } = useContext(SessionContext) + const context = useContext(SessionContext) + actions = context.actions + session = context.session + return null + } - const updateCart = () => { - actions.updateCartCount(session.itemsInCart + 1) - } + describe('mount', () => { + it('should fetch session data', async () => { + wrapper = mount( + + + , + ) + expect(session).toEqual({ + signedIn: false, + cart: { + items: [], + }, + }) + await act(async () => await wrapper.update()) + expect(session).toEqual(sessionResponse) + }) - return - } + it('should not fetch session data if url is not provided', async () => { + wrapper = mount( + + + , + ) + await act(async () => await wrapper.update()) + expect(session).toEqual({ + signedIn: false, + cart: { + items: [], + }, + }) + }) + }) - it('should fetch session data', async () => { - wrapper = mount( - - - , - ) + describe('signIn', () => { + it('should call the signIn api and update the session', async () => { + wrapper = mount( + + + , + ) - expect(wrapper.find(Button).text()).toBe('Total:0') + await act(async () => { + let request + fetchMock.mockOnce(async req => { + request = req + return JSON.stringify({ signedIn: true }) + }) + await actions.signIn({ email: 'user@domain.com', password: 'password' }) + expect(request.url).toBe('/api/signIn') + expect(request.method).toBe('POST') + expect(request.body.toString('utf8')).toEqual( + JSON.stringify({ email: 'user@domain.com', password: 'password' }), + ) + expect(session.signedIn).toBe(true) + }) + }) - await act(async () => { - await wrapper.update() + it('should throw an error when the response is not ok', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + let error + fetchMock.resetMocks() + fetchMock.mockOnce(async () => JSON.stringify({ error: 'test' }), { status: 500 }) + + try { + debugger + await actions.signIn({ email: 'user@domain.com', password: 'password' }) + } catch (e) { + error = e + } + + expect(error.message).toBe('test') + expect(session.signedIn).toBe(false) + }) }) + }) - expect(wrapper.find(Button).text()).toBe('Total:5') + describe('signOut', () => { + it('should call the signOut api and update the session', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + session.signedIn = true + let request + fetchMock.mockOnce(async req => { + request = req + return JSON.stringify({ signedIn: false }) + }) + await actions.signOut() + expect(request.url).toBe('/api/signOut') + expect(request.method).toBe('POST') + expect(session.signedIn).toBe(false) + }) + }) + + it('should throw an error when the response is not ok', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + let error + fetchMock.mockOnce(async () => JSON.stringify({ error: 'test' }), { status: 500 }) + + try { + await actions.signOut() + } catch (e) { + error = e + } + + expect(error.message).toBe('test') + }) + }) }) - it('should not fetch session data if url is not provided', async () => { - wrapper = mount( - - - , - ) + describe('signUp', () => { + it('should call the signUp api and update the session', async () => { + wrapper = mount( + + + , + ) - expect(wrapper.find(Button).text()).toBe('Total:0') + await act(async () => { + let request + + fetchMock.mockOnce(async req => { + request = req + return JSON.stringify({ signedIn: true }) + }) - await act(async () => { - await wrapper.update() + await actions.signUp({ + firstName: 'Joe', + lastName: 'Smith', + email: 'user@domain.com', + password: 'password', + someOtherField: 'foo', + }) + + expect(request.url).toBe('/api/signUp') + expect(request.method).toBe('POST') + expect(request.body.toString('utf8')).toEqual( + JSON.stringify({ + firstName: 'Joe', + lastName: 'Smith', + email: 'user@domain.com', + password: 'password', + someOtherField: 'foo', + }), + ) + expect(session.signedIn).toBe(true) + }) }) - expect(wrapper.find(Button).text()).toBe('Total:0') + it('throw an error if the response is not ok', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + let error + fetchMock.mockOnce(async () => JSON.stringify({ error: 'test' }), { status: 500 }) + + try { + await actions.signUp({ + firstName: 'Joe', + lastName: 'Smith', + email: 'user@domain.com', + password: 'password', + someOtherField: 'foo', + }) + } catch (e) { + error = e + } + + expect(error.message).toBe('test') + expect(session.signedIn).toBe(false) + }) + }) + }) + + describe('addToCart', () => { + it('should call api/cart/add and apply the result to the session', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + let request + + fetchMock.mockOnce(async req => { + request = req + return JSON.stringify({ signedIn: true }) + }) - expect(fetchMock).not.toBeCalled() + await actions.addToCart({ + product: { id: '1', name: 'Red Dress' }, + quantity: 1, + someOtherParam: 'foo', + }) + + expect(request.url).toBe('/api/cart/add') + expect(request.method).toBe('POST') + expect(request.body.toString('utf8')).toEqual( + JSON.stringify({ + product: { id: '1', name: 'Red Dress' }, + quantity: 1, + someOtherParam: 'foo', + }), + ) + expect(session.signedIn).toBe(true) + }) + }) + + it('throw an error if the response is not ok', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + let error + fetchMock.mockOnce(async () => JSON.stringify({ error: 'test' }), { status: 500 }) + + try { + await actions.addToCart({ + product: { id: '1', name: 'Red Dress' }, + quantity: 1, + someOtherParam: 'foo', + }) + } catch (e) { + error = e + } + + expect(error.message).toBe('test') + }) + }) }) - describe('actions - updateCartCount', () => { - it('should update cartCount', async () => { + describe('updateCart', () => { + it('should call api/cart/update and apply the result to the session', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + let request + + fetchMock.mockOnce(async req => { + request = req + return JSON.stringify({ signedIn: true }) + }) + + await actions.updateCart({ + items: [ + { + id: '1', + quantity: 2, + }, + ], + }) + + expect(request.url).toBe('/api/cart/update') + expect(request.method).toBe('POST') + expect(request.body.toString('utf8')).toEqual( + JSON.stringify({ + items: [ + { + id: '1', + quantity: 2, + }, + ], + }), + ) + }) + }) + + it('throw an error if the response is not ok', async () => { wrapper = mount( @@ -70,17 +331,87 @@ describe('SessionProvider', () => { ) await act(async () => { - await wrapper.update() + let error + fetchMock.mockOnce(async () => JSON.stringify({ error: 'test' }), { status: 500 }) + + try { + await actions.updateCart({ + items: [ + { + id: '1', + quantity: 2, + }, + ], + }) + } catch (e) { + error = e + } + + expect(error.message).toBe('test') }) + }) + }) - expect(wrapper.find(Button).text()).toBe('Total:5') - wrapper.find(Button).simulate('click') + describe('removeCartItem', () => { + it('should call api/cart/remove and apply the result to the session', async () => { + wrapper = mount( + + + , + ) await act(async () => { - await wrapper.update() + let request + + fetchMock.mockOnce(async req => { + request = req + return JSON.stringify({ signedIn: true }) + }) + + await actions.removeCartItem({ + item: { + id: '1', + quantity: 2, + }, + }) + + expect(request.url).toBe('/api/cart/remove') + expect(request.method).toBe('POST') + expect(request.body.toString('utf8')).toEqual( + JSON.stringify({ + item: { + id: '1', + quantity: 2, + }, + }), + ) }) + }) - expect(wrapper.find(Button).text()).toBe('Total:6') + it('throw an error if the response is not ok', async () => { + wrapper = mount( + + + , + ) + + await act(async () => { + let error + fetchMock.mockOnce(async () => JSON.stringify({ error: 'test' }), { status: 500 }) + + try { + await actions.removeCartItem({ + item: { + id: '1', + quantity: 2, + }, + }) + } catch (e) { + error = e + } + + expect(error.message).toBe('test') + }) }) }) })