From c00b0b19a24240f59ff0bcb156a261ebb62d1d88 Mon Sep 17 00:00:00 2001 From: "Mark Tyers (aa7401)" Date: Mon, 14 Oct 2019 16:48:16 +0100 Subject: [PATCH 01/41] Reminder to Install Dependencies Students are trying to commit code but the hook tries to run the linter. Since this has not been installed they get an error. Explained the need for the packages to be installed. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f2406dc..a532acd 100644 --- a/README.md +++ b/README.md @@ -32,4 +32,4 @@ Clone your private repository Change your [local config settings](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup). This is a vital step otherwise your commits won't show on the GitHub _graph_ and your grade will be affected. -Start working on the assignment. +Start working on the assignment. Remember to install all the dependencies listed in the `package.json` file. From 74e4c5726b0503e40c99964790b20cdce478c8e1 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Mon, 14 Oct 2019 17:09:01 +0100 Subject: [PATCH 02/41] Code Clean Up Linter reported a number of issues with the code. These have now been resolved. --- archive/countries.json | 242 ------------------------------------ archive/index.specx.js | 33 ----- archive/test.sh | 5 - archive/testdata/boy-2.png | Bin 20123 -> 0 bytes archive/testdata/boy-3.png | Bin 17149 -> 0 bytes archive/testdata/boy-4.png | Bin 17749 -> 0 bytes archive/testdata/boy-5.png | Bin 19973 -> 0 bytes archive/testdata/boy.png | Bin 15971 -> 0 bytes archive/testdata/girl-2.png | Bin 20108 -> 0 bytes archive/testdata/girl-3.png | Bin 27458 -> 0 bytes archive/testdata/girl-4.png | Bin 20140 -> 0 bytes archive/testdata/girl-5.png | Bin 19352 -> 0 bytes archive/testdata/girl.png | Bin 23054 -> 0 bytes index.js | 6 - modules/user.js | 4 +- 15 files changed, 2 insertions(+), 288 deletions(-) delete mode 100644 archive/countries.json delete mode 100644 archive/index.specx.js delete mode 100755 archive/test.sh delete mode 100644 archive/testdata/boy-2.png delete mode 100644 archive/testdata/boy-3.png delete mode 100644 archive/testdata/boy-4.png delete mode 100644 archive/testdata/boy-5.png delete mode 100644 archive/testdata/boy.png delete mode 100644 archive/testdata/girl-2.png delete mode 100644 archive/testdata/girl-3.png delete mode 100644 archive/testdata/girl-4.png delete mode 100644 archive/testdata/girl-5.png delete mode 100644 archive/testdata/girl.png diff --git a/archive/countries.json b/archive/countries.json deleted file mode 100644 index fb6f449..0000000 --- a/archive/countries.json +++ /dev/null @@ -1,242 +0,0 @@ -[ - {"name":"Israel","dial_code":"+972","code":"IL"}, - {"name":"Afghanistan","dial_code":"+93","code":"AF"}, - {"name":"Albania","dial_code":"+355","code":"AL"}, - {"name":"Algeria","dial_code":"+213","code":"DZ"}, - {"name":"AmericanSamoa","dial_code":"+1 684","code":"AS"}, - {"name":"Andorra","dial_code":"+376","code":"AD"}, - {"name":"Angola","dial_code":"+244","code":"AO"}, - {"name":"Anguilla","dial_code":"+1 264","code":"AI"}, - {"name":"Antigua and Barbuda","dial_code":"+1268","code":"AG"}, - {"name":"Argentina","dial_code":"+54","code":"AR"}, - {"name":"Armenia","dial_code":"+374","code":"AM"}, - {"name":"Aruba","dial_code":"+297","code":"AW"}, - {"name":"Australia","dial_code":"+61","code":"AU"}, - {"name":"Austria","dial_code":"+43","code":"AT"}, - {"name":"Azerbaijan","dial_code":"+994","code":"AZ"}, - {"name":"Bahamas","dial_code":"+1 242","code":"BS"}, - {"name":"Bahrain","dial_code":"+973","code":"BH"}, - {"name":"Bangladesh","dial_code":"+880","code":"BD"}, - {"name":"Barbados","dial_code":"+1 246","code":"BB"}, - {"name":"Belarus","dial_code":"+375","code":"BY"}, - {"name":"Belgium","dial_code":"+32","code":"BE"}, - {"name":"Belize","dial_code":"+501","code":"BZ"}, - {"name":"Benin","dial_code":"+229","code":"BJ"}, - {"name":"Bermuda","dial_code":"+1 441","code":"BM"}, - {"name":"Bhutan","dial_code":"+975","code":"BT"}, - {"name":"Bosnia and Herzegovina","dial_code":"+387","code":"BA"}, - {"name":"Botswana","dial_code":"+267","code":"BW"}, - {"name":"Brazil","dial_code":"+55","code":"BR"}, - {"name":"British Indian Ocean Territory","dial_code":"+246","code":"IO"},{"name":"Bulgaria","dial_code":"+359","code":"BG"}, - {"name":"Burkina Faso","dial_code":"+226","code":"BF"}, - {"name":"Burundi","dial_code":"+257","code":"BI"}, - {"name":"Cambodia","dial_code":"+855","code":"KH"}, - {"name":"Cameroon","dial_code":"+237","code":"CM"}, - {"name":"Canada","dial_code":"+1","code":"CA"}, - {"name":"Cape Verde","dial_code":"+238","code":"CV"}, - {"name":"Cayman Islands","dial_code":"+ 345","code":"KY"}, - {"name":"Central African Republic","dial_code":"+236","code":"CF"}, - {"name":"Chad","dial_code":"+235","code":"TD"}, - {"name":"Chile","dial_code":"+56","code":"CL"}, - {"name":"China","dial_code":"+86","code":"CN"}, - {"name":"Christmas Island","dial_code":"+61","code":"CX"}, - {"name":"Colombia","dial_code":"+57","code":"CO"}, - {"name":"Comoros","dial_code":"+269","code":"KM"}, - {"name":"Congo","dial_code":"+242","code":"CG"}, - {"name":"Cook Islands","dial_code":"+682","code":"CK"}, - {"name":"Costa Rica","dial_code":"+506","code":"CR"}, - {"name":"Croatia","dial_code":"+385","code":"HR"}, - {"name":"Cuba","dial_code":"+53","code":"CU"}, - {"name":"Cyprus","dial_code":"+537","code":"CY"}, - {"name":"Czech Republic","dial_code":"+420","code":"CZ"}, - {"name":"Denmark","dial_code":"+45","code":"DK"}, - {"name":"Djibouti","dial_code":"+253","code":"DJ"}, - {"name":"Dominica","dial_code":"+1 767","code":"DM"}, - {"name":"Dominican Republic","dial_code":"+1 849","code":"DO"}, - {"name":"Ecuador","dial_code":"+593","code":"EC"}, - {"name":"Egypt","dial_code":"+20","code":"EG"}, - {"name":"El Salvador","dial_code":"+503","code":"SV"}, - {"name":"Equatorial Guinea","dial_code":"+240","code":"GQ"}, - {"name":"Eritrea","dial_code":"+291","code":"ER"}, - {"name":"Estonia","dial_code":"+372","code":"EE"}, - {"name":"Ethiopia","dial_code":"+251","code":"ET"}, - {"name":"Faroe Islands","dial_code":"+298","code":"FO"}, - {"name":"Fiji","dial_code":"+679","code":"FJ"}, - {"name":"Finland","dial_code":"+358","code":"FI"}, - {"name":"France","dial_code":"+33","code":"FR"}, - {"name":"French Guiana","dial_code":"+594","code":"GF"}, - {"name":"French Polynesia","dial_code":"+689","code":"PF"}, - {"name":"Gabon","dial_code":"+241","code":"GA"}, - {"name":"Gambia","dial_code":"+220","code":"GM"}, - {"name":"Georgia","dial_code":"+995","code":"GE"}, - {"name":"Germany","dial_code":"+49","code":"DE"}, - {"name":"Ghana","dial_code":"+233","code":"GH"}, - {"name":"Gibraltar","dial_code":"+350","code":"GI"}, - {"name":"Greece","dial_code":"+30","code":"GR"}, - {"name":"Greenland","dial_code":"+299","code":"GL"}, - {"name":"Grenada","dial_code":"+1 473","code":"GD"}, - {"name":"Guadeloupe","dial_code":"+590","code":"GP"}, - {"name":"Guam","dial_code":"+1 671","code":"GU"}, - {"name":"Guatemala","dial_code":"+502","code":"GT"}, - {"name":"Guinea","dial_code":"+224","code":"GN"}, - {"name":"Guinea-Bissau","dial_code":"+245","code":"GW"}, - {"name":"Guyana","dial_code":"+595","code":"GY"}, - {"name":"Haiti","dial_code":"+509","code":"HT"}, - {"name":"Honduras","dial_code":"+504","code":"HN"}, - {"name":"Hungary","dial_code":"+36","code":"HU"}, - {"name":"Iceland","dial_code":"+354","code":"IS"}, - {"name":"India","dial_code":"+91","code":"IN"}, - {"name":"Indonesia","dial_code":"+62","code":"ID"}, - {"name":"Iraq","dial_code":"+964","code":"IQ"}, - {"name":"Ireland","dial_code":"+353","code":"IE"}, - {"name":"Israel","dial_code":"+972","code":"IL"}, - {"name":"Italy","dial_code":"+39","code":"IT"}, - {"name":"Jamaica","dial_code":"+1 876","code":"JM"}, - {"name":"Japan","dial_code":"+81","code":"JP"}, - {"name":"Jordan","dial_code":"+962","code":"JO"}, - {"name":"Kazakhstan","dial_code":"+7 7","code":"KZ"}, - {"name":"Kenya","dial_code":"+254","code":"KE"}, - {"name":"Kiribati","dial_code":"+686","code":"KI"}, - {"name":"Kuwait","dial_code":"+965","code":"KW"}, - {"name":"Kyrgyzstan","dial_code":"+996","code":"KG"}, - {"name":"Latvia","dial_code":"+371","code":"LV"}, - {"name":"Lebanon","dial_code":"+961","code":"LB"}, - {"name":"Lesotho","dial_code":"+266","code":"LS"}, - {"name":"Liberia","dial_code":"+231","code":"LR"}, - {"name":"Liechtenstein","dial_code":"+423","code":"LI"}, - {"name":"Lithuania","dial_code":"+370","code":"LT"}, - {"name":"Luxembourg","dial_code":"+352","code":"LU"}, - {"name":"Madagascar","dial_code":"+261","code":"MG"}, - {"name":"Malawi","dial_code":"+265","code":"MW"}, - {"name":"Malaysia","dial_code":"+60","code":"MY"}, - {"name":"Maldives","dial_code":"+960","code":"MV"}, - {"name":"Mali","dial_code":"+223","code":"ML"}, - {"name":"Malta","dial_code":"+356","code":"MT"}, - {"name":"Marshall Islands","dial_code":"+692","code":"MH"}, - {"name":"Martinique","dial_code":"+596","code":"MQ"}, - {"name":"Mauritania","dial_code":"+222","code":"MR"}, - {"name":"Mauritius","dial_code":"+230","code":"MU"}, - {"name":"Mayotte","dial_code":"+262","code":"YT"}, - {"name":"Mexico","dial_code":"+52","code":"MX"}, - {"name":"Monaco","dial_code":"+377","code":"MC"}, - {"name":"Mongolia","dial_code":"+976","code":"MN"}, - {"name":"Montenegro","dial_code":"+382","code":"ME"}, - {"name":"Montserrat","dial_code":"+1664","code":"MS"}, - {"name":"Morocco","dial_code":"+212","code":"MA"}, - {"name":"Myanmar","dial_code":"+95","code":"MM"}, - {"name":"Namibia","dial_code":"+264","code":"NA"}, - {"name":"Nauru","dial_code":"+674","code":"NR"}, - {"name":"Nepal","dial_code":"+977","code":"NP"}, - {"name":"Netherlands","dial_code":"+31","code":"NL"}, - {"name":"Netherlands Antilles","dial_code":"+599","code":"AN"}, - {"name":"New Caledonia","dial_code":"+687","code":"NC"}, - {"name":"New Zealand","dial_code":"+64","code":"NZ"}, - {"name":"Nicaragua","dial_code":"+505","code":"NI"}, - {"name":"Niger","dial_code":"+227","code":"NE"}, - {"name":"Nigeria","dial_code":"+234","code":"NG"}, - {"name":"Niue","dial_code":"+683","code":"NU"}, - {"name":"Norfolk Island","dial_code":"+672","code":"NF"}, - {"name":"Northern Mariana Islands","dial_code":"+1 670","code":"MP"}, - {"name":"Norway","dial_code":"+47","code":"NO"}, - {"name":"Oman","dial_code":"+968","code":"OM"}, - {"name":"Pakistan","dial_code":"+92","code":"PK"}, - {"name":"Palau","dial_code":"+680","code":"PW"}, - {"name":"Panama","dial_code":"+507","code":"PA"}, - {"name":"Papua New Guinea","dial_code":"+675","code":"PG"}, - {"name":"Paraguay","dial_code":"+595","code":"PY"}, - {"name":"Peru","dial_code":"+51","code":"PE"}, - {"name":"Philippines","dial_code":"+63","code":"PH"}, - {"name":"Poland","dial_code":"+48","code":"PL"}, - {"name":"Portugal","dial_code":"+351","code":"PT"}, - {"name":"Puerto Rico","dial_code":"+1 939","code":"PR"}, - {"name":"Qatar","dial_code":"+974","code":"QA"}, - {"name":"Romania","dial_code":"+40","code":"RO"}, - {"name":"Rwanda","dial_code":"+250","code":"RW"}, - {"name":"Samoa","dial_code":"+685","code":"WS"}, - {"name":"San Marino","dial_code":"+378","code":"SM"}, - {"name":"Saudi Arabia","dial_code":"+966","code":"SA"}, - {"name":"Senegal","dial_code":"+221","code":"SN"}, - {"name":"Serbia","dial_code":"+381","code":"RS"}, - {"name":"Seychelles","dial_code":"+248","code":"SC"}, - {"name":"Sierra Leone","dial_code":"+232","code":"SL"}, - {"name":"Singapore","dial_code":"+65","code":"SG"}, - {"name":"Slovakia","dial_code":"+421","code":"SK"}, - {"name":"Slovenia","dial_code":"+386","code":"SI"}, - {"name":"Solomon Islands","dial_code":"+677","code":"SB"}, - {"name":"South Africa","dial_code":"+27","code":"ZA"}, - {"name":"South Georgia and the South Sandwich Islands","dial_code":"+500","code":"GS"}, - {"name":"Spain","dial_code":"+34","code":"ES"}, - {"name":"Sri Lanka","dial_code":"+94","code":"LK"}, - {"name":"Sudan","dial_code":"+249","code":"SD"}, - {"name":"Suriname","dial_code":"+597","code":"SR"}, - {"name":"Swaziland","dial_code":"+268","code":"SZ"}, - {"name":"Sweden","dial_code":"+46","code":"SE"}, - {"name":"Switzerland","dial_code":"+41","code":"CH"}, - {"name":"Tajikistan","dial_code":"+992","code":"TJ"}, - {"name":"Thailand","dial_code":"+66","code":"TH"}, - {"name":"Togo","dial_code":"+228","code":"TG"}, - {"name":"Tokelau","dial_code":"+690","code":"TK"}, - {"name":"Tonga","dial_code":"+676","code":"TO"}, - {"name":"Trinidad and Tobago","dial_code":"+1 868","code":"TT"}, - {"name":"Tunisia","dial_code":"+216","code":"TN"}, - {"name":"Turkey","dial_code":"+90","code":"TR"}, - {"name":"Turkmenistan","dial_code":"+993","code":"TM"}, - {"name":"Turks and Caicos Islands","dial_code":"+1 649","code":"TC"}, - {"name":"Tuvalu","dial_code":"+688","code":"TV"}, - {"name":"Uganda","dial_code":"+256","code":"UG"}, - {"name":"Ukraine","dial_code":"+380","code":"UA"}, - {"name":"United Arab Emirates","dial_code":"+971","code":"AE"}, - {"name":"United Kingdom","dial_code":"+44","code":"GB"}, - {"name":"United States","dial_code":"+1","code":"US"}, - {"name":"Uruguay","dial_code":"+598","code":"UY"}, - {"name":"Uzbekistan","dial_code":"+998","code":"UZ"}, - {"name":"Vanuatu","dial_code":"+678","code":"VU"}, - {"name":"Wallis and Futuna","dial_code":"+681","code":"WF"}, - {"name":"Yemen","dial_code":"+967","code":"YE"}, - {"name":"Zambia","dial_code":"+260","code":"ZM"}, - {"name":"Zimbabwe","dial_code":"+263","code":"ZW"}, - {"name":"Åland Islands","dial_code":"","code":"AX"}, - {"name":"Antarctica","dial_code":null,"code":"AQ"}, - {"name":"Bolivia, Plurinational State of","dial_code":"+591","code":"BO"}, - {"name":"Brunei Darussalam","dial_code":"+673","code":"BN"}, - {"name":"Cocos (Keeling) Islands","dial_code":"+61","code":"CC"}, - {"name":"Congo, The Democratic Republic of the","dial_code":"+243","code":"CD"}, - {"name":"Cote d'Ivoire","dial_code":"+225","code":"CI"}, - {"name":"Falkland Islands (Malvinas)","dial_code":"+500","code":"FK"}, - {"name":"Guernsey","dial_code":"+44","code":"GG"}, - {"name":"Holy See (Vatican City State)","dial_code":"+379","code":"VA"}, - {"name":"Hong Kong","dial_code":"+852","code":"HK"}, - {"name":"Iran, Islamic Republic of","dial_code":"+98","code":"IR"}, - {"name":"Isle of Man","dial_code":"+44","code":"IM"}, - {"name":"Jersey","dial_code":"+44","code":"JE"}, - {"name":"Korea, Democratic People's Republic of","dial_code":"+850","code":"KP"}, - {"name":"Korea, Republic of","dial_code":"+82","code":"KR"}, - {"name":"Lao People's Democratic Republic","dial_code":"+856","code":"LA"}, - {"name":"Libyan Arab Jamahiriya","dial_code":"+218","code":"LY"}, - {"name":"Macao","dial_code":"+853","code":"MO"}, - {"name":"Macedonia, The Former Yugoslav Republic of","dial_code":"+389","code":"MK"}, - {"name":"Micronesia, Federated States of","dial_code":"+691","code":"FM"}, - {"name":"Moldova, Republic of","dial_code":"+373","code":"MD"}, - {"name":"Mozambique","dial_code":"+258","code":"MZ"}, - {"name":"Palestinian Territory, Occupied","dial_code":"+970","code":"PS"},{"name":"Pitcairn","dial_code":"+872","code":"PN"}, - {"name":"Réunion","dial_code":"+262","code":"RE"}, - {"name":"Russia","dial_code":"+7","code":"RU"}, - {"name":"Saint Barthélemy","dial_code":"+590","code":"BL"}, - {"name":"Saint Helena, Ascension and Tristan Da Cunha","dial_code":"+290","code":"SH"}, - {"name":"Saint Kitts and Nevis","dial_code":"+1 869","code":"KN"}, - {"name":"Saint Lucia","dial_code":"+1 758","code":"LC"}, - {"name":"Saint Martin","dial_code":"+590","code":"MF"}, - {"name":"Saint Pierre and Miquelon","dial_code":"+508","code":"PM"}, - {"name":"Saint Vincent and the Grenadines","dial_code":"+1 784","code":"VC"}, - {"name":"Sao Tome and Principe","dial_code":"+239","code":"ST"}, - {"name":"Somalia","dial_code":"+252","code":"SO"}, - {"name":"Svalbard and Jan Mayen","dial_code":"+47","code":"SJ"}, - {"name":"Syrian Arab Republic","dial_code":"+963","code":"SY"}, - {"name":"Taiwan, Province of China","dial_code":"+886","code":"TW"}, - {"name":"Tanzania, United Republic of","dial_code":"+255","code":"TZ"}, - {"name":"Timor-Leste","dial_code":"+670","code":"TL"}, - {"name":"Venezuela, Bolivarian Republic of","dial_code":"+58","code":"VE"}, - {"name":"Viet Nam","dial_code":"+84","code":"VN"}, - {"name":"Virgin Islands, British","dial_code":"+1 284","code":"VG"}, - {"name":"Virgin Islands, U.S.","dial_code":"+1 340","code":"VI"} -] \ No newline at end of file diff --git a/archive/index.specx.js b/archive/index.specx.js deleted file mode 100644 index 93f7ad4..0000000 --- a/archive/index.specx.js +++ /dev/null @@ -1,33 +0,0 @@ - -'use strict' - -const request = require('supertest') -const status = require('http-status-codes') - -const server = require('../../index.js') - -beforeAll( async() => console.log('Jest starting!')) - -describe('GET /', () => { - // TODO -}) - -describe('GET /register', () => { - // TODO -}) - -describe('POST /register', () => { - // TODO -}) - -describe('GET /login', () => { - // TODO -}) - -describe('POST /login', () => { - // TODO -}) - -describe('GET /logout', () => { - // TODO -}) diff --git a/archive/test.sh b/archive/test.sh deleted file mode 100755 index f6c4ea0..0000000 --- a/archive/test.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -node index.js& -node_modules/.bin/jest --detectOpenHandles tests/acceptance/ -kill %1 diff --git a/archive/testdata/boy-2.png b/archive/testdata/boy-2.png deleted file mode 100644 index 094d3596c2f3e3c1144c292350d08ca8c19f09ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20123 zcmYg&1yoeq_wbzo1f)R)q=uG~4yC(Gx*Mcha$vv$X^@iCM>o=qNVjx@q;z-8ck#X7 ze|@aQ8s?sJ_St9m-e+Gz)l_709zJ~t0054>oYX4-fP#NQ0gMOW$BFmY75IVbE+Map z0si=7ScZV#FJ+yMaZ)BP{Rmd_dwd`Rjct?QxTZ0+G?=4J(Wd3imzb+UK2Fmthb z?(AlhvM2Nu08~iirNlM8XLg%>JRWZ(Z-}O432%n0&ctn6xm``#1dMVE$Bo*ks9sG) zj)oGol7tU5?+Z#062i_XLgC|3Iam-~v=||*vMhPP6#GF6{PBZw#_AO`6h1yvG2h(u zwn+kskzzk*t@(ob3{equT)A`YrhS8<<6^H%5u`ZNDHYJzefM|;X|*y(&50I=Zuy+* zmxc4z60Xh@YzHq3rgI{-=j$i7 zr_%aLxqUDG@uOf(<;wJ!ugvR@P3DwebN?viXpFyTZm@L_xHJtd6{AHk4nr?ZiZY&z z(*&Bg1b39DmD=~*67=BoTYK~^7EU)A1f(Pn-@5%C3)C_JwZE|fi=FbkX54%Edd#* zC{7kmixcM)N?R?S_D5wKKI!)W5#RDrklKnj2DxvX24_XQP4UEOTl&xHXs#bP=_p!vC@sV!9AFO#!vMqpyu!k! z|IcA(4IO64Bfx*ZEKg0zicPV`<$VMtW!@N>43DSK%$UF~mbXoSXz; z03jIKsyi7kn|E1?j#2zK_@iGmUXQb3ec+=J0cBOFhtZimfG<#@B@Pvi$R(YvFYhIt z-yTcp`FV$T2*n4MNK5wR0`&a)>LfGKUngPi8ms%PT<`t-L;{Zas+6Shc?Te?l`c_G zTR*D|6ksvnP1S;&$ZaPO0}$I&ah$&CPr5Pw0ODLt*V}lL^wMiPa*7uOoM_NP4#zB8>n5gSu+rOA}&Thx2GL zZ2X0l;5GLTQbcheTGcKa-JfhKWY4cY0oeEf_reVlwV#WaT?5{6Y}SIs@_$j%?|nND-zPh6*IE(fS&;N`M44 zW!A%-AHp|iDBjE;l1zdVU~q4svi-OBq#2l2sA_gv1Yb z{sb~BJtc|bZa(j&|JgwPML6@6F|MAsK`=)$4*jP=li}mh9eUo(U&o7a!^>8|%!t`W z=m*c+pJyOKM9265{_moc7Z>CG>hp`KbH&q>ym1Yp<|)lm9B3{~piGI3NVTel1c9Q& zF)6p4Ym4iG@WfcMf+bA=nRd zv7gabgF}}ZcTB%Z?-ZtEZvOewDCdG20(4e874>f5hSGF`<6kW!_sZd>D;tjTcM^sb zfs6uBDU8wjD(@5P-ZG?gku-p)cyo!Qvy%IW^@cv+4H89)Ace5Nl93Xn@|Hckbm z{yL9f-%+_knZCutk6BgzbB$Y03;}-gpIvrbs3`BxrrmHNAt8n`H4a&P17X`L*fM}v zZO$!myD(8Cf8YcX0`qkFXwYs3ihOAJyAt%a_!~VWIs%9L+Xj9Z0bt5qn0uCCz2Ss> zsfcX86AXrlSvH`GOr<9r5Sep90SAwZF#E%lEfu85;A)}!Fm~RCxM7NX|*5b(m5SUs*yXW0I-3S1{(iO?EsndvU z!C$=LM->LVgGZ*z{|TMM064r>7FA^{@8)S4F%e%e03ffUF~D)}6(gu)46(u`Ix%sv zEgaZH;8t&!H{Xti%z|t3dl&PnBPd@g14~d0z%vH4$_(XXpi=JK40-Aw$pV1b?fc+> z(rQ+cnUISJ0D&KN8@@Tb8bpK!C<1^QRbl73uo$*1Acj%&WsHA5v?oIu0Sx2I8<`Z& z+#76HatI(EJ670{sPY&%ya3@z#zSpnhUg+`0T_nDM(16WxU#VtI7kAzicT?5ugW$9 zix8037GW3KDqf$d7J?xH03U|+ZPv*1I}nl$T80a=)AoRdkPQp~!{Ho>w`_t`u8Kng z#sNqx6}NBmp{cBX8(zpZcs@DM9werv-n{>#6CjO10k%+JK&z6r>Za(=O(?9OCk&Mz zIOzLsHeW(C2?{_osP$eijR5R1SSw>s;x7^a!@#|j+xW1$Z?U@FLJMMJ z@>kV5X@N{L$N@J$CgOMLZNkz6AfP8?|B8T<5&{H}jIBz8l28DJA_#KcI2lX(gLqRd z>kBmCiYY&+AixK(zx#;$W0?yJ)Cg6Cv=5nd-ir1;HU2%| z>FzzhIXd8-896#CfYO*Ov||!_i~;0*j3>H&?v(I@%KLy*vp5t+?Q%m}NAzIB#nRkm&?D!1_Dm51N`gJHQA9 zGWljTh|+06R<^!126#z>*}>q)RH?A@(?ukRfG=ds8nprd4k+RT`3f1D!D&CiX`x>= zIRO8zlf6<=y8oV4k*Z{i0j(Gq;C{c+TFb?NJmsUzGZO+(fRs0XfjxwSV`Qio$Atg9=E65Q{mQzjzGb zm#>Cz!h@$G0R+YoG;e@I1r3m*yAOI8tHI^Ljes3@*&!AQDntrq&v3pd0ji4FJ0Hjx z!@Z-zhtPzd-t%qu-e0lVFEC9HH z05rkn#bkvPwwOcspz`2y41I7wBv@!Ry_bD{Qw`1NI*tb+w8{Y_Ly!+yy zstEIjdbgr1HO++v$}54yLWJAytFR+B;RXezszun$hm)2Dy)MDe07?J>ga}!mz*ll+ zW05n-oB@-UC}#FY98jiz$5>x|sO`cs1p|Yz&DiOjd&Kl!>PI-qbD*`N0Qdlb#QHNY zZ%DY)qVBv%<6P|O{)*)<9^MjVqG0B~5Dr8N8BPb>e2+55itDb^7!s@db>xi<@IC&= zCv6v)^Y;}Hy;5A8{A|evLht{LSbul$Q0-y}q|$nPX$OYYNe>|R3<4T~e$WbbZmB1| zxj~nd?qTJvv)~Tq_zxf0qmn%Zcjcq=!;YYAyXi6~RC7QG03e`{aae}$?A5QD#7P!1 z6!uV<(8Eyv0~o%46(~M0TsJZf6}vc6OVH;n!4oG1@BlGj3C;A~@{95k)jQr7O#vUi zOhl{%1K#&JGCSfyotIsFE-J$1+&faApRM-{k@T|mt$vDt9Q_-g2vo@5X{p<2YFzAt z?%?5x`G+d1@}fU;HJ=*i6o@32mN=>=oT^v3m%91jbRSPfW1w}J0#n!UGl3*K4vXF z%S*3YSDgZdNIPdAHS*Dd@+<#9nWjlsq-9C7YEU-xucYBWVMmambEi=QCCj!^l)PQ5y|}bn5)s*FqGyJXVqd&V!lDG*;gO8C%fGK$2=t~#TgfyhXB=g{?-p% zKN-Vv@_lY+bP36IBDaZ-ctwON6pR*Ln(XQey|QBP&>@;>l30fP$H4>t8Rq}67gwfp`2;6CPd;uYtHt3M8i~+xdsPkqZuTEBs4{OH5U#<3N9U3oM zZqk%~=YCZ=GT=|6jC!&7I=NV6p+YW=B`w>JvpYvISz4E`C}qOBxLoSZ7j!Y~d$ziy z5x0geClki7mCCAUibIj2J3aFa z>(j5j)?Ec){8Ly&Agl=%pN_114`s-7Ilph9ne##c!*w(lD;qn@hlnqIDBsP7bJid) z0t1U+>ZKq#oN5_B6g>Ds}s9(wBCL7_iSWV}` zD!9Ju1Vw}gc>^b1C;$YQ@P?dJ^kXd@qa??$0qF;X&&oZ0#I~Sv%Q2e{<$Lt%g8QG} zlAqq3q|tB9RKNGtl6g@_4c%*sj~f%zvpD^xWI&8NYD3v>^s;X_*(8Aub!<&!L&mQ_SGnnXP=HkZB&dkyDXZuCG+& z`u-+DyhE zP;cOt*<7}e)emkKm5>VY=J`BC@l8QXZ^PgB?0PXi-0ch_LaZSKW9-k0E3>y#t z6D+Va1@tum`U_HkfFbr&Z4iDd6ZEfc>MCtTN5*3yTI=8iYFZ8|S`A!`1>eyy3taTW zdr2ov*h2Sno^*L?)va6?o>r`kSJPXJ-)YHjN%i=j{=R!$pudHQYVc7^;ZfM}5}Gx7 zo7VWjPow-Tsb4(sl~jk=I2_kk?Q)TqY@{Q4YvFs@&XFuB+)_2nPuL;(o1js;XDaRq z^beT$EoG!IPULyH5siQ1gloO3c_NO^`vN^(&FC=kNHE@q8Y?kkKh=`k}fzHy10C$bIdWVA76A!l3?_ zqPdO094jCqT&Yl;#@Rkme`2A}`^qQoL4KjL&6k?MR({D=N~omae6`wI#D3xVd!yUu z*2>?*4=(RKP(iN_s#*)Nm}VUD_}6ib@z6H9jWV;6X52;mF8+QEpEz_|=hqQ!TLIP2 zN(!%*2Bg=CS+9&A6T$(Bt)caK*9DbJ=m_{K(Yh(0F%p(;x=C_&* zu$J&@k}4&EG^GfOmsT=b!Py;?OPxQ(_4=j|w-F1D^naa-v@sA9C)XIze9x2?r?kr7JM{o%&6x9?}@7J0XX`ty{cM?VEEFvsLd zp?4wOP*8bZl+-)f{>3)Cl~)DNZ_|xmulV1hgE5@pDjLV?xQQPhiSqW{hnKa!AL{*@ zry8?->y&B;aVIQaOI+t{Ef0Dq5+P;L-83)T2$;*mE>qT4xz{Sz1fdIIuwe1UD77nZ z)nJi|gZZPM9gNaHI|h!&-@W-U&rldvDV&vPx3 z<(L%#ZAyOuHzHN&t|2^V58b{;!{@Bi) zqo$h&x|V=vG_wM>=yzPQyz(KidUfgv7xbFfF=CrceA50@AllxDWL#aiR@c0jH-zHw zOZ%U)BE3GZUavs2*vuHdm}<nf1Yv@=eer=9($(snMVNl#%gxD8f51im2efKm7LsmZ@?(ep-ID4$uo(9 z^7AhnC4>vQy>`k=g%xGdZzfFYEaa#7rr@srRr(xxlBQ%iIk>o&e%a<<9bB-^Q!)(S z8YfA%pDUy&&VDRhwCeAf!dm@uUX--c%{6h(?x2=IF*th5VmTz6`R&QQmI(}F znfhk%kM-bGj2Y!#-td*w-l?QO6YOK{ zvDVYG*r1osZS8H3UCtZAo5T`=Ege2yONEqA7e{RM?q%C)^vdxzb&>sLt+Fxj&n&-o zVoh#s??H9}jmcuW6;G0N8xM9yaxzYb(Nrk?u-d)8wd93H&N7jfsz51PjPYhu7Ggn9sJ zL}4PTq17_^mhlp+Y?P-!SozD3jG2j8m4%~~M?;C5!9b7~(Og@{mJ890s2@j~Q zEaqNJ>O&!fG*mFu$pAOgisoqn4=o)ixIOL<0qZvgk}Z7mWgqXI_#hoj>VF?kaII}+ z@gwV1FjrM0xl*yiH3>eiy#4Al5o_W9-BvX`5_eT~a_FpYwjLIk7#N3)%fLJ(`TC1C z%5DEcaeNhDe6^=tOJ5RCJvmH%3{z1@JZ((iOX;g`g1_&bY_2zC$B?gc{Jrr60}fZ? z?;)HZjY#U8P7gi@;<@3^E^CnnFeIQaq%*KJ|MJ=5+p9>- zUSTp`&)8}Y#g;x2UNWdd6 zoF2@_^38yWsXzsj^t`w8r3q0SSeayumo}*tzFZWHvFNri$bKvVB-Pm$FOD3_-J7IKk8|-8j`p4~-;JFfS@alvwv7Ff{EF30J zj^uMnh7z;G)#Ty&1z(&#p^%A|c6!<7xaDGN)+n+5W{H1*q8w}9O{hklpy#UkWV^h6 zDmsD33P&*7{x4*u93+_ozAgNL^v8Lk@X&TG^hP4<>FxaasUKo zxS%HH0G8g@dIBB45XZKZff=*p=!!MkI*T*AMqGW%dW%fkc8eDJL+hj`MhI5ozd>Le%N=?o|C^VvzVp3|K(oWEX`dRv*SH^~HNf^U^BS~+x+a4Noj zs<)1RZJ~;R=%O)w#`zSCn(2|&Zze2jVg+Rr$P_3~9iy>6OKw{ig4J(~JngovP0k$u zn%Wjp`PlE%gMU)~DWkRUpL*MDC<)W9b&HY-m|*P^+WaYYW!M=K{+PRYwp&Kl=fPg8 z(KZgm#nB?ZUh~Ge-3}Gd{qg?Wtg+9vsBx0z>x~vtdbo2sE62$LUE*9m`V>O)2y!e# zo~%N%3aZ@HFueA2u|4IzUm*tRq>~JAV$FCZ$D%nNGg7(Ek{BWg7!{olvbM&*GK7F) z@{)M6(~tfVYdiKEw!qyfALAwN?o*GB_L$wLDc>RLkxI#H)rmA4%gP1MUQg5=JbK%V zE)!kNWkH*MVpMkf+@dqQI)-y+KVWho{5TRAPK17%#jgP2Zp{Y%hO=WLl7(+eqdo~5 z<^7O*}Kbcfr=h+tJMTJ5~^rQrGyvEzAp^SZgq8p5}P3pOe&+-2mL|71m> zmk~@M3|al7lNW00kegHew4KMYbldV=psw1~F>HX(KlWcBNv>?)bAK$tbsSWzo`4bJ z!PpEk@ch*g@q)=(V6LC|vZ)3%CiM`PmjJ`sLB_wuMO&`t7tWxoTg2D7e=1{0Q}+A+ zxRVN6SIUDS6x;c3YZDMCiw)KaUymZKjER7TCs8Lzh9s`G&oG{H19y$sAC5!|jS>1N zlU>AJI)Wm9`glLMMOo`26-<(UZE(HW`Eto=vGNZ}B4nN5CseT#%nKiT?54YM?(r*Z-NxFd_r)Rbx zqKBUjRh5qzPmam(RUMMHUqBAVlfPvWtwd(87!h5p>A!7KwWTe^L=e#*<6OSq?#crUsW-JWhFf%=; zSQzyTGAVhHHH;?qhjaNg3o`HA!@##bisQ25;@Rv_ze)KXZRHu^qI6g2Q{-t zSU)KiyZ_m=ug9(7&{H7U3WLt^(UzCuzkKe0jm30kk@cuj7Oj=)?{NoFmJ*23TERFH zTNBFD6}X74dSO-^VAETLYCv$Hdnh!C7ErhDq6K}FHI(`arA|wa4RbnH<&{xs3NS`&@4%ns7;f26U91u?p2{ zZjEaI@7vu_0n`l?H4rGQh-5P`vG$QV<|WRKdH&PIY`tN5Q?NC53(FcQvNHgDu_{#A`1qa zEi_B3kppA@u&hy|e+>hZqM!&945z087DY@!9DWX>l1?t?EQ(5cS1wQ8RNb7zmTwxw z6bzCN(?-00oYaLsCguJb&=PJ$`txq@yeT-D@(Iv!8+tF5P7jtc8kvFSm#Nt@H77{E ziytXrN|;g|#~;yBF|2VM>_74D&f`sx=^qJziG>%@53e1Qc+1xchBN)x+g6}k0CE3B zdd_SyiH!aD;uMd(FMGL#@m^Uj{y{AIYN4|7nPRd!hg+k5+p;GcueMsjQN^-ReVR%C z)qFOx9jvnJ&gbiH`#@klgWYZjJz1)3ylnP}=jYudG3Dl+US!F;x;t7}roZi`ZQ5PH z>+@=Y15i6!)3GgVI#lD?dDx!8Jvd|s{w(G!&~bb>vhbXvBQsxg@}_NQO^n)Gxm=~{ zE*G%n=2jJz%TQRHnB3=LuyjZ|g>zX)ggb(QENqN4k^F1n`hZejEr8?&?z8?~c8$Ze zoCl24wgGSK3z}67zoceH#`kMvQ1$T(W0ZgufMH=uV?jZ4RK#52eL}%~-H;uXU79_V zy>Eq`R-v6{tc8C(`Cv=Mp4E+sK+lMqWv$v4O6uboc0L>FA$ zxtmhpw-H7w19UfmQP~T^*D{VkLrl3{UZ#l(I^N(Ay@$z_glj9HxF(-JBa(3eSVMb;~ZDxe+oZdpSvmnN=;Z7wXF&CK+ z1$|0f0_091jXm$I0HZr&cu1|)5KNXt71lohuRXRz%k8ly=i-v*TFS)f-`EmVX9J3R z^4qec|H$ky1-gCqx<1#x6jlaq=>J~Uhaz}Ej579BC%t}X#AH+p~)?4P? zXaCqQ*C8A_ z4t6>?F)h8*k!}S$$sms-_2Nj1DPLxV^a|F6LN4b^Qyvo^_AJW&u1rE~(a9MI{;s#$ z=^+XKysUB;7bwqpA6O-@qdl4jsrW2iL?9FK<;kox+^7Co(dg8+btjs~0MoBDa$3XG z*0*7u{6lc|%t}7IjZJ{mo$Cx*x4t}mxUk#BlD!c+0AgbEWXWbr;x{emA7pKgHD&xK z5zy_*J?D4XZt1D&{JvwQ)`_bHrU;XI` zZ_~y#I!C@TVh%`{0$V?>rCR%pg`ZxW{(5Yuy{`?Kj3u^+7u_*%@@Z`Vt9==5c$U43 zIv3gI?#!4il!HzRoSLwLvslE*`;*Y|Nk$9BPTkBEH|_n2t?f^q#==MEVv2W22_-Ou zy`@=_E=|Y2xM=-^;6s~G`hKbLZ7kxS_1UXWZ_{?pD4knpTb{pR&yf0d{{$v(+HDLyGbsVbGK42O_n-5ZyC%SE{59mi?k<@QMH4y+I~Pb0)Z_6oCO0wy?@ z9j-=_xV@*v)KQM3?Xg1%HNRXOR8Ag_y!kO$fAQE_KLfq~Tg;5Lt(pH>oBc<_k4e3z}Hq0q)js|BkPeQw8A1Bt0B-`>SE4f%T|6n zPi%_L#gJxP3gh7GB}0DPI{H9o4wj1N*ii3`EsE>aPO@LNblzVuo(wbpe6O<;u-$T^ z{Xl+}Cd)BRfDC4#-kEhBb>dj`N=JdEDoa!nl*Py?u+eNkG{}a>Sc`a4Wy}VHISkj% zPMAwnUe zyAOeNwI34>0`m`P&FP>(9?zeLkR{1aTm8F>gJ-B5#n;<*UK3gSUh!{1v!ghxNHsOT z&oyCa)V*mp&1OysUI-CE#iGC0=k~>EfdQ^ljlC6Aj&e?&LXV%Z$oS-7LmzvDc!W{= ztS+31)PSqg(4-CQvI6h$7#CbL;3`vb4gC;Qa|xjOIb=vsrdcg*xT6(aB* zL3NJ&pM`cRi+or0d%c(_C%uk-+Da1xhW^&#OO#ndS^HU_L(EpqcD{EoaKUpc>~7s? zPHGFu`*iGH)i@Knw?><^i^3;X@3WgjM^&7NfB|0=1Kv z3RE$spr@^b5Va#pPCR@-twL`2g)An5<|GzdLC9Zd+`u&jJ@DKariP+R1Msa9 z9)sKR+5n&KpQ@YTwbDR1Qj*ZY_8cZ4_WoH3EjW`F_<;X+B3df|!UV%bJAkEDb1wD2 znd$0OMXr%Rt=gZjy&h{@3(4bK3!6f_L;kn><2nNC7x3%Xj$dn{DhIqAHQ`mM)#btV zWQDwt1KNA`XI7IAqjX^)j?wl?1-#7C>fszl@J4!dxUR@1rpOGB*1WG*xvvYgTjI;r zg>0NGHoKakt`wrGYJ+bz)SF+xgS+L11O@mqwpyof0jnG?9oZ`UT~ zKVwzH8tzqO5Qy6KlZc)ExJXQu~P? z-(`1GkMM(0z7SxP4~V3l0DD%q2mxfjOzUto?~Wld0#{C#v<4uvVq1ptpZ=YZV)6L*v(8udF7mI==Y*>igzHJ} zgbCen+}PZd-5j+STm12Qg#Mf&(b@$-(n&&>Y_7%x0|3bJrNJ?)D#DW@F>b#JZW?;E z?j3pd!O*gY)b~>9(%};K^7*C8rBlPcPIICqBuc#`Fy`g4 z7q`nj9wB@@PV5(V%H;Dx1G#psIG#q^cS`r%c{ggnOMCloCGUD`nCtexQrl{U2(~K< z6%@A9g^VPc1!*8-4f&u>+}Z(c{Rsnt7j73LryhV2%Abe22O)Y0;2e1EJV0j~27Wp! zN#IT0?&EUefUQ8?T&;fnP*m@SONJ2n8S|_N`7Ma^T_0l($U`U(n%l6oSYkiapLu(Y z&Q3A9n*J+#uS|a+xZe*}lt=T{PhcFDk`z5NPqQ55|3ETsTf|sF%A#^(4Ns^;Tj?tR z6RIHwvy|{kCQRYH8l(wP-~G}(v|1H70w&eUDTT1@L6Y={cK;K29byKmFj&O93zQ{A zsmoJXdW-jIY@^}DQ<9Sy(c;}K9Qk!|Ql!wx!W}Y_1Uwst7V3`c+^g1cu5(Qcp}10! zdCssbCy$DZ3GESUx})efcQ%9#;C9v+2&w`sG_6QN05sV;^r~}bca@$`<(nz*Yxr_Y z)EU=EeZOlYq#O(EoKC<<+OO3^D4Z+fh2`GqeB^dyN?m!9#g?U9lxK#Y?2PRA)y^sg zAf~&ZEgq>DwVFGmKW*p*(G&{CSenuIPS4B@CYmq5v!_s2OHc;QH zglATaHv{net(Ae$=Z2H2W2HuWU%zBIca4evC z;GxQ=E6Z8zzPKj;kN%1Nx&AeVDDnbDvUg5}iXEa13?ObhPavf)2kAN5q{NJ_F)VeO z8sCS7r580U3diSWl(x8A*4-rpT(=U!eeXJFu{>AzkDQMJkGPL2js%Yyj!2L6u2kST zM`_iYs&jV%@~j|H-zlPcyxO4f=7Pma15y%4fqC@E#87brfN%*zOs26wIT9g5^hoEb zRisckI;d}t2!^|3C?Pb^5^89xhRrP!kMsU955d8=dNtiOAp$i727u>q!Ge?lV??DQ z2zX1Og?bal0HrKv1X{=D?@T~Jr3&Q)9nprt1Dz-HV1s(n^1ew>2RrDL9VJYgjw3Nk zT;aPwND^(D78rLVw-bUyGmvg&0VAiHK^EA%ARGbTUZneOG14TI8U$1mhM=-bbpwT{ zF-Qsp_vDnFX*?E*7eWD!v10}iY)J%Fs9+kl)liZjPav!KC*xFfiZyYl12-oaT9~(cbL7r zf~o9sODX-`d+;?5D6mwH?=55DH>LcJIZRH?bo?ojP597+>5_U#2nGOK%gZyr^l6&2 zGp6xAV$`ZhZ5nWdMvQMMY?87a)~rlFKn28L)ot`?60(hu?`M)T?>pZJWBB@dR#CfpJyp#uLz&uMa(})Qp#&bgUxj7_wPr9$=~HC?JnbPJw8TBx#iHw~JqiG4(Cqp`@5 z&IE2!tBO%sW;vSazYzb5Fw2Yow5j+xF*4Q$1KekCk?}x78QVdN_#xG+S0qn8wi*m? zbcDD;hzB_&Bst7s%^Z%SuyNG+=KTH2gcE~f2awhUNnodp)J{;{{Ob8!(eIcQV zd`!J&e~t*ap;Rr29G=hU(t8ON41qw6MXIqi97)n+Ft7m|YnFJm^gMX~D8IeJgzUVf zsLgkdI;%zolCFTm0By+=S?&8Aw3g zF`m`gTCV@7KjPdog$8c(9w`5DSpfywD}T$ehBhPeK;v zOUo}~t4R%+#%;_kW!C+~-+0ImRLcPOVH@icU@@*hReW3HE+Fb*LR|aX%zC#pk>exH zSt`Avu{wX$`$!H(4$XYfm00kAALo@UEK?aiuJ4wZobYn?>VSsra%0@d;@@f5&`cS( z0+ELAcX|-kciS7W4qJWN`VEtd%`?dSPgtqO4Y3eX;9TPbxRM`-yqbb7Vut16+g3}Ua~rGwT~Lw z)v<4r-Fvb0#?E`@zbPp|Uh?XbP3PKiH^X5p+~A{}()qAO9C*Miy|UsROTvOa;#{zrdCGx7@Mb+k+JMu$!*F_#vN#u zKaRGs+9ixtpG*Hm2_G=d(I=v&rUQd@ke>i#seZLI@dStIlJ@VRFaRC;z;Z=gw!{B@ zpLBUP5Yj;P-);xk-$zBuxbObT765HM-M-y88c_Ma@5vf>`2|;FZY+eN|E&ngWct6o zrkIdK$=Zwo|J$3Ku}xa0?}FyPtyLROsZ8v~Wkmls-d+DM3b#Pq_O{n zyo3Q!Qw~1&DiNKJq_~r*?MV8oJ%i|lNbLm&`6C>q^Nc}PiRIFsMXooX#Ra~qmlrUF zHa~wwMYSuKxL>)-eiK=ag#fdZ(5+FHoR}SZ`n#3B%Jz(n_V#_+PyY@n1LP*vAG7ua zCvxfU9?CKXQ1yfx-7E2HG9ZezS$x?`dHK9N{@=-WyGY9kcAACmE>gj3lr^%578`67 zP&9*y0LFx-$38Zfqm<5j?l#M%@((RY?&aV6NHp$PRqG?|#!cYqFZzNjkLuaD0OdWq zo78gbd(>Qx7e~&$XT5~ONc!%r4v=%lopJvCG75e1Y-}*k zQtsS9cbb&Zu#kvs=gOW}%woK$7brTM4EF@bThHeN%l=#z(1z{T?&7p;bra5K^h<|;m`Rc7C|KW~Zq9{TIS+lxpW*b(Bs^me(TP%7%iH39aYa@|9!10` zG|kDbv7Nx^eTnPyPok%vPoZe?srPNVrSrq6!J?7tsY#GdTn{W+50viBlwoSmW&TT! zihpK=ol1PU`HXhSITa|9ei>rTA+rvNt>LO`Gq&s*y~$;s`>9j1%~EP{6+UrfDs-

