@@ -214,6 +214,12 @@
214214 "@types/unist": "*"
215215 }
216216 },
217+ "@types/minimatch": {
218+ "version": "3.0.4",
219+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz",
220+ "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==",
221+ "dev": true
222+ },
217223 "@types/node": {
218224 "version": "15.12.0",
219225 "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.0.tgz",
@@ -282,6 +288,24 @@
282288 "sprintf-js": "~1.0.2"
283289 }
284290 },
291+ "array-differ": {
292+ "version": "3.0.0",
293+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
294+ "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
295+ "dev": true
296+ },
297+ "array-union": {
298+ "version": "2.1.0",
299+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
300+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
301+ "dev": true
302+ },
303+ "arrify": {
304+ "version": "2.0.1",
305+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
306+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
307+ "dev": true
308+ },
285309 "asn1.js": {
286310 "version": "5.4.1",
287311 "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
@@ -718,6 +742,17 @@
718742 "sha.js": "^2.4.8"
719743 }
720744 },
745+ "cross-spawn": {
746+ "version": "7.0.3",
747+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
748+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
749+ "dev": true,
750+ "requires": {
751+ "path-key": "^3.1.0",
752+ "shebang-command": "^2.0.0",
753+ "which": "^2.0.1"
754+ }
755+ },
721756 "crypto-browserify": {
722757 "version": "3.12.0",
723758 "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
@@ -894,6 +929,15 @@
894929 "iconv-lite": "^0.6.2"
895930 }
896931 },
932+ "end-of-stream": {
933+ "version": "1.4.4",
934+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
935+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
936+ "dev": true,
937+ "requires": {
938+ "once": "^1.4.0"
939+ }
940+ },
897941 "es-abstract": {
898942 "version": "1.18.3",
899943 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz",
@@ -971,6 +1015,23 @@
9711015 "safe-buffer": "^5.1.1"
9721016 }
9731017 },
1018+ "execa": {
1019+ "version": "4.1.0",
1020+ "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
1021+ "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
1022+ "dev": true,
1023+ "requires": {
1024+ "cross-spawn": "^7.0.0",
1025+ "get-stream": "^5.0.0",
1026+ "human-signals": "^1.1.1",
1027+ "is-stream": "^2.0.0",
1028+ "merge-stream": "^2.0.0",
1029+ "npm-run-path": "^4.0.0",
1030+ "onetime": "^5.1.0",
1031+ "signal-exit": "^3.0.2",
1032+ "strip-final-newline": "^2.0.0"
1033+ }
1034+ },
9741035 "extend": {
9751036 "version": "3.0.2",
9761037 "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -1092,6 +1153,15 @@
10921153 "stream-parser": "^0.3.1"
10931154 }
10941155 },
1156+ "get-stream": {
1157+ "version": "5.2.0",
1158+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
1159+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
1160+ "dev": true,
1161+ "requires": {
1162+ "pump": "^3.0.0"
1163+ }
1164+ },
10951165 "glob": {
10961166 "version": "7.1.7",
10971167 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -1319,6 +1389,12 @@
13191389 "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
13201390 "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
13211391 },
1392+ "human-signals": {
1393+ "version": "1.1.1",
1394+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
1395+ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
1396+ "dev": true
1397+ },
13221398 "iconv-lite": {
13231399 "version": "0.6.3",
13241400 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -1332,6 +1408,12 @@
13321408 "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
13331409 "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
13341410 },
1411+ "ignore": {
1412+ "version": "5.1.8",
1413+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
1414+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
1415+ "dev": true
1416+ },
13351417 "inflight": {
13361418 "version": "1.0.6",
13371419 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -1502,6 +1584,12 @@
15021584 "has-symbols": "^1.0.2"
15031585 }
15041586 },
1587+ "is-stream": {
1588+ "version": "2.0.0",
1589+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
1590+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
1591+ "dev": true
1592+ },
15051593 "is-string": {
15061594 "version": "1.0.6",
15071595 "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz",
@@ -1532,6 +1620,12 @@
15321620 "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
15331621 "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
15341622 },
1623+ "isexe": {
1624+ "version": "2.0.0",
1625+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1626+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1627+ "dev": true
1628+ },
15351629 "jest-worker": {
15361630 "version": "27.0.0-next.5",
15371631 "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.0-next.5.tgz",
@@ -1831,6 +1925,12 @@
18311925 }
18321926 }
18331927 },
1928+ "mimic-fn": {
1929+ "version": "2.1.0",
1930+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
1931+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
1932+ "dev": true
1933+ },
18341934 "minimalistic-assert": {
18351935 "version": "1.0.1",
18361936 "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -1861,11 +1961,30 @@
18611961 "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==",
18621962 "dev": true
18631963 },
1964+ "mri": {
1965+ "version": "1.1.6",
1966+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz",
1967+ "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==",
1968+ "dev": true
1969+ },
18641970 "ms": {
18651971 "version": "2.0.0",
18661972 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
18671973 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
18681974 },
1975+ "multimatch": {
1976+ "version": "4.0.0",
1977+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
1978+ "integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
1979+ "dev": true,
1980+ "requires": {
1981+ "@types/minimatch": "^3.0.3",
1982+ "array-differ": "^3.0.0",
1983+ "array-union": "^2.1.0",
1984+ "arrify": "^2.0.1",
1985+ "minimatch": "^3.0.4"
1986+ }
1987+ },
18691988 "nanoid": {
18701989 "version": "3.1.23",
18711990 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
@@ -2147,6 +2266,15 @@
21472266 "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
21482267 "dev": true
21492268 },
2269+ "npm-run-path": {
2270+ "version": "4.0.1",
2271+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
2272+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
2273+ "dev": true,
2274+ "requires": {
2275+ "path-key": "^3.0.0"
2276+ }
2277+ },
21502278 "object-assign": {
21512279 "version": "4.1.1",
21522280 "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -2197,6 +2325,15 @@
21972325 "wrappy": "1"
21982326 }
21992327 },
2328+ "onetime": {
2329+ "version": "5.1.2",
2330+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
2331+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
2332+ "dev": true,
2333+ "requires": {
2334+ "mimic-fn": "^2.1.0"
2335+ }
2336+ },
22002337 "os-browserify": {
22012338 "version": "0.3.0",
22022339 "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
@@ -2308,6 +2445,12 @@
23082445 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
23092446 "dev": true
23102447 },
2448+ "path-key": {
2449+ "version": "3.1.1",
2450+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
2451+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
2452+ "dev": true
2453+ },
23112454 "path-parse": {
23122455 "version": "1.0.7",
23132456 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
@@ -2435,12 +2578,77 @@
24352578 "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
24362579 "dev": true
24372580 },
2581+ "prettier": {
2582+ "version": "2.3.1",
2583+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz",
2584+ "integrity": "sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA==",
2585+ "dev": true
2586+ },
24382587 "pretty-hrtime": {
24392588 "version": "1.0.3",
24402589 "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
24412590 "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
24422591 "dev": true
24432592 },
2593+ "pretty-quick": {
2594+ "version": "3.1.0",
2595+ "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.0.tgz",
2596+ "integrity": "sha512-DtxIxksaUWCgPFN7E1ZZk4+Aav3CCuRdhrDSFZENb404sYMtuo9Zka823F+Mgeyt8Zt3bUiCjFzzWYE9LYqkmQ==",
2597+ "dev": true,
2598+ "requires": {
2599+ "chalk": "^3.0.0",
2600+ "execa": "^4.0.0",
2601+ "find-up": "^4.1.0",
2602+ "ignore": "^5.1.4",
2603+ "mri": "^1.1.5",
2604+ "multimatch": "^4.0.0"
2605+ },
2606+ "dependencies": {
2607+ "ansi-styles": {
2608+ "version": "4.3.0",
2609+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2610+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2611+ "dev": true,
2612+ "requires": {
2613+ "color-convert": "^2.0.1"
2614+ }
2615+ },
2616+ "chalk": {
2617+ "version": "3.0.0",
2618+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
2619+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
2620+ "dev": true,
2621+ "requires": {
2622+ "ansi-styles": "^4.1.0",
2623+ "supports-color": "^7.1.0"
2624+ }
2625+ },
2626+ "color-convert": {
2627+ "version": "2.0.1",
2628+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2629+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2630+ "dev": true,
2631+ "requires": {
2632+ "color-name": "~1.1.4"
2633+ }
2634+ },
2635+ "color-name": {
2636+ "version": "1.1.4",
2637+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2638+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2639+ "dev": true
2640+ },
2641+ "supports-color": {
2642+ "version": "7.2.0",
2643+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2644+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
2645+ "dev": true,
2646+ "requires": {
2647+ "has-flag": "^4.0.0"
2648+ }
2649+ }
2650+ }
2651+ },
24442652 "process": {
24452653 "version": "0.11.10",
24462654 "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -2489,6 +2697,16 @@
24892697 }
24902698 }
24912699 },
2700+ "pump": {
2701+ "version": "3.0.0",
2702+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
2703+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
2704+ "dev": true,
2705+ "requires": {
2706+ "end-of-stream": "^1.1.0",
2707+ "once": "^1.3.1"
2708+ }
2709+ },
24922710 "punycode": {
24932711 "version": "2.1.1",
24942712 "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -2774,11 +2992,32 @@
27742992 "safe-buffer": "^5.0.1"
27752993 }
27762994 },
2995+ "shebang-command": {
2996+ "version": "2.0.0",
2997+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2998+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2999+ "dev": true,
3000+ "requires": {
3001+ "shebang-regex": "^3.0.0"
3002+ }
3003+ },
3004+ "shebang-regex": {
3005+ "version": "3.0.0",
3006+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3007+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3008+ "dev": true
3009+ },
27773010 "shell-quote": {
27783011 "version": "1.7.2",
27793012 "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
27803013 "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg=="
27813014 },
3015+ "signal-exit": {
3016+ "version": "3.0.3",
3017+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
3018+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
3019+ "dev": true
3020+ },
27823021 "simple-swizzle": {
27833022 "version": "0.2.2",
27843023 "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
@@ -2907,6 +3146,12 @@
29073146 "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
29083147 "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI="
29093148 },
3149+ "strip-final-newline": {
3150+ "version": "2.0.0",
3151+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
3152+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
3153+ "dev": true
3154+ },
29103155 "style-to-object": {
29113156 "version": "0.3.0",
29123157 "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
@@ -3286,6 +3531,15 @@
32863531 "webidl-conversions": "^4.0.2"
32873532 }
32883533 },
3534+ "which": {
3535+ "version": "2.0.2",
3536+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3537+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3538+ "dev": true,
3539+ "requires": {
3540+ "isexe": "^2.0.0"
3541+ }
3542+ },
32893543 "which-boxed-primitive": {
32903544 "version": "1.0.2",
32913545 "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",