(jR0A~hO-yGZZ>bz+2j@{#y7a0SSoc-aX1R~CB>Js zSa{pC$-$NSrV==xTcp`gg8sdHhw|FK3jR8IhR{<~66@aQs4;^OAQ46_@r<;DHv|QSj{irb~ftgY2 zq=j78Ryz~CIaWn|Nr~m`LkJx~_4BBWXaV71u!LlrxzY;eS>?|xUUgazujui#^$15}$4z z&8=W`fb;vj?v`)io9x|)7Bh-G`8vHK(fK9(1*xBQ)c#ZRC3^!hDi^UF_&FCw|LO$(!hL zKCpD?A#p$AMv&agx6(-Izp3??tEgb3Uv7c6(6tp!-a&Yzs9W-jasJ7(;=4-Zul3vnQbj&R1eq-yFv3l> zkiAneoR64>u*^XU(7{z*d7DzKFeSX+8whB^-7Q~WPFrUUWbYR57?29aT+P8A-~(bK z=cuw9r`0^_a$l1Tu3fP!2Y##CZ<~I)M%BcUAmbJi47rcQGlW+Hi{3D>YOcYZ3Cq&g z0|Eq3&noW{7_iGzZ%5B82`f9~$PCQ(4TwltxU9Y3Y%#ZGcaVhg61s;pfqCNg>|IMf z|HmDz4kJo})Tis6pHvd|&<|XFeku`GNz2XZ&j)hJSQZ`hUx=GWwo`_Rx0{1K7MGo( zdoB6Jzj8Iz4WR0Pf9iC{5h@M2JXQAIclK7EEVd}!+UZgTE*WoasF-5_f^%wI$EfJAVa@Wtq$}N21(=}qxcx$T`vMw_6VI<+rNpd(&dJHTkiLPAU z{82erjb}KX__J3~IXQ`%GF;bKo5F_KVMBE@@SBy;H?!fUim#$~qGm8VrDNWkuV2jk zb33y+9~4kB?>ew5$P@n2ffkRlJqHtDQ!rvn8E`=Ss0pxTvE^>K>WX=MXV}D=*})vD z*X{)7PCRSK@R_IXpEH+58kXw41Ak$7ZZs(o!iD8#<;bR|8Ph8+JqZaL=spnKUpThQ zv>XNSW6(WGz?%>#&rB@Fw6R%+d2;y)Nn~m-CxTZ;-Nr_AWGI=Dh@ z@84{?NIOF&Gw=I_wVFBq&Xja-qlLa((X$v&L{E@WT2Azf_rulkQ#A3bZ;j%{dFQlQ z9&!Jcnr|FZb*%F)gMg!ro5;o2Y^aQ${;)({hinAbQs=Cc~Zxbhm)J&+{q7o5?g@zU5<5$=zT()3COYhVh zfN+Iwg5a0{d>@U>ygu*qnF8Bbw>YW*Bp;>4%QsM#j)Mwa<3k|}eZ^SXIXA@`6Ks-Z zl5Ub=@=q3DoXF>9OC>?z9$~r(`F>h3W}!)Uq(%Otuzw;K$nnlHLMsHw)g^lU64=7WCO{%jN1B#bv`yijlMzE3f`YbhCN?OVm&^+tYS|P&gq<4;ls{ zgsx$u%Tt6z`NmDx0TJS zF~QbF_s(<_y=iT<$Fp<{v1B0RA0vZ{4^E>)UJXj33dBbxc&a-K_6v0@%FQZ}aZivd z7#COE1;IFD<`BSv5WQ;)<`(2IhS@IJbj5NJNd6LlPHp;hBw-{cb=!-BFz%IPh<$Lo zj2kMnb#(Pym~cdrhIQFH^Z30O*=bj{(O5I-t=#gDC(WnUqgTHC zx5o0#EyF6hv~F7uP~-6EMxY|h*NZ`-)dfOVT%0v9wX{K)kQ9A$I;x`YKqm_Wga*Fh zj^_xmwsA=zW(%+>QzK&3n!tZhQ2o^|qfgiR)zPF4U)7Xcq!{2md1KSfuH>iduO>0& z>EGNK*Bl3Dw3hG%%VlyY9DIhlGm|^s44kosLBIi>^xF~TK+|W`JNlGGPPwJ7+vc#? z*gG%T%loP}3D)!HyY_s9v^|e8fGF*||5wSi2Q_u2@$V*q1ffk73aA)@35XVnRf|D` zh5!;C@(^UfDkANSx|W4y3nCP`Jggw1@=z=UiBFu>VxT~wMM-%~8+5@{+NJ79s_8nF zM?o-%pzL?=rPG<+zc&A5=G^a`^ZWhIch5cNoAaFw`}ICP7Q1`%v&F)9*vX;(s#lNP zhWEQL2BG!mr?&(N7X|V%jwX67HUG2A>%@RpkFW(>#=wfqAs4itwPDx4SDPGuAoKpG zy=$M|fBROW{{8O8?)OV4#8(=w$HejSz`#-P!j!V5*N#-%n7!^eIW)bgc&P5*ml~wY zaK(H_pdbDsi*$8z_~&`U^OC znOZWnbINMUjfxeQcwNd|=@&0)VG#z;qaQB%={bZe?Po@lwtV1Kkkwe9dwgc+o1&)d zlR?uJ*`0yO<`~7gR#dTX(8t$eH)y|UxV}(zO|nM>t=m}5vz1MoRAmBl_$Fxjv!lOT z4`pt2<6ArD5xSncH=WuV_STiCvoV7~CvkPMg4ENdE=&Awd!$2{(jL@X@7qanane6T zD6oSh<-T35xE&Ul^P%n8qWJ(R+J>q%@iwuzgpz|>-hy_BOJQs@84!G+ufvbR^>sty z-dMP&U&4b#?d931@4VtDT<;>ToX+56E=wmCf}?DNxRAFBE@ehI*p~}4h))$G=r3Jt zgQfq*kI-JzaNWB2OaK-dh&VP=P^v?;B$q5gwB+5JAq0h12p;GM5IFtV3^zJo${~JN zY8Ts|E?VDhsVJ;63MeZIgB?Q{o46&E2lCiq4B@msHaY{8nNlW#B@8=Co)Nd*HkKl`G z!~Iw7NLwGhGY`ts;p4Hs4iydd{-Bxm@QxfvT6Q(Pdi)_ffGIuP8J288C5B*=q-79I z69+Jt(IAb$RqzFxou)xbVb2f4;kx&U+6uI%-boOPn+&LnjwWb$eD@|*VH8H2x7N_= zkFh9$4c`C7h%A1R&Djs*F%LuhJ_`O8Wj84K( z8xYvEBosJqlw2~6$R9wbA++C_-0DLZvoA8PO%D(rDC-WZ?GiRrl zMKRjw{$|u#!5xuj@az*5E9pzFu28OhvE@k}RT}j9n?y`R^h>s4>3$VLL|XJ>E!X9H zc37zz#4I$n8zM+S`0I3MC8d2 z1(@g;CgPFpo6-ni>Gla>=g7GB@jM&ac_`SbS)W!z4>cBSggK)MPui@ zB~2xC)#fucxYw?_C~#zSHKg!N5bE@rd$CSz8huHZxkJsiNz>^j!G54KTDhknleD%%f`E>6c9aPHY)ez5{9*WvOun; z%*kIcX;JUVgFWG^H0mSPR5h)AL8H-uLw3la=XugnDmrsIgHSs^6@l6>b+Y%M3?~&H z6c$GZ^>{N0U+9fy^zN1@`43A?*~45& z%I7Mo*T~CgXggzJ`)%h*?Dc2j4x2h8j+%Q&Ng>7Dp?x)Vo*#RA5d9hBAk=e^VqbYh zHbNC+y_Hg0*1U^0UrLCf&GAxC9wCS&bh-I}fcvGOWp9Qs zEW*+;E~i_IntaeTS9Yv3Hd(+D zwf;h0;Epo^%hYoAk4(2wfsfCI>*t^+sBWL4*~>H{JZBb2%hse+On&c$P7$`&wQ6pJ zEDBnTLJn-hL(&NC@4#Y-)HQ@@Y|cS`do$pV-XKd@V;IP4-= zi4H-!DdXK*FfqMfoV_rbO~>{wi|bBZ$l`&2gu^{G3q?b*^oO&Ux8`_FoGx9sorWc0 zCYsvaev^yk&6J%YU*+apgEMuLqv3jF)K}7jBn6KY72B_T=&SB1s`v= z0YZ?}G7vgpAL#B4%@wC^yn9eXv&mK6mK?wplFy-m+{m}+F`9{-Dvb{4!H?VV7w;{( z;y`QN7x8l_^Won&k6RmAxIPjIi0}*6sVpcknsXGK1i{Sb+kcqe;X4mE!+@L3>P|($ zVIzlww@$dHU+ErBSsCAnJ|S9-m1G4e3&!(b;|^z~x%r8(smy_Y2}=fFE$lzm!=E_f wf~P@nR?~0ZSP(<4odeuT&$!?w>NnRnjt^9`lI*AbHvoSDej&cK%D9~W0FxVj9smFU diff --git a/archive/testdata/boy-3.png b/archive/testdata/boy-3.png deleted file mode 100644 index 05da0fa5db2b607849b3707809e6ed4e736b4d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17149 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 IY~jcK4@>Em&j0`b diff --git a/archive/testdata/boy.png b/archive/testdata/boy.png deleted file mode 100644 index bd28bfeb21c20a645ed070269cd078aa4e2add88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15971 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 diff --git a/archive/testdata/girl-2.png b/archive/testdata/girl-2.png deleted file mode 100644 index abb45ece9cf28c549febc40c19da77cc957f0209..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20108 zcmXUM2Rzj8`@M5G5ofQgWHgLOlyPUJK}cm~G%00dX5EP-3Q>eIE3!xSxRWFeG_0(n zjI6WgjsJW7{(U}u@clmTv!CaE-sgG04=hfb?A#%?0|2n|#BrlD03hM7NPuR8KUM;M zZowZYZ-WzO(ePg|`brf1o5SSu2#}_;X_d$V;dhUk83{u7jIt${{H^T z*WKN`FJJV$s_b#wC2d|u41m)dCyeyZ2K<_9yyJ7;Ixu&@Z{KNOCF@G<5bKfRrBAp0 zk2Y0%Y{@IDjLb)S@8ADs{Py<;R;SPLWNN?4QUxEItQ_`M`W?G*Hiw;whM3mJ+Zx~ZTSbk%7xTK8^zj?y-H;(XYAg! zoXU#$6q6OP(As}1!Z^>&hF-sKllb(MkzRjhB z3X645B65=Uyi_ntWIR7GJ{Grm0D%F(_2`t-W0?{2Na`8U=RrlM$+ln<0MQds^tdbJ+)wcX`Bfihbc61HI1``bX>zhzc!@T>f0JWG2A}}x z35j7Sx@&0r(a{&-m2kBu7!B@Kx2hGpapKfEygAni5u?P)(W!AP$^W7Q;03+R_2hElm!a zxwsw2_~<*|B-~8gb38PTq64*uVlehn)_N_!xOA=IuiZX?v`FSmXyS_%L_*Dy$c)?6LxDzr-LP!A@Ckp9qzuSP2Kfp<}~~ozfd2b+nB1KYkmUI!6|SdPU%p zE#2Q9C0Bo^TZnt@ed7GWK~ro~tRekoz*R?k71m6lZks8_?^G73@9jByGW7Y*I#mD{YokVpVPONwef=_23x z_~M1D9%L*>U`cfyi!5v0z0B1%&LS?xqL@aKmhF;2uOgJ7LuZn*JA5mh7S{QqQCXMn zCiUu&Bz?K618MQuKY>WLV};x|)zh8+%D7Wl6jXG#!e@SkR?cq` zPpf(Wshn@ekEODqfOPpaJ*%7--*fk^6uE3&kI>7(SN?weC!@9s%I``qX5?=Eec+Pa zG~g05QY~_ZD!eyl4|c+i9R)H&@8LUL?Kb$RZ|NEW-DfsRY9`>CyLk7dirZO?B=Y@Z zMfl0;U^{Azglhj=GC=);GWOk3poNLraXw z<2z_tEuG(pgnM`;VLAKi^)1XdcJ!5NL%MOEM9^Zlf>69UMNZc1gBq{ z?yk2!Yi7)aE>OM^ZBBEnxXi&YH4PnR$kt}!N9;;MtF}kmzY*8aB>wU}#7;XT8axxC zGmIm*=Xzc@@&;P0^J20_q9hXVovF-sXJ*%{lfU!r3+Umo9HOyLPC31OoVuzI|8`%@}G1C0R-3mw?SGchJqv{vR^ ziB;hh1(>rI_EA+14RqaGV4tTCIUnJJDWXP{j*TD1r)%TM^G=*eC)2OpLZZMRno)6f zi^ZQ|_c$B{ReCy-@k5PjuA$wOd=dhVoDw>jeyIoo?m{zOCYnht%QA_ZJ&R)k``u?O zPQ1&ws7D$ip8sNugb5+&DD{=XxJJ;V`36LKG@;`cD;m5Pr{7PjkGVV`RkPijigAOn zjB(qbc)V#;31hPyp>>YWk6e9Sk%T~kZ`^CP%}1D&g;$)-U@Y(6zxCO4-uylmKC-q# z;ah*Pp~2hpi;Ui-(@I}nU_I9<``u5{pJ{MofU7bUAGlX(RK}l<8z-t9k>5P%CLs;F z@>)w8T2yXqb!6PYM@jhFMJ#kj#<_~ZI673g!KkVgA|Bcb3#d^eN;DS;C)z9n1R-^y z(=^?%6|1Em8n`>GK%u=bgp`JB#otd7@-W~U8=bzp7EzS`=cOZCDLP~w4>+Nwi_VD@T z89Y9QQ?rxa99z%0w`-dd^TQTC@50Y8D$i#O++OE_n5WEHsT^(xkU-4)`suN8p_U96 zrW8?+x(mzDK*Vmtx;}va5^hxLJ(@KP4O|1)oeX|RdA?mxQBT2e9j>=^gBXk8Uw6d( z8RV%RyrRB97ez|QcSE@60t&1gSzFH$ilce0^Y~C%wzXt8LwX$HW0AFr!wIpsB1GOd ztY∋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 EA1yKJwg3PC diff --git a/archive/testdata/girl-3.png b/archive/testdata/girl-3.png deleted file mode 100644 index d0dc6200a883b85ddb96076416b7267b4d1ec87f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27458 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 diff --git a/archive/testdata/girl-4.png b/archive/testdata/girl-4.png deleted file mode 100644 index 9822f81a8c1b59ee0ba361674c088fd017c9f5f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20140 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 @@r}Q2K`?1$^}MpkTvjP>XoX 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 diff --git a/archive/testdata/girl-5.png b/archive/testdata/girl-5.png deleted file mode 100644 index 16af9a001141fcdb19b65b6a376ac0a434485986..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19352 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

X$BHM& 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 diff --git a/archive/testdata/girl.png b/archive/testdata/girl.png deleted file mode 100644 index 831202b2211bf7059f5cee83013db12f1df2bdca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23054 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 wYVA0$*hx>nGo8)M))iL2d=- { // extract the data from the request const body = ctx.request.body console.log(body) - const {path, type} = ctx.request.files.avatar // call the functions in the module const user = await new User(dbName) await user.register(body.user, body.pass) diff --git a/modules/user.js b/modules/user.js index fd1c7ec..b319607 100644 --- a/modules/user.js +++ b/modules/user.js @@ -2,7 +2,7 @@ 'use strict' const bcrypt = require('bcrypt-promise') -const fs = require('fs-extra') +// const fs = require('fs-extra') const mime = require('mime-types') const sqlite = require('sqlite-async') const saltRounds = 10 @@ -57,4 +57,4 @@ module.exports = class User { } } -} \ No newline at end of file +} From 6deb1f0321fb6eb6e1ef2f864c54a9f47b6e92d8 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Mon, 14 Oct 2019 22:10:09 +0100 Subject: [PATCH 03/41] Added Markdown Linter Markdown files need to be properly formatted. Added package and rules to enforce good practice. --- .markdownlint.json | 33 + README.md | 10 - package-lock.json | 1668 ++++++++++++++++++++++++++++++++++++++++++-- package.json | 9 +- 4 files changed, 1635 insertions(+), 85 deletions(-) create mode 100644 .markdownlint.json diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..3dc3115 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,33 @@ + +{ + "line-length": false, + "no-inline-html": { + "allowed_elements": [ + "a", "br" + ] + }, + "header-increment": true, + "ul-style": { + "style": "dash" + }, + "ul-start-left": true, + "no-trailing-spaces": { + "br_spaces": 0 + }, + "no-hard-tabs": true, + "no-reversed-links": true, + "no-multiple-blanks": true, + "no-missing-space-atx": true, + "no-multiple-space-atx": true, + "blanks-around-headers": true, + "header-start-left": true, + "no-duplicate-header": true, + "single-h1": true, + "blanks-around-fences": true, + "blanks-around-lists": true, + "no-bare-urls": true, + "no-space-in-emphasis": true, + "no-space-in-code": true, + "no-space-in-links": true, + "fenced-code-language": true +} diff --git a/README.md b/README.md index a532acd..89a7134 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,5 @@ -## If `npm install` doesn't work and gives an error when setting up the template, here is one possible fix: - ->Delete `node_modules` folder and `package-lock.json`
->Add `package-lock.json` as an exception in `.gitignore`
->Run `npm i` again - -If it still doesn't work and it gives an error with Python and/or Microsoft Visual version, try installing `Microsoft Visual C++ 2017 Redistributable` - -Any other bugs or problems please report to your tutor # Assignment Template - This repository contains the base files for the assignment. You will need to create a _private duplicate_ in your module organisation. Carry out the following steps, taken from the [GitHub documentation](https://help.github.com/en/enterprise/2.16/user/articles/duplicating-a-repository): Temporarily clone this repository to your development computer. This will create a directory on your computer called `temp` which contains the repository files: diff --git a/package-lock.json b/package-lock.json index 2e73d11..ae672f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -469,6 +469,11 @@ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, "@types/yargs": { "version": "12.0.9", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.9.tgz", @@ -557,7 +562,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -604,7 +608,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -751,6 +754,11 @@ "babel-plugin-jest-hoist": "^24.3.0" } }, + "bail": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz", + "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==" + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -863,6 +871,11 @@ "resolved": "https://registry.npmjs.org/bcrypt-promise/-/bcrypt-promise-2.0.0.tgz", "integrity": "sha1-oLaD6UNCEArubuaXF0Oj4Xna4nw=" }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + }, "bluebird": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", @@ -949,8 +962,7 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "bytes": { "version": "3.0.0", @@ -992,8 +1004,7 @@ "camelcase": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", - "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==", - "dev": true + "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==" }, "capture-exit": { "version": "2.0.0", @@ -1018,23 +1029,107 @@ "lodash": "^4.17.14" } }, + "ccount": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz", + "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==" + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, + "character-entities": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz", + "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==" + }, + "character-entities-html4": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz", + "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==" + }, + "character-entities-legacy": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz", + "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==" + }, + "character-reference-invalid": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz", + "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==" + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "chokidar": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz", + "integrity": "sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.0", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.1.3" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, "chownr": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", @@ -1149,6 +1244,11 @@ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, + "collapse-white-space": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", + "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==" + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -1163,7 +1263,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -1171,8 +1270,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "combined-stream": { "version": "1.0.7", @@ -1204,6 +1302,29 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "condense-newlines": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", @@ -1567,14 +1688,12 @@ "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -1617,8 +1736,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.11.1", @@ -1774,8 +1892,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.0.1", @@ -2001,6 +2118,14 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fault": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.3.tgz", + "integrity": "sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==", + "requires": { + "format": "^0.2.2" + } + }, "fb-watchman": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", @@ -2076,6 +2201,11 @@ "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", "dev": true }, + "fn-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", + "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=" + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -2097,6 +2227,11 @@ "mime-types": "^2.1.12" } }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=" + }, "formidable": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", @@ -2139,6 +2274,12 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz", + "integrity": "sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==", + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -2193,6 +2334,11 @@ } } }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=" + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -2229,6 +2375,14 @@ "path-is-absolute": "^1.0.0" } }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, "globals": { "version": "11.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", @@ -2240,6 +2394,11 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -2292,8 +2451,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", @@ -2583,6 +2741,11 @@ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, + "irregular-plurals": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", + "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==" + }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -2592,11 +2755,37 @@ "kind-of": "^3.0.2" } }, + "is-alphabetical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz", + "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + }, + "is-alphanumerical": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", + "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } }, "is-buffer": { "version": "1.1.6", @@ -2638,6 +2827,11 @@ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "dev": true }, + "is-decimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz", + "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==" + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -2657,11 +2851,21 @@ } } }, + "is-empty": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz", + "integrity": "sha1-3pu1snhzigWgsJpX4ftNSjQan2s=" + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", @@ -2681,6 +2885,24 @@ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz", "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==" }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz", + "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==" + }, + "is-hidden": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-hidden/-/is-hidden-1.1.2.tgz", + "integrity": "sha512-kytBeNVW2QTIqZdJBDKIjP+EkUTzDT07rsc111w/gxqR6wK3ODkOswcpxgED6HU6t7fEhOxqojVZ2a2kU9rj+A==" + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -2690,6 +2912,16 @@ "kind-of": "^3.0.2" } }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-plain-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.0.0.tgz", + "integrity": "sha512-EYisGhpgSCwspmIuRHGjROWTon2Xp8Z7U03Wubk/bTL5TTRC5R1rGVgyjzBrk9+ULdH6cRD06KRcw/xfqhVYKQ==" + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -2749,12 +2981,22 @@ "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=" }, + "is-whitespace-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz", + "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==" + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, + "is-word-character": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz", + "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==" + }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", @@ -3498,6 +3740,15 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "js2xmlparser": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.0.tgz", @@ -3609,8 +3860,7 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema": { "version": "0.2.3", @@ -3637,7 +3887,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, "requires": { "minimist": "^1.2.0" }, @@ -3645,8 +3894,7 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, @@ -3906,7 +4154,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", - "dev": true, "requires": { "uc.micro": "^1.0.1" } @@ -3923,6 +4170,22 @@ "strip-bom": "^3.0.0" } }, + "load-plugin": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/load-plugin/-/load-plugin-2.3.1.tgz", + "integrity": "sha512-dYB1lbwqHgPTrruy9glukCu8Ya9vzj6TMfouCtj2H/GuJ+8syioisgKTBPxnCi6m8K8jINKfTOxOHngFkUYqHw==", + "requires": { + "npm-prefix": "^1.2.0", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -3939,12 +4202,27 @@ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, + "lodash.differencewith": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz", + "integrity": "sha1-uvr7yRi1UVTheRdqALsK76rIVLc=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, + "longest-streak": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz", + "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==" + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -4005,6 +4283,34 @@ "object-visit": "^1.0.0" } }, + "markdown": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", + "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", + "requires": { + "nopt": "~2.1.1" + }, + "dependencies": { + "nopt": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", + "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", + "requires": { + "abbrev": "1" + } + } + } + }, + "markdown-escapes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz", + "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==" + }, + "markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==" + }, "markdown-it": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", @@ -4024,17 +4330,126 @@ "integrity": "sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==", "dev": true }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" + }, + "markdownlint": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.17.0.tgz", + "integrity": "sha512-X6ITzOCX+1u+fOc/tLbAz/Pjoz7Y5CpTuoZZMvBmg8HJa1Ui/ibL2MtmWnlGjZajpsv96dgRAZeOPfDVbrdpDQ==", + "dev": true, + "requires": { + "markdown-it": "10.0.0" + }, + "dependencies": { + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", + "dev": true + }, + "markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + } + } + }, + "markdownlint-cli": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.18.0.tgz", + "integrity": "sha512-mQ2zvjMLoy0P2kb9Y03SqC24WPH4fTRN0/CyCorB122c4Chg9vWJKgUKBz3KR7swpzqmlI0SYq/7Blbqe4kb2g==", + "requires": { + "commander": "~2.9.0", + "deep-extend": "~0.5.1", + "get-stdin": "~5.0.1", + "glob": "~7.1.2", + "js-yaml": "^3.13.1", + "lodash.differencewith": "~4.5.0", + "lodash.flatten": "~4.4.0", + "markdownlint": "~0.16.0", + "minimatch": "~3.0.4", + "rc": "~1.2.7" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" + }, + "markdown-it": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-9.0.1.tgz", + "integrity": "sha512-XC9dMBHg28Xi7y5dPuLjM61upIGPJG8AiHNHYqIaXER2KNnn7eKnM5/sF0ImNnyoV224Ogn9b1Pck8VH4k0bxw==", + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "markdownlint": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.16.0.tgz", + "integrity": "sha512-Zo+iPezP3eM6lLhKepkUw+X98H44lipIdx4d6faaugfB0+7VuDB3R0hXmx7z9F1N3/ypn46oOFgAD9iF++Ie6A==", + "requires": { + "markdown-it": "9.0.1" + } + } + } + }, "marked": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", "dev": true }, + "mdast-comment-marker": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz", + "integrity": "sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw==" + }, + "mdast-util-compact": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz", + "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "mdast-util-heading-style": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-1.0.5.tgz", + "integrity": "sha512-8zQkb3IUwiwOdUw6jIhnwM6DPyib+mgzQuHAe7j2Hy1rIarU4VUxe472bp9oktqULW3xqZE+Kz6OD4Gi7IA3vw==" + }, + "mdast-util-to-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz", + "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==" + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", - "dev": true + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" }, "media-typer": { "version": "0.3.0", @@ -4406,6 +4821,16 @@ "npm-bundled": "^1.0.1" } }, + "npm-prefix": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/npm-prefix/-/npm-prefix-1.2.0.tgz", + "integrity": "sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=", + "requires": { + "rc": "^1.1.0", + "shellsubstitute": "^1.1.0", + "untildify": "^2.1.0" + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -4668,11 +5093,23 @@ "callsites": "^3.0.0" } }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, "requires": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -4746,6 +5183,11 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -4770,6 +5212,14 @@ "find-up": "^3.0.0" } }, + "plur": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", + "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==", + "requires": { + "irregular-plurals": "^2.0.0" + } + }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -4974,6 +5424,14 @@ } } }, + "readdirp": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz", + "integrity": "sha512-ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==", + "requires": { + "picomatch": "^2.0.4" + } + }, "realpath-native": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", @@ -5020,47 +5478,746 @@ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "remark": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-11.0.1.tgz", + "integrity": "sha512-Fl2AvN+yU6sOBAjUz3xNC5iEvLkXV8PZicLOOLifjU8uKGusNvhHfGRCfETsqyvRHZ24JXqEyDY4hRLhoUd30A==", + "requires": { + "remark-parse": "^7.0.0", + "remark-stringify": "^7.0.0", + "unified": "^8.2.0" + } }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true + "remark-cli": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/remark-cli/-/remark-cli-7.0.0.tgz", + "integrity": "sha512-gYomWviFnZsiRimG+Jdb4LQ9c8uSOcGmPTmzlvxImt0gvzabqlp1kaqndxTx4kYLsWGqwhQRO+M9iyqHDkoDlA==", + "requires": { + "markdown-extensions": "^1.1.0", + "remark": "^11.0.0", + "unified-args": "^7.0.0" + } }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "remark-lint": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-6.0.5.tgz", + "integrity": "sha512-o1I3ddm+KNsTxk60wWGI+p2yU1jB1gcm8jo2Sy6VhJ4ab2TrQIp1oQbp5xeLoFXYSh/NAqCpKjHkCM/BYpkFdQ==", + "requires": { + "remark-message-control": "^4.0.0" + } }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "remark-lint-blockquote-indentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.3.tgz", + "integrity": "sha512-qK4C1l2VmeOVWEAkDYP0CaDtSFoaEBEo5l4oyz1kTkY7YB0Jh7llW2KjuhJz5IzMLmloKJzIyGwlu/odcwaHpg==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "mdast-util-to-string": "^1.0.2", + "plur": "^3.0.0", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-code-block-style": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.3.tgz", + "integrity": "sha512-DL+rudnd9ILP5YXm74tLpMzfWZLqziX7NwIwUhqRefaOyWwxgPPy7hbT59FJqcFc6E/zvDz+Oq4nR1BSV5kEdw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-definition-case": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-definition-case/-/remark-lint-definition-case-1.0.4.tgz", + "integrity": "sha512-ebl8vYOab9iy1Mr29Wo/9CmqcYGRjCfBievIZts08efrxIElWz+jB8/n7C17fh8k0djiiS/Of6W+bfRD+kMXLA==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-definition-spacing": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.4.tgz", + "integrity": "sha512-UderghITmru72OXB5ErCFhVsY7up2wK/m1bUD3E2dm/TFn73/7WpykENt5UirCDT/aeyoHYl8QXUVL20rAc3XQ==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-emphasis-marker": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.3.tgz", + "integrity": "sha512-ea2tEVyhZvYxwj6AHsW2qzgEDLljcnzq5taZ3FJFL0KMZYZHfWaIU90H43jrW4seGEtmaP1bmoqJaTavJ2x5Jw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-fenced-code-flag": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.3.tgz", + "integrity": "sha512-X8Oi6dhfqV9NI3cVg29myvT/NATDHVgRGCpnNz76w7VXwzhBvQtJr1MxZzuPxfWLox+ARCXF2rY9n9hbYFHYTg==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-fenced-code-marker": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.3.tgz", + "integrity": "sha512-JKnojSQ8JkwpIpbNm6wtKEfx8iiv8QIwNHFM06iTCHExMhXa4pJ3wb5M5f0wsWNHtoND3lrw6AcVPoZxEPnflg==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-file-extension": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-1.0.3.tgz", + "integrity": "sha512-P5gzsxKmuAVPN7Kq1W0f8Ss0cFKfu+OlezYJWXf+5qOa+9Y5GqHEUOobPnsmNFZrVMiM7JoqJN2C9ZjrUx3N6Q==", + "requires": { + "unified-lint-rule": "^1.0.0" + } + }, + "remark-lint-final-definition": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-1.0.3.tgz", + "integrity": "sha512-QhbBYy99enfQDeUTElioCHrhgg+SgjMNRlru7/JlOguOufP6wn7AXgn2EVTrLZRoByY0VsNS2jCayXxUTzQ8KA==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-final-newline": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-final-newline/-/remark-lint-final-newline-1.0.3.tgz", + "integrity": "sha512-ETAadktv75EwUS3XDhyZUVstXKxfPAEn7SmfN9kZ4+Jb4qo4hHE9gtTOzhE6HxLUxxl9BBhpC5mMO3JcL8UZ5A==", + "requires": { + "unified-lint-rule": "^1.0.0" + } + }, + "remark-lint-hard-break-spaces": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.4.tgz", + "integrity": "sha512-YM82UpgliZCZhGNmFxEe7ArfhqR5CplFf2bc0k0+8w3rKWKx7EJcGMar2NK410tIi40gGeWtH/pIEypPJFCCiA==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-heading-increment": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.3.tgz", + "integrity": "sha512-/KL4/7D2pNxP07KKgktjcIUS+ga8pYI2k9Q/V91pMfyfSC+RYuCGOLFVJSKV0Affr/4Eqnfhw+gJ9X2HAanNuw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-heading-style": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-1.0.3.tgz", + "integrity": "sha512-ZUhMav0HHUxo5gzLqxQsOf2ZpP/I3m6EEK8q25/kqpCYnwm1uRJ5CQ40PDQx46pmKtVibIMzDmraYovxNG3ovw==", + "requires": { + "mdast-util-heading-style": "^1.0.2", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-link-title-style": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.4.tgz", + "integrity": "sha512-61/uH3zDTiozLJqgxp6rHGnVKTChC3UjL3Q0KQDBpprEOL4qLYjTn4fFKscVz776d0uUX6jczrW+GT4AFVOUgg==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1", + "vfile-location": "^2.0.1" + } + }, + "remark-lint-list-item-bullet-indent": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-1.0.3.tgz", + "integrity": "sha512-iVxQbrgzLpMHG3C6o6wRta/+Bc96etOiBYJnh2zm/aWz6DJ7cGLDykngblP/C4he7LYSeWOD/8Y57HbXZwM2Og==", + "requires": { + "plur": "^3.0.0", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-list-item-content-indent": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.3.tgz", + "integrity": "sha512-ZSIGJG2/6jd1xj/xEoDlkcJBf2Ksw8U6vIGJO0IFIA3BLCbJm2EMWJxto2cfzRvXoACmAaxTJMqW8qatPExa4w==", + "requires": { + "plur": "^3.0.0", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-list-item-indent": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.4.tgz", + "integrity": "sha512-Sv0gVH6qP1/nFpbJuyyguB9sAD2o42StD2WbEZeUcEexXwRO4u/YaX0Pm5pMtCiEHyN+qyL6ShKBQMtgol9BeA==", + "requires": { + "plur": "^3.0.0", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-list-item-spacing": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.3.tgz", + "integrity": "sha512-QzDY0Qfk6m+Az0kmxP57OfswIH1WRdd6SIpQLaUEgsTlsbrJOiO0sJYkkOlFPsyJIfp7SV/FCbr+aYCbHF+kRQ==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-maximum-heading-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.3.tgz", + "integrity": "sha512-ybcDpR5VHBjtjzdry7AdSjLFwslPo6rdhIJK2+WfHgfeEjIYnlz1uMvp1Z98QMmjpB5JSN83Kzg5fH8/B7poUw==", + "requires": { + "mdast-util-to-string": "^1.0.2", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-maximum-line-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.1.tgz", + "integrity": "sha512-CSxX1qc+rAqixk8eBrI+yBsUmD8YGfOezFeJWjJRuUaoOvs67oqCIU+I2HbwcUYY8/KnDxF1MCp+uCM0RkjKKw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-no-auto-link-without-protocol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.3.tgz", + "integrity": "sha512-k+hg2mXnO4Q9WV+UShPLen5oThvFxcRVWkx2hviVd/nu3eiszBKH3o38csBwjeJoMG3l2ZhdUW8dlOBhq8670Q==", + "requires": { + "mdast-util-to-string": "^1.0.2", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-blockquote-without-marker": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.3.tgz", + "integrity": "sha512-faDzKrA6aKidsRXG6gcIlCO8TexLxIxe+n9B3mdnl8mhZGgE0FfWTkIWVMj0IYps/xVsVMf45KxhXgc1wU9kwg==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1", + "vfile-location": "^2.0.1" + } + }, + "remark-lint-no-consecutive-blank-lines": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.3.tgz", + "integrity": "sha512-2Ef7fPxrfLditA7sTo2Qfqd+xwh/luWl8GzILE5vcWIxLDqKk3dTLJkB5nP+7Cr4kqWJAwXnRkEDd77ehrRV3A==", + "requires": { + "plur": "^3.0.0", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-duplicate-definitions": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-1.0.5.tgz", + "integrity": "sha512-zKXmfNUODXhJsGQdqfguMG9Nl9v1sLaDsQgMjUtmOSoQRnNud9ThQAZl62eX5jBn5HKcpOifG80tgkyBvU5eEw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-stringify-position": "^2.0.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-no-duplicate-headings": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.4.tgz", + "integrity": "sha512-QuPw+VG502Ctpd/jBjnBYuRXTg0ToP3D+dd3TYds4TRcdgaEFYTZfQ5zjK6XrxLMg0Hn9/WpXr4UqTlV4YZupA==", + "requires": { + "mdast-util-to-string": "^1.0.2", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-stringify-position": "^2.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-emphasis-as-heading": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.3.tgz", + "integrity": "sha512-HEmyeyKciUz95+CgpAH98RPR73jq5u5CZb2FOMSqgNl9B6FZXqVpq9F3txPqUw3nAqFYOAEnfiaoRgcqtioh0Q==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-file-name-articles": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.3.tgz", + "integrity": "sha512-YZDJDKUWZEmhrO6tHB0u0K0K2qJKxyg/kryr14OaRMvWLS62RgMn97sXPZ38XOSN7mOcCnl0k7/bClghJXx0sg==", + "requires": { + "unified-lint-rule": "^1.0.0" + } + }, + "remark-lint-no-file-name-consecutive-dashes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.3.tgz", + "integrity": "sha512-7f4vyXn/ca5lAguWWC3eu5hi8oZ7etX7aQlnTSgQZeslnJCbVJm6V6prFJKAzrqbBzMicUXr5pZLBDoXyTvHHw==", + "requires": { + "unified-lint-rule": "^1.0.0" + } + }, + "remark-lint-no-file-name-irregular-characters": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.3.tgz", + "integrity": "sha512-b4xIy1Yi8qZpM2vnMN+6gEujagPGxUBAs1judv6xJQngkl5d5zT8VQZsYsTGHku4NWHjjh3b7vK5mr0/yp4JSg==", + "requires": { + "unified-lint-rule": "^1.0.0" + } + }, + "remark-lint-no-file-name-mixed-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.3.tgz", + "integrity": "sha512-d7rJ4c8CzDbEbGafw2lllOY8k7pvnsO77t8cV4PHFylwQ3hmCdTHLuDvK87G3DaWCeKclp0PMyamfOgJWKMkPA==", + "requires": { + "unified-lint-rule": "^1.0.0" + } + }, + "remark-lint-no-file-name-outer-dashes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.4.tgz", + "integrity": "sha512-+bZvvme2Bm3Vp5L2iKuvGHYVmHKrTkkRt8JqJPGepuhvBvT4Q7+CgfKyMtC/hIjyl+IcuJQ2H0qPRzdicjy1wQ==", + "requires": { + "unified-lint-rule": "^1.0.0" + } + }, + "remark-lint-no-heading-content-indent": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-1.0.3.tgz", + "integrity": "sha512-7xM6X5E/dt8OXOHdejH+sfYb139a3kMr8ZSSkcp90Ab1y+ZQBNaWsR3mYh8FRKkYPTN5eyd+KjhNpLWyqqCbgg==", + "requires": { + "mdast-util-heading-style": "^1.0.2", + "plur": "^3.0.0", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-heading-punctuation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.3.tgz", + "integrity": "sha512-JQD05RjLS99ePBQ4Bed1uWsQTlIMBTcGgIgF6jFXSCEqhwnrIUDwk6S3MG1RZsKd3TLw2xuT/i+POpfBc2+1kQ==", + "requires": { + "mdast-util-to-string": "^1.0.2", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-inline-padding": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.4.tgz", + "integrity": "sha512-u5rgbDkcfVv645YxxOwoGBBJbsHEwWm/XqnO8EhfKTxkfKOF4ZItG7Ajhj89EDaeXMkvCcB/avBl4bj50eJH3g==", + "requires": { + "mdast-util-to-string": "^1.0.2", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-no-literal-urls": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.3.tgz", + "integrity": "sha512-H5quyMzl2kaewK+jYD1FI0G1SIinIsIp4DEyOUwIR+vYUoKwo0B4vvW0cmPpD1dgqqxHYx0B2B0JQQKFVWzGiw==", + "requires": { + "mdast-util-to-string": "^1.0.2", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-multiple-toplevel-headings": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.4.tgz", + "integrity": "sha512-0wDddx6htN5sL9/rofesiQF0oEgwN5224UmueiDx0ZUlYrn6VS0/SS0X3WWxtXmyeqlExfWF3D/g89tNs7dcjw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-stringify-position": "^2.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-shell-dollars": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.3.tgz", + "integrity": "sha512-fT3lQMTjEkPryL+63qDP1NfrohP3tG5i3SkNWSSR4VLU6OSsSSXlHGQGjo0ag//+EPKHB5/9frB/YQ0gDEPRGQ==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-shortcut-reference-image": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.3.tgz", + "integrity": "sha512-CGm27X54kXp/5ehXejDTsZjqzK4uIhLGcrFzN3k/KjdwunQouEY92AARGrLSEuJ1hQx0bJsmnvr/hvQyWAfNJg==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-shortcut-reference-link": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.4.tgz", + "integrity": "sha512-FXdMJYqspZBhPlxYqfVgVluVXjxStg0RHJzqrk8G9wS8fCS62AE3reoaoiCahwoH1tfKcA+poktbKqDAmZo7Jg==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-no-table-indentation": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.4.tgz", + "integrity": "sha512-H4VGHcg1k8sTIbwazFYLNbDqpPR+M0aHHKDf+93b/xyd27Dp0ODQrMnQbls1Cls5qOAQnwAQbx+75wcpFxP3OQ==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-no-undefined-references": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/remark-lint-no-undefined-references/-/remark-lint-no-undefined-references-1.1.1.tgz", + "integrity": "sha512-b1eIjWFaCu6m16Ax2uG33o1v+eRYqDTQRUqU6UeQ76JXmDmVtVO75ZuyRpqqE7VTZRW8YLVurXfJPDXfIa5Wng==", + "requires": { + "collapse-white-space": "^1.0.4", + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-no-unused-definitions": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-1.0.5.tgz", + "integrity": "sha512-Bo22e0RNzc1QMW317KTuStGFDG7uTDUQhm/TrW6Qzud0WXnNnqUyvts+e7wTYoj8VnwhhjyjyoA9lKA3uXMdAQ==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-ordered-list-marker-style": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.3.tgz", + "integrity": "sha512-24TmW1eUa/2JlwprZg9jJ8LKLxNGKnlKiI5YOhN4taUp2yv8daqlV9vR54yfn/ZZQh6EQvbIX0jeVY9NYgQUtw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-ordered-list-marker-value": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.3.tgz", + "integrity": "sha512-WQ9yLD8cI9DSk/CE+APKUT6ZeXp0/RzOnsYqzMxEa8n1QHSqRSF7hVEiisqNTG9+gV64OEE66e+m4c7RVSUADw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-rule-style": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-1.0.3.tgz", + "integrity": "sha512-SJe7IFORYRdo8JUhMSdcTktVAUVNVp36YYl1ZD9CfHqQHWlFD+3vWYzJXOZfog/i+CyWf7Yi0WVYmQes+167dA==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-strong-marker": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.3.tgz", + "integrity": "sha512-PFkH282dCwfRsVEw9IxbYbaZBY4UcTuT2SN+lA3R0cBeocWnOySVw8YEm4sv9JfV8BLcQA5gc4tj66/U3KCScw==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-table-cell-padding": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.4.tgz", + "integrity": "sha512-AQWWtV1yca1PN27QaFRJbBK6Ro/bopv1XnVKxj/iMebhOU2D2FBJ8rXmMZXVMC3G9OB2WSzGgqH3nP6QY12LoA==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.4.0" + } + }, + "remark-lint-table-pipe-alignment": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.3.tgz", + "integrity": "sha512-5fhEMcKqNjK6S/y7cVG0+iVqhmhXFW+awIuN7vOBhmDbZ3HF9rCCy20XiHoaG6FzrPJ+zfkjK/QZAbq2Vf58HA==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-table-pipes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.3.tgz", + "integrity": "sha512-K9NnGZp6i0m/CaOH7ZT4Ymt2seyiRPcBIlNMMGXBm6gpy34KJDDxYqsNUrh+j7dR+Zg4rYAQLnr3BiSHvj+rbQ==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-lint-unordered-list-marker-style": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.3.tgz", + "integrity": "sha512-0nn/Yscy5ImO4fqByrk/Ua02UwGx8LRu+0kdCbkVz4IxPO5qxTEfyccUQZR71zTdMJp1d2OeqyD9XtMaO4X7Ww==", + "requires": { + "unified-lint-rule": "^1.0.0", + "unist-util-generated": "^1.1.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^1.1.1" + } + }, + "remark-message-control": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz", + "integrity": "sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==", + "requires": { + "mdast-comment-marker": "^1.0.0", + "unified-message-control": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "remark-parse": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.1.tgz", + "integrity": "sha512-WOZLa545jYXtSy+txza6ACudKWByQac4S2DmGk+tAGO/3XnVTOxwyCIxB7nTcLlk8Aayhcuf3cV1WV6U6L7/DQ==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-preset-lint-markdown-style-guide": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.3.tgz", + "integrity": "sha512-H/jSoLvTY8abUcB+7/062I2oHevlHcHdrfRMP2RMh19QA1wmARgNEn3tZfdBXFq1TpzhevGgb6VwSdOjdU8NOQ==", + "requires": { + "remark-lint": "^6.0.0", + "remark-lint-blockquote-indentation": "^1.0.0", + "remark-lint-code-block-style": "^1.0.0", + "remark-lint-definition-case": "^1.0.0", + "remark-lint-definition-spacing": "^1.0.0", + "remark-lint-emphasis-marker": "^1.0.0", + "remark-lint-fenced-code-flag": "^1.0.0", + "remark-lint-fenced-code-marker": "^1.0.0", + "remark-lint-file-extension": "^1.0.0", + "remark-lint-final-definition": "^1.0.0", + "remark-lint-hard-break-spaces": "^1.0.0", + "remark-lint-heading-increment": "^1.0.0", + "remark-lint-heading-style": "^1.0.0", + "remark-lint-link-title-style": "^1.0.0", + "remark-lint-list-item-content-indent": "^1.0.0", + "remark-lint-list-item-indent": "^1.0.0", + "remark-lint-list-item-spacing": "^1.0.0", + "remark-lint-maximum-heading-length": "^1.0.0", + "remark-lint-maximum-line-length": "^1.0.0", + "remark-lint-no-auto-link-without-protocol": "^1.0.0", + "remark-lint-no-blockquote-without-marker": "^2.0.0", + "remark-lint-no-consecutive-blank-lines": "^1.0.0", + "remark-lint-no-duplicate-headings": "^1.0.0", + "remark-lint-no-emphasis-as-heading": "^1.0.0", + "remark-lint-no-file-name-articles": "^1.0.0", + "remark-lint-no-file-name-consecutive-dashes": "^1.0.0", + "remark-lint-no-file-name-irregular-characters": "^1.0.0", + "remark-lint-no-file-name-mixed-case": "^1.0.0", + "remark-lint-no-file-name-outer-dashes": "^1.0.0", + "remark-lint-no-heading-punctuation": "^1.0.0", + "remark-lint-no-inline-padding": "^1.0.0", + "remark-lint-no-literal-urls": "^1.0.0", + "remark-lint-no-multiple-toplevel-headings": "^1.0.0", + "remark-lint-no-shell-dollars": "^1.0.0", + "remark-lint-no-shortcut-reference-image": "^1.0.0", + "remark-lint-no-shortcut-reference-link": "^1.0.0", + "remark-lint-no-table-indentation": "^1.0.0", + "remark-lint-ordered-list-marker-style": "^1.0.0", + "remark-lint-ordered-list-marker-value": "^1.0.0", + "remark-lint-rule-style": "^1.0.0", + "remark-lint-strong-marker": "^1.0.0", + "remark-lint-table-cell-padding": "^1.0.0", + "remark-lint-table-pipe-alignment": "^1.0.0", + "remark-lint-table-pipes": "^1.0.0", + "remark-lint-unordered-list-marker-style": "^1.0.0" + } + }, + "remark-preset-lint-recommended": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/remark-preset-lint-recommended/-/remark-preset-lint-recommended-3.0.3.tgz", + "integrity": "sha512-5sQ34j1Irlsj6Tt4WWRylZ7UU+1jD5es/LfDZBZp/LXDwC4ldGqKpMmCCR6Z00x1jYM1phmS4M+eGqTdah0qkQ==", + "requires": { + "remark-lint": "^6.0.0", + "remark-lint-final-newline": "^1.0.0", + "remark-lint-hard-break-spaces": "^1.0.0", + "remark-lint-list-item-bullet-indent": "^1.0.0", + "remark-lint-list-item-indent": "^1.0.0", + "remark-lint-no-auto-link-without-protocol": "^1.0.0", + "remark-lint-no-blockquote-without-marker": "^2.0.0", + "remark-lint-no-duplicate-definitions": "^1.0.0", + "remark-lint-no-heading-content-indent": "^1.0.0", + "remark-lint-no-inline-padding": "^1.0.0", + "remark-lint-no-literal-urls": "^1.0.0", + "remark-lint-no-shortcut-reference-image": "^1.0.0", + "remark-lint-no-shortcut-reference-link": "^1.0.0", + "remark-lint-no-undefined-references": "^1.0.0", + "remark-lint-no-unused-definitions": "^1.0.0", + "remark-lint-ordered-list-marker-style": "^1.0.0" + } + }, + "remark-stringify": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-7.0.3.tgz", + "integrity": "sha512-+jgmjNjm2kR7y2Ns1BATXRlFr+iQ7sDcpSgytfU77nkw7UCd5yJNArSxB3MU3Uul7HuyYNTCjetoGfy8xLia1A==", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^2.0.0", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" }, @@ -5309,6 +6466,11 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, + "shellsubstitute": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz", + "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=" + }, "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", @@ -5356,6 +6518,11 @@ } } }, + "sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -5573,8 +6740,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sqlite-async": { "version": "1.0.12", @@ -5616,6 +6782,11 @@ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", "dev": true }, + "state-toggle": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz", + "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==" + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -5693,6 +6864,18 @@ "safe-buffer": "~5.1.0" } }, + "stringify-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-2.0.0.tgz", + "integrity": "sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==", + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.2", + "is-hexadecimal": "^1.0.0" + } + }, "stringstream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", @@ -5729,7 +6912,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -5828,8 +7010,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "thenify": { "version": "3.3.0", @@ -5932,6 +7113,22 @@ "repeat-string": "^1.6.1" } }, + "to-vfile": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-6.0.0.tgz", + "integrity": "sha512-i9fwXXSsHLu7mzgixc1WjgnqSe6pGpjnzCYoFmrASvEueLfyKf09QAe+XQYu8OAJ62aFqHpe2EKXojeRVvEzqA==", + "requires": { + "is-buffer": "^2.0.0", + "vfile": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", @@ -5962,12 +7159,27 @@ "punycode": "^2.1.0" } }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", "dev": true }, + "trim-trailing-lines": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", + "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==" + }, + "trough": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", + "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==" + }, "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", @@ -6005,11 +7217,15 @@ "mime-types": "~2.1.18" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { "version": "3.6.1", @@ -6043,6 +7259,122 @@ "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", "dev": true }, + "unherit": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz", + "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==", + "requires": { + "inherits": "^2.0.1", + "xtend": "^4.0.1" + } + }, + "unified": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.1.tgz", + "integrity": "sha512-YPj/uIIZSO7mMIZQj/5Z3hDl4lshWYRQGs5TgUCjHTVdklUWH+O94mK5Cy77SEcmEUwGhnUcudMuH/zIwporqw==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "unified-args": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/unified-args/-/unified-args-7.1.0.tgz", + "integrity": "sha512-soi9Rn7l5c1g0RfElSCHMwaxeiclSI0EsS3uZmMPUOfwMeeeZjLpNmHAowV9iSlQh59iiZhSMyQu9lB8WnIz5g==", + "requires": { + "camelcase": "^5.0.0", + "chalk": "^2.0.0", + "chokidar": "^3.0.0", + "fault": "^1.0.2", + "json5": "^2.0.0", + "minimist": "^1.2.0", + "text-table": "^0.2.0", + "unified-engine": "^7.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "unified-engine": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/unified-engine/-/unified-engine-7.0.0.tgz", + "integrity": "sha512-zH/MvcISpWg3JZtCoY/GYBw1WnVHkhnPoMBWpmuvAifCPSS9mzT9EbtimesJp6t2nnr/ojI0mg3TmkO1CjIwVA==", + "requires": { + "concat-stream": "^2.0.0", + "debug": "^4.0.0", + "fault": "^1.0.0", + "figures": "^3.0.0", + "fn-name": "^2.0.1", + "glob": "^7.0.3", + "ignore": "^5.0.0", + "is-empty": "^1.0.0", + "is-hidden": "^1.0.1", + "is-object": "^1.0.1", + "js-yaml": "^3.6.1", + "load-plugin": "^2.0.0", + "parse-json": "^4.0.0", + "to-vfile": "^6.0.0", + "trough": "^1.0.0", + "unist-util-inspect": "^4.1.2", + "vfile-reporter": "^6.0.0", + "vfile-statistics": "^1.1.0", + "x-is-string": "^0.1.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "figures": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", + "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "unified-lint-rule": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-1.0.4.tgz", + "integrity": "sha512-q9wY6S+d38xRAuWQVOMjBQYi7zGyKkY23ciNafB8JFVmDroyKjtytXHCg94JnhBCXrNqpfojo3+8D+gmF4zxJQ==", + "requires": { + "wrapped": "^1.0.1" + } + }, + "unified-message-control": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz", + "integrity": "sha512-e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==", + "requires": { + "trim": "0.0.1", + "unist-util-visit": "^1.0.0", + "vfile-location": "^2.0.0" + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -6055,6 +7387,61 @@ "set-value": "^2.0.1" } }, + "unist-util-generated": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz", + "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==" + }, + "unist-util-inspect": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-4.1.4.tgz", + "integrity": "sha512-7xxyvKiZ1SC9vL5qrMqKub1T31gRHfau4242F69CcaOrXt//5PmRVOmDZ36UAEgiT+tZWzmQmbNZn+mVtnR9HQ==", + "requires": { + "is-empty": "^1.0.0" + } + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + }, + "unist-util-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz", + "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==" + }, + "unist-util-remove-position": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz", + "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==", + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz", + "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "requires": { + "unist-util-is": "^3.0.0" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -6111,6 +7498,14 @@ } } }, + "untildify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", + "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=", + "requires": { + "os-homedir": "^1.0.0" + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -6181,6 +7576,105 @@ "extsprintf": "^1.2.0" } }, + "vfile": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz", + "integrity": "sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, + "vfile-location": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz", + "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==" + }, + "vfile-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz", + "integrity": "sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==", + "requires": { + "@types/unist": "^2.0.2", + "unist-util-stringify-position": "^2.0.0" + } + }, + "vfile-reporter": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz", + "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==", + "requires": { + "repeat-string": "^1.5.0", + "string-width": "^4.0.0", + "supports-color": "^6.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-sort": "^2.1.2", + "vfile-statistics": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "string-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", + "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^5.2.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "vfile-sort": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz", + "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==" + }, + "vfile-statistics": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz", + "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==" + }, "w3c-hr-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", @@ -6280,6 +7774,22 @@ "strip-ansi": "^3.0.1" } }, + "wrapped": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wrapped/-/wrapped-1.0.1.tgz", + "integrity": "sha1-x4PZ2Aeyc+mwHoUWgKk4yHyQckI=", + "requires": { + "co": "3.1.0", + "sliced": "^1.0.1" + }, + "dependencies": { + "co": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", + "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=" + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -6314,6 +7824,11 @@ "async-limiter": "~1.0.0" } }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" + }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", @@ -6326,6 +7841,11 @@ "integrity": "sha512-MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA==", "dev": true }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", diff --git a/package.json b/package.json index 8359da0..4f88b9c 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,13 @@ "koa-session": "^5.10.1", "koa-static": "^5.0.0", "koa-views": "^6.1.5", + "markdown": "^0.5.0", + "markdownlint-cli": "^0.18.0", "mime-types": "^2.1.22", + "remark-cli": "^7.0.0", + "remark-lint": "^6.0.5", + "remark-preset-lint-markdown-style-guide": "^2.1.3", + "remark-preset-lint-recommended": "^3.0.3", "sqlite-async": "^1.0.12" }, "devDependencies": { @@ -42,6 +48,7 @@ "http-status-codes": "^1.3.2", "jest": "^24.1.0", "jsdoc": "^3.6.3", - "jsdoc-route-plugin": "^0.1.0" + "jsdoc-route-plugin": "^0.1.0", + "markdownlint": "^0.17.0" } } From d153c054a97560dd3f906ade9e5805812b87ca8b Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Mon, 14 Oct 2019 22:31:38 +0100 Subject: [PATCH 04/41] added markdownlint to githook --- .githooks/pre-commit | 1 + 1 file changed, 1 insertion(+) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 23c0362..5bc4848 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -1,3 +1,4 @@ #!/bin/sh ./node_modules/.bin/eslint . +./node_modules/.bin/markdownlint --ignore node_modules . From 2cd17e26855cabc1db218f733df18b355fe24a0e Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Mon, 14 Oct 2019 22:32:04 +0100 Subject: [PATCH 05/41] fixed markdown issue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 89a7134..c7534f6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Assignment Template + This repository contains the base files for the assignment. You will need to create a _private duplicate_ in your module organisation. Carry out the following steps, taken from the [GitHub documentation](https://help.github.com/en/enterprise/2.16/user/articles/duplicating-a-repository): Temporarily clone this repository to your development computer. This will create a directory on your computer called `temp` which contains the repository files: From 534c3c34ccfcc64ca3eaed0b3df80d3e8ded4dda Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Tue, 15 Oct 2019 08:11:02 +0100 Subject: [PATCH 06/41] Created Post Commit Script The pre-commit script takes too long to run due to the markdownlint command. Created a second script to run after the commit. --- .githooks/post-commit | 3 +++ .githooks/pre-commit | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100755 .githooks/post-commit diff --git a/.githooks/post-commit b/.githooks/post-commit new file mode 100755 index 0000000..d886517 --- /dev/null +++ b/.githooks/post-commit @@ -0,0 +1,3 @@ +#!/bin/sh + +./node_modules/.bin/markdownlint --ignore node_modules . diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 5bc4848..23c0362 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -1,4 +1,3 @@ #!/bin/sh ./node_modules/.bin/eslint . -./node_modules/.bin/markdownlint --ignore node_modules . From 4c5986da7d22ea3a90d931596e5f456b7a64d6c1 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Tue, 15 Oct 2019 08:15:13 +0100 Subject: [PATCH 07/41] Added Linting Errors The git hooks need to be tested. Added an error to both the markdown and js scripts to check they are working. --- .githooks/post-commit | 1 + .githooks/pre-commit | 1 + README.md | 2 -- index.js | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.githooks/post-commit b/.githooks/post-commit index d886517..3bf5891 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -1,3 +1,4 @@ #!/bin/sh +echo "running the 'post-commit' script" ./node_modules/.bin/markdownlint --ignore node_modules . diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 23c0362..535aff1 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -1,3 +1,4 @@ #!/bin/sh +echo "running the 'pre-commit' script" ./node_modules/.bin/eslint . diff --git a/README.md b/README.md index c7534f6..5f4a892 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ # Assignment Template - This repository contains the base files for the assignment. You will need to create a _private duplicate_ in your module organisation. Carry out the following steps, taken from the [GitHub documentation](https://help.github.com/en/enterprise/2.16/user/articles/duplicating-a-repository): Temporarily clone this repository to your development computer. This will create a directory on your computer called `temp` which contains the repository files: @@ -16,7 +15,6 @@ Mirror Push to this new repository, replacing xxx with the url from the clipboar Once you are sure the code is in your new repository, delete the temporary local repository. `cd .. && rm -rf temp/` - Your private repository on GitHub will now contain a complete copy of this template including the commits that were already made. You can now start your assignment by carrying out the following steps: Clone your private repository diff --git a/index.js b/index.js index 88bf49a..d00a80e 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,7 @@ 'use strict' /* MODULE IMPORTS */ -const Koa = require('koa') +const Koa = require('koa'); const Router = require('koa-router') const views = require('koa-views') const staticDir = require('koa-static') From f756a9a07446588b3b02e04606731579baf74849 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Tue, 15 Oct 2019 08:20:06 +0100 Subject: [PATCH 08/41] Added Linter Warnings Students need to see that the linter is being triggered. Added some issues for the students to fix. --- index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index d00a80e..bbb776f 100644 --- a/index.js +++ b/index.js @@ -17,6 +17,8 @@ const session = require('koa-session') /* IMPORT CUSTOM MODULES */ const User = require('./modules/user') + + const app = new Koa() const router = new Router() @@ -28,8 +30,8 @@ app.use(session(app)) app.use(views(`${__dirname}/views`, { extension: 'handlebars' }, {map: { handlebars: 'handlebars' }})) const defaultPort = 8080 -const port = process.env.PORT || defaultPort -const dbName = 'website.db' +const port = process.env.PORT || defaultPort +const dbName = 'website.db' /** * The secure home page. From 8f2b1df49710d0f49320e072eaa74c4b313b58a6 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Mon, 28 Oct 2019 09:35:07 +0000 Subject: [PATCH 09/41] Modified ESLint Comments were being counted against file length which discouraged students from commenting their code. Linter now modified to ignore any comment lines when calculating the length of the file. --- .eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index 31bae2e..8dd7c7f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -26,7 +26,7 @@ "linebreak-style": ["warn", "unix"], "max-depth": ["error", 3], "max-len": ["warn", { "code": 120, "tabWidth": 4 }], - "max-lines": ["warn", 150], + "max-lines": ["warn", {"max": 150, "skipBlankLines": true, "skipComments": true}], "max-lines-per-function": ["error", 20], "max-nested-callbacks": ["error", 4], "max-params": ["error", 5], From d0a06116911da28d90228a5795ed1f40562d749b Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Thu, 31 Oct 2019 18:35:25 +0000 Subject: [PATCH 10/41] Cleaned Up Config File Some of the error levels were numbers and some strings. All are now shown as strings for improved readability. --- .eslintrc.json | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 8dd7c7f..cf0e23a 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -11,17 +11,17 @@ "ecmaVersion": 8 }, "rules": { - "arrow-body-style": 2, + "arrow-body-style": "error", "arrow-spacing": ["warn", {"before": true, "after": true}], - "brace-style": 2, - "camelcase": [2, {"properties": "never"}], + "brace-style": "error", + "camelcase": ["error", {"properties": "never"}], "complexity": ["error", 5], "eol-last": "warn", "eqeqeq": "error", "func-call-spacing": ["error", "never"], "global-require": "error", "handle-callback-err": "warn", - "indent": [1, "tab", {"SwitchCase": 1}], + "indent": ["warn", "tab", {"SwitchCase": 1}], "key-spacing": ["error", {"beforeColon": false, "afterColon": true}], "linebreak-style": ["warn", "unix"], "max-depth": ["error", 3], @@ -31,35 +31,35 @@ "max-nested-callbacks": ["error", 4], "max-params": ["error", 5], "max-statements": ["error", 20], - "no-cond-assign": 2, + "no-cond-assign": "error", "no-dupe-args": "error", "no-dupe-keys": "error", "no-duplicate-case": "error", "no-empty": "warn", - "no-empty-function": 2, + "no-empty-function": "error", "no-multiple-empty-lines": "warn", - "no-extra-parens": 2, - "no-func-assign": 2, - "no-irregular-whitespace": 2, - "no-magic-numbers": [1, {"ignore": [-1, 0, 1]}], - "no-multi-spaces": 1, - "no-multi-str": 1, - "no-unexpected-multiline": 2, - "no-unreachable": 2, - "no-self-assign": 2, - "no-trailing-spaces": 1, - "no-undef": 2, - "no-unused-vars": 1, + "no-extra-parens": "error", + "no-func-assign": "error", + "no-irregular-whitespace": "error", + "no-magic-numbers": ["warn", {"ignore": [-1, 0, 1]}], + "no-multi-spaces": "warn", + "no-multi-str": "off", + "no-unexpected-multiline": "error", + "no-unreachable": "error", + "no-self-assign": "error", + "no-trailing-spaces": "warn", + "no-undef": "error", + "no-unused-vars": "warn", "no-var": 2, - "prefer-arrow-callback": 1, - "prefer-const": 2, + "prefer-arrow-callback": "warn", + "prefer-const": "error", "prefer-template": "error", - "quotes": [1, "single"], - "semi": [1, "never"], + "quotes": ["warn", "single"], + "semi": ["warn", "never"], "space-before-blocks": ["error", { "functions": "always", "keywords": "always", "classes": "always" }], - "space-before-function-paren": [2, "never"], - "strict": [2, "global"], - "yoda": 2 + "space-before-function-paren": ["error", "never"], + "strict": ["error", "global"], + "yoda": "error" }, "overrides": [{ "files": [ "*.test.js", "*.spec.js", "sqlite-async.js" ], From 3c79989e99daaead2b546ce89856a34c7571d62e Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 2 Nov 2019 09:55:13 +0000 Subject: [PATCH 11/41] Force Hook to Fail on First Error The script only fails if the last command fails. Using the bash options command the scripts now fail on the first error. --- .githooks/post-commit | 1 + .githooks/pre-commit | 1 + 2 files changed, 2 insertions(+) diff --git a/.githooks/post-commit b/.githooks/post-commit index 3bf5891..1dd5e6e 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -1,4 +1,5 @@ #!/bin/sh +set -e # using the options command to abort script at first error echo "running the 'post-commit' script" ./node_modules/.bin/markdownlint --ignore node_modules . diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 535aff1..eb642eb 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -1,4 +1,5 @@ #!/bin/sh +set -e # using the options command to abort script at first error echo "running the 'pre-commit' script" ./node_modules/.bin/eslint . From 3eb07c5ecf77f6dabe13da5a564333e51006cc0e Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 2 Nov 2019 10:37:57 +0000 Subject: [PATCH 12/41] Improved GitIgnore File During the development of the lab exercises in the dynamic-website repository a number of files and directories were created that should not be in the repository, however these were not included in the template. These have now been added to the gitignore file in this repository. --- .gitignore | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8e4e0d8..62bcf4b 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,26 @@ .DS_Store node_modules/ coverage/ -*.db screenshots/* -docs/ \ No newline at end of file +docs/ + +data/ +coverage/ +sessions/ +screenshots/ +__image_snapshots_/ +__diff_output__/ +trace/ +.node-persist/ + +*.db +*snap.png +*diff.png +*trace.json +*.0x + +*.pptx +*.mp4 + +*.codio +*.c9 From 1be888c31514bef5ed2099365234691314be5e5a Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 2 Nov 2019 20:36:50 +0000 Subject: [PATCH 13/41] Removed Old Scripts --- package.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4f88b9c..4829aa5 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,16 @@ { "name": "10_auth", - "version": "1.0.0", - "description": "", + "version": "1.1.3", + "description": "A simple dynamic website template to be used as the base for various projects", "main": "index.js", "engines": { "node": "12.x" }, "scripts": { "start": "node index.js", - "acceptance": "jest --coverage --detectOpenHandles", "jsdoc": "node_modules/.bin/jsdoc -c jsdoc.conf", "linter": "node_modules/.bin/eslint .", - "test": "jest --coverage --detectOpenHandles", - "unit": "node_modules/.bin/jest --coverage --runInBand tests/unit/" + "unit": "./node_modules/.bin/jest --coverage 'unit tests/'" }, "jest": { "projects": [ From eba49321f073fa21f96a0728d3d3c000adb83086 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 2 Nov 2019 20:37:08 +0000 Subject: [PATCH 14/41] Fixed Linter Issues --- index.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index bbb776f..88bf49a 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,7 @@ 'use strict' /* MODULE IMPORTS */ -const Koa = require('koa'); +const Koa = require('koa') const Router = require('koa-router') const views = require('koa-views') const staticDir = require('koa-static') @@ -17,8 +17,6 @@ const session = require('koa-session') /* IMPORT CUSTOM MODULES */ const User = require('./modules/user') - - const app = new Koa() const router = new Router() @@ -30,8 +28,8 @@ app.use(session(app)) app.use(views(`${__dirname}/views`, { extension: 'handlebars' }, {map: { handlebars: 'handlebars' }})) const defaultPort = 8080 -const port = process.env.PORT || defaultPort -const dbName = 'website.db' +const port = process.env.PORT || defaultPort +const dbName = 'website.db' /** * The secure home page. From 56d7e5c2c87e2673a26b1fe58897a306be344dab Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 2 Nov 2019 20:37:23 +0000 Subject: [PATCH 15/41] Added Step Files to Exception List --- .eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index cf0e23a..3115e19 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -62,7 +62,7 @@ "yoda": "error" }, "overrides": [{ - "files": [ "*.test.js", "*.spec.js", "sqlite-async.js" ], + "files": [ "*.test.js", "*.spec.js", "*.steps.js" ], "rules": { "global-require": "off", "max-lines-per-function": "off", From c945e5244e48bc39f77fc3ec80417a3d08644941 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Wed, 6 Nov 2019 09:26:34 +0000 Subject: [PATCH 16/41] updated the linter config --- .eslintrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index 3115e19..6c375b1 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -27,7 +27,7 @@ "max-depth": ["error", 3], "max-len": ["warn", { "code": 120, "tabWidth": 4 }], "max-lines": ["warn", {"max": 150, "skipBlankLines": true, "skipComments": true}], - "max-lines-per-function": ["error", 20], + "max-lines-per-function": ["warn", {"max": 20, "skipBlankLines": true, "skipComments": true}], "max-nested-callbacks": ["error", 4], "max-params": ["error", 5], "max-statements": ["error", 20], From 438ad55d7133febc89840d382371032d8825ccf6 Mon Sep 17 00:00:00 2001 From: "Mark Tyers (aa7401)" Date: Thu, 14 Nov 2019 19:24:32 +0000 Subject: [PATCH 17/41] Updated Dependencies --- package.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 4829aa5..d171477 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,13 @@ "node": "12.x" }, "scripts": { + "coverage": "./node_modules/.bin/jest --coverage 'unit tests/' && ./node_modules/.bin/istanbul check-coverage --statement 100 --branch 100 --function 100 --line 100", + "dependency": "./node_modules/.bin/dependency-check -i bcrypt --unused --no-dev . && node_modules/.bin/dependency-check -i modules --missing .", + "duplication": "node_modules/.bin/jscpd -p . --config .cpd.yml", "start": "node index.js", "jsdoc": "node_modules/.bin/jsdoc -c jsdoc.conf", "linter": "node_modules/.bin/eslint .", - "unit": "./node_modules/.bin/jest --coverage 'unit tests/'" + "test": "./node_modules/.bin/jest --coverage 'unit tests/'" }, "jest": { "projects": [ @@ -22,8 +25,6 @@ "dependencies": { "bcrypt": "^3.0.6", "bcrypt-promise": "^2.0.0", - "fs-extra": "^7.0.1", - "handlebars": "^4.4.2", "koa": "^2.6.2", "koa-body": "^4.0.8", "koa-bodyparser": "^4.2.1", @@ -31,20 +32,19 @@ "koa-session": "^5.10.1", "koa-static": "^5.0.0", "koa-views": "^6.1.5", - "markdown": "^0.5.0", - "markdownlint-cli": "^0.18.0", "mime-types": "^2.1.22", - "remark-cli": "^7.0.0", - "remark-lint": "^6.0.5", - "remark-preset-lint-markdown-style-guide": "^2.1.3", - "remark-preset-lint-recommended": "^3.0.3", "sqlite-async": "^1.0.12" }, "devDependencies": { + "coverage": "^0.4.1", + "dependency": "0.0.1", + "dependency-check": "^4.1.0", "eslint": "^5.15.2", "handlebars-validate": "^0.1.2", "http-status-codes": "^1.3.2", + "istanbul": "^0.4.5", "jest": "^24.1.0", + "jscpd": "^2.0.16", "jsdoc": "^3.6.3", "jsdoc-route-plugin": "^0.1.0", "markdownlint": "^0.17.0" From 3525cc7bc30d297cfdd62615b1eac36a00d59698 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Thu, 14 Nov 2019 19:27:35 +0000 Subject: [PATCH 18/41] Added CI Config File --- .gitlab-ci.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..3f4455b --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,42 @@ +image: node:latest + +stages: + - code-testing + - staging-server + - acceptance-testing + +linting: + stage: code-testing + script: + - npm install + - npm run linter + +dependency-checks: + stage: code-testing + script: + - npm install + - npm run dependency + +unit-testing: + stage: code-testing + script: + - npm install + - npm test + +code-coverage: + stage: code-testing + script: + - npm install + - npm run coverage + +coverage-report: + stage: staging-server + script: + - npm install + - npm run coverage + artifacts: + paths: + - docs + expire_in: 30 days + only: + - master From 086c47942af348db527399073a7605fefb5a82cc Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Thu, 14 Nov 2019 19:29:02 +0000 Subject: [PATCH 19/41] removed old test --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index d171477..d1afbcb 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,6 @@ "scripts": { "coverage": "./node_modules/.bin/jest --coverage 'unit tests/' && ./node_modules/.bin/istanbul check-coverage --statement 100 --branch 100 --function 100 --line 100", "dependency": "./node_modules/.bin/dependency-check -i bcrypt --unused --no-dev . && node_modules/.bin/dependency-check -i modules --missing .", - "duplication": "node_modules/.bin/jscpd -p . --config .cpd.yml", "start": "node index.js", "jsdoc": "node_modules/.bin/jsdoc -c jsdoc.conf", "linter": "node_modules/.bin/eslint .", From 800773b90308de30efcd572af9126f0bbd388f15 Mon Sep 17 00:00:00 2001 From: Harry Kent Date: Sat, 23 Nov 2019 15:19:18 +0000 Subject: [PATCH 20/41] Implementing isolated acceptance tests --- acceptanceTests/ui.spec.js | 70 + afterAll.sh | 17 + beforeAll.sh | 12 + beforeEach.sh | 9 + index.js | 10 +- jest-test.config.js | 1 + jest.puppeteer.config.js | 14 + modules/user.js | 5 +- package-lock.json | 8056 ++++++++++++++++++++++-------------- package.json | 27 +- test.sh | 11 + 11 files changed, 5064 insertions(+), 3168 deletions(-) create mode 100644 acceptanceTests/ui.spec.js create mode 100644 afterAll.sh create mode 100644 beforeAll.sh create mode 100644 beforeEach.sh create mode 100644 jest.puppeteer.config.js create mode 100644 test.sh diff --git a/acceptanceTests/ui.spec.js b/acceptanceTests/ui.spec.js new file mode 100644 index 0000000..f5085cd --- /dev/null +++ b/acceptanceTests/ui.spec.js @@ -0,0 +1,70 @@ +'use strict' + +const puppeteer = require('puppeteer') +const { configureToMatchImageSnapshot } = require('jest-image-snapshot') +const PuppeteerHar = require('puppeteer-har') +const shell = require('shelljs') + +const width = 800 +const height = 600 +const delayMS = 5 + +let browser +let page +let har + +// threshold is the difference in pixels before the snapshots dont match +const toMatchImageSnapshot = configureToMatchImageSnapshot({ + customDiffConfig: { threshold: 2 }, + noColors: true, +}) +expect.extend({ toMatchImageSnapshot }) + +beforeAll( async() => { + browser = await puppeteer.launch({ headless: true, slowMo: delayMS, args: [`--window-size=${width},${height}`] }) + page = await browser.newPage() + har = new PuppeteerHar(page) + await page.setViewport({ width, height }) + await shell.exec('beforeAll.sh') +}) + +afterAll( async() => { + browser.close() + await shell.exec('afterAll.sh') +}) + +beforeEach(async() => { + await shell.exec('beforeEach.sh') +}) + +describe('Registering', () => { + test('Register a user', async done => { + //start generating a trace file. + await page.tracing.start({path: 'trace/registering_user_har.json',screenshots: true}) + await har.start({path: 'trace/registering_user_trace.har'}) + //ARRANGE + await page.goto('http://localhost:8080/register', { timeout: 30000, waitUntil: 'load' }) + //ACT + await page.type('input[name=user]', 'NewUser') + await page.type('input[name=pass]', 'password') + await page.click('input[type=submit]') + await page.goto('http://localhost:8080/login', { timeout: 30000, waitUntil: 'load' }) + await page.type('input[name=user]', 'NewUser') + await page.type('input[name=pass]', 'password') + await page.click('input[type=submit]') + //ASSERT + //check that the user is taken to the homepage after attempting to login as the new user: + await page.waitForSelector('h1') + expect( await page.evaluate( () => document.querySelector('h1').innerText ) ) + .toBe('Home') + + // grab a screenshot + const image = await page.screenshot() + // compare to the screenshot from the previous test run + expect(image).toMatchImageSnapshot() + // stop logging to the trace files + await page.tracing.stop() + await har.stop() + done() + }, 16000) +}) diff --git a/afterAll.sh b/afterAll.sh new file mode 100644 index 0000000..bbdbd8d --- /dev/null +++ b/afterAll.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e +echo afterAll +#Delete the databases that were used for the acceptance testing. +FILE=website.db +if test -f "$FILE"; then + rm -rf website.db +fi +#Restore the databases from before the acceptance tests were run, and delete the backups. +FILE=websiteBackup.db +if test -f "$FILE"; then + cp websiteBackup.db website.db + rm -rf websiteBackup.db +fi + + diff --git a/beforeAll.sh b/beforeAll.sh new file mode 100644 index 0000000..85f6d0e --- /dev/null +++ b/beforeAll.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -e +echo beforeAll + +#Make backups of the databases. +FILE=website.db +if test -f "$FILE"; then + cp website.db websiteBackup.db + rm -rf website.db +fi + diff --git a/beforeEach.sh b/beforeEach.sh new file mode 100644 index 0000000..03decd0 --- /dev/null +++ b/beforeEach.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e +echo beforeEach +#Delete the database files. +FILE=website.db +if test -f "$FILE"; then + rm -rf website.db +fi \ No newline at end of file diff --git a/index.js b/index.js index 88bf49a..8db770c 100644 --- a/index.js +++ b/index.js @@ -31,6 +31,8 @@ const defaultPort = 8080 const port = process.env.PORT || defaultPort const dbName = 'website.db' +let user + /** * The secure home page. * @@ -69,13 +71,15 @@ router.post('/register', koaBody, async ctx => { const body = ctx.request.body console.log(body) // call the functions in the module - const user = await new User(dbName) + user = await new User(dbName) await user.register(body.user, body.pass) // await user.uploadPicture(path, type) // redirect to the home page ctx.redirect(`/?msg=new user "${body.name}" added`) } catch(err) { await ctx.render('error', {message: err.message}) + } finally { + user.tearDown() } }) @@ -89,12 +93,14 @@ router.get('/login', async ctx => { router.post('/login', async ctx => { try { const body = ctx.request.body - const user = await new User(dbName) + user = await new User(dbName) await user.login(body.user, body.pass) ctx.session.authorised = true return ctx.redirect('/?msg=you are now logged in...') } catch(err) { await ctx.render('error', {message: err.message}) + } finally { + user.tearDown() } }) diff --git a/jest-test.config.js b/jest-test.config.js index 220e31c..c9e2d11 100644 --- a/jest-test.config.js +++ b/jest-test.config.js @@ -4,6 +4,7 @@ module.exports = { displayName: 'test', verbose: true, collectCoverage: true, + "preset": 'jest-puppeteer', coverageThreshold: { global: { branches: 0, diff --git a/jest.puppeteer.config.js b/jest.puppeteer.config.js new file mode 100644 index 0000000..9af998a --- /dev/null +++ b/jest.puppeteer.config.js @@ -0,0 +1,14 @@ + +'use strict' + +module.exports = { + server: { + command: 'node index.js', + port: 8080, + }, + launch: { + headless: false, + devtools: true, + timeout: 30000 + } +} diff --git a/modules/user.js b/modules/user.js index b319607..1bebdc3 100644 --- a/modules/user.js +++ b/modules/user.js @@ -56,5 +56,8 @@ module.exports = class User { throw err } } - + + async tearDown() { + await this.db.close() + } } diff --git a/package-lock.json b/package-lock.json index ae672f6..b082371 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "10_auth", - "version": "1.0.0", + "version": "1.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -14,27 +14,36 @@ } }, "@babel/core": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz", - "integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.3.4", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.3.4", - "@babel/types": "^7.3.4", - "convert-source-map": "^1.1.0", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.4.tgz", + "integrity": "sha512-+bYbx56j4nYBmpsWtnPUsKW3NdnYxbqyfrP2w9wILBuHzdfIKz9prieZK0DFPyIzkjYVUe4QkusGL07r5pXznQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helpers": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", "json5": "^2.1.0", - "lodash": "^4.17.11", + "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -45,9 +54,9 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "source-map": { @@ -59,16 +68,15 @@ } }, "@babel/generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", - "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", + "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", "dev": true, "requires": { - "@babel/types": "^7.3.4", + "@babel/types": "^7.7.4", "jsesc": "^2.5.1", - "lodash": "^4.17.11", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "lodash": "^4.17.13", + "source-map": "^0.5.0" }, "dependencies": { "source-map": { @@ -80,23 +88,23 @@ } }, "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", + "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/helper-get-function-arity": "^7.7.4", + "@babel/template": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz", + "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" } }, "@babel/helper-plugin-utils": { @@ -106,23 +114,23 @@ "dev": true }, "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz", + "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.7.4" } }, "@babel/helpers": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", - "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", + "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", "dev": true, "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.3.0" + "@babel/template": "^7.7.4", + "@babel/traverse": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/highlight": { @@ -137,48 +145,57 @@ } }, "@babel/parser": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", - "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", + "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", "dev": true }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.7.4.tgz", + "integrity": "sha512-mObR+r+KZq0XhRVS2BrBKBpr5jqrqzlPvS9C9vuOf5ilSwzloAl7RPWLrgKdWS6IreaVrjHxTjtyqFiOisaCwg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", + "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4" } }, "@babel/traverse": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", - "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz", + "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.3.4", - "@babel/types": "^7.3.4", + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.4", + "@babel/helper-function-name": "^7.7.4", + "@babel/helper-split-export-declaration": "^7.7.4", + "@babel/parser": "^7.7.4", + "@babel/types": "^7.7.4", "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.11" + "lodash": "^4.17.13" }, "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -189,24 +206,30 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, "@babel/types": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", - "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", + "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", "dev": true, "requires": { "esutils": "^2.0.2", - "lodash": "^4.17.11", + "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "@cnakazawa/watch": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz", @@ -215,60 +238,91 @@ "requires": { "exec-sh": "^0.3.2", "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz", + "integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" } }, "@jest/console": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.3.0.tgz", - "integrity": "sha512-NaCty/OOei6rSDcbPdMiCbYCI0KGFGPgGO6B09lwWt5QTxnkuhKYET9El5u5z1GAcSxkQmSMtM63e24YabCWqA==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", + "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", "dev": true, "requires": { - "@jest/source-map": "^24.3.0", - "@types/node": "*", + "@jest/source-map": "^24.9.0", "chalk": "^2.0.1", "slash": "^2.0.0" } }, "@jest/core": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.5.0.tgz", - "integrity": "sha512-RDZArRzAs51YS7dXG1pbXbWGxK53rvUu8mCDYsgqqqQ6uSOaTjcVyBl2Jce0exT2rSLk38ca7az7t2f3b0/oYQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", + "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", "dev": true, "requires": { - "@jest/console": "^24.3.0", - "@jest/reporters": "^24.5.0", - "@jest/test-result": "^24.5.0", - "@jest/transform": "^24.5.0", - "@jest/types": "^24.5.0", + "@jest/console": "^24.7.1", + "@jest/reporters": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", "ansi-escapes": "^3.0.0", "chalk": "^2.0.1", "exit": "^0.1.2", "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.5.0", - "jest-config": "^24.5.0", - "jest-haste-map": "^24.5.0", - "jest-message-util": "^24.5.0", + "jest-changed-files": "^24.9.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", "jest-regex-util": "^24.3.0", - "jest-resolve-dependencies": "^24.5.0", - "jest-runner": "^24.5.0", - "jest-runtime": "^24.5.0", - "jest-snapshot": "^24.5.0", - "jest-util": "^24.5.0", - "jest-validate": "^24.5.0", - "jest-watcher": "^24.5.0", + "jest-resolve": "^24.9.0", + "jest-resolve-dependencies": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", + "jest-watcher": "^24.9.0", "micromatch": "^3.1.10", "p-each-series": "^1.0.0", - "pirates": "^4.0.1", "realpath-native": "^1.1.0", "rimraf": "^2.5.4", + "slash": "^2.0.0", "strip-ansi": "^5.0.0" }, "dependencies": { @@ -279,9 +333,9 @@ "dev": true }, "strip-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.1.0.tgz", - "integrity": "sha512-TjxrkPONqO2Z8QDCpeE2j6n0M6EwxzyDgzEeGp+FbdvaJAt//ClYi6W5my+3ROlC/hZX2KACUwDfK49Ka5eDvg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" @@ -290,62 +344,61 @@ } }, "@jest/environment": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.5.0.tgz", - "integrity": "sha512-tzUHR9SHjMXwM8QmfHb/EJNbF0fjbH4ieefJBvtwO8YErLTrecc1ROj0uo2VnIT6SlpEGZnvdCK6VgKYBo8LsA==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", + "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", "dev": true, "requires": { - "@jest/fake-timers": "^24.5.0", - "@jest/transform": "^24.5.0", - "@jest/types": "^24.5.0", - "@types/node": "*", - "jest-mock": "^24.5.0" + "@jest/fake-timers": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0" } }, "@jest/fake-timers": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.5.0.tgz", - "integrity": "sha512-i59KVt3QBz9d+4Qr4QxsKgsIg+NjfuCjSOWj3RQhjF5JNy+eVJDhANQ4WzulzNCHd72srMAykwtRn5NYDGVraw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", + "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", "dev": true, "requires": { - "@jest/types": "^24.5.0", - "@types/node": "*", - "jest-message-util": "^24.5.0", - "jest-mock": "^24.5.0" + "@jest/types": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0" } }, "@jest/reporters": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.5.0.tgz", - "integrity": "sha512-vfpceiaKtGgnuC3ss5czWOihKOUSyjJA4M4udm6nH8xgqsuQYcyDCi4nMMcBKsHXWgz9/V5G7iisnZGfOh1w6Q==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", + "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", "dev": true, "requires": { - "@jest/environment": "^24.5.0", - "@jest/test-result": "^24.5.0", - "@jest/transform": "^24.5.0", - "@jest/types": "^24.5.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", "chalk": "^2.0.1", "exit": "^0.1.2", "glob": "^7.1.2", - "istanbul-api": "^2.1.1", "istanbul-lib-coverage": "^2.0.2", "istanbul-lib-instrument": "^3.0.1", + "istanbul-lib-report": "^2.0.4", "istanbul-lib-source-maps": "^3.0.1", - "jest-haste-map": "^24.5.0", - "jest-resolve": "^24.5.0", - "jest-runtime": "^24.5.0", - "jest-util": "^24.5.0", - "jest-worker": "^24.4.0", - "node-notifier": "^5.2.1", + "istanbul-reports": "^2.2.6", + "jest-haste-map": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", + "node-notifier": "^5.4.2", "slash": "^2.0.0", "source-map": "^0.6.0", "string-length": "^2.0.0" } }, "@jest/source-map": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.3.0.tgz", - "integrity": "sha512-zALZt1t2ou8le/crCeeiRYzvdnTzaIlpOWaet45lNSqNJUnXbppUUFR4ZUAlzgDmKee4Q5P/tKXypI1RiHwgag==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", + "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", "dev": true, "requires": { "callsites": "^3.0.0", @@ -354,33 +407,46 @@ } }, "@jest/test-result": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.5.0.tgz", - "integrity": "sha512-u66j2vBfa8Bli1+o3rCaVnVYa9O8CAFZeqiqLVhnarXtreSXG33YQ6vNYBogT7+nYiFNOohTU21BKiHlgmxD5A==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", + "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "dev": true, + "requires": { + "@jest/console": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/istanbul-lib-coverage": "^2.0.0" + } + }, + "@jest/test-sequencer": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", + "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", "dev": true, "requires": { - "@jest/console": "^24.3.0", - "@jest/types": "^24.5.0", - "@types/istanbul-lib-coverage": "^1.1.0" + "@jest/test-result": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-runner": "^24.9.0", + "jest-runtime": "^24.9.0" } }, "@jest/transform": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.5.0.tgz", - "integrity": "sha512-XSsDz1gdR/QMmB8UCKlweAReQsZrD/DK7FuDlNo/pE8EcKMrfi2kqLRk8h8Gy/PDzgqJj64jNEzOce9pR8oj1w==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", + "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", "babel-plugin-istanbul": "^5.1.0", "chalk": "^2.0.1", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.5.0", - "jest-regex-util": "^24.3.0", - "jest-util": "^24.5.0", + "jest-haste-map": "^24.9.0", + "jest-regex-util": "^24.9.0", + "jest-util": "^24.9.0", "micromatch": "^3.1.10", + "pirates": "^4.0.1", "realpath-native": "^1.1.0", "slash": "^2.0.0", "source-map": "^0.6.1", @@ -388,19 +454,62 @@ } }, "@jest/types": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.5.0.tgz", - "integrity": "sha512-kN7RFzNMf2R8UDadPOl6ReyI+MT8xfqRuAnuVL+i4gwjv/zubdDK+EDeLHYwq1j0CSSR2W/MmgaRlMZJzXdmVA==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", + "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^13.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", "dev": true, "requires": { - "@types/istanbul-lib-coverage": "^1.1.0", - "@types/yargs": "^12.0.9" + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" } }, + "@types/babel-types": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.7.tgz", + "integrity": "sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==", + "dev": true + }, "@types/babel__core": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.0.tgz", - "integrity": "sha512-wJTeJRt7BToFx3USrCDs2BhEi4ijBInTQjOIukj6a/5tEkwpFMVZ+1ppgmE+Q/FQyc5P/VWUbx7I9NELrKruHA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.3.tgz", + "integrity": "sha512-8fBo0UR2CcwWxeX7WIIgJ7lXjasFxoYgRnFHUj+hRvKkpiBJbxhdAPTCY6/ZKM0uxANFVzt4yObSLuTiTnazDA==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -411,9 +520,9 @@ } }, "@types/babel__generator": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.0.2.tgz", - "integrity": "sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.0.tgz", + "integrity": "sha512-c1mZUu4up5cp9KROs/QAw0gTeHrw/x7m52LcnvMxxOZ03DmLwPV0MlGmlgzV3cnSdjhJOZsj7E7FHeioai+egw==", "dev": true, "requires": { "@babel/types": "^7.0.0" @@ -430,14 +539,23 @@ } }, "@types/babel__traverse": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.6.tgz", - "integrity": "sha512-XYVgHF2sQ0YblLRMLNPB3CkFMewzFmlDsH/TneZFHUXDlABQgh88uOxuez7ZcXxayLFrqLwtDH1t+FmlFwNZxw==", + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.8.tgz", + "integrity": "sha512-yGeB2dHEdvxjP0y4UbRtQaSkXJ9649fYCmIdRoul5kfAoGCwxuCbMhag0k3RPfnuh9kPGm8x89btcfDEXdVWGw==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, + "@types/babylon": { + "version": "6.16.5", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", + "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", + "dev": true, + "requires": { + "@types/babel-types": "*" + } + }, "@types/events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", @@ -452,10 +570,52 @@ "@types/node": "*" } }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "dev": true, + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@types/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-byTuSHMdMRaOpRBhDW3RXl/Jxv8=", + "dev": true + }, "@types/istanbul-lib-coverage": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.0.tgz", - "integrity": "sha512-ohkhb9LehJy+PA40rDtGAji61NCgdtKLAlFoYp4cnuuQEswwdK3vz9SOIkkyc3wrk8dzjphQApNs56yyXLStaQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz", + "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", + "integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz", + "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "dev": true }, "@types/node": { @@ -469,21 +629,25 @@ "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, - "@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" - }, "@types/yargs": { - "version": "12.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-12.0.9.tgz", - "integrity": "sha512-sCZy4SxP9rN2w30Hlmg5dtdRwgYQfYRiLo9usw8X9cxlf+H4FqM1xX7+sNH7NNKVdbXMJWqva7iyy+fxh/V7fA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz", + "integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz", + "integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg==", "dev": true }, "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", "dev": true }, "abbrev": { @@ -491,6 +655,16 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, + "abstract-leveldown": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.0.3.tgz", + "integrity": "sha512-jzewKKpZbaYUa6HTThnrl+GrJhzjEAeuc7hTVpZdzg7kupXZFoqQDFwyOwLNbmJKJlmzw8yiipMPkDiuKkT06Q==", + "dev": true, + "requires": { + "level-concat-iterator": "~2.0.0", + "xtend": "~4.0.0" + } + }, "accepts": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", @@ -507,9 +681,9 @@ "dev": true }, "acorn-globals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", - "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "requires": { "acorn": "^6.0.1", @@ -517,9 +691,9 @@ }, "dependencies": { "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", "dev": true } } @@ -530,12 +704,46 @@ "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", "dev": true }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + }, + "acorn-walk": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", + "dev": true + } + } + }, "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, "ajv": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", @@ -547,6 +755,24 @@ "uri-js": "^4.2.2" } }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true, + "optional": true + }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -562,6 +788,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -581,15 +808,6 @@ "normalize-path": "^2.1.1" } }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", @@ -608,6 +826,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -636,16 +855,22 @@ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, "asn1": { @@ -674,18 +899,15 @@ "dev": true }, "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz", + "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==", + "dev": true }, "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", "dev": true }, "asynckit": { @@ -710,54 +932,86 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "babel-jest": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.5.0.tgz", - "integrity": "sha512-0fKCXyRwxFTJL0UXDJiT2xYxO9Lu2vBd9n+cC+eDjESzcVG3s2DRGAxbzJX21fceB1WYoBjAh8pQ83dKcl003g==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", + "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", "dev": true, "requires": { - "@jest/transform": "^24.5.0", - "@jest/types": "^24.5.0", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.3.0", + "babel-preset-jest": "^24.9.0", "chalk": "^2.4.2", "slash": "^2.0.0" } }, "babel-plugin-istanbul": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz", - "integrity": "sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", + "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", "dev": true, "requires": { + "@babel/helper-plugin-utils": "^7.0.0", "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.0.0", - "test-exclude": "^5.0.0" + "istanbul-lib-instrument": "^3.3.0", + "test-exclude": "^5.2.3" } }, "babel-plugin-jest-hoist": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.3.0.tgz", - "integrity": "sha512-nWh4N1mVH55Tzhx2isvUN5ebM5CDUvIpXPZYMRazQughie/EqGnbR+czzoQlhUmJG9pPJmYDRhvocotb2THl1w==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", + "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", "dev": true, "requires": { "@types/babel__traverse": "^7.0.6" } }, "babel-preset-jest": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.3.0.tgz", - "integrity": "sha512-VGTV2QYBa/Kn3WCOKdfS31j9qomaXSgJqi65B6o05/1GsJyj9LVhSljM9ro4S+IBGj/ENhNBuH9bpqzztKAQSw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", + "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", "dev": true, "requires": { "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.3.0" + "babel-plugin-jest-hoist": "^24.9.0" } }, - "bail": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz", - "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==" + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true }, "balanced-match": { "version": "1.0.0", @@ -831,18 +1085,23 @@ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, "bcrypt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-3.0.6.tgz", - "integrity": "sha512-taA5bCTfXe7FUjKroKky9EXpdhkVvhE5owfxfLYodbrAR1Ul3juLmIQmIQBK4L9a5BuUcE6cqmwT+Da20lF9tg==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-3.0.7.tgz", + "integrity": "sha512-K5UglF9VQvBMHl/1elNyyFvAfOY9Bj+rpKrCSR9sFwcW8FywAYJSRwTURNej5TaAK2TEJkcJ6r6lh1YPmspx5Q==", "requires": { - "nan": "2.13.2", - "node-pre-gyp": "0.12.0" + "nan": "2.14.0", + "node-pre-gyp": "0.13.0" }, "dependencies": { + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, "node-pre-gyp": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz", - "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz", + "integrity": "sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==", "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -871,10 +1130,23 @@ "resolved": "https://registry.npmjs.org/bcrypt-promise/-/bcrypt-promise-2.0.0.tgz", "integrity": "sha1-oLaD6UNCEArubuaXF0Oj4Xna4nw=" }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + "blamer": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/blamer/-/blamer-0.1.13.tgz", + "integrity": "sha1-YfIV8jYb0FTmJYwMXgCG8EB05nA=", + "dev": true, + "requires": { + "bluebird": "~2.3.x", + "xml2js": "~0.4.x" + }, + "dependencies": { + "bluebird": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.3.11.tgz", + "integrity": "sha1-Fbt47TKr8nsJBkDA+F5LkfYVyLY=", + "dev": true + } + } }, "bluebird": { "version": "3.5.3", @@ -942,9 +1214,9 @@ } }, "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { "node-int64": "^0.4.0" @@ -962,54 +1234,285 @@ "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "c8": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/c8/-/c8-5.0.4.tgz", + "integrity": "sha512-MgWIJ3HYe4NTtqwD+v16OdHvfqSzSLOmsptMuUxkzsYMoZzEeUv3yVep2d84qFjgio/3WbVEd9bkYQCFSDKeMw==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-content-type": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", - "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", - "requires": { - "mime-types": "^2.1.18", - "ylru": "^1.2.0" - } - }, - "callsites": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", - "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", - "dev": true - }, - "camelcase": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", - "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==" - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "@bcoe/v8-coverage": "^0.2.3", + "find-up": "^4.0.0", + "foreground-child": "^2.0.0", + "furi": "^1.3.0", + "istanbul-lib-coverage": "^2.0.5", + "istanbul-lib-report": "^2.0.8", + "istanbul-reports": "^2.2.6", + "rimraf": "^3.0.0", + "test-exclude": "^5.2.3", + "v8-to-istanbul": "^3.2.3", + "yargs": "^14.0.0", + "yargs-parser": "^14.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "foreground-child": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", + "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^3.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yargs": { + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz", + "integrity": "sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-14.0.0.tgz", + "integrity": "sha512-zn/Mnx+tbFjkCFUodEpjXckNS65NfpB5oyqOkDDEG/8uxlfLZJu2IoBLQFjukUkn9rBbGkVYNzrDh6qy4NUd3g==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", + "requires": { + "mime-types": "^2.1.18", + "ylru": "^1.2.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "callsites": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", + "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, "requires": { "rsvp": "^4.8.4" @@ -1029,40 +1532,35 @@ "lodash": "^4.17.14" } }, - "ccount": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz", - "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==" + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, - "character-entities": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz", - "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==" - }, - "character-entities-html4": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz", - "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==" - }, - "character-entities-legacy": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz", - "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==" - }, - "character-reference-invalid": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz", - "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==" + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "dev": true, + "requires": { + "is-regex": "^1.0.3" + } }, "chardet": { "version": "0.7.0", @@ -1070,71 +1568,52 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "chokidar": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.2.1.tgz", - "integrity": "sha512-/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.0", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.1.3" + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA=", + "dev": true + }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" + }, + "chrome-har": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/chrome-har/-/chrome-har-0.11.4.tgz", + "integrity": "sha512-RfL1csMqwXbWqIgR7B6FgR5T+DgzHGoW/LUT7dlKB4EooIGojvDrttOeL9kBlwe/IUEV9qh1CNgC4cnTwBJlEA==", + "dev": true, + "requires": { + "dayjs": "1.7.7", + "debug": "3.1.0", + "tough-cookie": "2.3.4", + "uuid": "3.2.1" }, "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "dev": true, "requires": { - "to-regex-range": "^5.0.1" + "punycode": "^1.4.1" } }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", + "dev": true } } }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" - }, "ci-info": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", @@ -1164,6 +1643,15 @@ } } }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -1173,21 +1661,15 @@ "restore-cursor": "^2.0.0" } }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "dev": true, "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -1223,31 +1705,108 @@ } } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true }, - "co-body": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", - "integrity": "sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==", + "clipboard": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "dev": true, + "optional": true, "requires": { - "inflation": "^2.0.0", - "qs": "^6.4.0", - "raw-body": "^2.2.0", - "type-is": "^1.6.14" + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" } }, - "code-point-at": { + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", + "dev": true, + "requires": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "co-body": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz", + "integrity": "sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==", + "requires": { + "inflation": "^2.0.0", + "qs": "^6.4.0", + "raw-body": "^2.2.0", + "type-is": "^1.6.14" + } + }, + "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "collapse-white-space": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz", - "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==" + "coffee-script": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", + "dev": true }, "collection-visit": { "version": "1.0.0", @@ -1263,6 +1822,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -1270,7 +1830,14 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true }, "combined-stream": { "version": "1.0.7", @@ -1285,16 +1852,10 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" }, - "compare-versions": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", - "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==", - "dev": true - }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "concat-map": { @@ -1303,26 +1864,15 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", - "readable-stream": "^3.0.2", + "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } } }, "condense-newlines": { @@ -1357,6 +1907,18 @@ "bluebird": "^3.1.1" } }, + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "dev": true, + "requires": { + "@types/babel-types": "^7.0.0", + "@types/babylon": "^6.16.2", + "babel-types": "^6.26.0", + "babylon": "^6.18.0" + } + }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -1371,14 +1933,20 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==", + "dev": true + }, "cookies": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.3.tgz", @@ -1399,11 +1967,40 @@ "resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz", "integrity": "sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=" }, + "core-js": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz", + "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "coverage": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/coverage/-/coverage-0.4.1.tgz", + "integrity": "sha512-Nwe6RSpwaUR6R++b5QukGrbu3rpeSOGZ805f6IXwG63pIaJZ7NV5osfDgJ43Fz0B9IwXha+jwArWB8Tpngi8lA==", + "dev": true, + "requires": { + "c8": "^5.0.1", + "foreground-child": "^1.5.6", + "normalize-package-data": "^2.5.0", + "slash": "^3.0.0", + "test-exclude": "^5.2.3", + "which": "^1.3.1", + "yargs-parser": "^13.1.1" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, "crc": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", @@ -1436,15 +2033,15 @@ } }, "cssom": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", - "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", "dev": true }, "cssstyle": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz", - "integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", "dev": true, "requires": { "cssom": "0.3.x" @@ -1457,6 +2054,16 @@ "dev": true, "optional": true }, + "cwd": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz", + "integrity": "sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc=", + "dev": true, + "requires": { + "find-pkg": "^0.1.2", + "fs-exists-sync": "^0.1.0" + } + }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -1477,9 +2084,9 @@ }, "dependencies": { "whatwg-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", - "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", @@ -1489,6 +2096,12 @@ } } }, + "dayjs": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.7.7.tgz", + "integrity": "sha512-Qlkiu0NNDpYwhk0syK4ImvAl/5YnsEMkvC2O123INviGeOA3Q8s5VyVkZzmN5SC7Wv9bb1+rfwO+uSqtHB4UWw==", + "dev": true + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -1525,13 +2138,27 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "deferred-leveldown": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", + "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", "dev": true, "requires": { - "strip-bom": "^3.0.0" + "abstract-leveldown": "~6.2.1", + "inherits": "^2.0.3" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "dev": true, + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } } }, "define-properties": { @@ -1590,11 +2217,24 @@ } } }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "dev": true, + "optional": true + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -1605,11 +2245,117 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "dependency": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/dependency/-/dependency-0.0.1.tgz", + "integrity": "sha1-nuH1uqrpqQRb87IuJSgVBYdfNxo=", + "dev": true, + "requires": { + "async": "^3.1.0", + "coffee-script": "^1.12.7", + "js2coffee": "^2.2.0", + "underscore": "^1.9.1" + }, + "dependencies": { + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true + } + } + }, + "dependency-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dependency-check/-/dependency-check-4.1.0.tgz", + "integrity": "sha512-nlw+PvhVQwg0gSNNlVUiuRv0765gah9pZEXdQlIFzeSnD85Eex0uM0bkrAWrHdeTzuMGZnR9daxkup/AqqgqzA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "detective": "^5.0.2", + "globby": "^10.0.1", + "is-relative": "^1.0.0", + "micromatch": "^4.0.2", + "minimist": "^1.2.0", + "pkg-up": "^3.1.0", + "read-package-json": "^2.0.10", + "resolve": "^1.1.7" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, + "detect-installed": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-installed/-/detect-installed-2.0.4.tgz", + "integrity": "sha1-oIUEZefD68/5eda2U1rTRLgN18U=", + "dev": true, + "requires": { + "get-installed-path": "^2.0.3" + } + }, "detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -1621,12 +2367,40 @@ "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, "diff-sequences": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.3.0.tgz", - "integrity": "sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", + "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", "dev": true }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1636,6 +2410,12 @@ "esutils": "^2.0.2" } }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, "domexception": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", @@ -1645,6 +2425,12 @@ "webidl-conversions": "^4.0.2" } }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1676,10 +2462,35 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "encoding-down": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", + "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "dev": true, + "requires": { + "abstract-leveldown": "^6.2.1", + "inherits": "^2.0.3", + "level-codec": "^9.0.0", + "level-errors": "^2.0.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "dev": true, + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "requires": { "once": "^1.4.0" @@ -1688,12 +2499,23 @@ "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, "requires": { "is-arrayish": "^0.2.1" } @@ -1704,23 +2526,27 @@ "integrity": "sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc=" }, "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz", + "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==", "dev": true, "requires": { "es-to-primitive": "^1.2.0", "function-bind": "^1.1.1", "has": "^1.0.3", + "has-symbols": "^1.0.0", "is-callable": "^1.1.4", "is-regex": "^1.0.4", - "object-keys": "^1.0.12" + "object-inspect": "^1.6.0", + "object-keys": "^1.1.1", + "string.prototype.trimleft": "^2.1.0", + "string.prototype.trimright": "^2.1.0" } }, "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -1728,20 +2554,36 @@ "is-symbol": "^1.0.2" } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true }, - "escape-string-regexp": { + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-html": { + "version": "1.0.3", + "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.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escodegen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", - "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", "dev": true, "requires": { "esprima": "^3.1.3", @@ -1892,7 +2734,8 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esquery": { "version": "1.0.1", @@ -1924,10 +2767,31 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "dev": true + }, "exec-sh": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz", - "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", + "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", "dev": true }, "execa": { @@ -1945,6 +2809,24 @@ "strip-eof": "^1.0.0" } }, + "exectimer": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/exectimer/-/exectimer-2.2.2.tgz", + "integrity": "sha512-pglaO9IkwZBCKZ22xIFBE+wKplw/fcBljtXbSE0QdXloz2+Y+Fj78aMbjhFMygnHcLfe8aZ/xBWiPPZxgmDokA==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0", + "co": "^4.6.0" + }, + "dependencies": { + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + } + } + }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -1986,20 +2868,35 @@ } } }, + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "dev": true, + "requires": { + "os-homedir": "^1.0.1" + } + }, "expect": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.5.0.tgz", - "integrity": "sha512-p2Gmc0CLxOgkyA93ySWmHFYHUPFIHG6XZ06l7WArWAsrqYVaVEkOU5NtT5i68KUyGKbkQgDCkiT65bWmdoL6Bw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", + "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", "dev": true, "requires": { - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", "ansi-styles": "^3.2.0", - "jest-get-type": "^24.3.0", - "jest-matcher-utils": "^24.5.0", - "jest-message-util": "^24.5.0", - "jest-regex-util": "^24.3.0" + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-regex-util": "^24.9.0" } }, + "expect-puppeteer": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/expect-puppeteer/-/expect-puppeteer-4.3.0.tgz", + "integrity": "sha512-p8N/KSVPG9PAOJlftK5f1n3JrULJ6Qq1EQ8r/n9xzkX2NmXbK8PcnJnkSAEzEHrMycELKGnlJV7M5nkgm+wEWA==", + "dev": true + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -2097,6 +2994,29 @@ } } }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -2107,6 +3027,64 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, + "fast-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.0.tgz", + "integrity": "sha512-TrUz3THiq2Vy3bjfQUB2wNyPdGBeGmdjbzzBLhfHN4YFurYptCKwGq/TfiRavbGywFRzY6U2CdmQ1zmsY5yYaw==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -2118,12 +3096,13 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "fault": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.3.tgz", - "integrity": "sha512-sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==", + "fastq": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.0.tgz", + "integrity": "sha512-jmxqQ3Z/nXoeyDmWAzF9kH1aGZSis6e/SbfPmJpUnyZ0ogr6iscHQaml4wsEepEWSdtmpy+eVXmCRIMpxaXqOA==", + "dev": true, "requires": { - "format": "^0.2.2" + "reusify": "^1.0.0" } }, "fb-watchman": { @@ -2135,6 +3114,15 @@ "bser": "^2.0.0" } }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -2153,16 +3141,6 @@ "flat-cache": "^2.0.1" } }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" - } - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -2175,6 +3153,47 @@ "to-regex-range": "^2.1.0" } }, + "find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha1-z2gJG8+fMApA2kEbN9pczlovvqA=", + "dev": true, + "requires": { + "fs-exists-sync": "^0.1.0", + "resolve-dir": "^0.1.0" + } + }, + "find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=", + "dev": true, + "requires": { + "find-file-up": "^0.1.2" + } + }, + "find-process": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.3.tgz", + "integrity": "sha512-+IA+AUsQCf3uucawyTwMWcY+2M3FXq3BRvw3S+j5Jvydjk31f/+NPWpYZOJs+JUs2GvxH4Yfr6Wham0ZtRLlPA==", + "dev": true, + "requires": { + "chalk": "^2.0.1", + "commander": "^2.11.0", + "debug": "^2.6.8" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", @@ -2201,17 +3220,43 @@ "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", "dev": true }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=" - }, "for-in": { "version": "1.0.2", "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.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", + "dev": true, + "requires": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + } + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -2227,11 +3272,6 @@ "mime-types": "^2.1.12" } }, - "format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=" - }, "formidable": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz", @@ -2251,14 +3291,35 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", + "dev": true + }, "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, "requires": { - "graceful-fs": "^4.1.2", + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true + } } }, "fs-minipass": { @@ -2275,93 +3336,706 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.1.tgz", - "integrity": "sha512-4FRPXWETxtigtJW/gxzEDsX1LVbPAM93VleB83kZB+ellqbHMkyt2aJfuzNLRvFPnGi6bcE5SvfxgbXPeKteJw==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-paths": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/get-paths/-/get-paths-0.0.4.tgz", - "integrity": "sha512-+AxlfMGN7FuJr2zhT6aErH08HMKkRwynTTHtWCenIWkIZgx2OlkZKgt7SM4+rh8Dfi32lo6HcvqeTLxph3kjQw==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, "requires": { - "bluebird": "^3.5.1", - "fs-extra": "^4.0.2" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } - } - } - }, - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "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.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "furi": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/furi/-/furi-1.3.0.tgz", + "integrity": "sha512-TYoXEeRLKHXNWcCBP0VH1psPktQ9G8Y0GfZwMXCvwVbhbfNx7JItKWhB5mMBYufNjqxEHq+Ivd1nLtr5vQyVoQ==", + "dev": true, + "requires": { + "@types/is-windows": "^0.2.0", + "is-windows": "^1.0.2" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "dev": true, + "requires": { + "global-modules": "1.0.0" + }, + "dependencies": { + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + } + } + }, + "get-paths": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/get-paths/-/get-paths-0.0.4.tgz", + "integrity": "sha512-+AxlfMGN7FuJr2zhT6aErH08HMKkRwynTTHtWCenIWkIZgx2OlkZKgt7SM4+rh8Dfi32lo6HcvqeTLxph3kjQw==", + "requires": { + "bluebird": "^3.5.1", + "fs-extra": "^4.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "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.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "^1.0.0" } }, + "gitignore-to-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/gitignore-to-glob/-/gitignore-to-glob-0.3.0.tgz", + "integrity": "sha1-WfMqs9m2bOUCmcPtJMsO9CoJTOs=", + "dev": true + }, "glob": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", @@ -2379,26 +4053,112 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "dev": true, "requires": { "is-glob": "^4.0.1" } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "dev": true, + "requires": { + "global-prefix": "^0.1.4", + "is-windows": "^0.2.0" + }, + "dependencies": { + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.0", + "ini": "^1.3.4", + "is-windows": "^0.2.0", + "which": "^1.2.12" + }, + "dependencies": { + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + }, "globals": { "version": "11.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", "dev": true }, + "globby": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", + "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "glur": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz", + "integrity": "sha1-8g6jbbEDv8KSNDkh8fkeg8NGdok=", + "dev": true + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "dev": true, + "optional": true, + "requires": { + "delegate": "^3.1.2" + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -2406,9 +4166,10 @@ "dev": true }, "handlebars": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.2.tgz", - "integrity": "sha512-cIv17+GhL8pHHnRJzGu2wwcthL5sb8uDKBHvZ2Dtu5s1YNt0ljbzKbamnc+gr69y7bzwQiBdr5+hOpRd5pnOdg==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", + "dev": true, "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -2448,15 +4209,25 @@ "function-bind": "^1.1.1" } }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", "dev": true }, "has-unicode": { @@ -2516,10 +4287,19 @@ "dev": true, "optional": true }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", "dev": true }, "html-encoding-sniffer": { @@ -2568,6 +4348,16 @@ "integrity": "sha512-nDUtj0ltIt08tGi2VWSpSzNNFye0v3YSe9lX3lIqLTuVvvRiYCvs4QQBSHo0eomFYw1wlUuofurUAlTm+vHnXg==", "dev": true }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, "iconv-lite": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", @@ -2595,6 +4385,12 @@ "minimatch": "^3.0.4" } }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=", + "dev": true + }, "import-fresh": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", @@ -2726,6 +4522,11 @@ } } }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -2735,17 +4536,6 @@ "loose-envify": "^1.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "irregular-plurals": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", - "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==" - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -2755,37 +4545,11 @@ "kind-of": "^3.0.2" } }, - "is-alphabetical": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz", - "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==" - }, - "is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" - }, - "is-alphanumerical": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz", - "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==", - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-buffer": { "version": "1.1.6", @@ -2827,11 +4591,6 @@ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", "dev": true }, - "is-decimal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz", - "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==" - }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -2851,10 +4610,23 @@ } } }, - "is-empty": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz", - "integrity": "sha1-3pu1snhzigWgsJpX4ftNSjQan2s=" + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "dev": true, + "requires": { + "acorn": "~4.0.2", + "object-assign": "^4.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } }, "is-extendable": { "version": "0.1.1", @@ -2864,7 +4636,8 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "1.0.0", @@ -2875,9 +4648,9 @@ } }, "is-generator-fn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.0.0.tgz", - "integrity": "sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, "is-generator-function": { @@ -2889,20 +4662,11 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-hexadecimal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz", - "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==" - }, - "is-hidden": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-hidden/-/is-hidden-1.1.2.tgz", - "integrity": "sha512-kytBeNVW2QTIqZdJBDKIjP+EkUTzDT07rsc111w/gxqR6wK3ODkOswcpxgED6HU6t7fEhOxqojVZ2a2kU9rj+A==" - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -2912,16 +4676,6 @@ "kind-of": "^3.0.2" } }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" - }, - "is-plain-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.0.0.tgz", - "integrity": "sha512-EYisGhpgSCwspmIuRHGjROWTon2Xp8Z7U03Wubk/bTL5TTRC5R1rGVgyjzBrk9+ULdH6cRD06KRcw/xfqhVYKQ==" - }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -2946,6 +4700,15 @@ "has": "^1.0.1" } }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -2953,12 +4716,12 @@ "dev": true }, "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "requires": { - "has-symbols": "^1.0.0" + "has-symbols": "^1.0.1" } }, "is-type-of": { @@ -2976,27 +4739,26 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, "is-whitespace": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz", "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=" }, - "is-whitespace-character": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz", - "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==" - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, - "is-word-character": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz", - "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==" - }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", @@ -3025,268 +4787,187 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, - "istanbul-api": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz", - "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "compare-versions": "^3.4.0", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" + "istanbul": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz", + "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=", + "dev": true, + "requires": { + "abbrev": "1.0.x", + "async": "1.x", + "escodegen": "1.8.x", + "esprima": "2.7.x", + "glob": "^5.0.15", + "handlebars": "^4.0.1", + "js-yaml": "3.x", + "mkdirp": "0.5.x", + "nopt": "3.x", + "once": "1.x", + "resolve": "1.1.x", + "supports-color": "^3.1.0", + "which": "^1.1.1", + "wordwrap": "^1.0.0" }, "dependencies": { - "@babel/generator": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", - "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", - "dev": true, - "requires": { - "@babel/types": "^7.4.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.11", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", - "dev": true, - "requires": { - "@babel/types": "^7.4.4" - } - }, - "@babel/parser": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz", - "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==", + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", "dev": true }, - "@babel/template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", - "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.4.4", - "@babel/types": "^7.4.4" - } - }, - "@babel/traverse": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz", - "integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.4.4", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.4.4", - "@babel/types": "^7.4.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.11" - } + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true }, - "@babel/types": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", - "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "escodegen": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", + "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", "dev": true, "requires": { + "esprima": "^2.7.1", + "estraverse": "^1.9.1", "esutils": "^2.0.2", - "lodash": "^4.17.11", - "to-fast-properties": "^2.0.0" - } - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" + "optionator": "^0.8.1", + "source-map": "~0.2.0" } }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } + "estraverse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", + "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", + "dev": true }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - } + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true }, - "istanbul-lib-source-maps": { + "nopt": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.4.tgz", - "integrity": "sha512-QCHGyZEK0bfi9GR215QSm+NJwFKEShbtc7tfbUdLAEzn3kKhLDDZqvljn8rPZM9v8CEOhzL1nlYoO4r1ryl67w==", - "dev": true, - "requires": { - "handlebars": "^4.1.2" - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - } + "abbrev": "1" } }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "semver": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", - "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", "dev": true }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", + "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", + "dev": true, + "optional": true, + "requires": { + "amdefine": ">=0.0.4" + } }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^1.0.0" } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true } } }, "istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", "dev": true }, "istanbul-lib-instrument": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz", - "integrity": "sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", "dev": true, "requires": { - "@babel/generator": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "istanbul-lib-coverage": "^2.0.3", - "semver": "^5.5.0" + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "istanbul-lib-source-maps": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz", - "integrity": "sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", "dev": true, "requires": { "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", - "rimraf": "^2.6.2", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", "source-map": "^0.6.1" }, "dependencies": { @@ -3300,219 +4981,303 @@ } }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true } } }, + "istanbul-reports": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", + "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", + "dev": true, + "requires": { + "handlebars": "^4.1.2" + } + }, "jest": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.5.0.tgz", - "integrity": "sha512-lxL+Fq5/RH7inxxmfS2aZLCf8MsS+YCUBfeiNO6BWz/MmjhDGaIEA/2bzEf9q4Q0X+mtFHiinHFvQ0u+RvW/qQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", + "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", "dev": true, "requires": { "import-local": "^2.0.0", - "jest-cli": "^24.5.0" + "jest-cli": "^24.9.0" }, "dependencies": { "jest-cli": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.5.0.tgz", - "integrity": "sha512-P+Jp0SLO4KWN0cGlNtC7JV0dW1eSFR7eRpoOucP2UM0sqlzp/bVHeo71Omonvigrj9AvCKy7NtQANtqJ7FXz8g==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", + "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", "dev": true, "requires": { - "@jest/core": "^24.5.0", - "@jest/test-result": "^24.5.0", - "@jest/types": "^24.5.0", + "@jest/core": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", "chalk": "^2.0.1", "exit": "^0.1.2", "import-local": "^2.0.0", "is-ci": "^2.0.0", - "jest-config": "^24.5.0", - "jest-util": "^24.5.0", - "jest-validate": "^24.5.0", + "jest-config": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", "prompts": "^2.0.1", "realpath-native": "^1.1.0", - "yargs": "^12.0.2" + "yargs": "^13.3.0" } } } }, "jest-changed-files": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.5.0.tgz", - "integrity": "sha512-Ikl29dosYnTsH9pYa1Tv9POkILBhN/TLZ37xbzgNsZ1D2+2n+8oEZS2yP1BrHn/T4Rs4Ggwwbp/x8CKOS5YJOg==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", + "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", "dev": true, "requires": { - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", "execa": "^1.0.0", "throat": "^4.0.0" } }, "jest-config": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.5.0.tgz", - "integrity": "sha512-t2UTh0Z2uZhGBNVseF8wA2DS2SuBiLOL6qpLq18+OZGfFUxTM7BzUVKyHFN/vuN+s/aslY1COW95j1Rw81huOQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", + "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^24.5.0", - "babel-jest": "^24.5.0", + "@jest/test-sequencer": "^24.9.0", + "@jest/types": "^24.9.0", + "babel-jest": "^24.9.0", "chalk": "^2.0.1", "glob": "^7.1.1", - "jest-environment-jsdom": "^24.5.0", - "jest-environment-node": "^24.5.0", - "jest-get-type": "^24.3.0", - "jest-jasmine2": "^24.5.0", + "jest-environment-jsdom": "^24.9.0", + "jest-environment-node": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-jasmine2": "^24.9.0", "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.5.0", - "jest-util": "^24.5.0", - "jest-validate": "^24.5.0", + "jest-resolve": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", "micromatch": "^3.1.10", - "pretty-format": "^24.5.0", + "pretty-format": "^24.9.0", "realpath-native": "^1.1.0" } }, + "jest-dev-server": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-4.3.0.tgz", + "integrity": "sha512-bC9flKY2G1honQ/UI0gEhb0wFnDhpFr7xidC8Nk+evi7TgnNtfsGIzzF2dcIhF1G9BGF0n/M7CJrMAzwQhyTPA==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cwd": "^0.10.0", + "find-process": "^1.4.2", + "prompts": "^2.1.0", + "spawnd": "^4.0.0", + "tree-kill": "^1.2.1", + "wait-on": "^3.3.0" + } + }, "jest-diff": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.5.0.tgz", - "integrity": "sha512-mCILZd9r7zqL9Uh6yNoXjwGQx0/J43OD2vvWVKwOEOLZliQOsojXwqboubAQ+Tszrb6DHGmNU7m4whGeB9YOqw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", + "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", "dev": true, "requires": { "chalk": "^2.0.1", - "diff-sequences": "^24.3.0", - "jest-get-type": "^24.3.0", - "pretty-format": "^24.5.0" + "diff-sequences": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" } }, "jest-docblock": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.3.0.tgz", - "integrity": "sha512-nlANmF9Yq1dufhFlKG9rasfQlrY7wINJbo3q01tu56Jv5eBU5jirylhF2O5ZBnLxzOVBGRDz/9NAwNyBtG4Nyg==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", + "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", "dev": true, "requires": { "detect-newline": "^2.1.0" } }, "jest-each": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.5.0.tgz", - "integrity": "sha512-6gy3Kh37PwIT5sNvNY2VchtIFOOBh8UCYnBlxXMb5sr5wpJUDPTUATX2Axq1Vfk+HWTMpsYPeVYp4TXx5uqUBw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", + "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", "dev": true, "requires": { - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", "chalk": "^2.0.1", - "jest-get-type": "^24.3.0", - "jest-util": "^24.5.0", - "pretty-format": "^24.5.0" + "jest-get-type": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0" } }, "jest-environment-jsdom": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.5.0.tgz", - "integrity": "sha512-62Ih5HbdAWcsqBx2ktUnor/mABBo1U111AvZWcLKeWN/n/gc5ZvDBKe4Og44fQdHKiXClrNGC6G0mBo6wrPeGQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", + "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", "dev": true, "requires": { - "@jest/environment": "^24.5.0", - "@jest/fake-timers": "^24.5.0", - "@jest/types": "^24.5.0", - "jest-mock": "^24.5.0", - "jest-util": "^24.5.0", + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0", "jsdom": "^11.5.1" } }, "jest-environment-node": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.5.0.tgz", - "integrity": "sha512-du6FuyWr/GbKLsmAbzNF9mpr2Iu2zWSaq/BNHzX+vgOcts9f2ayXBweS7RAhr+6bLp6qRpMB6utAMF5Ygktxnw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", + "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "dev": true, + "requires": { + "@jest/environment": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/types": "^24.9.0", + "jest-mock": "^24.9.0", + "jest-util": "^24.9.0" + } + }, + "jest-environment-puppeteer": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-4.3.0.tgz", + "integrity": "sha512-ZighMsU39bnacn2ylyHb88CB+ldgCfXGD3lS78k4PEo8A8xyt6+2mxmSR62FH3Y7K+W2gPDu5+QM3/LZuq42fQ==", "dev": true, "requires": { - "@jest/environment": "^24.5.0", - "@jest/fake-timers": "^24.5.0", - "@jest/types": "^24.5.0", - "jest-mock": "^24.5.0", - "jest-util": "^24.5.0" + "chalk": "^2.4.2", + "cwd": "^0.10.0", + "jest-dev-server": "^4.3.0", + "merge-deep": "^3.0.2" } }, "jest-get-type": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.3.0.tgz", - "integrity": "sha512-HYF6pry72YUlVcvUx3sEpMRwXEWGEPlJ0bSPVnB3b3n++j4phUEoSPcS6GC0pPJ9rpyPSe4cb5muFo6D39cXow==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", + "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", "dev": true }, "jest-haste-map": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.5.0.tgz", - "integrity": "sha512-mb4Yrcjw9vBgSvobDwH8QUovxApdimGcOkp+V1ucGGw4Uvr3VzZQBJhNm1UY3dXYm4XXyTW2G7IBEZ9pM2ggRQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", + "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", "dev": true, "requires": { - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", + "anymatch": "^2.0.0", "fb-watchman": "^2.0.0", + "fsevents": "^1.2.7", "graceful-fs": "^4.1.15", "invariant": "^2.2.4", - "jest-serializer": "^24.4.0", - "jest-util": "^24.5.0", - "jest-worker": "^24.4.0", + "jest-serializer": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.9.0", "micromatch": "^3.1.10", - "sane": "^4.0.3" + "sane": "^4.0.3", + "walker": "^1.0.7" + } + }, + "jest-image-snapshot": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-2.11.1.tgz", + "integrity": "sha512-v3juoanGClyGGMPOz+V/ek1SYuBwdqJ8Gnzv4KIl5WFlEvVyw69N31hJrMcixwYp0LAZDbxZcuw4GTSvpgkyaA==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "get-stdin": "^5.0.1", + "glur": "^1.1.2", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "pixelmatch": "^4.0.2", + "pngjs": "^3.3.3", + "rimraf": "^2.6.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } } }, "jest-jasmine2": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.5.0.tgz", - "integrity": "sha512-sfVrxVcx1rNUbBeyIyhkqZ4q+seNKyAG6iM0S2TYBdQsXjoFDdqWFfsUxb6uXSsbimbXX/NMkJIwUZ1uT9+/Aw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", + "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.5.0", - "@jest/test-result": "^24.5.0", - "@jest/types": "^24.5.0", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", "chalk": "^2.0.1", "co": "^4.6.0", - "expect": "^24.5.0", + "expect": "^24.9.0", "is-generator-fn": "^2.0.0", - "jest-each": "^24.5.0", - "jest-matcher-utils": "^24.5.0", - "jest-message-util": "^24.5.0", - "jest-runtime": "^24.5.0", - "jest-snapshot": "^24.5.0", - "jest-util": "^24.5.0", - "pretty-format": "^24.5.0", + "jest-each": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "pretty-format": "^24.9.0", "throat": "^4.0.0" } }, "jest-leak-detector": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.5.0.tgz", - "integrity": "sha512-LZKBjGovFRx3cRBkqmIg+BZnxbrLqhQl09IziMk3oeh1OV81Hg30RUIx885mq8qBv1PA0comB9bjKcuyNO1bCQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", + "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", "dev": true, "requires": { - "pretty-format": "^24.5.0" + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" } }, "jest-matcher-utils": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.5.0.tgz", - "integrity": "sha512-QM1nmLROjLj8GMGzg5VBra3I9hLpjMPtF1YqzQS3rvWn2ltGZLrGAO1KQ9zUCVi5aCvrkbS5Ndm2evIP9yZg1Q==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", + "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", "dev": true, "requires": { "chalk": "^2.0.1", - "jest-diff": "^24.5.0", - "jest-get-type": "^24.3.0", - "pretty-format": "^24.5.0" + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "pretty-format": "^24.9.0" } }, "jest-message-util": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.5.0.tgz", - "integrity": "sha512-6ZYgdOojowCGiV0D8WdgctZEAe+EcFU+KrVds+0ZjvpZurUW2/oKJGltJ6FWY2joZwYXN5VL36GPV6pNVRqRnQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", + "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.5.0", - "@jest/types": "^24.5.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", "@types/stack-utils": "^1.0.1", "chalk": "^2.0.1", "micromatch": "^3.1.10", @@ -3521,12 +5286,12 @@ } }, "jest-mock": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.5.0.tgz", - "integrity": "sha512-ZnAtkWrKf48eERgAOiUxVoFavVBziO2pAi2MfZ1+bGXVkDfxWLxU0//oJBkgwbsv6OAmuLBz4XFFqvCFMqnGUw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", + "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", "dev": true, "requires": { - "@jest/types": "^24.5.0" + "@jest/types": "^24.9.0" } }, "jest-pnp-resolver": { @@ -3535,19 +5300,29 @@ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==", "dev": true }, + "jest-puppeteer": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-4.3.0.tgz", + "integrity": "sha512-WXhaWlbQl01xadZyNmdZntrtIr8uWUmgjPogDih7dOnr3G/xRr3A034SCqdjwV6fE0tqz7c5hwO8oBTyGZPRgA==", + "dev": true, + "requires": { + "expect-puppeteer": "^4.3.0", + "jest-environment-puppeteer": "^4.3.0" + } + }, "jest-regex-util": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.3.0.tgz", - "integrity": "sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", + "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", "dev": true }, "jest-resolve": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.5.0.tgz", - "integrity": "sha512-ZIfGqLX1Rg8xJpQqNjdoO8MuxHV1q/i2OO1hLXjgCWFWs5bsedS8UrOdgjUqqNae6DXA+pCyRmdcB7lQEEbXew==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", + "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", "dev": true, "requires": { - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", "browser-resolve": "^1.11.3", "chalk": "^2.0.1", "jest-pnp-resolver": "^1.2.1", @@ -3555,112 +5330,120 @@ } }, "jest-resolve-dependencies": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.5.0.tgz", - "integrity": "sha512-dRVM1D+gWrFfrq2vlL5P9P/i8kB4BOYqYf3S7xczZ+A6PC3SgXYSErX/ScW/469pWMboM1uAhgLF+39nXlirCQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", + "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", "dev": true, "requires": { - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.5.0" + "jest-snapshot": "^24.9.0" } }, "jest-runner": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.5.0.tgz", - "integrity": "sha512-oqsiS9TkIZV5dVkD+GmbNfWBRPIvxqmlTQ+AQUJUQ07n+4xTSDc40r+aKBynHw9/tLzafC00DIbJjB2cOZdvMA==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", + "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", "dev": true, "requires": { - "@jest/console": "^24.3.0", - "@jest/environment": "^24.5.0", - "@jest/test-result": "^24.5.0", - "@jest/types": "^24.5.0", + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", "chalk": "^2.4.2", "exit": "^0.1.2", "graceful-fs": "^4.1.15", - "jest-config": "^24.5.0", + "jest-config": "^24.9.0", "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.5.0", - "jest-jasmine2": "^24.5.0", - "jest-leak-detector": "^24.5.0", - "jest-message-util": "^24.5.0", - "jest-resolve": "^24.5.0", - "jest-runtime": "^24.5.0", - "jest-util": "^24.5.0", - "jest-worker": "^24.4.0", + "jest-haste-map": "^24.9.0", + "jest-jasmine2": "^24.9.0", + "jest-leak-detector": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", + "jest-runtime": "^24.9.0", + "jest-util": "^24.9.0", + "jest-worker": "^24.6.0", "source-map-support": "^0.5.6", "throat": "^4.0.0" } }, "jest-runtime": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.5.0.tgz", - "integrity": "sha512-GTFHzfLdwpaeoDPilNpBrorlPoNZuZrwKKzKJs09vWwHo+9TOsIIuszK8cWOuKC7ss07aN1922Ge8fsGdsqCuw==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", + "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", "dev": true, "requires": { - "@jest/console": "^24.3.0", - "@jest/environment": "^24.5.0", + "@jest/console": "^24.7.1", + "@jest/environment": "^24.9.0", "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.5.0", - "@jest/types": "^24.5.0", - "@types/yargs": "^12.0.2", + "@jest/transform": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", "chalk": "^2.0.1", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.1.15", - "jest-config": "^24.5.0", - "jest-haste-map": "^24.5.0", - "jest-message-util": "^24.5.0", - "jest-mock": "^24.5.0", + "jest-config": "^24.9.0", + "jest-haste-map": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-mock": "^24.9.0", "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.5.0", - "jest-snapshot": "^24.5.0", - "jest-util": "^24.5.0", - "jest-validate": "^24.5.0", + "jest-resolve": "^24.9.0", + "jest-snapshot": "^24.9.0", + "jest-util": "^24.9.0", + "jest-validate": "^24.9.0", "realpath-native": "^1.1.0", "slash": "^2.0.0", "strip-bom": "^3.0.0", - "yargs": "^12.0.2" + "yargs": "^13.3.0" } }, "jest-serializer": { - "version": "24.4.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.4.0.tgz", - "integrity": "sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", + "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", "dev": true }, "jest-snapshot": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.5.0.tgz", - "integrity": "sha512-eBEeJb5ROk0NcpodmSKnCVgMOo+Qsu5z9EDl3tGffwPzK1yV37mjGWF2YeIz1NkntgTzP+fUL4s09a0+0dpVWA==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", + "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", "dev": true, "requires": { "@babel/types": "^7.0.0", - "@jest/types": "^24.5.0", + "@jest/types": "^24.9.0", "chalk": "^2.0.1", - "expect": "^24.5.0", - "jest-diff": "^24.5.0", - "jest-matcher-utils": "^24.5.0", - "jest-message-util": "^24.5.0", - "jest-resolve": "^24.5.0", + "expect": "^24.9.0", + "jest-diff": "^24.9.0", + "jest-get-type": "^24.9.0", + "jest-matcher-utils": "^24.9.0", + "jest-message-util": "^24.9.0", + "jest-resolve": "^24.9.0", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "pretty-format": "^24.5.0", - "semver": "^5.5.0" + "pretty-format": "^24.9.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "jest-util": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.5.0.tgz", - "integrity": "sha512-Xy8JsD0jvBz85K7VsTIQDuY44s+hYJyppAhcsHsOsGisVtdhar6fajf2UOf2mEVEgh15ZSdA0zkCuheN8cbr1Q==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", + "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", "dev": true, "requires": { - "@jest/console": "^24.3.0", - "@jest/fake-timers": "^24.5.0", - "@jest/source-map": "^24.3.0", - "@jest/test-result": "^24.5.0", - "@jest/types": "^24.5.0", - "@types/node": "*", + "@jest/console": "^24.9.0", + "@jest/fake-timers": "^24.9.0", + "@jest/source-map": "^24.9.0", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", "callsites": "^3.0.0", "chalk": "^2.0.1", "graceful-fs": "^4.1.15", @@ -3671,43 +5454,41 @@ } }, "jest-validate": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.5.0.tgz", - "integrity": "sha512-gg0dYszxjgK2o11unSIJhkOFZqNRQbWOAB2/LOUdsd2LfD9oXiMeuee8XsT0iRy5EvSccBgB4h/9HRbIo3MHgQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", + "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", "dev": true, "requires": { - "@jest/types": "^24.5.0", - "camelcase": "^5.0.0", + "@jest/types": "^24.9.0", + "camelcase": "^5.3.1", "chalk": "^2.0.1", - "jest-get-type": "^24.3.0", - "leven": "^2.1.0", - "pretty-format": "^24.5.0" + "jest-get-type": "^24.9.0", + "leven": "^3.1.0", + "pretty-format": "^24.9.0" } }, "jest-watcher": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.5.0.tgz", - "integrity": "sha512-/hCpgR6bg0nKvD3nv4KasdTxuhwfViVMHUATJlnGCD0r1QrmIssimPbmc5KfAQblAVxkD8xrzuij9vfPUk1/rA==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", + "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", "dev": true, "requires": { - "@jest/test-result": "^24.5.0", - "@jest/types": "^24.5.0", - "@types/node": "*", - "@types/yargs": "^12.0.9", + "@jest/test-result": "^24.9.0", + "@jest/types": "^24.9.0", + "@types/yargs": "^13.0.0", "ansi-escapes": "^3.0.0", "chalk": "^2.0.1", - "jest-util": "^24.5.0", + "jest-util": "^24.9.0", "string-length": "^2.0.0" } }, "jest-worker": { - "version": "24.4.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.4.0.tgz", - "integrity": "sha512-BH9X/klG9vxwoO99ZBUbZFfV8qO0XNZ5SIiCyYK2zOuJBl6YJVAeNIQjcoOVNu4HGEHeYEKsUWws8kSlSbZ9YQ==", + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^1.0.1", + "merge-stream": "^2.0.0", "supports-color": "^6.1.0" }, "dependencies": { @@ -3734,6 +5515,12 @@ "nopt": "~4.0.1" } }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3744,11 +5531,40 @@ "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" } }, + "js2coffee": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/js2coffee/-/js2coffee-2.2.0.tgz", + "integrity": "sha1-ghqu9iu+41op6owEdeIP6fEAQ8U=", + "dev": true, + "requires": { + "escodegen": "^1.6.0", + "esprima": "^2.5.0", + "estraverse": "^4.1.1", + "minimist": "^1.1.0", + "read-input": "^0.3.1", + "source-map": "^0.5.2" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, "js2xmlparser": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.0.tgz", @@ -3763,6 +5579,87 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, + "jscpd": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-2.0.16.tgz", + "integrity": "sha512-7yO6Mg/umIhHOk223Fsrglk0iXLbic5XSS4vNfvV6T9d3lNCeB+HMhc2lMB9Fry5tQShzsABDD3K7k5F6TUE6w==", + "dev": true, + "requires": { + "blamer": "^0.1.13", + "bytes": "^3.0.0", + "cli-table3": "^0.5.1", + "colors": "^1.3.2", + "commander": "^3.0.0", + "detect-installed": "^2.0.4", + "eventemitter3": "^4.0.0", + "exectimer": "^2.2.0", + "fast-glob": "^2.2.3", + "fs-extra": "^8.0.0", + "gitignore-to-glob": "^0.3.0", + "level": "^5.0.1", + "prismjs": "^1.15.0", + "pug": "^2.0.3", + "rimraf": "^3.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "rimraf": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", + "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "jsdoc": { "version": "3.6.3", "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.3.tgz", @@ -3860,7 +5757,8 @@ "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "json-schema": { "version": "0.2.3", @@ -3884,18 +5782,12 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "dev": true, "requires": { "minimist": "^1.2.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } } }, "jsonfile": { @@ -3917,6 +5809,16 @@ "verror": "1.10.0" } }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, "keygrip": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz", @@ -3940,9 +5842,9 @@ } }, "kleur": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.2.tgz", - "integrity": "sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, "koa": { @@ -4119,14 +6021,17 @@ } } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha1-eZllXoZGwX8In90YfRUNMyTVRRM=", + "dev": true + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true }, "left-pad": { "version": "1.3.0", @@ -4134,10 +6039,142 @@ "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", "dev": true }, + "level": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/level/-/level-5.0.1.tgz", + "integrity": "sha512-wcak5OQeA4rURGacqS62R/xNHjCYnJSQDBOlm4KNUGJVE9bWv2B04TclqReYejN+oD65PzD4FsqeWoI5wNC5Lg==", + "dev": true, + "requires": { + "level-js": "^4.0.0", + "level-packager": "^5.0.0", + "leveldown": "^5.0.0", + "opencollective-postinstall": "^2.0.0" + } + }, + "level-codec": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.1.tgz", + "integrity": "sha512-ajFP0kJ+nyq4i6kptSM+mAvJKLOg1X5FiFPtLG9M5gCEZyBmgDi3FkDrvlMkEzrUn1cWxtvVmrvoS4ASyO/q+Q==", + "dev": true + }, + "level-concat-iterator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "dev": true + }, + "level-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", + "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "dev": true, + "requires": { + "errno": "~0.1.1" + } + }, + "level-iterator-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", + "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.4.0", + "xtend": "^4.0.2" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "level-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-4.0.1.tgz", + "integrity": "sha512-m5JRIyHZn5VnCCFeRegJkn5bQd3MJK5qZX12zg3Oivc8+BUIS2yFS6ANMMeHX2ieGxucNvEn6/ZnyjmZQLLUWw==", + "dev": true, + "requires": { + "abstract-leveldown": "~6.0.1", + "immediate": "~3.2.3", + "inherits": "^2.0.3", + "ltgt": "^2.1.2", + "typedarray-to-buffer": "~3.1.5" + } + }, + "level-packager": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.0.tgz", + "integrity": "sha512-3pbJmDgGvp/lUQNULPoYQZtUbhMI8KoViYDw7Sa0kWl1mPeHWWJF7T/9upWI/NTMuEikkEE/cd6wBvmrW1+ZnQ==", + "dev": true, + "requires": { + "encoding-down": "^6.3.0", + "levelup": "^4.3.2" + } + }, + "level-supports": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", + "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "dev": true, + "requires": { + "xtend": "^4.0.2" + } + }, + "leveldown": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/leveldown/-/leveldown-5.4.1.tgz", + "integrity": "sha512-3lMPc7eU3yj5g+qF1qlALInzIYnkySIosR1AsUKFjL9D8fYbTLuENBAeDRZXIG4qeWOAyqRItOoLu2v2avWiMA==", + "dev": true, + "requires": { + "abstract-leveldown": "~6.2.1", + "napi-macros": "~2.0.0", + "node-gyp-build": "~4.1.0" + }, + "dependencies": { + "abstract-leveldown": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.2.tgz", + "integrity": "sha512-/a+Iwj0rn//CX0EJOasNyZJd2o8xur8Ce9C57Sznti/Ilt/cb6Qd8/k98A4ZOklXgTG+iAYYUs1OTG0s1eH+zQ==", + "dev": true, + "requires": { + "level-concat-iterator": "~2.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "levelup": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.3.2.tgz", + "integrity": "sha512-cRTjU4ktWo59wf13PHEiOayHC3n0dOh4i5+FHr4tv4MX9+l7mqETicNq3Aj07HKlLdk0z5muVoDL2RD+ovgiyA==", + "dev": true, + "requires": { + "deferred-leveldown": "~5.3.0", + "level-errors": "~2.0.0", + "level-iterator-stream": "~4.0.0", + "level-supports": "~1.0.0", + "xtend": "~4.0.0" + } + }, "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, "levn": { @@ -4154,6 +6191,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, "requires": { "uc.micro": "^1.0.1" } @@ -4163,27 +6201,11 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "load-plugin": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/load-plugin/-/load-plugin-2.3.1.tgz", - "integrity": "sha512-dYB1lbwqHgPTrruy9glukCu8Ya9vzj6TMfouCtj2H/GuJ+8syioisgKTBPxnCi6m8K8jINKfTOxOHngFkUYqHw==", - "requires": { - "npm-prefix": "^1.2.0", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - } + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "locate-path": { @@ -4202,26 +6224,17 @@ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "lodash.differencewith": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz", - "integrity": "sha1-uvr7yRi1UVTheRdqALsK76rIVLc=" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, "lodash.sortby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "longest-streak": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz", - "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==" + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true }, "loose-envify": { "version": "1.4.0", @@ -4241,13 +6254,28 @@ "yallist": "^2.1.2" } }, + "ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha1-81ypHEk/e3PaDgdJUwTxezH4fuU=", + "dev": true + }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } } }, "makeerror": { @@ -4259,21 +6287,18 @@ "tmpl": "1.0.x" } }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -4283,34 +6308,6 @@ "object-visit": "^1.0.0" } }, - "markdown": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", - "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", - "requires": { - "nopt": "~2.1.1" - }, - "dependencies": { - "nopt": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", - "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", - "requires": { - "abbrev": "1" - } - } - } - }, - "markdown-escapes": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz", - "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==" - }, - "markdown-extensions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", - "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==" - }, "markdown-it": { "version": "8.4.2", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", @@ -4330,11 +6327,6 @@ "integrity": "sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==", "dev": true }, - "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" - }, "markdownlint": { "version": "0.17.0", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.17.0.tgz", @@ -4365,305 +6357,70 @@ } } }, - "markdownlint-cli": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.18.0.tgz", - "integrity": "sha512-mQ2zvjMLoy0P2kb9Y03SqC24WPH4fTRN0/CyCorB122c4Chg9vWJKgUKBz3KR7swpzqmlI0SYq/7Blbqe4kb2g==", - "requires": { - "commander": "~2.9.0", - "deep-extend": "~0.5.1", - "get-stdin": "~5.0.1", - "glob": "~7.1.2", - "js-yaml": "^3.13.1", - "lodash.differencewith": "~4.5.0", - "lodash.flatten": "~4.4.0", - "markdownlint": "~0.16.0", - "minimatch": "~3.0.4", - "rc": "~1.2.7" - }, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" - }, - "markdown-it": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-9.0.1.tgz", - "integrity": "sha512-XC9dMBHg28Xi7y5dPuLjM61upIGPJG8AiHNHYqIaXER2KNnn7eKnM5/sF0ImNnyoV224Ogn9b1Pck8VH4k0bxw==", - "requires": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } - }, - "markdownlint": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.16.0.tgz", - "integrity": "sha512-Zo+iPezP3eM6lLhKepkUw+X98H44lipIdx4d6faaugfB0+7VuDB3R0hXmx7z9F1N3/ypn46oOFgAD9iF++Ie6A==", - "requires": { - "markdown-it": "9.0.1" - } - } - } - }, "marked": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz", "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==", "dev": true }, - "mdast-comment-marker": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz", - "integrity": "sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw==" - }, - "mdast-util-compact": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz", - "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==", - "requires": { - "unist-util-visit": "^1.1.0" - } - }, - "mdast-util-heading-style": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-1.0.5.tgz", - "integrity": "sha512-8zQkb3IUwiwOdUw6jIhnwM6DPyib+mgzQuHAe7j2Hy1rIarU4VUxe472bp9oktqULW3xqZE+Kz6OD4Gi7IA3vw==" - }, - "mdast-util-to-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz", - "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==" - }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, - "mem": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.2.0.tgz", - "integrity": "sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA==", + "merge-deep": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", + "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", "dev": true, "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" } }, "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "mime-db": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" - }, - "mime-types": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", - "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", - "requires": { - "mime-db": "~1.38.0" - } - }, - "mimic-fn": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.0.0.tgz", - "integrity": "sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA==", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - }, - "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" - } - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "requires": { - "minipass": "^2.2.1" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", "dev": true }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", + "braces": "^2.3.1", "define-property": "^2.0.2", "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", "object.pick": "^1.3.0", "regex-not": "^1.0.0", "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "to-regex": "^3.0.2" }, "dependencies": { "extend-shallow": { @@ -4693,1485 +6450,1314 @@ } } }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "needle": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz", - "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==", - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", - "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node-pre-gyp": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", - "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" - }, - "npm-packlist": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npm-prefix": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/npm-prefix/-/npm-prefix-1.2.0.tgz", - "integrity": "sha1-5hlFX3B0ulTMZtbQ033Z8b5ry8A=", - "requires": { - "rc": "^1.1.0", - "shellsubstitute": "^1.1.0", - "untildify": "^2.1.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nwsapi": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz", - "integrity": "sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg==", + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, + "mime-types": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "mime-db": "~1.38.0" } }, - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "ee-first": "1.1.1" + "brace-expansion": "^1.1.7" } }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, + "minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", "requires": { - "mimic-fn": "^1.0.0" + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" }, "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" } } }, - "only": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", - "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=" - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "minizlib": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minipass": "^2.2.1" } }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } } } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dev": true, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { - "p-reduce": "^1.0.0" + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { + "ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, - "p-limit": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "dev": true, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "requires": { - "p-try": "^2.0.0" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } } }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-try": { + "napi-macros": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz", + "integrity": "sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg==", "dev": true }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "needle": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz", + "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==", "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } } }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "node-gyp-build": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", + "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==", "dev": true }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", "dev": true }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", "dev": true }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "node-notifier": { + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", + "dev": true, "requires": { - "isarray": "0.0.1" + "growly": "^1.3.0", + "is-wsl": "^1.1.0", + "semver": "^5.5.0", + "shellwords": "^0.1.1", + "which": "^1.3.0" } }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, + "node-pre-gyp": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", + "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", "requires": { - "pify": "^3.0.0" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "picomatch": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", - "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "node-modules-regexp": "^1.0.0" + "remove-trailing-separator": "^1.0.1" } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "npm-bundled": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", + "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" + }, + "npm-packlist": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", + "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "find-up": "^3.0.0" + "path-key": "^2.0.0" } }, - "plur": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", - "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==", + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { - "irregular-plurals": "^2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", "dev": true }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, - "pretty": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", - "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", - "requires": { - "condense-newlines": "^0.2.1", - "extend-shallow": "^2.0.1", - "js-beautify": "^1.6.12" - } + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, - "pretty-format": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.5.0.tgz", - "integrity": "sha512-/3RuSghukCf8Riu5Ncve0iI+BzVkbRU5EeUoArKARZobREycuH5O4waxvaNIloEXdb0qwgmEAed5vTpX1HNROQ==", + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "@jest/types": "^24.5.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } } } }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, - "prompts": { + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.getownpropertydescriptors": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.0.3.tgz", - "integrity": "sha512-H8oWEoRZpybm6NV4to9/1limhttEo13xK62pNvn2JzY0MA03p7s0OjtmhXyon3uJmxiJJVSuUwEJFFssI3eBiQ==", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "kleur": "^3.0.2", - "sisteransi": "^1.0.0" + "isobject": "^3.0.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" } }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" - }, - "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "mimic-fn": "^1.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + } } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", - "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" + "only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=" }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", + "dev": true }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" }, "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true } } }, - "react-is": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.4.tgz", - "integrity": "sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==", - "dev": true + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "p-each-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", + "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", "dev": true, "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" + "p-reduce": "^1.0.0" } }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } + "p-try": "^2.0.0" } }, - "readdirp": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.1.3.tgz", - "integrity": "sha512-ZOsfTGkjO2kqeR5Mzr5RYDbTGYneSkdNKX2fOX2P5jF7vMrd/GNnIAUtDldeHHumHUCQ3V05YfWUdxMPAsRu9Q==", + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "requires": { - "picomatch": "^2.0.4" + "p-limit": "^2.0.0" } }, - "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { - "util.promisify": "^1.0.0" + "callsites": "^3.0.0" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", "dev": true }, - "remark": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-11.0.1.tgz", - "integrity": "sha512-Fl2AvN+yU6sOBAjUz3xNC5iEvLkXV8PZicLOOLifjU8uKGusNvhHfGRCfETsqyvRHZ24JXqEyDY4hRLhoUd30A==", - "requires": { - "remark-parse": "^7.0.0", - "remark-stringify": "^7.0.0", - "unified": "^8.2.0" - } + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, - "remark-cli": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/remark-cli/-/remark-cli-7.0.0.tgz", - "integrity": "sha512-gYomWviFnZsiRimG+Jdb4LQ9c8uSOcGmPTmzlvxImt0gvzabqlp1kaqndxTx4kYLsWGqwhQRO+M9iyqHDkoDlA==", - "requires": { - "markdown-extensions": "^1.1.0", - "remark": "^11.0.0", - "unified-args": "^7.0.0" - } + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "remark-lint": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-6.0.5.tgz", - "integrity": "sha512-o1I3ddm+KNsTxk60wWGI+p2yU1jB1gcm8jo2Sy6VhJ4ab2TrQIp1oQbp5xeLoFXYSh/NAqCpKjHkCM/BYpkFdQ==", - "requires": { - "remark-message-control": "^4.0.0" - } + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true }, - "remark-lint-blockquote-indentation": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.3.tgz", - "integrity": "sha512-qK4C1l2VmeOVWEAkDYP0CaDtSFoaEBEo5l4oyz1kTkY7YB0Jh7llW2KjuhJz5IzMLmloKJzIyGwlu/odcwaHpg==", - "requires": { - "mdast-util-to-string": "^1.0.2", - "plur": "^3.0.0", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, - "remark-lint-code-block-style": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.3.tgz", - "integrity": "sha512-DL+rudnd9ILP5YXm74tLpMzfWZLqziX7NwIwUhqRefaOyWwxgPPy7hbT59FJqcFc6E/zvDz+Oq4nR1BSV5kEdw==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, - "remark-lint-definition-case": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-definition-case/-/remark-lint-definition-case-1.0.4.tgz", - "integrity": "sha512-ebl8vYOab9iy1Mr29Wo/9CmqcYGRjCfBievIZts08efrxIElWz+jB8/n7C17fh8k0djiiS/Of6W+bfRD+kMXLA==", + "path-to-regexp": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", + "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.4.0" + "isarray": "0.0.1" } }, - "remark-lint-definition-spacing": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.4.tgz", - "integrity": "sha512-UderghITmru72OXB5ErCFhVsY7up2wK/m1bUD3E2dm/TFn73/7WpykENt5UirCDT/aeyoHYl8QXUVL20rAc3XQ==", + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.4.0" + "pify": "^3.0.0" } }, - "remark-lint-emphasis-marker": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.3.tgz", - "integrity": "sha512-ea2tEVyhZvYxwj6AHsW2qzgEDLljcnzq5taZ3FJFL0KMZYZHfWaIU90H43jrW4seGEtmaP1bmoqJaTavJ2x5Jw==", + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "through": "~2.3" } }, - "remark-lint-fenced-code-flag": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.3.tgz", - "integrity": "sha512-X8Oi6dhfqV9NI3cVg29myvT/NATDHVgRGCpnNz76w7VXwzhBvQtJr1MxZzuPxfWLox+ARCXF2rY9n9hbYFHYTg==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true }, - "remark-lint-fenced-code-marker": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.3.tgz", - "integrity": "sha512-JKnojSQ8JkwpIpbNm6wtKEfx8iiv8QIwNHFM06iTCHExMhXa4pJ3wb5M5f0wsWNHtoND3lrw6AcVPoZxEPnflg==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, - "remark-lint-file-extension": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-1.0.3.tgz", - "integrity": "sha512-P5gzsxKmuAVPN7Kq1W0f8Ss0cFKfu+OlezYJWXf+5qOa+9Y5GqHEUOobPnsmNFZrVMiM7JoqJN2C9ZjrUx3N6Q==", - "requires": { - "unified-lint-rule": "^1.0.0" - } + "picomatch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.1.1.tgz", + "integrity": "sha512-OYMyqkKzK7blWO/+XZYP6w8hH0LDvkBvdvKukti+7kqYFCiEAk+gI3DWnryapc0Dau05ugGTy0foQ6mqn4AHYA==", + "dev": true }, - "remark-lint-final-definition": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-1.0.3.tgz", - "integrity": "sha512-QhbBYy99enfQDeUTElioCHrhgg+SgjMNRlru7/JlOguOufP6wn7AXgn2EVTrLZRoByY0VsNS2jCayXxUTzQ8KA==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true }, - "remark-lint-final-newline": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-final-newline/-/remark-lint-final-newline-1.0.3.tgz", - "integrity": "sha512-ETAadktv75EwUS3XDhyZUVstXKxfPAEn7SmfN9kZ4+Jb4qo4hHE9gtTOzhE6HxLUxxl9BBhpC5mMO3JcL8UZ5A==", + "pirates": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", + "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0" + "node-modules-regexp": "^1.0.0" } }, - "remark-lint-hard-break-spaces": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.4.tgz", - "integrity": "sha512-YM82UpgliZCZhGNmFxEe7ArfhqR5CplFf2bc0k0+8w3rKWKx7EJcGMar2NK410tIi40gGeWtH/pIEypPJFCCiA==", + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "pngjs": "^3.0.0" } }, - "remark-lint-heading-increment": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.3.tgz", - "integrity": "sha512-/KL4/7D2pNxP07KKgktjcIUS+ga8pYI2k9Q/V91pMfyfSC+RYuCGOLFVJSKV0Affr/4Eqnfhw+gJ9X2HAanNuw==", + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" + "find-up": "^3.0.0" } }, - "remark-lint-heading-style": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-1.0.3.tgz", - "integrity": "sha512-ZUhMav0HHUxo5gzLqxQsOf2ZpP/I3m6EEK8q25/kqpCYnwm1uRJ5CQ40PDQx46pmKtVibIMzDmraYovxNG3ovw==", + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dev": true, "requires": { - "mdast-util-heading-style": "^1.0.2", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" + "find-up": "^3.0.0" } }, - "remark-lint-link-title-style": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.4.tgz", - "integrity": "sha512-61/uH3zDTiozLJqgxp6rHGnVKTChC3UjL3Q0KQDBpprEOL4qLYjTn4fFKscVz776d0uUX6jczrW+GT4AFVOUgg==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1", - "vfile-location": "^2.0.1" - } + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true }, - "remark-lint-list-item-bullet-indent": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-list-item-bullet-indent/-/remark-lint-list-item-bullet-indent-1.0.3.tgz", - "integrity": "sha512-iVxQbrgzLpMHG3C6o6wRta/+Bc96etOiBYJnh2zm/aWz6DJ7cGLDykngblP/C4he7LYSeWOD/8Y57HbXZwM2Og==", - "requires": { - "plur": "^3.0.0", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "dev": true }, - "remark-lint-list-item-content-indent": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.3.tgz", - "integrity": "sha512-ZSIGJG2/6jd1xj/xEoDlkcJBf2Ksw8U6vIGJO0IFIA3BLCbJm2EMWJxto2cfzRvXoACmAaxTJMqW8qatPExa4w==", - "requires": { - "plur": "^3.0.0", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true }, - "remark-lint-list-item-indent": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.4.tgz", - "integrity": "sha512-Sv0gVH6qP1/nFpbJuyyguB9sAD2o42StD2WbEZeUcEexXwRO4u/YaX0Pm5pMtCiEHyN+qyL6ShKBQMtgol9BeA==", - "requires": { - "plur": "^3.0.0", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true }, - "remark-lint-list-item-spacing": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.3.tgz", - "integrity": "sha512-QzDY0Qfk6m+Az0kmxP57OfswIH1WRdd6SIpQLaUEgsTlsbrJOiO0sJYkkOlFPsyJIfp7SV/FCbr+aYCbHF+kRQ==", + "pretty": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", + "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=", "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "condense-newlines": "^0.2.1", + "extend-shallow": "^2.0.1", + "js-beautify": "^1.6.12" } }, - "remark-lint-maximum-heading-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.3.tgz", - "integrity": "sha512-ybcDpR5VHBjtjzdry7AdSjLFwslPo6rdhIJK2+WfHgfeEjIYnlz1uMvp1Z98QMmjpB5JSN83Kzg5fH8/B7poUw==", + "pretty-format": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", + "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "dev": true, "requires": { - "mdast-util-to-string": "^1.0.2", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" + "@jest/types": "^24.9.0", + "ansi-regex": "^4.0.0", + "ansi-styles": "^3.2.0", + "react-is": "^16.8.4" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } } }, - "remark-lint-maximum-line-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.1.tgz", - "integrity": "sha512-CSxX1qc+rAqixk8eBrI+yBsUmD8YGfOezFeJWjJRuUaoOvs67oqCIU+I2HbwcUYY8/KnDxF1MCp+uCM0RkjKKw==", + "prismjs": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", + "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.4.0" + "clipboard": "^2.0.0" } }, - "remark-lint-no-auto-link-without-protocol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.3.tgz", - "integrity": "sha512-k+hg2mXnO4Q9WV+UShPLen5oThvFxcRVWkx2hviVd/nu3eiszBKH3o38csBwjeJoMG3l2ZhdUW8dlOBhq8670Q==", - "requires": { - "mdast-util-to-string": "^1.0.2", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, - "remark-lint-no-blockquote-without-marker": { + "progress": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.3.tgz", - "integrity": "sha512-faDzKrA6aKidsRXG6gcIlCO8TexLxIxe+n9B3mdnl8mhZGgE0FfWTkIWVMj0IYps/xVsVMf45KxhXgc1wU9kwg==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1", - "vfile-location": "^2.0.1" - } + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true }, - "remark-lint-no-consecutive-blank-lines": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.3.tgz", - "integrity": "sha512-2Ef7fPxrfLditA7sTo2Qfqd+xwh/luWl8GzILE5vcWIxLDqKk3dTLJkB5nP+7Cr4kqWJAwXnRkEDd77ehrRV3A==", + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, "requires": { - "plur": "^3.0.0", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "asap": "~2.0.3" } }, - "remark-lint-no-duplicate-definitions": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-definitions/-/remark-lint-no-duplicate-definitions-1.0.5.tgz", - "integrity": "sha512-zKXmfNUODXhJsGQdqfguMG9Nl9v1sLaDsQgMjUtmOSoQRnNud9ThQAZl62eX5jBn5HKcpOifG80tgkyBvU5eEw==", + "prompts": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", + "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-stringify-position": "^2.0.0", - "unist-util-visit": "^1.4.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.3" } }, - "remark-lint-no-duplicate-headings": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.4.tgz", - "integrity": "sha512-QuPw+VG502Ctpd/jBjnBYuRXTg0ToP3D+dd3TYds4TRcdgaEFYTZfQ5zjK6XrxLMg0Hn9/WpXr4UqTlV4YZupA==", - "requires": { - "mdast-util-to-string": "^1.0.2", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-stringify-position": "^2.0.0", - "unist-util-visit": "^1.1.1" - } + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" }, - "remark-lint-no-emphasis-as-heading": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.3.tgz", - "integrity": "sha512-HEmyeyKciUz95+CgpAH98RPR73jq5u5CZb2FOMSqgNl9B6FZXqVpq9F3txPqUw3nAqFYOAEnfiaoRgcqtioh0Q==", + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=", + "dev": true + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" + "event-stream": "=3.3.4" } }, - "remark-lint-no-file-name-articles": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.3.tgz", - "integrity": "sha512-YZDJDKUWZEmhrO6tHB0u0K0K2qJKxyg/kryr14OaRMvWLS62RgMn97sXPZ38XOSN7mOcCnl0k7/bClghJXx0sg==", + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + }, + "pug": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", + "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0" + "pug-code-gen": "^2.0.2", + "pug-filters": "^3.1.1", + "pug-lexer": "^4.1.0", + "pug-linker": "^3.0.6", + "pug-load": "^2.0.12", + "pug-parser": "^5.0.1", + "pug-runtime": "^2.0.5", + "pug-strip-comments": "^1.0.4" } }, - "remark-lint-no-file-name-consecutive-dashes": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.3.tgz", - "integrity": "sha512-7f4vyXn/ca5lAguWWC3eu5hi8oZ7etX7aQlnTSgQZeslnJCbVJm6V6prFJKAzrqbBzMicUXr5pZLBDoXyTvHHw==", + "pug-attrs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", + "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0" + "constantinople": "^3.0.1", + "js-stringify": "^1.0.1", + "pug-runtime": "^2.0.5" } }, - "remark-lint-no-file-name-irregular-characters": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.3.tgz", - "integrity": "sha512-b4xIy1Yi8qZpM2vnMN+6gEujagPGxUBAs1judv6xJQngkl5d5zT8VQZsYsTGHku4NWHjjh3b7vK5mr0/yp4JSg==", + "pug-code-gen": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz", + "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0" + "constantinople": "^3.1.2", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.1", + "pug-attrs": "^2.0.4", + "pug-error": "^1.3.3", + "pug-runtime": "^2.0.5", + "void-elements": "^2.0.1", + "with": "^5.0.0" } }, - "remark-lint-no-file-name-mixed-case": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.3.tgz", - "integrity": "sha512-d7rJ4c8CzDbEbGafw2lllOY8k7pvnsO77t8cV4PHFylwQ3hmCdTHLuDvK87G3DaWCeKclp0PMyamfOgJWKMkPA==", + "pug-error": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", + "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==", + "dev": true + }, + "pug-filters": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", + "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0" + "clean-css": "^4.1.11", + "constantinople": "^3.0.1", + "jstransformer": "1.0.0", + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8", + "resolve": "^1.1.6", + "uglify-js": "^2.6.1" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } } }, - "remark-lint-no-file-name-outer-dashes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.4.tgz", - "integrity": "sha512-+bZvvme2Bm3Vp5L2iKuvGHYVmHKrTkkRt8JqJPGepuhvBvT4Q7+CgfKyMtC/hIjyl+IcuJQ2H0qPRzdicjy1wQ==", + "pug-lexer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", + "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0" + "character-parser": "^2.1.1", + "is-expression": "^3.0.0", + "pug-error": "^1.3.3" } }, - "remark-lint-no-heading-content-indent": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-heading-content-indent/-/remark-lint-no-heading-content-indent-1.0.3.tgz", - "integrity": "sha512-7xM6X5E/dt8OXOHdejH+sfYb139a3kMr8ZSSkcp90Ab1y+ZQBNaWsR3mYh8FRKkYPTN5eyd+KjhNpLWyqqCbgg==", + "pug-linker": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", + "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", + "dev": true, "requires": { - "mdast-util-heading-style": "^1.0.2", - "plur": "^3.0.0", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8" } }, - "remark-lint-no-heading-punctuation": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.3.tgz", - "integrity": "sha512-JQD05RjLS99ePBQ4Bed1uWsQTlIMBTcGgIgF6jFXSCEqhwnrIUDwk6S3MG1RZsKd3TLw2xuT/i+POpfBc2+1kQ==", + "pug-load": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", + "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "dev": true, "requires": { - "mdast-util-to-string": "^1.0.2", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" + "object-assign": "^4.1.0", + "pug-walk": "^1.1.8" } }, - "remark-lint-no-inline-padding": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.4.tgz", - "integrity": "sha512-u5rgbDkcfVv645YxxOwoGBBJbsHEwWm/XqnO8EhfKTxkfKOF4ZItG7Ajhj89EDaeXMkvCcB/avBl4bj50eJH3g==", + "pug-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", + "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", + "dev": true, "requires": { - "mdast-util-to-string": "^1.0.2", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.4.0" + "pug-error": "^1.3.3", + "token-stream": "0.0.1" } }, - "remark-lint-no-literal-urls": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.3.tgz", - "integrity": "sha512-H5quyMzl2kaewK+jYD1FI0G1SIinIsIp4DEyOUwIR+vYUoKwo0B4vvW0cmPpD1dgqqxHYx0B2B0JQQKFVWzGiw==", - "requires": { - "mdast-util-to-string": "^1.0.2", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" - } + "pug-runtime": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", + "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==", + "dev": true }, - "remark-lint-no-multiple-toplevel-headings": { + "pug-strip-comments": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.4.tgz", - "integrity": "sha512-0wDddx6htN5sL9/rofesiQF0oEgwN5224UmueiDx0ZUlYrn6VS0/SS0X3WWxtXmyeqlExfWF3D/g89tNs7dcjw==", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", + "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-stringify-position": "^2.0.0", - "unist-util-visit": "^1.1.1" + "pug-error": "^1.3.3" } }, - "remark-lint-no-shell-dollars": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.3.tgz", - "integrity": "sha512-fT3lQMTjEkPryL+63qDP1NfrohP3tG5i3SkNWSSR4VLU6OSsSSXlHGQGjo0ag//+EPKHB5/9frB/YQ0gDEPRGQ==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" - } + "pug-walk": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", + "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==", + "dev": true }, - "remark-lint-no-shortcut-reference-image": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.3.tgz", - "integrity": "sha512-CGm27X54kXp/5ehXejDTsZjqzK4uIhLGcrFzN3k/KjdwunQouEY92AARGrLSEuJ1hQx0bJsmnvr/hvQyWAfNJg==", + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "remark-lint-no-shortcut-reference-link": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.4.tgz", - "integrity": "sha512-FXdMJYqspZBhPlxYqfVgVluVXjxStg0RHJzqrk8G9wS8fCS62AE3reoaoiCahwoH1tfKcA+poktbKqDAmZo7Jg==", - "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.1.1" - } + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, - "remark-lint-no-table-indentation": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.4.tgz", - "integrity": "sha512-H4VGHcg1k8sTIbwazFYLNbDqpPR+M0aHHKDf+93b/xyd27Dp0ODQrMnQbls1Cls5qOAQnwAQbx+75wcpFxP3OQ==", + "puppeteer": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.20.0.tgz", + "integrity": "sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.4.0" + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^2.2.1", + "mime": "^2.0.3", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } } }, - "remark-lint-no-undefined-references": { + "puppeteer-har": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/remark-lint-no-undefined-references/-/remark-lint-no-undefined-references-1.1.1.tgz", - "integrity": "sha512-b1eIjWFaCu6m16Ax2uG33o1v+eRYqDTQRUqU6UeQ76JXmDmVtVO75ZuyRpqqE7VTZRW8YLVurXfJPDXfIa5Wng==", + "resolved": "https://registry.npmjs.org/puppeteer-har/-/puppeteer-har-1.1.1.tgz", + "integrity": "sha512-ZUOKHhEO3uKH2ozP/uSl0Q4RmXXMHLyqqqEGY9NTKB6E6BTt/K7RcxShHaXJ2KR0juf8wOTI2csCqZCCaMxpwA==", + "dev": true, "requires": { - "collapse-white-space": "^1.0.4", - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.4.0" + "chrome-har": "^0.11.3" } }, - "remark-lint-no-unused-definitions": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/remark-lint-no-unused-definitions/-/remark-lint-no-unused-definitions-1.0.5.tgz", - "integrity": "sha512-Bo22e0RNzc1QMW317KTuStGFDG7uTDUQhm/TrW6Qzud0WXnNnqUyvts+e7wTYoj8VnwhhjyjyoA9lKA3uXMdAQ==", + "qs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", + "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" + }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-visit": "^1.4.0" + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } } }, - "remark-lint-ordered-list-marker-style": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.3.tgz", - "integrity": "sha512-24TmW1eUa/2JlwprZg9jJ8LKLxNGKnlKiI5YOhN4taUp2yv8daqlV9vR54yfn/ZZQh6EQvbIX0jeVY9NYgQUtw==", + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } } }, - "remark-lint-ordered-list-marker-value": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.3.tgz", - "integrity": "sha512-WQ9yLD8cI9DSk/CE+APKUT6ZeXp0/RzOnsYqzMxEa8n1QHSqRSF7hVEiisqNTG9+gV64OEE66e+m4c7RVSUADw==", + "react-is": { + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", + "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==", + "dev": true + }, + "read-input": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/read-input/-/read-input-0.3.1.tgz", + "integrity": "sha1-WzFpMIATRk/9puyS5Y0tPOqUjfE=", + "dev": true + }, + "read-package-json": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.0.tgz", + "integrity": "sha512-KLhu8M1ZZNkMcrq1+0UJbR8Dii8KZUqB0Sha4mOx/bknfKI/fyrQVrG/YIt2UOtG667sD8+ee4EXMM91W9dC+A==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } } }, - "remark-lint-rule-style": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-1.0.3.tgz", - "integrity": "sha512-SJe7IFORYRdo8JUhMSdcTktVAUVNVp36YYl1ZD9CfHqQHWlFD+3vWYzJXOZfog/i+CyWf7Yi0WVYmQes+167dA==", + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, - "remark-lint-strong-marker": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.3.tgz", - "integrity": "sha512-PFkH282dCwfRsVEw9IxbYbaZBY4UcTuT2SN+lA3R0cBeocWnOySVw8YEm4sv9JfV8BLcQA5gc4tj66/U3KCScw==", + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" } }, - "remark-lint-table-cell-padding": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.4.tgz", - "integrity": "sha512-AQWWtV1yca1PN27QaFRJbBK6Ro/bopv1XnVKxj/iMebhOU2D2FBJ8rXmMZXVMC3G9OB2WSzGgqH3nP6QY12LoA==", + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.4.0" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } } }, - "remark-lint-table-pipe-alignment": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.3.tgz", - "integrity": "sha512-5fhEMcKqNjK6S/y7cVG0+iVqhmhXFW+awIuN7vOBhmDbZ3HF9rCCy20XiHoaG6FzrPJ+zfkjK/QZAbq2Vf58HA==", + "realpath-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", + "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "util.promisify": "^1.0.0" } }, - "remark-lint-table-pipes": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.3.tgz", - "integrity": "sha512-K9NnGZp6i0m/CaOH7ZT4Ymt2seyiRPcBIlNMMGXBm6gpy34KJDDxYqsNUrh+j7dR+Zg4rYAQLnr3BiSHvj+rbQ==", + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "resolve": "^1.1.6" } }, - "remark-lint-unordered-list-marker-style": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.3.tgz", - "integrity": "sha512-0nn/Yscy5ImO4fqByrk/Ua02UwGx8LRu+0kdCbkVz4IxPO5qxTEfyccUQZR71zTdMJp1d2OeqyD9XtMaO4X7Ww==", + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, "requires": { - "unified-lint-rule": "^1.0.0", - "unist-util-generated": "^1.1.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^1.1.1" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, - "remark-message-control": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz", - "integrity": "sha512-WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==", - "requires": { - "mdast-comment-marker": "^1.0.0", - "unified-message-control": "^1.0.0", - "xtend": "^4.0.1" - } - }, - "remark-parse": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.1.tgz", - "integrity": "sha512-WOZLa545jYXtSy+txza6ACudKWByQac4S2DmGk+tAGO/3XnVTOxwyCIxB7nTcLlk8Aayhcuf3cV1WV6U6L7/DQ==", - "requires": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - } - }, - "remark-preset-lint-markdown-style-guide": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.3.tgz", - "integrity": "sha512-H/jSoLvTY8abUcB+7/062I2oHevlHcHdrfRMP2RMh19QA1wmARgNEn3tZfdBXFq1TpzhevGgb6VwSdOjdU8NOQ==", - "requires": { - "remark-lint": "^6.0.0", - "remark-lint-blockquote-indentation": "^1.0.0", - "remark-lint-code-block-style": "^1.0.0", - "remark-lint-definition-case": "^1.0.0", - "remark-lint-definition-spacing": "^1.0.0", - "remark-lint-emphasis-marker": "^1.0.0", - "remark-lint-fenced-code-flag": "^1.0.0", - "remark-lint-fenced-code-marker": "^1.0.0", - "remark-lint-file-extension": "^1.0.0", - "remark-lint-final-definition": "^1.0.0", - "remark-lint-hard-break-spaces": "^1.0.0", - "remark-lint-heading-increment": "^1.0.0", - "remark-lint-heading-style": "^1.0.0", - "remark-lint-link-title-style": "^1.0.0", - "remark-lint-list-item-content-indent": "^1.0.0", - "remark-lint-list-item-indent": "^1.0.0", - "remark-lint-list-item-spacing": "^1.0.0", - "remark-lint-maximum-heading-length": "^1.0.0", - "remark-lint-maximum-line-length": "^1.0.0", - "remark-lint-no-auto-link-without-protocol": "^1.0.0", - "remark-lint-no-blockquote-without-marker": "^2.0.0", - "remark-lint-no-consecutive-blank-lines": "^1.0.0", - "remark-lint-no-duplicate-headings": "^1.0.0", - "remark-lint-no-emphasis-as-heading": "^1.0.0", - "remark-lint-no-file-name-articles": "^1.0.0", - "remark-lint-no-file-name-consecutive-dashes": "^1.0.0", - "remark-lint-no-file-name-irregular-characters": "^1.0.0", - "remark-lint-no-file-name-mixed-case": "^1.0.0", - "remark-lint-no-file-name-outer-dashes": "^1.0.0", - "remark-lint-no-heading-punctuation": "^1.0.0", - "remark-lint-no-inline-padding": "^1.0.0", - "remark-lint-no-literal-urls": "^1.0.0", - "remark-lint-no-multiple-toplevel-headings": "^1.0.0", - "remark-lint-no-shell-dollars": "^1.0.0", - "remark-lint-no-shortcut-reference-image": "^1.0.0", - "remark-lint-no-shortcut-reference-link": "^1.0.0", - "remark-lint-no-table-indentation": "^1.0.0", - "remark-lint-ordered-list-marker-style": "^1.0.0", - "remark-lint-ordered-list-marker-value": "^1.0.0", - "remark-lint-rule-style": "^1.0.0", - "remark-lint-strong-marker": "^1.0.0", - "remark-lint-table-cell-padding": "^1.0.0", - "remark-lint-table-pipe-alignment": "^1.0.0", - "remark-lint-table-pipes": "^1.0.0", - "remark-lint-unordered-list-marker-style": "^1.0.0" - } - }, - "remark-preset-lint-recommended": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/remark-preset-lint-recommended/-/remark-preset-lint-recommended-3.0.3.tgz", - "integrity": "sha512-5sQ34j1Irlsj6Tt4WWRylZ7UU+1jD5es/LfDZBZp/LXDwC4ldGqKpMmCCR6Z00x1jYM1phmS4M+eGqTdah0qkQ==", - "requires": { - "remark-lint": "^6.0.0", - "remark-lint-final-newline": "^1.0.0", - "remark-lint-hard-break-spaces": "^1.0.0", - "remark-lint-list-item-bullet-indent": "^1.0.0", - "remark-lint-list-item-indent": "^1.0.0", - "remark-lint-no-auto-link-without-protocol": "^1.0.0", - "remark-lint-no-blockquote-without-marker": "^2.0.0", - "remark-lint-no-duplicate-definitions": "^1.0.0", - "remark-lint-no-heading-content-indent": "^1.0.0", - "remark-lint-no-inline-padding": "^1.0.0", - "remark-lint-no-literal-urls": "^1.0.0", - "remark-lint-no-shortcut-reference-image": "^1.0.0", - "remark-lint-no-shortcut-reference-link": "^1.0.0", - "remark-lint-no-undefined-references": "^1.0.0", - "remark-lint-no-unused-definitions": "^1.0.0", - "remark-lint-ordered-list-marker-style": "^1.0.0" - } - }, - "remark-stringify": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-7.0.3.tgz", - "integrity": "sha512-+jgmjNjm2kR7y2Ns1BATXRlFr+iQ7sDcpSgytfU77nkw7UCd5yJNArSxB3MU3Uul7HuyYNTCjetoGfy8xLia1A==", - "requires": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^2.0.0", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - } + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true }, "remove-trailing-separator": { "version": "1.1.0", @@ -6188,12 +7774,8 @@ "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "request": { "version": "2.88.0", @@ -6230,21 +7812,21 @@ } }, "request-promise-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", - "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", "dev": true, "requires": { - "lodash": "^4.17.11" + "lodash": "^4.17.15" } }, "request-promise-native": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", - "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", "dev": true, "requires": { - "request-promise-core": "1.1.2", + "request-promise-core": "1.1.3", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" } @@ -6256,9 +7838,9 @@ "dev": true }, "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, "requizzle": { @@ -6274,7 +7856,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -6288,6 +7869,16 @@ "resolve-from": "^3.0.0" } }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", + "dev": true, + "requires": { + "expand-tilde": "^1.2.2", + "global-modules": "^0.2.3" + } + }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -6343,6 +7934,21 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, "rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -6352,9 +7958,9 @@ } }, "rsvp": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.4.tgz", - "integrity": "sha512-6FomvYPfs+Jy9TfXmBpBuMWNH94SgCsZmJKcanySzgNNP6LjWxBvyLTa9KaMfDDM5oxRfrKDB0r/qeRsLwnBfA==", + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, "run-async": { @@ -6366,6 +7972,18 @@ "is-promise": "^2.1.0" } }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", + "dev": true + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", + "dev": true + }, "rxjs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.1.tgz", @@ -6409,14 +8027,6 @@ "micromatch": "^3.1.4", "minimist": "^1.1.1", "walker": "~1.0.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } } }, "sax": { @@ -6424,6 +8034,13 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "dev": true, + "optional": true + }, "semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", @@ -6446,11 +8063,40 @@ "split-string": "^3.0.1" } }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", + "dev": true, + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", + "dev": true + } + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -6466,10 +8112,15 @@ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, - "shellsubstitute": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz", - "integrity": "sha1-5PcCpQxRiw9v6YRRiQ1wWvKba3A=" + "shelljs": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", + "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } }, "shellwords": { "version": "0.1.1", @@ -6488,9 +8139,9 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sisteransi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.0.tgz", - "integrity": "sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", + "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==", "dev": true }, "slash": { @@ -6518,11 +8169,6 @@ } } }, - "sliced": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -6644,7 +8290,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-resolve": { "version": "0.5.2", @@ -6660,9 +8307,9 @@ } }, "source-map-support": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", - "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -6675,6 +8322,18 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, + "spawnd": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-4.0.0.tgz", + "integrity": "sha512-ql3qhJnhAkvXpaqKBWOqou1rUTSQhFRaZkyOT+MTFB4xY3X+brgw6LTWV2wHuE9A6YPhrNe1cbg7S+jAYnbC0Q==", + "dev": true, + "requires": { + "exit": "^0.1.2", + "signal-exit": "^3.0.2", + "tree-kill": "^1.2.1", + "wait-port": "^0.2.2" + } + }, "spdx-correct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", @@ -6702,11 +8361,20 @@ } }, "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", "dev": true }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true, + "requires": { + "through": "2" + } + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -6740,7 +8408,8 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "sqlite-async": { "version": "1.0.12", @@ -6782,10 +8451,140 @@ "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", "dev": true }, - "state-toggle": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz", - "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==" + "start-server-and-test": { + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.10.6.tgz", + "integrity": "sha512-Gr/TDePT4JczaoBiKZLZRIWmYgRcoGcFQePtPEHEvZFUuxbdUqTZozx8dqrlKl/67+pipg5OOtBH21U1oJXJIQ==", + "dev": true, + "requires": { + "bluebird": "3.7.1", + "check-more-types": "2.24.0", + "debug": "4.1.1", + "execa": "2.1.0", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "3.3.0" + }, + "dependencies": { + "bluebird": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "execa": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-2.1.0.tgz", + "integrity": "sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^3.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "npm-run-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", + "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } }, "static-extend": { "version": "0.1.2", @@ -6819,6 +8618,15 @@ "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", "dev": true }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, "string-length": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", @@ -6856,6 +8664,26 @@ "strip-ansi": "^3.0.0" } }, + "string.prototype.trimleft": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -6864,18 +8692,6 @@ "safe-buffer": "~5.1.0" } }, - "stringify-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-2.0.0.tgz", - "integrity": "sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==", - "requires": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.2", - "is-hexadecimal": "^1.0.0" - } - }, "stringstream": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", @@ -6903,23 +8719,66 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, + "superagent": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", + "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", + "dev": true, + "requires": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.2.0", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.3.5" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + } + } + }, + "supertest": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-4.0.2.tgz", + "integrity": "sha512-1BAbvrOZsGA3YTCWqbmh14L0YEq0EGICX/nBnfkfVJn7SrxQV1I3pMYjSzG9y/7ZU2V9dWqyqk2POwxlb09duQ==", + "dev": true, + "requires": { + "methods": "^1.1.2", + "superagent": "^3.8.3" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { "has-flag": "^3.0.0" } }, "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "table": { @@ -6996,21 +8855,22 @@ } }, "test-exclude": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.1.0.tgz", - "integrity": "sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", "dev": true, "requires": { - "arrify": "^1.0.1", + "glob": "^7.1.3", "minimatch": "^3.0.4", "read-pkg-up": "^4.0.0", - "require-main-filename": "^1.0.1" + "require-main-filename": "^2.0.0" } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true }, "thenify": { "version": "3.3.0", @@ -7040,6 +8900,13 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "dev": true, + "optional": true + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -7113,27 +8980,17 @@ "repeat-string": "^1.6.1" } }, - "to-vfile": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-6.0.0.tgz", - "integrity": "sha512-i9fwXXSsHLu7mzgixc1WjgnqSe6pGpjnzCYoFmrASvEueLfyKf09QAe+XQYu8OAJ62aFqHpe2EKXojeRVvEzqA==", - "requires": { - "is-buffer": "^2.0.0", - "vfile": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - } - } - }, "toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=", + "dev": true + }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", @@ -7159,27 +9016,12 @@ "punycode": "^2.1.0" } }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "tree-kill": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz", + "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==", "dev": true }, - "trim-trailing-lines": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz", - "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==" - }, - "trough": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", - "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==" - }, "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", @@ -7210,236 +9052,91 @@ }, "type-is": { "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" - }, - "uglify-js": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.1.tgz", - "integrity": "sha512-+dSJLJpXBb6oMHP+Yvw8hUgElz4gLTh82XuX68QiJVTXaE5ibl6buzhNkQdYhBlIhozWOC9ge16wyRmjG4TwVQ==", - "optional": true, - "requires": { - "commander": "2.20.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "optional": true - } - } - }, - "uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", - "requires": { - "random-bytes": "~1.0.0" - } - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - }, - "unherit": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz", - "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==", - "requires": { - "inherits": "^2.0.1", - "xtend": "^4.0.1" - } - }, - "unified": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.1.tgz", - "integrity": "sha512-YPj/uIIZSO7mMIZQj/5Z3hDl4lshWYRQGs5TgUCjHTVdklUWH+O94mK5Cy77SEcmEUwGhnUcudMuH/zIwporqw==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - }, - "unified-args": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/unified-args/-/unified-args-7.1.0.tgz", - "integrity": "sha512-soi9Rn7l5c1g0RfElSCHMwaxeiclSI0EsS3uZmMPUOfwMeeeZjLpNmHAowV9iSlQh59iiZhSMyQu9lB8WnIz5g==", - "requires": { - "camelcase": "^5.0.0", - "chalk": "^2.0.0", - "chokidar": "^3.0.0", - "fault": "^1.0.2", - "json5": "^2.0.0", - "minimist": "^1.2.0", - "text-table": "^0.2.0", - "unified-engine": "^7.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "unified-engine": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/unified-engine/-/unified-engine-7.0.0.tgz", - "integrity": "sha512-zH/MvcISpWg3JZtCoY/GYBw1WnVHkhnPoMBWpmuvAifCPSS9mzT9EbtimesJp6t2nnr/ojI0mg3TmkO1CjIwVA==", - "requires": { - "concat-stream": "^2.0.0", - "debug": "^4.0.0", - "fault": "^1.0.0", - "figures": "^3.0.0", - "fn-name": "^2.0.1", - "glob": "^7.0.3", - "ignore": "^5.0.0", - "is-empty": "^1.0.0", - "is-hidden": "^1.0.1", - "is-object": "^1.0.1", - "js-yaml": "^3.6.1", - "load-plugin": "^2.0.0", - "parse-json": "^4.0.0", - "to-vfile": "^6.0.0", - "trough": "^1.0.0", - "unist-util-inspect": "^4.1.2", - "vfile-reporter": "^6.0.0", - "vfile-statistics": "^1.1.0", - "x-is-string": "^0.1.0", - "xtend": "^4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "figures": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", - "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "unified-lint-rule": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-1.0.4.tgz", - "integrity": "sha512-q9wY6S+d38xRAuWQVOMjBQYi7zGyKkY23ciNafB8JFVmDroyKjtytXHCg94JnhBCXrNqpfojo3+8D+gmF4zxJQ==", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { - "wrapped": "^1.0.1" + "media-typer": "0.3.0", + "mime-types": "~2.1.18" } }, - "unified-message-control": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz", - "integrity": "sha512-e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==", - "requires": { - "trim": "0.0.1", - "unist-util-visit": "^1.0.0", - "vfile-location": "^2.0.0" - } + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "is-typedarray": "^1.0.0" } }, - "unist-util-generated": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz", - "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww==" + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true }, - "unist-util-inspect": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-4.1.4.tgz", - "integrity": "sha512-7xxyvKiZ1SC9vL5qrMqKub1T31gRHfau4242F69CcaOrXt//5PmRVOmDZ36UAEgiT+tZWzmQmbNZn+mVtnR9HQ==", + "uglify-js": { + "version": "3.6.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.9.tgz", + "integrity": "sha512-pcnnhaoG6RtrvHJ1dFncAe8Od6Nuy30oaJ82ts6//sGSXOP5UjBMEthiProjXmMNHOfd93sqlkztifFMcb+4yw==", + "dev": true, + "optional": true, "requires": { - "is-empty": "^1.0.0" + "commander": "~2.20.3", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true + } } }, - "unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" - }, - "unist-util-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz", - "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw==" + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true }, - "unist-util-remove-position": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz", - "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==", + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "requires": { - "unist-util-visit": "^1.1.0" + "random-bytes": "~1.0.0" } }, - "unist-util-stringify-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz", - "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==", - "requires": { - "@types/unist": "^2.0.2" - } + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true }, - "unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", - "requires": { - "unist-util-visit-parents": "^2.0.0" - } + "underscore": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", + "dev": true }, - "unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, "requires": { - "unist-util-is": "^3.0.0" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" } }, "universalify": { @@ -7498,14 +9195,6 @@ } } }, - "untildify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", - "integrity": "sha1-F+soB5h/dpUunASF/DEdBqgmouA=", - "requires": { - "os-homedir": "^1.0.0" - } - }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -7551,6 +9240,25 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, + "v8-to-istanbul": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-3.2.6.tgz", + "integrity": "sha512-M6zzkVjsr+6sFdWPCuq7fjg9oCOXlssin05Yhobt9jMqHlEhw8AQ4/ClDiLCVWzXjpS2ezik53mhgSivw0XwmQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -7576,114 +9284,68 @@ "extsprintf": "^1.2.0" } }, - "vfile": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz", - "integrity": "sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - } - } + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true }, - "vfile-location": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz", - "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==" + "w3c-hr-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", + "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", + "dev": true, + "requires": { + "browser-process-hrtime": "^0.1.2" + } }, - "vfile-message": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz", - "integrity": "sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==", + "wait-on": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz", + "integrity": "sha512-97dEuUapx4+Y12aknWZn7D25kkjMk16PbWoYzpSdA8bYpVfS6hpl2a2pOWZ3c+Tyt3/i4/pglyZctG3J4V1hWQ==", + "dev": true, "requires": { - "@types/unist": "^2.0.2", - "unist-util-stringify-position": "^2.0.0" + "@hapi/joi": "^15.0.3", + "core-js": "^2.6.5", + "minimist": "^1.2.0", + "request": "^2.88.0", + "rx": "^4.1.0" } }, - "vfile-reporter": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz", - "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==", + "wait-port": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/wait-port/-/wait-port-0.2.6.tgz", + "integrity": "sha512-nXE5Yp0Zs1obhFVc0Da7WVJc3y0LxoCq3j4mtV0NdI5P/ZvRdKp5yhuojvMOcOxSwpQL1hGbOgMNQ+4wpRpwCA==", + "dev": true, "requires": { - "repeat-string": "^1.5.0", - "string-width": "^4.0.0", - "supports-color": "^6.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-sort": "^2.1.2", - "vfile-statistics": "^1.1.0" + "chalk": "^2.4.2", + "commander": "^3.0.2", + "debug": "^4.1.1" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", - "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^5.2.0" - } + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ms": "^2.1.1" } }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, - "vfile-sort": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz", - "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g==" - }, - "vfile-statistics": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz", - "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA==" - }, - "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", - "dev": true, - "requires": { - "browser-process-hrtime": "^0.1.2" - } - }, "walker": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", @@ -7759,34 +9421,95 @@ "string-width": "^1.0.2 || 2" } }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "dev": true, + "requires": { + "acorn": "^3.1.0", + "acorn-globals": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "requires": { + "acorn": "^4.0.4" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + } + } + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true }, "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "wrapped": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wrapped/-/wrapped-1.0.1.tgz", - "integrity": "sha1-x4PZ2Aeyc+mwHoUWgKk4yHyQckI=", - "requires": { - "co": "3.1.0", - "sliced": "^1.0.1" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "dependencies": { - "co": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=" + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, @@ -7824,17 +9547,29 @@ "async-limiter": "~1.0.0" } }, - "x-is-string": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", - "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" - }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, + "xml2js": { + "version": "0.4.22", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz", + "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "util.promisify": "~1.0.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, "xmlcreate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.1.tgz", @@ -7844,7 +9579,8 @@ "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, "y18n": { "version": "4.0.0", @@ -7858,29 +9594,27 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", + "cliui": "^5.0.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "is-fullwidth-code-point": { @@ -7890,36 +9624,46 @@ "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "~1.0.1" + } + }, "ylru": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz", diff --git a/package.json b/package.json index d1afbcb..6813cbb 100644 --- a/package.json +++ b/package.json @@ -12,17 +12,13 @@ "start": "node index.js", "jsdoc": "node_modules/.bin/jsdoc -c jsdoc.conf", "linter": "node_modules/.bin/eslint .", - "test": "./node_modules/.bin/jest --coverage 'unit tests/'" - }, - "jest": { - "projects": [ - "/jest-test.config.js" - ] + "test": "./node_modules/.bin/jest --coverage", + "acceptance": "test.sh" }, "author": "", "license": "ISC", "dependencies": { - "bcrypt": "^3.0.6", + "bcrypt": "^3.0.7", "bcrypt-promise": "^2.0.0", "koa": "^2.6.2", "koa-body": "^4.0.8", @@ -32,6 +28,7 @@ "koa-static": "^5.0.0", "koa-views": "^6.1.5", "mime-types": "^2.1.22", + "shelljs": "^0.8.3", "sqlite-async": "^1.0.12" }, "devDependencies": { @@ -42,10 +39,22 @@ "handlebars-validate": "^0.1.2", "http-status-codes": "^1.3.2", "istanbul": "^0.4.5", - "jest": "^24.1.0", + "jest": "^24.9.0", + "jest-image-snapshot": "^2.11.0", + "jest-puppeteer": "^4.3.0", "jscpd": "^2.0.16", "jsdoc": "^3.6.3", "jsdoc-route-plugin": "^0.1.0", - "markdownlint": "^0.17.0" + "markdownlint": "^0.17.0", + "puppeteer": "^1.20.0", + "puppeteer-har": "^1.1.1", + "start-server-and-test": "^1.10.6", + "supertest": "^4.0.2" + }, + "jest": { + "projects": [ + "/jest-test.config.js" + ], + "preset": "jest-puppeteer" } } diff --git a/test.sh b/test.sh new file mode 100644 index 0000000..96ffb5c --- /dev/null +++ b/test.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -e +echo hello +mkdir -p screenshots +mkdir -p trace +# [ ! -d "node_modules" ] && echo "INSTALLING MODULES" && npm install +node index.js& +node_modules/.bin/jest --runInBand --detectOpenHandles +read -p "Press enter to continue" +kill %1 From 8f90954899d2c3b191983f2e8b1977920ece3b55 Mon Sep 17 00:00:00 2001 From: Harry Kent Date: Sat, 23 Nov 2019 15:26:33 +0000 Subject: [PATCH 21/41] reverting script for acceptance testing to use './test.sh' --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6813cbb..30a5e82 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "jsdoc": "node_modules/.bin/jsdoc -c jsdoc.conf", "linter": "node_modules/.bin/eslint .", "test": "./node_modules/.bin/jest --coverage", - "acceptance": "test.sh" + "acceptance": "./test.sh" }, "author": "", "license": "ISC", From b785401564c84d688377b83fad2ade79a525fe49 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 23 Nov 2019 19:06:30 +0000 Subject: [PATCH 22/41] Moved Script Files All the scripts files needed to run the acceptance tests were saved in the project root directory. These have now been moved to a scripts director in the acceptanceTests directory --- .../scripts/afterAll.sh | 0 .../scripts/beforeAll.sh | 0 .../scripts/beforeEach.sh | 0 test.sh => acceptanceTests/scripts/test.sh | 0 acceptanceTests/ui.spec.js | 6 +- package-lock.json | 3287 +++++++++++------ package.json | 2 +- 7 files changed, 2192 insertions(+), 1103 deletions(-) rename afterAll.sh => acceptanceTests/scripts/afterAll.sh (100%) mode change 100644 => 100755 rename beforeAll.sh => acceptanceTests/scripts/beforeAll.sh (100%) mode change 100644 => 100755 rename beforeEach.sh => acceptanceTests/scripts/beforeEach.sh (100%) mode change 100644 => 100755 rename test.sh => acceptanceTests/scripts/test.sh (100%) mode change 100644 => 100755 diff --git a/afterAll.sh b/acceptanceTests/scripts/afterAll.sh old mode 100644 new mode 100755 similarity index 100% rename from afterAll.sh rename to acceptanceTests/scripts/afterAll.sh diff --git a/beforeAll.sh b/acceptanceTests/scripts/beforeAll.sh old mode 100644 new mode 100755 similarity index 100% rename from beforeAll.sh rename to acceptanceTests/scripts/beforeAll.sh diff --git a/beforeEach.sh b/acceptanceTests/scripts/beforeEach.sh old mode 100644 new mode 100755 similarity index 100% rename from beforeEach.sh rename to acceptanceTests/scripts/beforeEach.sh diff --git a/test.sh b/acceptanceTests/scripts/test.sh old mode 100644 new mode 100755 similarity index 100% rename from test.sh rename to acceptanceTests/scripts/test.sh diff --git a/acceptanceTests/ui.spec.js b/acceptanceTests/ui.spec.js index f5085cd..a4c41f5 100644 --- a/acceptanceTests/ui.spec.js +++ b/acceptanceTests/ui.spec.js @@ -25,16 +25,16 @@ beforeAll( async() => { page = await browser.newPage() har = new PuppeteerHar(page) await page.setViewport({ width, height }) - await shell.exec('beforeAll.sh') + await shell.exec('acceptanceTests/scripts/beforeAll.sh') }) afterAll( async() => { browser.close() - await shell.exec('afterAll.sh') + await shell.exec('acceptanceTests/scripts/afterAll.sh') }) beforeEach(async() => { - await shell.exec('beforeEach.sh') + await shell.exec('acceptanceTests/scripts/beforeEach.sh') }) describe('Registering', () => { diff --git a/package-lock.json b/package-lock.json index b082371..bf12bd5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", "dev": true, "requires": { "@babel/highlight": "^7.0.0" @@ -35,15 +35,6 @@ "source-map": "^0.5.0" }, "dependencies": { - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -53,12 +44,6 @@ "ms": "^2.1.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -134,9 +119,9 @@ } }, "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", + "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -187,15 +172,6 @@ "lodash": "^4.17.13" }, "dependencies": { - "@babel/code-frame": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", - "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -204,12 +180,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true } } }, @@ -238,6 +208,14 @@ "requires": { "exec-sh": "^0.3.2", "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "@hapi/address": { @@ -288,6 +266,14 @@ "@jest/source-map": "^24.9.0", "chalk": "^2.0.1", "slash": "^2.0.0" + }, + "dependencies": { + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } } }, "@jest/core": { @@ -332,6 +318,132 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -340,6 +452,16 @@ "requires": { "ansi-regex": "^4.1.0" } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } } } }, @@ -393,6 +515,14 @@ "slash": "^2.0.0", "source-map": "^0.6.0", "string-length": "^2.0.0" + }, + "dependencies": { + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } } }, "@jest/source-map": { @@ -451,6 +581,144 @@ "slash": "^2.0.0", "source-map": "^0.6.1", "write-file-atomic": "2.4.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "@jest/types": { @@ -619,9 +887,9 @@ "dev": true }, "@types/node": { - "version": "11.11.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.3.tgz", - "integrity": "sha512-wp6IOGu1lxsfnrD+5mX6qwSwWuqsdkKKxTN4aQc4wByHAKZJf9/D4KXPQ1POUjEbnCP5LMggB0OEFNY9OTsMqg==" + "version": "12.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.12.tgz", + "integrity": "sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ==" }, "@types/stack-utils": { "version": "1.0.1", @@ -666,18 +934,18 @@ } }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" } }, "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", "dev": true }, "acorn-globals": { @@ -695,13 +963,19 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true } } }, "acorn-jsx": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", "dev": true }, "acorn-node": { @@ -713,26 +987,12 @@ "acorn": "^7.0.0", "acorn-walk": "^7.0.0", "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", - "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", - "dev": true - }, - "acorn-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", - "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", - "dev": true - } } }, "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.0.0.tgz", + "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==", "dev": true }, "agent-base": { @@ -745,9 +1005,9 @@ } }, "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -806,6 +1066,138 @@ "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "aproba": { @@ -944,6 +1336,14 @@ "babel-preset-jest": "^24.9.0", "chalk": "^2.4.2", "slash": "^2.0.0" + }, + "dependencies": { + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } } }, "babel-plugin-istanbul": { @@ -956,6 +1356,42 @@ "find-up": "^3.0.0", "istanbul-lib-instrument": "^3.3.0", "test-exclude": "^5.2.3" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } } }, "babel-plugin-jest-hoist": { @@ -1080,9 +1516,9 @@ } }, "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" }, "bcrypt": { "version": "3.0.7", @@ -1091,30 +1527,6 @@ "requires": { "nan": "2.14.0", "node-pre-gyp": "0.13.0" - }, - "dependencies": { - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - }, - "node-pre-gyp": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz", - "integrity": "sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==", - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - } } }, "bcrypt-pbkdf": { @@ -1149,9 +1561,9 @@ } }, "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", + "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==" }, "boom": { "version": "0.4.2", @@ -1173,21 +1585,12 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "fill-range": "^7.0.1" } }, "browser-process-hrtime": { @@ -1223,9 +1626,9 @@ } }, "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", + "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4" @@ -1238,9 +1641,9 @@ "dev": true }, "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, "c8": { "version": "5.0.4", @@ -1262,33 +1665,6 @@ "yargs-parser": "^14.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "foreground-child": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz", @@ -1299,42 +1675,6 @@ "signal-exit": "^3.0.2" } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, "rimraf": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", @@ -1344,115 +1684,6 @@ "glob": "^7.1.3" } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "yargs": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz", - "integrity": "sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, "yargs-parser": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-14.0.0.tgz", @@ -1498,9 +1729,9 @@ "dev": true }, "callsites": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", - "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { @@ -1551,6 +1782,17 @@ "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "character-parser": { @@ -1575,9 +1817,9 @@ "dev": true }, "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" }, "chrome-har": { "version": "0.11.4", @@ -1591,6 +1833,21 @@ "uuid": "3.2.1" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -1840,17 +2097,17 @@ "dev": true }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "requires": { "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "component-emitter": { "version": "1.3.0", @@ -1948,12 +2205,19 @@ "dev": true }, "cookies": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.3.tgz", - "integrity": "sha512-+gixgxYSgQLTaTIilDHAdlNPZDENDQernEMiIcZpYYP14zgHsCt4Ce1FEjFtcp6GefhozebB6orvhAAWx/IS0A==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", + "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", "requires": { - "depd": "~1.1.2", - "keygrip": "~1.0.3" + "depd": "~2.0.0", + "keygrip": "~1.1.0" + }, + "dependencies": { + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + } } }, "copy-descriptor": { @@ -1991,14 +2255,6 @@ "test-exclude": "^5.2.3", "which": "^1.3.1", "yargs-parser": "^13.1.1" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } } }, "crc": { @@ -2010,16 +2266,25 @@ } }, "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "cryptiles": { @@ -2103,11 +2368,11 @@ "dev": true }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "decamelize": { @@ -2255,14 +2520,6 @@ "coffee-script": "^1.12.7", "js2coffee": "^2.2.0", "underscore": "^1.9.1" - }, - "dependencies": { - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==", - "dev": true - } } }, "dependency-check": { @@ -2282,15 +2539,6 @@ "resolve": "^1.1.7" }, "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -2300,45 +2548,11 @@ "ms": "^2.1.1" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } } } }, @@ -2376,6 +2590,14 @@ "acorn-node": "^1.6.1", "defined": "^1.0.0", "minimist": "^1.1.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "diff-sequences": { @@ -2462,6 +2684,11 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, "encoding-down": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", @@ -2651,6 +2878,19 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -2660,20 +2900,31 @@ "ms": "^2.1.1" } }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "shebang-regex": "^1.0.0" } }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "strip-ansi": { @@ -2698,18 +2949,18 @@ } }, "eslint-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz", - "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "requires": { - "eslint-visitor-keys": "^1.0.0" + "eslint-visitor-keys": "^1.1.0" } }, "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", "dev": true }, "espree": { @@ -2724,17 +2975,17 @@ }, "dependencies": { "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", "dev": true } } }, "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", "dev": true }, "esquery": { @@ -2756,15 +3007,15 @@ } }, "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "event-stream": { @@ -2807,6 +3058,42 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + } } }, "exectimer": { @@ -2865,6 +3152,12 @@ "requires": { "is-descriptor": "^0.1.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -2911,25 +3204,14 @@ } }, "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } } }, "extglob": { @@ -3014,6 +3296,12 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, @@ -3038,51 +3326,6 @@ "glob-parent": "^5.1.0", "merge2": "^1.3.0", "micromatch": "^4.0.2" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } } }, "fast-json-stable-stringify": { @@ -3142,15 +3385,12 @@ } }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "to-regex-range": "^5.0.1" } }, "find-file-up": { @@ -3191,16 +3431,23 @@ "requires": { "ms": "2.0.0" } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true } } }, "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^3.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "flat-cache": { @@ -3212,12 +3459,23 @@ "flatted": "^2.0.0", "rimraf": "2.6.3", "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "flatted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==", "dev": true }, "for-in": { @@ -3312,22 +3570,14 @@ "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" - }, - "dependencies": { - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", - "dev": true - } } }, "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "requires": { - "minipass": "^2.2.1" + "minipass": "^2.6.0" } }, "fs.realpath": { @@ -3981,24 +4231,11 @@ } }, "get-paths": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/get-paths/-/get-paths-0.0.4.tgz", - "integrity": "sha512-+AxlfMGN7FuJr2zhT6aErH08HMKkRwynTTHtWCenIWkIZgx2OlkZKgt7SM4+rh8Dfi32lo6HcvqeTLxph3kjQw==", + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/get-paths/-/get-paths-0.0.7.tgz", + "integrity": "sha512-0wdJt7C1XKQxuCgouqd+ZvLJ56FQixKoki9MrFaO4EriqzXOiH9gbukaDE1ou08S8Ns3/yDzoBAISNPqj6e6tA==", "requires": { - "bluebird": "^3.5.1", - "fs-extra": "^4.0.2" - }, - "dependencies": { - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "pify": "^4.0.1" } }, "get-stdin": { @@ -4037,9 +4274,9 @@ "dev": true }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4103,9 +4340,9 @@ } }, "globals": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "globby": { @@ -4122,20 +4359,6 @@ "ignore": "^5.1.1", "merge2": "^1.2.3", "slash": "^3.0.0" - }, - "dependencies": { - "ignore": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", - "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - } } }, "glur": { @@ -4155,9 +4378,10 @@ } }, "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "dev": true }, "growly": { "version": "1.3.0", @@ -4256,6 +4480,26 @@ "kind-of": "^4.0.0" }, "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", @@ -4312,21 +4556,21 @@ } }, "http-assert": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.0.tgz", - "integrity": "sha512-tPVv62a6l3BbQoM/N5qo969l0OFxqpnQzNUPeYfTP6Spo4zkgWeDBD1D5thI7sDLg7jCCihXTLB0X8UtdyAy8A==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", + "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", "requires": { "deep-equal": "~1.0.1", - "http-errors": "~1.7.1" + "http-errors": "~1.7.2" } }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", + "inherits": "2.0.4", "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" @@ -4343,9 +4587,9 @@ } }, "http-status-codes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-1.3.2.tgz", - "integrity": "sha512-nDUtj0ltIt08tGi2VWSpSzNNFye0v3YSe9lX3lIqLTuVvvRiYCvs4QQBSHo0eomFYw1wlUuofurUAlTm+vHnXg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-1.4.0.tgz", + "integrity": "sha512-JrT3ua+WgH8zBD3HEJYbeEgnuQaAnUeRRko/YojPAJjGmIfGD3KPU/asLdsLwKjfxOmQe5nXMQ0pt/7MyapVbQ==", "dev": true }, "https-proxy-agent": { @@ -4359,28 +4603,28 @@ } }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==", "dev": true }, "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "requires": { "minimatch": "^3.0.4" } @@ -4392,21 +4636,13 @@ "dev": true }, "import-fresh": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "dev": true, "requires": { "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } + "resolve-from": "^4.0.0" } }, "import-local": { @@ -4440,9 +4676,9 @@ } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", @@ -4450,9 +4686,9 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "inquirer": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz", - "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", "dev": true, "requires": { "ansi-escapes": "^3.2.0", @@ -4461,7 +4697,7 @@ "cli-width": "^2.0.0", "external-editor": "^3.0.3", "figures": "^2.0.0", - "lodash": "^4.17.11", + "lodash": "^4.17.12", "mute-stream": "0.0.7", "run-async": "^2.2.0", "rxjs": "^6.4.0", @@ -4668,13 +4904,10 @@ } }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-plain-object": { "version": "2.0.4", @@ -4766,9 +4999,9 @@ "dev": true }, "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", @@ -4834,12 +5067,6 @@ "source-map": "~0.2.0" } }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, "estraverse": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", @@ -4945,17 +5172,6 @@ "istanbul-lib-coverage": "^2.0.5", "make-dir": "^2.1.0", "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "istanbul-lib-source-maps": { @@ -4979,12 +5195,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true } } }, @@ -5007,6 +5217,27 @@ "jest-cli": "^24.9.0" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "jest-cli": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", @@ -5027,6 +5258,69 @@ "realpath-native": "^1.1.0", "yargs": "^13.3.0" } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } } } }, @@ -5064,6 +5358,138 @@ "micromatch": "^3.1.10", "pretty-format": "^24.9.0", "realpath-native": "^1.1.0" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "jest-dev-server": { @@ -5178,6 +5604,138 @@ "micromatch": "^3.1.10", "sane": "^4.0.3", "walker": "^1.0.7" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "jest-image-snapshot": { @@ -5283,6 +5841,144 @@ "micromatch": "^3.1.10", "slash": "^2.0.0", "stack-utils": "^1.0.1" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "jest-mock": { @@ -5396,6 +6092,98 @@ "slash": "^2.0.0", "strip-bom": "^3.0.0", "yargs": "^13.3.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + } } }, "jest-serializer": { @@ -5451,6 +6239,14 @@ "mkdirp": "^0.5.1", "slash": "^2.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + } } }, "jest-validate": { @@ -5490,28 +6286,17 @@ "requires": { "merge-stream": "^2.0.0", "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "js-beautify": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.9.0.tgz", - "integrity": "sha512-P0skmY4IDjfLiVrx+GLDeme8w5G0R1IGXgccVU5HP2VM3lRblH7qN2LTea5vZAxrDjpZBD0Jv+ahpjwVcbz/rw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.2.tgz", + "integrity": "sha512-ZtBYyNUYJIsBWERnQP0rPN9KjkrDfJcMjuVGcvXOUJrD1zmOGwhRwQ4msG+HJ+Ni/FA7+sRQEMYVzdTQDvnzvQ==", "requires": { "config-chain": "^1.1.12", - "editorconfig": "^0.15.2", + "editorconfig": "^0.15.3", "glob": "^7.1.3", - "mkdirp": "~0.5.0", + "mkdirp": "~0.5.1", "nopt": "~4.0.1" } }, @@ -5535,6 +6320,14 @@ "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + } } }, "js2coffee": { @@ -5551,10 +6344,10 @@ "source-map": "^0.5.2" }, "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, "source-map": { @@ -5608,12 +6401,62 @@ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "commander": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", "dev": true }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, "fast-glob": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", @@ -5628,6 +6471,29 @@ "micromatch": "^3.1.10" } }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -5649,6 +6515,53 @@ } } }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "rimraf": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz", @@ -5657,6 +6570,16 @@ "requires": { "glob": "^7.1.3" } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } } } }, @@ -5682,18 +6605,6 @@ "underscore": "~1.9.1" }, "dependencies": { - "@babel/parser": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz", - "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==", - "dev": true - }, - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true - }, "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", @@ -5746,6 +6657,14 @@ "whatwg-url": "^6.4.1", "ws": "^5.2.0", "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + } } }, "jsesc": { @@ -5788,12 +6707,21 @@ "dev": true, "requires": { "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, "requires": { "graceful-fs": "^4.1.6" } @@ -5820,9 +6748,12 @@ } }, "keygrip": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.3.tgz", - "integrity": "sha512-/PpesirAIfaklxUzp4Yb7xBper9MwP6hNRA6BGGUFCgbJ+BM5CKBtsoxinNXkLHAr+GXS1/lSlF2rP7cv5Fl+g==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "requires": { + "tsscmp": "1.0.6" + } }, "kind-of": { "version": "3.2.2", @@ -5848,19 +6779,20 @@ "dev": true }, "koa": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.7.0.tgz", - "integrity": "sha512-7ojD05s2Q+hFudF8tDLZ1CpCdVZw8JQELWSkcfG9bdtoTDzMmkRF6BQBU7JzIzCCOY3xd3tftiy/loHBUYaY2Q==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.11.0.tgz", + "integrity": "sha512-EpR9dElBTDlaDgyhDMiLkXrPwp6ZqgAIBvhhmxQ9XN4TFgW+gEz6tkcsNI6BnUbUftrKDjVFj4lW2/J2aNBMMA==", "requires": { "accepts": "^1.3.5", "cache-content-type": "^1.0.0", "content-disposition": "~0.5.2", "content-type": "^1.0.4", - "cookies": "~0.7.1", + "cookies": "~0.8.0", "debug": "~3.1.0", "delegates": "^1.0.0", "depd": "^1.1.2", "destroy": "^1.0.4", + "encodeurl": "^1.0.2", "error-inject": "^1.0.0", "escape-html": "^1.0.3", "fresh": "~0.5.2", @@ -5869,19 +6801,33 @@ "is-generator-function": "^1.0.7", "koa-compose": "^4.1.0", "koa-convert": "^1.2.0", - "koa-is-json": "^1.0.0", "on-finished": "^2.3.0", "only": "~0.0.2", "parseurl": "^1.3.2", "statuses": "^1.5.0", "type-is": "^1.6.16", "vary": "^1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } } }, "koa-body": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/koa-body/-/koa-body-4.1.0.tgz", - "integrity": "sha512-rWkMfMaCjFmIAMohtjlrg4BqDzcotK5BdZhiwJu1ONuR1ceoFUjnH3wp0hEV39HuBlc9tI3eUUFMK4Cp6ccFtA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/koa-body/-/koa-body-4.1.1.tgz", + "integrity": "sha512-rLb/KVD8qplEcK8Qsu6F4Xw+uHkmx3MWogDVmMX07DpjXizhw3pOEp1ja1MqqAcl0ei75AsrbGVDlySmsUrreA==", "requires": { "@types/formidable": "^1.0.31", "co-body": "^5.1.1", @@ -5934,11 +6880,6 @@ } } }, - "koa-is-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz", - "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=" - }, "koa-router": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/koa-router/-/koa-router-7.4.0.tgz", @@ -5974,14 +6915,14 @@ } }, "koa-session": { - "version": "5.10.1", - "resolved": "https://registry.npmjs.org/koa-session/-/koa-session-5.10.1.tgz", - "integrity": "sha512-N6i1kaypXcltNes+r1LSC/W8Y6mdEbnaLfhaUi0cqhA0/9snPMuh5aU7jjQzbCHc1twe7GJJQtG5ZdsNoArcZA==", + "version": "5.12.3", + "resolved": "https://registry.npmjs.org/koa-session/-/koa-session-5.12.3.tgz", + "integrity": "sha512-r1vRerk6z+J54TtgXPG+oYGj1vwrd889bz55hS7VykWvbtmPNb0q/N7arOHGV8dnstlRyZPP3xCJL20wIf9LwA==", "requires": { "crc": "^3.4.4", "debug": "^3.1.0", "is-type-of": "^1.0.0", - "uid-safe": "^2.1.3" + "uuid": "^3.3.2" } }, "koa-static": { @@ -5994,13 +6935,13 @@ } }, "koa-views": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/koa-views/-/koa-views-6.1.5.tgz", - "integrity": "sha512-1I9nLqvvqRw9R183Wwsfo8my+2uZOUXOAC7mLCs6BYaNS/p+mvNzk2CFi9vu89FLolajunEXtXtGkgsJdm5lkw==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/koa-views/-/koa-views-6.2.1.tgz", + "integrity": "sha512-wU3tw48KuskaJg0x1JZmC73UWGgVmh6B54HuHDzTrkavig+dBI0NbFeGiWsaOCZREQkaTfIVXSPSByDant71ew==", "requires": { - "consolidate": "^0.15.0", + "consolidate": "0.15.1", "debug": "^4.1.0", - "get-paths": "^0.0.4", + "get-paths": "0.0.7", "koa-send": "^5.0.0", "mz": "^2.4.0", "pretty": "^2.0.0" @@ -6013,11 +6954,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" } } }, @@ -6083,12 +7019,6 @@ "xtend": "^4.0.2" }, "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "readable-stream": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", @@ -6206,16 +7136,23 @@ "parse-json": "^4.0.0", "pify": "^3.0.0", "strip-bom": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, "lodash": { @@ -6252,6 +7189,13 @@ "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" + }, + "dependencies": { + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } } }, "ltgt": { @@ -6268,14 +7212,6 @@ "requires": { "pify": "^4.0.1", "semver": "^5.6.0" - }, - "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - } } }, "makeerror": { @@ -6322,15 +7258,15 @@ } }, "markdown-it-anchor": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz", - "integrity": "sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.5.tgz", + "integrity": "sha512-xLIjLQmtym3QpoY9llBgApknl7pxAcN3WDRc2d3rwpl+/YvDZHPmKscGs+L6E05xf2KrCXPBvosWt7MZukwSpQ==", "dev": true }, "markdownlint": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.17.0.tgz", - "integrity": "sha512-X6ITzOCX+1u+fOc/tLbAz/Pjoz7Y5CpTuoZZMvBmg8HJa1Ui/ibL2MtmWnlGjZajpsv96dgRAZeOPfDVbrdpDQ==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.17.2.tgz", + "integrity": "sha512-vsxopn0qEdm0P2XI3S9sVA+jvjKjR8lHZ+0FKlusth+1UK9tI29mRFkKeZPERmbWsMehJcogfMieBUkMgNEFkQ==", "dev": true, "requires": { "markdown-it": "10.0.0" @@ -6403,76 +7339,39 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } + "braces": "^3.0.1", + "picomatch": "^2.0.5" } }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", - "dev": true + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", + "dev": true, + "optional": true }, "mime-db": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==" }, "mime-types": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", - "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", + "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", "requires": { - "mime-db": "~1.38.0" + "mime-db": "1.42.0" } }, "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimatch": { @@ -6484,33 +7383,25 @@ } }, "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" - } } }, "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "requires": { - "minipass": "^2.2.1" + "minipass": "^2.9.0" } }, "mixin-deep": { @@ -6558,19 +7449,12 @@ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "mute-stream": { "version": "0.0.7", @@ -6589,9 +7473,9 @@ } }, "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" }, "nanomatch": { "version": "1.2.13", @@ -6652,29 +7536,19 @@ "dev": true }, "needle": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz", - "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", "requires": { - "debug": "^2.1.2", + "debug": "^3.2.6", "iconv-lite": "^0.4.4", "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - } } }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "neo-async": { "version": "2.6.1", @@ -6720,9 +7594,9 @@ } }, "node-pre-gyp": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", - "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz", + "integrity": "sha512-Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==", "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -6772,9 +7646,9 @@ "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" }, "npm-packlist": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz", + "integrity": "sha512-u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==", "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -6787,6 +7661,14 @@ "dev": true, "requires": { "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } } }, "npmlog": { @@ -6906,14 +7788,6 @@ "dev": true, "requires": { "mimic-fn": "^1.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - } } }, "only": { @@ -6935,36 +7809,20 @@ "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } } }, "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "requires": { "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", + "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } + "word-wrap": "~1.2.3" } }, "os-homedir": { @@ -7011,12 +7869,12 @@ } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^2.2.0" } }, "p-reduce": { @@ -7063,9 +7921,9 @@ "dev": true }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascalcase": { "version": "0.1.1", @@ -7080,9 +7938,9 @@ "dev": true }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { @@ -7097,9 +7955,9 @@ "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { @@ -7108,11 +7966,18 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "requires": { "isarray": "0.0.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } } }, "path-type": { @@ -7122,6 +7987,14 @@ "dev": true, "requires": { "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } } }, "pause-stream": { @@ -7151,10 +8024,9 @@ "dev": true }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" }, "pirates": { "version": "4.0.1", @@ -7181,6 +8053,42 @@ "dev": true, "requires": { "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } } }, "pkg-up": { @@ -7190,6 +8098,42 @@ "dev": true, "requires": { "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } } }, "pn": { @@ -7256,9 +8200,9 @@ } }, "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "progress": { "version": "2.0.3", @@ -7317,9 +8261,9 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", + "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==" }, "pug": { "version": "2.0.4", @@ -7541,10 +8485,10 @@ "ms": "^2.1.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true }, "ws": { @@ -7568,42 +8512,19 @@ } }, "qs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.6.0.tgz", - "integrity": "sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA==" - }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==" }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - } } }, "rc": { @@ -7657,27 +8578,63 @@ } } }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", @@ -7690,13 +8647,6 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } } }, "realpath-native": { @@ -7853,9 +8803,9 @@ } }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.2.tgz", + "integrity": "sha512-cAVTI2VLHWYsGOirfeYVVQ7ZDejtQ9fp4YhYckWDEkFfqbVjaT11iM8k6xSAfGFMM+gDpZjMnFssPu8we+mqFw==", "requires": { "path-parse": "^1.0.6" } @@ -7867,6 +8817,14 @@ "dev": true, "requires": { "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } } }, "resolve-dir": { @@ -7880,9 +8838,9 @@ } }, "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve-path": { @@ -7905,6 +8863,11 @@ "statuses": ">= 1.4.0 < 2" } }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -7950,9 +8913,9 @@ } }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { "glob": "^7.1.3" } @@ -7985,9 +8948,9 @@ "dev": true }, "rxjs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.1.tgz", - "integrity": "sha512-y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz", + "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -8027,6 +8990,144 @@ "micromatch": "^3.1.4", "minimist": "^1.1.1", "walker": "~1.0.5" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, "sax": { @@ -8042,9 +9143,9 @@ "optional": true }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "set-blocking": { "version": "2.0.0", @@ -8098,18 +9199,18 @@ } }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" } }, "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shelljs": { @@ -8145,9 +9246,9 @@ "dev": true }, "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "slice-ansi": { @@ -8203,6 +9304,12 @@ "is-descriptor": "^0.1.0" } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -8427,6 +9534,25 @@ "nan": "^2.12.1", "node-pre-gyp": "^0.11.0", "request": "^2.87.0" + }, + "dependencies": { + "node-pre-gyp": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", + "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + } } }, "sshpk": { @@ -8466,23 +9592,6 @@ "wait-on": "3.3.0" }, "dependencies": { - "bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -8524,10 +9633,10 @@ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "npm-run-path": { @@ -8553,36 +9662,6 @@ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, @@ -8767,9 +9846,9 @@ } }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -8782,13 +9861,13 @@ "dev": true }, "table": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", - "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "requires": { - "ajv": "^6.9.1", - "lodash": "^4.17.11", + "ajv": "^6.10.2", + "lodash": "^4.17.14", "slice-ansi": "^2.1.0", "string-width": "^3.0.0" }, @@ -8834,24 +9913,17 @@ "dev": true }, "tar": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - }, - "dependencies": { - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" - } + "yallist": "^3.0.3" } }, "test-exclude": { @@ -8971,13 +10043,12 @@ } }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "toidentifier": { @@ -9023,11 +10094,16 @@ "dev": true }, "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", "dev": true }, + "tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -9051,12 +10127,12 @@ } }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -9089,15 +10165,6 @@ "requires": { "commander": "~2.20.3", "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true - } } }, "uglify-to-browserify": { @@ -9107,14 +10174,6 @@ "dev": true, "optional": true }, - "uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", - "requires": { - "random-bytes": "~1.0.0" - } - }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -9142,7 +10201,8 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true }, "unpipe": { "version": "1.0.0", @@ -9186,12 +10246,6 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true } } }, @@ -9204,9 +10258,9 @@ } }, "urijs": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz", - "integrity": "sha512-xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==" + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.2.tgz", + "integrity": "sha512-s/UIq9ap4JPZ7H1EB5ULo/aOUbWqfDi7FKzMC2Nz+0Si8GiT1rIEaprt8hy3Vy2Ex2aJPpOQv4P4DuOZ+K1c6w==" }, "urix": { "version": "0.1.0", @@ -9236,9 +10290,9 @@ } }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" }, "v8-to-istanbul": { "version": "3.2.6", @@ -9310,6 +10364,14 @@ "minimist": "^1.2.0", "request": "^2.88.0", "rx": "^4.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "wait-port": { @@ -9337,12 +10399,6 @@ "requires": { "ms": "^2.1.1" } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true } } }, @@ -9368,17 +10424,6 @@ "dev": true, "requires": { "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } } }, "whatwg-mimetype": { @@ -9462,6 +10507,12 @@ } } }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", @@ -9589,17 +10640,18 @@ "dev": true }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "yargs": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", - "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz", + "integrity": "sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==", "dev": true, "requires": { "cliui": "^5.0.0", + "decamelize": "^1.2.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", @@ -9608,7 +10660,7 @@ "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.1" + "yargs-parser": "^15.0.0" }, "dependencies": { "ansi-regex": { @@ -9617,12 +10669,46 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -9642,6 +10728,16 @@ "requires": { "ansi-regex": "^4.1.0" } + }, + "yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -9753,13 +10849,6 @@ "ctype": "0.5.3" } }, - "mime": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", - "dev": true, - "optional": true - }, "mime-types": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", diff --git a/package.json b/package.json index 30a5e82..d22fcd2 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "jsdoc": "node_modules/.bin/jsdoc -c jsdoc.conf", "linter": "node_modules/.bin/eslint .", "test": "./node_modules/.bin/jest --coverage", - "acceptance": "./test.sh" + "acceptance": "acceptanceTests/scripts/test.sh" }, "author": "", "license": "ISC", From 22cf7a5dd81361828be9c238abc137f4188abe5f Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 23 Nov 2019 19:23:51 +0000 Subject: [PATCH 23/41] Renamed Test Dir --- acceptanceTests/{ui.spec.js => login.test.js} | 0 {unit tests => unitTests}/user.spec.js | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename acceptanceTests/{ui.spec.js => login.test.js} (100%) rename {unit tests => unitTests}/user.spec.js (100%) diff --git a/acceptanceTests/ui.spec.js b/acceptanceTests/login.test.js similarity index 100% rename from acceptanceTests/ui.spec.js rename to acceptanceTests/login.test.js diff --git a/unit tests/user.spec.js b/unitTests/user.spec.js similarity index 100% rename from unit tests/user.spec.js rename to unitTests/user.spec.js From ad62b49a90c70d9fe1ff0335bfa4f65b5b4e8cf1 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 23 Nov 2019 19:43:35 +0000 Subject: [PATCH 24/41] Updated the Linter Config --- .eslintignore | 4 ++++ .eslintrc.json | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..3854769 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ + +docs/** +node_modules/** +coverage/** diff --git a/.eslintrc.json b/.eslintrc.json index 6c375b1..aff04a8 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -8,7 +8,9 @@ "jest": true }, "parserOptions": { - "ecmaVersion": 8 + "ecmaVersion": 2018, + "noInlineConfig": true, + "reportUnusedDisableDirectives": true }, "rules": { "arrow-body-style": "error", @@ -60,7 +62,7 @@ "space-before-function-paren": ["error", "never"], "strict": ["error", "global"], "yoda": "error" - }, + }, "overrides": [{ "files": [ "*.test.js", "*.spec.js", "*.steps.js" ], "rules": { From 4737d1ce7551d6d85450fa88b6fbe6cbc6743ae4 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 23 Nov 2019 19:44:19 +0000 Subject: [PATCH 25/41] Limit Test Scripts to Directory --- acceptanceTests/scripts/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acceptanceTests/scripts/test.sh b/acceptanceTests/scripts/test.sh index 96ffb5c..42e63c6 100755 --- a/acceptanceTests/scripts/test.sh +++ b/acceptanceTests/scripts/test.sh @@ -6,6 +6,6 @@ mkdir -p screenshots mkdir -p trace # [ ! -d "node_modules" ] && echo "INSTALLING MODULES" && npm install node index.js& -node_modules/.bin/jest --runInBand --detectOpenHandles +node_modules/.bin/jest --runInBand --detectOpenHandles acceptanceTests/* read -p "Press enter to continue" kill %1 From 18a71519564acd13dfb2fcdb6d26de49996b9eb0 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sat, 23 Nov 2019 19:44:31 +0000 Subject: [PATCH 26/41] Cleaned Up Code --- jest-test.config.js | 2 +- modules/user.js | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/jest-test.config.js b/jest-test.config.js index c9e2d11..85c8e34 100644 --- a/jest-test.config.js +++ b/jest-test.config.js @@ -4,7 +4,7 @@ module.exports = { displayName: 'test', verbose: true, collectCoverage: true, - "preset": 'jest-puppeteer', + 'preset': 'jest-puppeteer', coverageThreshold: { global: { branches: 0, diff --git a/modules/user.js b/modules/user.js index 1bebdc3..d2aec41 100644 --- a/modules/user.js +++ b/modules/user.js @@ -3,7 +3,7 @@ const bcrypt = require('bcrypt-promise') // const fs = require('fs-extra') -const mime = require('mime-types') +// const mime = require('mime-types') const sqlite = require('sqlite-async') const saltRounds = 10 @@ -35,12 +35,12 @@ module.exports = class User { } } - async uploadPicture(path, mimeType) { - const extension = mime.extension(mimeType) - console.log(`path: ${path}`) - console.log(`extension: ${extension}`) - //await fs.copy(path, `public/avatars/${username}.${fileExtension}`) - } + // async uploadPicture(path, mimeType) { + // const extension = mime.extension(mimeType) + // console.log(`path: ${path}`) + // console.log(`extension: ${extension}`) + // //await fs.copy(path, `public/avatars/${username}.${fileExtension}`) + // } async login(username, password) { try { @@ -56,7 +56,7 @@ module.exports = class User { throw err } } - + async tearDown() { await this.db.close() } From 72409c069137b02a259baed5f0f84f0aa15f4836 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 09:00:12 +0000 Subject: [PATCH 27/41] Added a Hook --- .githooks/pre-merge-commit | 4 ++++ .githooks/prepare-commit-msg | 34 ++++++++++++++++++++++++++++++++++ README.md | 25 ++++++++++++++++++++++++- 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100755 .githooks/pre-merge-commit create mode 100755 .githooks/prepare-commit-msg diff --git a/.githooks/pre-merge-commit b/.githooks/pre-merge-commit new file mode 100755 index 0000000..128c360 --- /dev/null +++ b/.githooks/pre-merge-commit @@ -0,0 +1,4 @@ +#!/bin/sh + +set -e # using the options command to abort script at first error +echo "running the 'pre-merge-commit' script" diff --git a/.githooks/prepare-commit-msg b/.githooks/prepare-commit-msg new file mode 100755 index 0000000..aeb502f --- /dev/null +++ b/.githooks/prepare-commit-msg @@ -0,0 +1,34 @@ +#!/bin/sh + +# With thanks to Sergio Vaccaro + +set -e # using the options command to abort script at first error +echo "running the 'prepare-commit-msg' script" + +# Branch to protect +PROTECTED_BRANCH="master" + +# Remote +REMOTE="" + +# Check for merges +if [[ $2 != 'merge' ]]; then + # Not a merge + exit 0 +fi + +# Current branch +CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) + +# Check if in PROTECTED_BRANCH +if [[ "$CURRENT_BRANCH" != "$PROTECTED_BRANCH" ]]; then + # Not in PROTECTED_BRANCH: can proceed + exit 0 +fi + +echo "you are trying to merge the ${CURRENT_BRANCH} branch into the ${PROTECTED_BRANCH} branch" +echo "merging branches to master must be done by creating a pull request" +echo "this merge has been cancelled however you will need to" +echo "reset the operation before continuing by running git reset --merge" + +exit 1 diff --git a/README.md b/README.md index 5f4a892..3797505 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,29 @@ Your private repository on GitHub will now contain a complete copy of this templ Clone your private repository -Change your [local config settings](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup). This is a vital step otherwise your commits won't show on the GitHub _graph_ and your grade will be affected. +## Local Config Settings + +Before you make any commits you need to update the [local config settings](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup). Start by using the Terminal (or Git Bash on Windows) navigate inside the project. Once you are in this directory run the following commands, substituting you name as it appears on your ID badge and your university email address (without the `uni.` domain prefix). + +```bash +git config user.name 'John Doe' +git config user.email 'doej@coventry.ac.uk' +git config core.hooksPath .githooks +git config --add merge.ff false +``` Start working on the assignment. Remember to install all the dependencies listed in the `package.json` file. + +## Feature Branching + +You should not be committing directly to the **master** branch, instead each task or activity you complete should be in its own _feature branch_. You should following the following steps: + +1. Log onto GitHub and add an issue to the _issue tracker_, this is your _todo_list. +2. Create a local feature branch making sure that the name of the branch includes both the issue _number_ and _title_ (in lower case). + 1. For example: `git checkout -b iss023/fix-login-bug`. +3. When the task is complete and all the tests pass, push the feature branch to GitHub. + 1. For example `git push origin iss023/fix-login-bug` would push the branch named above. + 2. Switch back to the _master_ branch with `git checkout master`. +4. Back on GitHub raise a **Pull Request** that merges this feature branch to the _master_ branch. +5. If there are no issues you can then merge the branch using the button in the _Pull Request_ interface. +6. Pull the latest version of the master branch code using `git pull origin master`. From 3fa10659cc2d95b17cd4e11aaab91a4059057386 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 09:10:54 +0000 Subject: [PATCH 28/41] Checking Shell Variables --- .githooks/prepare-commit-msg | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.githooks/prepare-commit-msg b/.githooks/prepare-commit-msg index aeb502f..ee55472 100755 --- a/.githooks/prepare-commit-msg +++ b/.githooks/prepare-commit-msg @@ -11,18 +11,34 @@ PROTECTED_BRANCH="master" # Remote REMOTE="" +if [ -n "$1" ]; then + echo "1: ${1}" +fi +if [ -n "$2" ]; then + echo "1: ${2}" +fi +if [ -n "$3" ]; then + echo "1: ${3}" +fi +if [ -n "$4" ]; then + echo "1: ${4}" +fi + # Check for merges if [[ $2 != 'merge' ]]; then # Not a merge + ECHO "not a merge" exit 0 fi # Current branch CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) +echo CURRENT_BRANCH # Check if in PROTECTED_BRANCH if [[ "$CURRENT_BRANCH" != "$PROTECTED_BRANCH" ]]; then # Not in PROTECTED_BRANCH: can proceed + ECHO "not in the ${PROTECTED_BRANCH} branch" exit 0 fi From 60c0f93d8982b4e5d12e41577f38897b70ff7662 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 09:16:33 +0000 Subject: [PATCH 29/41] Explained Listing Branches --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3797505..c1ee59f 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ You should not be committing directly to the **master** branch, instead each tas 1. Log onto GitHub and add an issue to the _issue tracker_, this is your _todo_list. 2. Create a local feature branch making sure that the name of the branch includes both the issue _number_ and _title_ (in lower case). 1. For example: `git checkout -b iss023/fix-login-bug`. + 2. You can see a list of all the local branches using `git branch`. 3. When the task is complete and all the tests pass, push the feature branch to GitHub. 1. For example `git push origin iss023/fix-login-bug` would push the branch named above. 2. Switch back to the _master_ branch with `git checkout master`. From a8a2ea0674f7272f9a46ea2f67155a9cedb561b6 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 09:46:36 +0000 Subject: [PATCH 30/41] Detecting Bad Branch Names --- .githooks/pre-commit | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index eb642eb..73f0404 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -2,4 +2,28 @@ set -e # using the options command to abort script at first error echo "running the 'pre-commit' script" + +branch="$(git rev-parse --abbrev-ref HEAD)" + +echo "you are trying to commit to the '$branch' branch" + +if [ "$branch" = "master" ]; then + echo " You can't commit directly to the master branch" + exit 1 +fi + +# check for valid branch name: + +# valid_branch_regex="^iss\d{3}\/[a-z\-]+$" + +# if [[ ! $local_branch =~ $valid_branch_regex ]] +# then +# echo "invalid branch name" +# echo " format is: 'iss000/issue-name'" +# echo " replacing '000' with the issue number and 'issue-name' with the issue name" +# echo " only lower-case letters and replace spaces in the issue name with dashes" +# echo " rename your branch and try again" +# exit 1 +# fi + ./node_modules/.bin/eslint . From 95c04d28714bd8146c96f34d5497386dae283d5d Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 09:47:52 +0000 Subject: [PATCH 31/41] Added Instructions --- .githooks/pre-commit | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 73f0404..778b982 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -8,7 +8,8 @@ branch="$(git rev-parse --abbrev-ref HEAD)" echo "you are trying to commit to the '$branch' branch" if [ "$branch" = "master" ]; then - echo " You can't commit directly to the master branch" + echo " you can't commit directly to the master branch" + echo " create a local feature branch first" exit 1 fi From 0d77529066c8b2368e3b32f198c96252c2e04fef Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 09:58:58 +0000 Subject: [PATCH 32/41] Added a pre-push Hook --- .githooks/pre-push | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 .githooks/pre-push diff --git a/.githooks/pre-push b/.githooks/pre-push new file mode 100755 index 0000000..d8d7080 --- /dev/null +++ b/.githooks/pre-push @@ -0,0 +1,17 @@ +#!/bin/sh + +echo "running the 'pre-push' hook" + +protected_branch='master' +current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,') + +if [ $protected_branch = $current_branch ] +then + read -p "You're about to push master, is that what you intended? [y|n] " -n 1 -r < /dev/tty + echo + if echo $REPLY | grep -E '^[Yy]$' > /dev/null + then + exit 0 # push will execute + fi + exit 1 # push will not execute +fi From 34a355e80214f8dd17f207dab4dfa22ba5fc41a7 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 10:01:39 +0000 Subject: [PATCH 33/41] Cleaned Up Hooks --- .githooks/post-commit | 2 +- .githooks/pre-commit | 6 +++--- .githooks/pre-push | 2 +- .githooks/prepare-commit-msg | 25 ++++++------------------- 4 files changed, 11 insertions(+), 24 deletions(-) diff --git a/.githooks/post-commit b/.githooks/post-commit index 1dd5e6e..73bcf13 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -2,4 +2,4 @@ set -e # using the options command to abort script at first error echo "running the 'post-commit' script" -./node_modules/.bin/markdownlint --ignore node_modules . +# ./node_modules/.bin/markdownlint --ignore node_modules . diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 778b982..7a3e981 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -5,11 +5,11 @@ echo "running the 'pre-commit' script" branch="$(git rev-parse --abbrev-ref HEAD)" -echo "you are trying to commit to the '$branch' branch" +echo " you are trying to commit to the '$branch' branch" if [ "$branch" = "master" ]; then - echo " you can't commit directly to the master branch" - echo " create a local feature branch first" + echo " you can't commit directly to the master branch" + echo " create a local feature branch first" exit 1 fi diff --git a/.githooks/pre-push b/.githooks/pre-push index d8d7080..d9726d5 100755 --- a/.githooks/pre-push +++ b/.githooks/pre-push @@ -7,7 +7,7 @@ current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,') if [ $protected_branch = $current_branch ] then - read -p "You're about to push master, is that what you intended? [y|n] " -n 1 -r < /dev/tty + read -p " You're about to push master, is that what you intended? [y|n] " -n 1 -r < /dev/tty echo if echo $REPLY | grep -E '^[Yy]$' > /dev/null then diff --git a/.githooks/prepare-commit-msg b/.githooks/prepare-commit-msg index ee55472..f8e5caa 100755 --- a/.githooks/prepare-commit-msg +++ b/.githooks/prepare-commit-msg @@ -11,23 +11,10 @@ PROTECTED_BRANCH="master" # Remote REMOTE="" -if [ -n "$1" ]; then - echo "1: ${1}" -fi -if [ -n "$2" ]; then - echo "1: ${2}" -fi -if [ -n "$3" ]; then - echo "1: ${3}" -fi -if [ -n "$4" ]; then - echo "1: ${4}" -fi - # Check for merges if [[ $2 != 'merge' ]]; then # Not a merge - ECHO "not a merge" + ECHO " not a merge" exit 0 fi @@ -38,13 +25,13 @@ echo CURRENT_BRANCH # Check if in PROTECTED_BRANCH if [[ "$CURRENT_BRANCH" != "$PROTECTED_BRANCH" ]]; then # Not in PROTECTED_BRANCH: can proceed - ECHO "not in the ${PROTECTED_BRANCH} branch" + ECHO " not in the ${PROTECTED_BRANCH} branch" exit 0 fi -echo "you are trying to merge the ${CURRENT_BRANCH} branch into the ${PROTECTED_BRANCH} branch" -echo "merging branches to master must be done by creating a pull request" -echo "this merge has been cancelled however you will need to" -echo "reset the operation before continuing by running git reset --merge" +echo " you are trying to merge the ${CURRENT_BRANCH} branch into the ${PROTECTED_BRANCH} branch" +echo " merging branches to master must be done by creating a pull request" +echo " this merge has been cancelled however you will need to" +echo " reset the operation before continuing by running git reset --merge" exit 1 From 73d2515a9acbe20c8d6bf49846c01127b9f6dd18 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 11:21:39 +0000 Subject: [PATCH 34/41] Checking for Valid Config --- .githooks/pre-commit | 17 ++++++++++++++++- README.md | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 7a3e981..189d956 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -1,7 +1,22 @@ #!/bin/sh set -e # using the options command to abort script at first error -echo "running the 'pre-commit' script" +echo "PRE-COMMIT" + +EMAIL=$(git config user.email) +echo $EMAIL + +if [[ $EMAIL != *"@coventry.ac.uk" ]]; then + echo " invalid config settings" + echo " please input your university username:" + read username + echo " you entered $username" + git config user.email $username@coventry.ac.uk + echo " please input your name as it appears on your student ID card:" + read name + echo " you entered $name" + git config user.name '$name' +fi branch="$(git rev-parse --abbrev-ref HEAD)" diff --git a/README.md b/README.md index c1ee59f..959785c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Assignment Template + This repository contains the base files for the assignment. You will need to create a _private duplicate_ in your module organisation. Carry out the following steps, taken from the [GitHub documentation](https://help.github.com/en/enterprise/2.16/user/articles/duplicating-a-repository): Temporarily clone this repository to your development computer. This will create a directory on your computer called `temp` which contains the repository files: From d3c3c5ba078d649afb7384a2d28ee20af8dc62ef Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 11:23:50 +0000 Subject: [PATCH 35/41] Cleaned Up Hook Titles --- .githooks/post-commit | 3 ++- .githooks/pre-commit | 1 + .githooks/pre-push | 3 ++- .githooks/prepare-commit-msg | 3 ++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.githooks/post-commit b/.githooks/post-commit index 73bcf13..30cf412 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -1,5 +1,6 @@ #!/bin/sh set -e # using the options command to abort script at first error -echo "running the 'post-commit' script" +echo +echo "POST-COMMIT" # ./node_modules/.bin/markdownlint --ignore node_modules . diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 189d956..5a29bd9 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -1,6 +1,7 @@ #!/bin/sh set -e # using the options command to abort script at first error +echo echo "PRE-COMMIT" EMAIL=$(git config user.email) diff --git a/.githooks/pre-push b/.githooks/pre-push index d9726d5..b99229a 100755 --- a/.githooks/pre-push +++ b/.githooks/pre-push @@ -1,6 +1,7 @@ #!/bin/sh -echo "running the 'pre-push' hook" +echo +echo "PRE-PUSH" protected_branch='master' current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,') diff --git a/.githooks/prepare-commit-msg b/.githooks/prepare-commit-msg index f8e5caa..bd02a0a 100755 --- a/.githooks/prepare-commit-msg +++ b/.githooks/prepare-commit-msg @@ -3,7 +3,8 @@ # With thanks to Sergio Vaccaro set -e # using the options command to abort script at first error -echo "running the 'prepare-commit-msg' script" +echo +echo "PREPARE-COMMIT-MSG" # Branch to protect PROTECTED_BRANCH="master" From 59f7b5864bf69aabc17d71244340e3478ac1134d Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 14:54:51 +0000 Subject: [PATCH 36/41] Added Notes --- .githooks/pre-commit | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 5a29bd9..1afe9df 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -5,18 +5,16 @@ echo echo "PRE-COMMIT" EMAIL=$(git config user.email) -echo $EMAIL +echo "Your registered email is currently '$EMAIL'" if [[ $EMAIL != *"@coventry.ac.uk" ]]; then echo " invalid config settings" - echo " please input your university username:" - read username - echo " you entered $username" - git config user.email $username@coventry.ac.uk - echo " please input your name as it appears on your student ID card:" - read name - echo " you entered $name" - git config user.name '$name' + echo " please run the following git commands:" + echo " $ git config user.email xxx@coventry.ac.uk" + echo " $ git config user.name 'zzz'" + echo " where 'xxx' is your university username" + echo " and 'zzz' is your name as it appears on your university ID badge" + return 1 fi branch="$(git rev-parse --abbrev-ref HEAD)" From 1b0ffc04970f3a1381b8e940f4120010d59e4b99 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 14:56:02 +0000 Subject: [PATCH 37/41] Cleaned Up Hook Code --- .githooks/post-commit | 1 + .githooks/pre-commit | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.githooks/post-commit b/.githooks/post-commit index 30cf412..a71bdcb 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -4,3 +4,4 @@ set -e # using the options command to abort script at first error echo echo "POST-COMMIT" # ./node_modules/.bin/markdownlint --ignore node_modules . +echo diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 1afe9df..d0fdf7f 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -5,16 +5,17 @@ echo echo "PRE-COMMIT" EMAIL=$(git config user.email) -echo "Your registered email is currently '$EMAIL'" if [[ $EMAIL != *"@coventry.ac.uk" ]]; then echo " invalid config settings" + echo " Your registered email is currently '$EMAIL'" echo " please run the following git commands:" echo " $ git config user.email xxx@coventry.ac.uk" echo " $ git config user.name 'zzz'" echo " where 'xxx' is your university username" echo " and 'zzz' is your name as it appears on your university ID badge" - return 1 + echo + exit 1 fi branch="$(git rev-parse --abbrev-ref HEAD)" From 5625b7641da04e38e0f118e668feef682ad14898 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 14:57:40 +0000 Subject: [PATCH 38/41] Added Success Message --- .githooks/pre-commit | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index d0fdf7f..c8593af 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -20,7 +20,7 @@ fi branch="$(git rev-parse --abbrev-ref HEAD)" -echo " you are trying to commit to the '$branch' branch" +echo " attempting to commit to the '$branch' branch" if [ "$branch" = "master" ]; then echo " you can't commit directly to the master branch" @@ -43,3 +43,5 @@ fi # fi ./node_modules/.bin/eslint . + +echo " commit successful..." From 3e6c77ac5cc116c2345976773997921140ccd19a Mon Sep 17 00:00:00 2001 From: "Mark Tyers (aa7401)" Date: Sun, 24 Nov 2019 15:13:09 +0000 Subject: [PATCH 39/41] Revised Workflow Steps --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 959785c..daa7951 100644 --- a/README.md +++ b/README.md @@ -37,13 +37,16 @@ Start working on the assignment. Remember to install all the dependencies listed You should not be committing directly to the **master** branch, instead each task or activity you complete should be in its own _feature branch_. You should following the following steps: -1. Log onto GitHub and add an issue to the _issue tracker_, this is your _todo_list. +1. Log onto GitHub and add an issue to the _issue tracker_, this is your _todo_ list. 2. Create a local feature branch making sure that the name of the branch includes both the issue _number_ and _title_ (in lower case). 1. For example: `git checkout -b iss023/fix-login-bug`. 2. You can see a list of all the local branches using `git branch`. -3. When the task is complete and all the tests pass, push the feature branch to GitHub. +3. As you work on the issue make your local commits by: + 1. staging the files with `git add --all`. + 2. committing with the `no-ff` flag, eg. `git commit --no-ff -m 'detailed commit message here'`. +4. When the task is complete and all the tests pass, push the feature branch to GitHub. 1. For example `git push origin iss023/fix-login-bug` would push the branch named above. 2. Switch back to the _master_ branch with `git checkout master`. -4. Back on GitHub raise a **Pull Request** that merges this feature branch to the _master_ branch. +5. Back on GitHub raise a **Pull Request** that merges this feature branch to the _master_ branch. 5. If there are no issues you can then merge the branch using the button in the _Pull Request_ interface. 6. Pull the latest version of the master branch code using `git pull origin master`. From d7fb2144ad07b5b3ef93d12de9d2a5a8be719d13 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 22:22:43 +0000 Subject: [PATCH 40/41] Added Check for Merge to Master --- .githooks/pre-commit | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index 5a29bd9..f59b810 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -7,25 +7,38 @@ echo "PRE-COMMIT" EMAIL=$(git config user.email) echo $EMAIL +# make sure the user has registered a valid university email address if [[ $EMAIL != *"@coventry.ac.uk" ]]; then echo " invalid config settings" - echo " please input your university username:" - read username - echo " you entered $username" - git config user.email $username@coventry.ac.uk - echo " please input your name as it appears on your student ID card:" - read name - echo " you entered $name" - git config user.name '$name' + echo " Your registered email is currently '$EMAIL'" + echo " please run the following git commands:" + echo " $ git config user.email xxx@coventry.ac.uk" + echo " $ git config user.name 'zzz'" + echo " where 'xxx' is your university username" + echo " and 'zzz' is your name as it appears on your university ID badge" + echo + exit 1 fi +# see if the user is trying to merge a branch into master branch="$(git rev-parse --abbrev-ref HEAD)" +if [[ $2 == 'merge' ]]; then + echo "merging branch" + if [[ "$branch" == "master" ]]; then + echo " trying to merge into the 'master' branch" + echo " you should push the local branch to GitHub" + echo " and merge to master using a pull request" + echo + exit 1 + fi +fi +# see if the user is trying to commit to the master branch echo " you are trying to commit to the '$branch' branch" - if [ "$branch" = "master" ]; then echo " you can't commit directly to the master branch" echo " create a local feature branch first" + echo exit 1 fi From 85ed47f3cd1f4b76e3e56afcb10dae7bd42c8755 Mon Sep 17 00:00:00 2001 From: Mark Tyers Date: Sun, 24 Nov 2019 22:26:30 +0000 Subject: [PATCH 41/41] Cleaned Up Hooks --- .githooks/post-commit | 1 + .githooks/prepare-commit-msg | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.githooks/post-commit b/.githooks/post-commit index 30cf412..36ee006 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -4,3 +4,4 @@ set -e # using the options command to abort script at first error echo echo "POST-COMMIT" # ./node_modules/.bin/markdownlint --ignore node_modules . +echo \ No newline at end of file diff --git a/.githooks/prepare-commit-msg b/.githooks/prepare-commit-msg index bd02a0a..60c7dec 100755 --- a/.githooks/prepare-commit-msg +++ b/.githooks/prepare-commit-msg @@ -21,7 +21,6 @@ fi # Current branch CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) -echo CURRENT_BRANCH # Check if in PROTECTED_BRANCH if [[ "$CURRENT_BRANCH" != "$PROTECTED_BRANCH" ]]; then @@ -30,9 +29,9 @@ if [[ "$CURRENT_BRANCH" != "$PROTECTED_BRANCH" ]]; then exit 0 fi -echo " you are trying to merge the ${CURRENT_BRANCH} branch into the ${PROTECTED_BRANCH} branch" +echo " you are trying to merge into the ${PROTECTED_BRANCH} branch" echo " merging branches to master must be done by creating a pull request" echo " this merge has been cancelled however you will need to" echo " reset the operation before continuing by running git reset --merge" - +echo exit 1