From c01848363ecce34294ba1deabace9d7529732361 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 10:24:51 -0400 Subject: [PATCH 001/385] No longer relying on the icon provided by the google notification. --- src/background.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/background.js b/src/background.js index f5e6e91f..8e54234c 100644 --- a/src/background.js +++ b/src/background.js @@ -185,7 +185,7 @@ if (!isFirstInstance) { trayManager.startIfEnabled(); app.mainWindow = mainWindow; // Quick and dirty way for renderer process to access mainWindow for communication - + mainWindow.on('focus', () => { if (IS_MAC) { state.unreadNotificationCount = 0; @@ -215,7 +215,12 @@ if (!isFirstInstance) { * This would likely also require copying computed style properties into the element to ensure it looks right. * There also appears to be a library: http://html2canvas.hertzen.com */ - icon: msg.options.icon, + /* + * Google's image for notifications was not working for some reason. I do not + * know what broke it (and I do not really care) but I am going to assume a security header. + * I am going to use one of the icons in the resources folder because it is convienet. + */ + icon: path.resolve(__dirname, "..", "resources", "icons", "64x64.png"), body: msg.options.body, }; notificationOpts.silent = !(state.notificationSoundEnabled); From b0e5c7fbbf8c6014a0b736b6ccdf223302078540 Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Fri, 5 Jun 2020 14:26:00 +0000 Subject: [PATCH 002/385] [ImgBot] Optimize images *Total -- 652.52kb -> 451.39kb (30.82%) /assets/screenshots/1.png -- 473.95kb -> 301.53kb (36.38%) /resources/tray/icon_macTemplate.png -- 0.64kb -> 0.43kb (32.87%) /resources/tray/icon_macTemplate@2x.png -- 0.87kb -> 0.62kb (28.86%) /resources/icons/48x48.png -- 1.82kb -> 1.33kb (26.85%) /resources/icons/256x256.png -- 10.17kb -> 7.48kb (26.49%) /resources/icons/128x128.png -- 4.88kb -> 3.66kb (25%) /resources/icons/64x64.png -- 2.40kb -> 1.82kb (24.23%) /resources/icons/32x32.png -- 1.30kb -> 1.01kb (22.66%) /resources/tray/icon@2x.png -- 1.30kb -> 1.01kb (22.66%) /resources/icons/16x16.png -- 0.76kb -> 0.59kb (21.82%) /resources/tray/icon.png -- 0.76kb -> 0.59kb (21.82%) /resources/icons/24x24.png -- 1.01kb -> 0.80kb (20.16%) /assets/screenshots/mac_notification_badge.png -- 25.75kb -> 21.02kb (18.34%) /resources/icons/1024x1024.png -- 47.57kb -> 40.52kb (14.81%) /assets/android_messages_desktop_icon.png -- 47.57kb -> 40.52kb (14.81%) /resources/icons/512x512.png -- 31.78kb -> 28.46kb (10.45%) Signed-off-by: ImgBotApp --- assets/android_messages_desktop_icon.png | Bin 48708 -> 41493 bytes assets/screenshots/1.png | Bin 485327 -> 308769 bytes assets/screenshots/mac_notification_badge.png | Bin 26363 -> 21527 bytes resources/icons/1024x1024.png | Bin 48708 -> 41493 bytes resources/icons/128x128.png | Bin 4996 -> 3747 bytes resources/icons/16x16.png | Bin 779 -> 609 bytes resources/icons/24x24.png | Bin 1032 -> 824 bytes resources/icons/256x256.png | Bin 10413 -> 7655 bytes resources/icons/32x32.png | Bin 1333 -> 1031 bytes resources/icons/48x48.png | Bin 1862 -> 1362 bytes resources/icons/512x512.png | Bin 32542 -> 29141 bytes resources/icons/64x64.png | Bin 2460 -> 1864 bytes resources/tray/icon.png | Bin 779 -> 609 bytes resources/tray/icon@2x.png | Bin 1333 -> 1031 bytes resources/tray/icon_macTemplate.png | Bin 654 -> 439 bytes resources/tray/icon_macTemplate@2x.png | Bin 887 -> 631 bytes 16 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/android_messages_desktop_icon.png b/assets/android_messages_desktop_icon.png index 35a1793cdc4c31e2ad046daaca88ddc2b1fd4cb0..19b2ba3e69be9ad0fe4c4d9312c600a7265ee1b2 100644 GIT binary patch literal 41493 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
cybb(+Hm>=FF4MW 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 P1p|YptDnm{r-UW|xV6en literal 48708 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

oY$X@uX2;HxWfE_yMmSrQi$>iCv#Z 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

J6`SSj!2i6ZY-cSbWq|rwCmhYLY{Y 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
_^rT#O8Opu3$LQFTsO2iZf?8Be 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%0A{rMsW|b%g}4L-y=i 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π5zS7G$=R?u>kJDKLrFQP2(2)@x6 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%0Af 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ⓈHQ-Fm1>KE;!_D1h%iR>0&so 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 diff --git a/assets/screenshots/mac_notification_badge.png b/assets/screenshots/mac_notification_badge.png index ee23a2cd4fa70f6a347b28a89dec19ab66ed3bff..4096447771abf2c9f9108bc64fb19750f505e391 100644 GIT binary patch delta 18933 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 Uc^4a%xBvhE07*qoM6N<$f+K}-!~g&Q delta 23807 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 z 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 diff --git a/resources/icons/1024x1024.png b/resources/icons/1024x1024.png index 35a1793cdc4c31e2ad046daaca88ddc2b1fd4cb0..19b2ba3e69be9ad0fe4c4d9312c600a7265ee1b2 100644 GIT binary patch literal 41493 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
cybb(+Hm>=FF4MW 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 P1p|YptDnm{r-UW|xV6en literal 48708 zcmeEt_dnI|ANTv5)4{Q`WyZ0$>|Gj;oy^F{%9gzyrBp-?G7>5hWo4IfB9yG`j2wir zNA|j}qtEyL?fwt$9z1Z3*Lc3>bzP^2hWb~i$j^{N5JZL1x@ZJJr@*hLATkp0Ba%bp zE(F1JT#U{A%=L7Y?7ck1?Hs&rI*JE*c!PNeQc(}`wzGG0^y9wi=sTThsBDi<_A-B1nA-ATNk0ZCNxSW{1l#C>|yrQ_2oTQAblqk2fq?Ejb zq^yLboS3APlB9x?v=sM$|9I5MxmA1|oRo|%UjC06_)C@NmY<)ul7vKHV4!&5IdLx^ zX9+1qMMVioX$fg*F|b0+H`vq9E=bJNmzPN5AB~HSzV<#Y-hM7#p4>#5b~nBJ{Zx5) zB#2BT{^J7FllZ^-fj|B)LXMsQ79XI$nC8W52;zn?7tb39WiE~f*W56%J6c;&o6GWT z>p+~1exlLDK8qna&HCsicacx6ZmWBZ+zGuc3JGmV*5)sjN!`Bp_two z`z*%MgCHtNne{_|{AF82X~eJnh06_%oaTz_OZO8eoW)8*V!I0yZOZB1#7QNfF$L>w zG@TDPUYxyAhS0(#pAE-wU)k zi73~u3Q82lln}O$F1-bKTu;`- zQb&80DmO^n#Ys3xIXQM!NJP=^w4b0cqjoTE44p1=i+$H!@q4!H`k%$ki036-Y4Yno z5?i8qY|mOUBWPeWa2?CEtGL|$a=>M#h0<27bm)uoPp0e&u@luBvK z+^59u!{~JlT&^y0ts_RhRHBs2o4b_8z+jz}XVyqb7oCiF#dykK%}>f(!kg4v-kZi# z46KYsV$lWko3#A9`*4cO4XW5xhej5uRHY%v`^y(+o#tp0cpzOncJxX^{j=3p1O}&c zAM6lXnx*4+q^Q~n5ZC`ZzkPmTHe4Hr5LjoNh)T`aqhF&QbvQHCMe*r_qu^$i?a z_8t+4tK-pp2LezVqHVGvyucLM^h}f*5@+A7HNi_%?HrKUU<5I)SmH|4`e=cD0l2{F zryJWB_0W!er>d;^N~20W2#rz4XW!A8bMd943wSLcEnL9si{@R&R!z~zx0$2 zlRXW6DEgzjYsnEpZm(f;@nMDdrD$maDgH6uunqvl0tgDJzoz9skT`WjX)vF|#Tk-V83>+w+7io;ab*TZYOg|Ind8E;kPOqUiOF>IQK|7^_fe!|)-+)>HM}>) zF-8^ylJo;|)*6bM1yfL1~60VX3R_=O;wDF|5Q8cwUlPntR-h zN{UF`(sBLFPI%0lodQIA7A=NYm~H`9X@_gzl=>71yV02Aji{rV+i1uBi-Z*3>`MGL z$`QXEC41TzBnw+2F?$|we!JetGd=VGlFUD(U97wAPz0qFX&9;bX{l7SOB_+r@m7R0 zJ@vd&dTE;t?&iW-2AnheF5V!j1UA9r&ITOz$x7JM+`oVLb@v*nMM>0XRA>Z_alHi> zgIaz&qlVsjA?BtA(HLzGGoYvv16lrdBRoio^Or!uIe&!nK&)7Kvp2u`FLHYpObTOl!dW=C)`BZzwPj1b0EiYSg7 zhkj7+v5&3Km>@1$_!424H+u#z8=V3>W|m4qJ7$PL=z?8-gck_D2<7!~pjSosvyx|x zd{)X5pB7%DWuF6=k-Y-XJQa4YG=I}33JIdi$oV>CrC0MbBE{Q74+Lgz9PriLR$chf znHq{6)=8Pj?f2S7(;uQzX^V>j>5D6qh>NJ5fk`$M$#+Co6;|z3dJJ&aUAUSmw{AC8 zZodI$EI0=orFWPLVun@I{+eI-r}b%{vLR`_(%TK zizu87F};jjm$1Y9@xUjbR`R#53t|44aa)x~QjY1@JpHJrgR3IsnBwlFhaOuHCh z5}XW4KoQhqly&Tam-NsW*E}F?S$nSx9WI=red-OzHN9 zu*xZI++W>usO<+aQO8$m0=10zi7Z}@W8X$y!3M&UK$N2Wv0w4ZWZUs?QQLHwb_T$~ zLYi$yVU^n()x!ly79ck1m(SABEenNye$0#Mw1;sEQEZ($;;7*YQtjaYD})dqP}|A- zWZP-=Q>}@)t$@e8Lnu5Ov5d5SETE`^%P7&UX&Xa?WqGe8=Egg~xC`hzk!qT0J2sHt zB|TnD`(1H@NpxtpGubu|W?m3Lsr1#I&=>t_=$^t_D!S5!d6LslVlwL&E9|7c@YWR9uGlzz*jIYFV+Z*U#YpGmjECO=z?n)W$1C&CGDOkbk=| zt6la%nCD%USgnr!)US+Oac7WYh)ldE^)g5-b(|MPfPF>ly=B=N;SMN&vI^VAi$zMpPte z1WhKVVk{c76reQ8xx?C|dKEX)3UvGU7oK|hXX=5g3Ihh0Y;yyDFFJI}aiMlOnZ@ySdYyw0-O;mVV@6-`;hhvgc1VaT{j{Y|m(c!W35CxBOB3j6e z8a-xTf(#()8v|yIOQcr=2q1rflwRQ9gAXNqCERUmy~8 zY18MflU^lnQnkWmeS&NB-qMG8BE;L0?(+eV90}4*st3tHq`W5pUoky+gNDK{FKgn? z0<{gY?R5#-fGxW0~8ic?vc~pd+KGZ;TR&nk)4*j@HO`}+#?Td2f*@D=7K}fJ zUHMGSgTeVMku|0Lssrdh265ESN`gIR*^P_Myo5uen$kY6J?uXZ;P`6^joqR82pWL= zP7wy0M;sS>lz`bVG)`vqgvV^euX$b zU}@k(FnZv|pt{_D7+uz>e!5i&#{+_FYLse+b+uZ9jtHyKIX?UZZL8A9OIInlPNc|G8`*e*f=6&!|;m3-M{ zF$75s%stnRmg<>XHHk7B1qv_8QtT*tpZ~=Uj&o8spfN2LHjFDh*c2Ymx45k?9YBi# zwM*fSq@0pm0IiS&0AnjicJl8iD^L<7rZ1FDEPn>T@4>)Cm8Q(ArwJ2L%S2DY^}cx~ zX}U*dw}>vd1hx&Pp9H+DWqg5axE9BvbcXnW-vej<#1B(P#}%Pv9|CK$BMHI; zdJQ3>kK~H}=7}pRZVis@XNWk9dAvZ{0JA!CVhoZS7g*dj!G3=wpsLilsAE`HJP|pe z<}UuYTBlYpBMoLENNM%=)KyMEU{}bL+)|PZpe?utaN7))^X8RQ{x_4Z$8uLy9?Z~# znM!5Sozs(k*TEG*<$_wIM{^gu&H~UzI?u+-aj+@IBnvY^ zy?sZNGzq|a+aF=@24was7?3QUJx7F*{!TdItk-viWx5^>e1;0tq#CjsCczVX<-Qg{ z4AHiR85LVVf-6T%J7~kWlMQ0m&~dv*;$Q

oY$X@uX2;HxWfE_yMmSrQi$>iCv#Z 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

J6`SSj!2i6ZY-cSbWq|rwCmhYLY{Y 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 R{SR9J7#f)Bm+CrG{{y`ixH$j- literal 4996 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 diff --git a/resources/icons/16x16.png b/resources/icons/16x16.png index 556a522e33522f13572ecdd9bee19d5ce1e5fcf9..49906cef81c82203738dd81ac41ad2bcd4c421e2 100644 GIT binary patch literal 609 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>Mo4Zdxy?Xoc+3Qa?9({iN^3#c{FW$ZX_~P}a>yJL)fA;C+n@@KhzwzsR zbo}b8(>GrS^ga6j|9`J1&nloR1xtebfIeo5-1JK6%*)eJ+h0HXsrPon}*N>y$79ZM2b=^1natF7D-4v zaXTz1Agp>I;?&8KuruNgPFI3YE{&P`deyncDIV+1ih^@)he^)#H7N>zzxtBe6<(Pq zA4~Sdm z8c~vxSdwa$T$Bo=7>o>z40H|5bPY^H3{9+zOsz}}wG9lc3=E#t`Z%Fz$jwj5OsmAL UVYzopr02kp9eE-n*TA>HIW;5GqpB!1xXLdi zxhgx^GDXSWj?1RP3TQxXYDuC(MQ%=Bu~mhw64+cTAR8pCucQE0Qj%?}lpi<;HsXMd|v6mX?#Etue6`|dbBv$Q|HJ%WhtXi)$DCxL z2*$9+N(I(EOwSM46)?2aOZqUjA1LYf=00Flkes*qXnO6D7oUyK{x_Up6}7AXMo84> zrHdPN4460UUUI_c$gWjcaR>bNojaK;a`yZz7E5O)WP{`hmv?KNpDM;6AK&zSmx|qz4>gWE)dZB1q*Hvjlg(CzRDX3YQ0|(s zx?syXxssBpCY<+neZ9lQvXJS#c#Rp0ssEp4Q+f_A?G4MaV|Y1nLZbMpc?wd2DoI=~ zIto&GzU7oy-+%J!;NlqGm1aya4~1D6zpM72UA)WpuJL4zM(#DoWftf)T25A2V#}@1 z+!b$Pzr}qght7q0U*keA>`^ND$C_-!y@v7l0p$xU^S;!@&KK`}Agy|`I5p^^!eLMv N_H^}gS?83{1OV4~A3*>B diff --git a/resources/icons/24x24.png b/resources/icons/24x24.png index 437265cdb137e40a488bcced9a7d8524c1870b4a..c06450c6b484128d81b53c0fcd904f06becabcd2 100644 GIT binary patch literal 824 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaAv7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZk1_nl^0G|+7paQAl7qmv( zPrtnL`2CHCZd|a-OqQQetPrnRdP`(kYX@0Ff!0JFw-?K4KXyaGBUL? qHPkjRure@sR_o)0q9HdwB{QuOw}$BoU;Y6#FnGH9xvX-n*TA>HIW;5GqpB!1xXLdi zxhgx^GDXSWj?1RP3TQxXYDuC(MQ%=Bu~mhw64+cTAR8pCucQE0Qj%?}lpi<;HsXMd|v6mX?g57&*eycM_DW&|zFopq$d{N|f=?Q@sRE)|ZBs!d2J zpZ~pfUS<0InT_>4j2nKRO0wR^FTw7|sO-SCg7JQ%&Ih3iHjzV^`h~y8sjVD=vB?UGlCOFTo<+=wUjF~XyTDmzRjnST z-`91SIZMyy9xw7dcyCGb<0|h^Bi30ZHz$`|3{9__W!x~$jCIDx@DEle&gqpGeyyCC zb8ksdsX-RstPP$=UcI@JyJna3#SN7om!3H?`@+&H*4M{Ng=QSyF21cpX@kA_%&fdE zq7UAgbuQi#w&1Hy6+_K!wvRoRlrj<+o;ThRJ5tZ^{6nnGLERaweXApL#3ZNA{#ws- z`|;-k5(UB$cN;#e>XKy^Yf9N|ee=L>BY7tAk9_L{6FfdvKG2TSwp)63>Hqi-(yyww Vyt}_niW8K9Jzf1=);T3K0RZ)xo>Bk+ diff --git a/resources/icons/256x256.png b/resources/icons/256x256.png index 8048d14977601725406f90bce2f49c20791d75d1..e4a083b17223f08c77954fb9bb4228b1e31f463d 100644 GIT binary patch literal 7655 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 diff --git a/resources/icons/32x32.png b/resources/icons/32x32.png index ac4dae38bb7293417af2d7411d586a25e99538b1..81ff9937defdfe970810f3d981cf79724e797488 100644 GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+0817l2pPlzi}fmHDe+M(^| z-`{!q;pXEH+s?fYn)0f7`K^y1KfZhaF>Kmv>C7t!&Od$m=F^VzUmraGwBpDssp98W zrDtBgdH?#|$44(d-F^D$j;|!_(JaJbwA<(*4i3pM1Lc`16$qpU>a@ z{PfkQi+A3fzW(z1!_OD)et!M-` znLOgbf%ckloI|LW5Mw1D9&UlQaO3=HPn)i*xeUSqKS&tHy7lcmqgJm9=w zl(Y6D*G0pd>ufnD$O4rzCV9KN6gzU-o&$2&OFVsD*`Khn@=2Q7ZQ3>+C|&F6;uvCa zdhO)!@Iwv)t(t8@&75}|c3s<=(Av=@6=<*`fwB7i-rxV_?>K2Ku&bE=>`a|?dU@Kq zv)}kPtuC^dEg@d8)7GzjnlVG%Hpvx_BG!w3*jjKvqwo7nhJ*ZTK5?@t2(WDBVlz%ru&N~c9oom zVw_ItYp*=S#T4clbcEqT!<#56v8j_{Tn<>Bou!?VX-VC& zn6c*@H$&OQw_Zy6-cR?|vdFyH-x2gc;P0aqAv!Xr)g@Wxys8y=p>gh9;IBtU?$V{D zzE+YK(i)`-i>u4yuO5DUd9xjN=`8*A`R_w(Yw9GI|9owCBbnDs>)Z3WF43~nDY!Z=E?ubmdmLZ_Ad)vMkzt_|e(xGB5hW>!C8<`) zMX5lF!N|bKK-a)b*T6Ky(8S8f)XLOQ+rYrez~EV}j}wZ9-29Zxv`X9>rYn5;2h_me M>FVdQ&MBb@0GM&|q5uE@ delta 1325 zcmZqY*vd6QvYw5BfuXpn>I(w{qjzRVL`j6Nk5zJhu3lnFep0GlMQ#C5o`J!}zM>#8 zIXksPAt^OIGtXA({qFrr3YjUkO5vuy2EGN(sTr9bRYj@6RemAKRoTgwDN6QsTs9R} zKm&49OA-|-a&z*EttxDlz~)*3*&tzkrFsRhnv!f=B}b5r3K6~m3eNdOsS2igX1d9S zCI$-TmU@O}1}3J4ItoSxhUWSPruqhEx(0?;1{PLEh6+%iWXGjoQv55FG|-pw6wI;H!#vSGSV$dsZY}_uFNY*tkBIXRtA{?F~lXc zIJqdZpd>RtPXT0TVp4u-iLH{7KFAh*s5L+j>cf2qSn`wmtJxCPDe$pA3L%=MDia+Hd$5*un4Ya zJSgt?q43INiKYr+Q#&OIVe>*oK_T;#@6M@Be)DcmSz6Vy-8Lb|PdpD^d+ua!+K= zE}7KQyY}9K+;J5Vzf2>e)_Z@DH1_ICsr=k+^EItpN>;qf)X_-ortQn3y*Ys^IOfc2 zJoGoXvHJSvWsU6B$@MIs&#{Da_uh{8Ds|kKaWUgyk!Pv@an+~09#oxNbm_%8HqH zpQqS07NHxa?*gwWPdl)7m4e_~xk4qW9o@H=H3msAZ|qodOTZ^(%7v?<^{y9-6y+Lo ztPGy2c`a+KnGu(5+WoQT$*onc8`UaO+PhT`d}RsV=Ds@pCc9F;)DLZqP0w;R=&j{k zBsk-QN7$;S?A2oC+ON###P<{=?ySDH+sHtc0)otD^S#mGvv*PS& zcUDDN==Jn^yxX_hnsxK%#@{EtFKet{&v>7uu5Odh&Shdd=T2FYG|4CC(H55M*G(sN z<*bj{q#c{G(`=URN%i}pe>H3$?8r}Z|8cp`cA1o=4JE4-exET>6xb-D zWL(d;QE>l7d$u_rwY|AR*Cmw~HysxrnUZ8ej@`0U-o%1i(aHkzkd-_djgZz(U`f8DAzYgVeks8@VM~2xr>%efp{E;FBIx;NnhuLYx>gw7hW@+it znk(mV7wuXRF=y@cG~G%5AWS4QO(aMRA&?)+m+$m+-5UM5Klbe)ujjd% zokb5`iCqZ*2xc;9EUywjb&#KT^7Sj)yyAa^nn?xVaXsooVSv};4l!7n0G!7IP*DZI zvUgQs1>jpRILils+ynroT=X<21puF+>X^(OGJ*=2O`d=dk zGu$(3k1JD~tS-CLJv!x?vcU2&WYXku&bc*u$Iyh;YKI3V5RJiOvccMSo*^AFX7s$! zAtP@+&$Y;`(>?MjW_vZ|F}{a~^&W@I{mu&O&G36Wta^jIG2ds%;Y zsXqMhXxM>)FrGZDpf9}mCAR$C$B!S;8^k%@a}orstXu$4^ee5eol6X#hYKuCcJxz@ zn_Jb`RGkNpNEV+=IGDLzG5Oy}SGkt8OG6ieyqwR$bULl+%m}p0YXSw#%(TE6C;%P) zWwQTrHvqmFOd6HVcz%d4_T$q6GE@XvsUsr7Q7R*dGLGI1!*=ZGJSS)XA<3IDyMntf zki#nKH#~rRsF5;CHt2#j7Dh%;xc;?JLQZ4~r4hB??{*Wq0H?lupPE_?8YttqpLd5c zqK=1#;$_sY0rQd=y_ynwSIDW3m7`wC2k0W`Sb_vP9CUyag3=@tX;x!ZNrSNb`?|-z zYjZoG@EQo87c`-Y=t85?o1i>=DMR(o9yO5%U^x#mBJ)t-_kxG+>%^uY|yld%YUm;N{%*AR`G-> z+)KVu`h!&XFwaSl79MTN;A~eQQ5l#x4*HN$E%Z4Ka1yX#In*? zu8HRL?o9twO|2 z@#sf5XZL)OXtm!Vu8yva!uam{0l$X|U+a3o>MPhHjWq@BSuYxIxk%yNuL-0Vm3ejvYSt-@t7g^0yZN%(N_8ODezeA0zdW>Hq)$ literal 1862 zcmX|C2T+sg7X1?f3!zC711u6lP^n2kFo{H3C;<{dilOX68j#RJ5+Ddju^=tMDBx10 zEV>{~T^|c78cG0p6boQsR|Dt<#iydKf-<;apR?c0SMI%M&Y5#(?tDdo6d!G<2^0VT zZIUnXpz=mj2>5D&*1_2`mAe z&Wd9v6A*8%-$KCIOakJN6B$kBda~l#zK40N;KP&<#^D48j)`#H4|NgZl>|vF0Szup zN=)YCg#^Suym;k%GmS#P|A7b+2nhF0K{%Bh2=`3kvEWYj&UOsU9yEL}&K~28-s6O^ zg*%`zdr@d76x!JijlrX_cn1vp+d}Mz!d-aGSo}ev_ct+RL_ov~1YA4{m64HQpW$eq z!iz&;a5x+a?SOJ{uu~%J_?gK9n$RwpZ?Q@7e-0vx&)~7S0(MF=e3O$#Pe~IH5D3(! z2v3oNolLO{fRxZsu4r*DOKJVM?V6+q*6btrS7#P-^% zghWU;&0>HeZIcH7DjQXqRbZ)2wR!)Mo(Mm`sBM~8*kRHE5dd?FW1_u@BlNT@`j^Ub z;|B0vkfXtRei}=(y#fEpe4=+A4Xre8}ze~-n5|is=ALi^?9(t7; z03QFrWT3^+e_`zjY(>Kd6y*ujyzXqW;M55F<*>1@Xicg{NMv}~?uo=BxzeqdsUGts z!J)N9bGn3jFu~tUqh(kQjk1pk4R@4HZ5*jk@mZu409!uzMzoG#Eb`1tHvXF3uH zh??NbWB1tv5yTVbI=tnD2u^5pP!?WOq3>N!ERdWiZ|?NAs0@Uiv|*;*78pH#DOk7M zIP=+L1RUE_{f7X5xzuJtOLpJuK``6>X{Px#oxhwUFWMVWe=ZI+h_9+?@3>9%gIj)( zWd~H9rHEeC^i-=7&3>}pkTjmy1$iHGdtj#-x$so8TM)7&V$b8{w3i{IJE-37pk0P% zw8V$5BB!`cx{bb;+h_8SZ5oqhR$7*jk_Z6@T-Dvnsd#oHwtQBg-gd5A>J=4d=jb&k zS#6fn4_>^xvLD0R zkOueFPB)l8HWjQFyNBK1A+HiRCs^i8LyEVlX^wN9G+`e-T*QqS)p~GJn&jr$fu|Nw zj@uQwdu5)vgx$}K*rM%!4Crgp6BM)WDeI}e|bJV!=Pf|8`F>lP^Wk_A?$y9vBn0oa99%Qa1vZ^%>y<@ow(Xuq;gpzhs z??!VGUuC~*7uH6I$wuP&c;c02vS)_`lKu9<$$}XZn)(>89j+;MG3OG0`s+#OZrNUtew;c@fG^$?K_ zw>J;@_LPBc-_!H3%dG(xGm@Ildp-6S`JQdwL$RX)0qhUkQ>Syy8F)kcTGGBcVNb)% z%DBiCMxLZ(5-RRyrjNXdnpWU?bADO#nP0gE9Faa;JL7{V{hTfuNlsZ1olhI@((Reo zg7II>MGp&?rCU@YY!LC+X`l6$z|0L{-}L+Z?WKc}Sxeze9t20wi5Rxbaa-9@KqI#3 zWsC4J zHk_6Of>9tbP&AhL2mx}bE@4Nm^tQ6I@*~lezxEFFN0nyOne^C=eZjmNG%0PzMq%hONPRRtDD~+$%{hl^oS|=8=m$h(*OVf diff --git a/resources/icons/512x512.png b/resources/icons/512x512.png index b7b7703ed53e87376c61b8c254c6925bc680426f..a960bf4ca8870e7c9f03f34d8933d2c5678fda2d 100644 GIT binary patch literal 29141 zcmd2?g;!MF*S<4!cXxLSQqr9Q(jg^{(jbj=hZ52ujkHRKG@^tc7{JgVNJvWl&b(`V z|HHRtErxsN-h0m3=Q;cA{p{z)Kh#mh!=}cDAP7%gO-Ubu;NV|4gozHmP6B2x!56Bd zytX_9HKpQQ+n|ACMmsfqZ3qfvhoJB%2tr;Gz70XXf)MoE8iFKqAc(>vze7(N{D5w& zsj39sAwR|4l`kR4V^3X4{!ze>Ki&R5wDYewwUy1A?Z@PaABvobf1XJBx*y=@_oZ<0 znekb`q?rT<_owmx=0{TR?O&o2d{RW-75xGXQKGT>+GAoZOo9TDnv2hu7qaUoM zJ2L3z8DzKv^k>Vh|HAxQ?pj=~i@K-oI;~Fb_D61(H|B2-{9fO6{(Vj4mHQAP%(%{H z85>V!HT_r4%5#1ZaVn5e$9sn2k;lq|qW8k@Ayt~a@=@41@m-77k?c=_o5?`@A}J

5gVGf}ZE{deRDXH}BTpEAx)-2sMHb8&V+7 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%0A+W^tVE2j%&)U+&p%|vd9cx}P|SqR)K?Qf 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 diff --git a/resources/icons/64x64.png b/resources/icons/64x64.png index a0cc8e2a3cc19adc0a0a13a341b738be530295fa..1bbf21611c3f525b7e3f19c44a068d2335bda206 100644 GIT binary patch literal 1864 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 diff --git a/resources/tray/icon.png b/resources/tray/icon.png index 556a522e33522f13572ecdd9bee19d5ce1e5fcf9..0759edc5e6cefea77e0f28aa6f68187e3a8ffa44 100644 GIT binary patch literal 609 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>Mo4Zdxy?Xoc+3Qa?9({iN^3#c{FW$ZX_~P}a>yJL)fA;C+n@@KhzwzsR zbo}b8(>GrS^ga6j|9`J1&nloR1xtebfIeo5-1JK6%*)eJ+h0HXsr*8G_FdPStPO+)B`-h<9HB1Nedf^}UoizFnT zxE&T05LP`9aq47A*covLrz^oHm&Qzez3N=!6p!_0MZr0@!z5?=niPe& zjVMV;EJ?LWE=mPb3`Pb<2D%1jx(22ph9*`-n*TA>HIW;5GqpB!1xXLdi zxhgx^GDXSWj?1RP3TQxXYDuC(MQ%=Bu~mhw64+cTAR8pCucQE0Qj%?}lpi<;HsXMd|v6mX?#Etue6`|dbBv$Q|HJ%WhtXi)$DCxL z2*$9+N(I(EOwSM46)?2aOZqUjA1LYf=00Flkes*qXnO6D7oUyK{x_Up6}7AXMo84> zrHdPN4460UUUI_c$gWjcaR>bNojaK;a`yZz7E5O)WP{`hmv?KNpDM;6AK&zSmx|qz4>gWE)dZB1q*Hvjlg(CzRDX3YQ0|(s zx?syXxssBpCY<+neZ9lQvXJS#c#Rp0ssEp4Q+f_A?G4MaV|Y1nLZbMpc?wd2DoI=~ zIto&GzU7oy-+%J!;NlqGm1aya4~1D6zpM72UA)WpuJL4zM(#DoWftf)T25A2V#}@1 z+!b$Pzr}qght7q0U*keA>`^ND$C_-!y@v7l0p$xU^S;!@&KK`}Agy|`I5p^^!eLMv N_H^}gS?83{1OV4~A3*>B diff --git a/resources/tray/icon@2x.png b/resources/tray/icon@2x.png index ac4dae38bb7293417af2d7411d586a25e99538b1..5381433e41147041eefad9612403f526d4540fdd 100644 GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+0817l2pPlzi}fmHDe+M(^| z-`{!q;pXEH+s?fYn)0f7`K^y1KfZhaF>Kmv>C7t!&Od$m=F^VzUmraGwBpDssp98W zrDtBgdH?#|$44(d-F^D$j;|!_(JaJbwA<(*4i3pM1Lc`16$qpU>a@ z{PfkQi+A3fzW(z1!_OD)et!M-` znLOgbf%ckloI|LW5Mw1D9&UlQaO3=HPn)i*xeUSqKS&tHy7lcmqgJm9=w zl(Y6D*G0pd>ufnD$O4rzCV9KN6gzU-o&$2&OFVsD*`Khn@=02nv;5ivl&@bV_#p>@R?Rk{X3o0}yRL0bXzl2d3N%=ez*zl$@9+Qecbv2q*j3DbcBalcy*zE* z*>C)tRu@^!mJl!4Y3tWM&6pu>o8*c|5$i=iY%MsT(f55O!$JNvpSal+1X#9mv6(1{ zuzeNbTgkxxs(U??;5x!bW*W^sazKPJ%J9I1f-1H{XWrb|qoRKzl0|2dPBY^~yGqVO zF;1uSwO1bEVhZyNI>K z%-Hjdo1yIDTQ4Pj@27ifS!7=9?+AJz@b}S*5FMG*>XIyTUeyY`&^UK4@Yf?Fcj?kn zUn|KAX^m2a#nt8UR}VkFyxESsbe8`5{P&@?HFc89f4;W6k<4qR_3imwmuT7bmi^pn z@hugr^^?NVx6Yg+x^k=Bw`I#?Sr+X+{OIibue=fm(!YjpVq5`?8`Tomh?11Vl2ohY zqEsNoU}Ruqple{JYhW5;Xkuk#YGrDuZD3$!VDPNg#|cG4ZhlH;S|x4`(-pq_18QLK MboFyt=akR{011@xS^xk5 delta 1325 zcmZqY*vd6QvYw5BfuXpn>I(w{qjzRVL`j6Nk5zJhu3lnFep0GlMQ#C5o`J!}zM>#8 zIXksPAt^OIGtXA({qFrr3YjUkO5vuy2EGN(sTr9bRYj@6RemAKRoTgwDN6QsTs9R} zKm&49OA-|-a&z*EttxDlz~)*3*&tzkrFsRhnv!f=B}b5r3K6~m3eNdOsS2igX1d9S zCI$-TmU@O}1}3J4ItoSxhUWSPruqhEx(0?;1{PLEh6+%iWXGjoQv55FG|-pw6wI;H!#vSGSV$dsZY}_uFNY*tkBIXRtA{?F~lXc zIJqdZpd>RtPXT0TVp4u-iLH{7KFAh*s5L+j>cf2qSn`wmtJxCPDe$pA3L%=MDia+Hd$5*un4Ya zJSgt?q43INiKYr+Q#&OIVe>*oK_T;#@6M@Be)DcmSz6Vy-8Lb|PdpD^d+ua!+K= zE}7KQyY}9K+;J5Vzf2>e)_Z@DH1_ICsr=k+^EItpN>;qf)X_-ortQn3y*Ys^IOfc2 zJoGoXvHJSvWsU6B$@MIs&#{Da_uh{8Ds|kKaWUgyk!Pv@an+~09#oxNbm_%8HqH zpQqS07NHxa?*gwWPdl)7m4e_~xk4qW9o@H=H3msAZ|qodOTZ^(%7v?<^{y9-6y+Lo ztPGy2c`a+KnGu(5+WoQT$*onc8`UaO+PhT`d}RsV=Ds@pCc9F;)DLZqP0w;R=&j{k zBsk-QN7$;S?A2oC+ON###P<{=?ySDH+sHtc0)otD^S#mGvv*PS& zcUDDN==Jn^yxX_hnsxK%#@{EtFKet{&v>7uu5Odh&Shdd=T2FYG|4CC(H55M*G(sN z<*bj{q#c{G(`=URN%i}pe>H3$?8r}Z|8cp`cA1o=4JE4-exET>6xb-D zWL(d;QE>l7d$u_rwY|AR*Cmw~HysxrnUZ8ej@`0U-o%1i(aHkzkd-_djgZz(8IEHAP@4aa2=aeYW`f#~{O4*UNQ^zKqj=IyJec(c7 zOyiaUZjT72>0jo2+B4I5X5#X76HlEwHF@GX+pRt( zk7i37ACLd|H*UvgCv8S&e!2P|t{lP|cTT>%6Sg)%Cnja$OoL@YhdkLNI7G7*=cG1d zC(dm+mdUn5=w6WP;>nD9t*KE)Tk2;9Tngsi&i-*?_*OZeRs-`3|G)Hl&G`5EO1+)- z%7ChEAM;lF-2K4lE1&Da`=jF^&?~AXt`Q|Ei6yC4$wjF^iowXh$UxV?OxM6P#L&db t$kfWzP}{)3%D~`Rt&bCmhTQy=%(P0}8m23J`3Ka%;OXk;vd$@?2>^8qo0k9p literal 654 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKVD!!mi71Ki^|4CM&(%vz$xlkv ztH>-n*TA>HIW;5GqpB!1xXLdi zxhgx^GDXSWj?1RP3TQxXYDuC(MQ%=Bu~mhw64+cTAR8pCucQE0Qj%?}lpi<;HsXMd|v6mX?toSqx311ya(3)+fAR?eQt~PgwIZ=|NZc z2ewE4&v-?`9a-Khta!XG*}&GQ=k=`@&5L%eer3CB_o||~E| z=eUzBnSDYte)q21K~FTT7VewBAk&D1+dIluUMn{$)j=lgZV;p z+I*X~do*TE&{GKBw&Xw@OQqM%jf|VJCRE+vdo3KJd3;+ZYfhr5`;C=C^>RHsIyHP=p>R^<<{!dKABCM+FSSz!l#D!G{an^LB{Ts5aoFsh diff --git a/resources/tray/icon_macTemplate@2x.png b/resources/tray/icon_macTemplate@2x.png index 299afbc5211d4e4cad198c57b52f13a62f0a39bc..9ae6ae7c917320f2247ea00dacf1da42b20dc5d9 100644 GIT binary patch literal 631 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-G$+Qd;gjJKpuOE zr>`sf6E;>pNlSBZNCuj3+D=zV-m?La@N#zEPg0h z!|cs{{+O6W+(VOnN9P(IR1OqgeDMZ{dom;2x=8N6yQ(_Ro6eL>|GodsnR9=*muWl- zQeSesL(tag)ee!3TW#rcbxaR+!FBmb))G6<=~bJ|HT)a zKlABLH1oZuMQb@Kf*byMHH3#c?GSq4YPxYH7R(J{1rmzwS!<LC(ywy9y=xp^ZwZLQP86y8LoZ7o^=JUN?%^fXMrnGdh zg?|40kNZ&Lj^*#ZZ;S!Pj%tZ(L`h0wNvc(HQ7VvPFfuSQ&^0jAH82e^G_f)=wK6r- oHZZU?;Zqle1Gx6p~WYGxKbf-tXS8q>!0ns}yePYv5bpoSKp8QB{;0T;&&% zT$P<{nWAKG$7NGt1vDTxwIorYA~z?m*s8)-32d$vkPQ;nS5g2gDap1~as*kZ5aAo3 z;GAESs$i;TrkiYNVxVAdsb^?rU}9>hqhMrUXs&Nys&8PXYhY+)U}0rsr~m~@c3cWJ zMJZ`kK`w4k%YZyvrHqo20xNy}^73-Ma$~*xqI7*jOG`_A10#JSBVC{h-Qvo;lEez# zykcdL5fC$6Qj3#|G7CyF^YauyW+o=(mzLNnDd~eO(TCas^qxN4e?SgAgi`Z>!BPbD zzpk^(c3`kR_jGX#iD*4~ePf=mqX63jefP;8iqAw3csdIzYH4T$XtC6;vSBKf^5UA) z#?GDthh?iv?i{+!8Ml~LB_(DRn{dTl2P zxMy?zmn%EXe@lYn_wG!a1L}(-B|7Sk*1fZs(a3Pf?2lAuMX1GkX%i!)q!=j)mWd%xUdkpCFG)i1Ln+bJ!2;`;XAJ3RL8xUg)?0jJxaiqv-TPAXqr zQ`wW6n7FLWJyiO~`PGq<(oUDF;+lUr-FW{0j%{hx|4 Date: Fri, 5 Jun 2020 14:56:08 +0000 Subject: [PATCH 003/385] [Security] Bump acorn from 6.3.0 to 6.4.1 Bumps [acorn](https://github.com/acornjs/acorn) from 6.3.0 to 6.4.1. **This update includes security fixes.** - [Release notes](https://github.com/acornjs/acorn/releases) - [Commits](https://github.com/acornjs/acorn/compare/6.3.0...6.4.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index eef617c1..7c66a9fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1060,9 +1060,9 @@ "integrity": "sha512-/AdIW/g1zre3d2OKQJTbZqfJWoVQvJ5ABmxU8IhwbxpA34wVNlHXIXlrCJphs4dxb+qpzmoMjCCf64dq5aXA0w==" }, "acorn": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", - "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", "dev": true }, "ajv": { From 46c20610e98e5555443a50ea3e87881c72c5ba88 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:56:08 +0000 Subject: [PATCH 004/385] Bump fs-jetpack from 1.3.1 to 2.4.0 Bumps [fs-jetpack](https://github.com/szwacz/fs-jetpack) from 1.3.1 to 2.4.0. - [Release notes](https://github.com/szwacz/fs-jetpack/releases) - [Changelog](https://github.com/szwacz/fs-jetpack/blob/master/CHANGELOG.md) - [Commits](https://github.com/szwacz/fs-jetpack/compare/1.3.1...2.4.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 25 +++++++++---------------- package.json | 2 +- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index eef617c1..cdcb6562 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3929,11 +3929,12 @@ } }, "fs-jetpack": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-1.3.1.tgz", - "integrity": "sha512-oCrJI4kSredslsM3iZoZ19RKUt78XyyOSJuwzg/JGIxCBmjaoqPpvqAy5ZaUNI/QHJPL0UkKeX/yarAd39vP/Q==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", + "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", "requires": { - "minimatch": "^3.0.2" + "minimatch": "^3.0.2", + "rimraf": "^2.6.3" } }, "fs-write-stream-atomic": { @@ -3951,8 +3952,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "1.2.9", @@ -5016,7 +5016,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -5025,8 +5024,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", @@ -6343,7 +6341,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -6566,8 +6563,7 @@ "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=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -7719,7 +7715,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, "requires": { "glob": "^7.1.3" }, @@ -7728,7 +7723,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -9440,8 +9434,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { "version": "2.4.3", diff --git a/package.json b/package.json index 7d0b978b..68b996b4 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "electron-hunspell": "1.0.0-beta.12", "electron-settings": "3.2.0", "electron-updater": "4.2.0", - "fs-jetpack": "^1.0.0" + "fs-jetpack": "^2.4.0" }, "devDependencies": { "@babel/core": "7.5.5", From 77ba49e26c541ea1d9bc622d330b5b7927305c09 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:56:16 +0000 Subject: [PATCH 005/385] Bump mocha from 5.2.0 to 7.2.0 Bumps [mocha](https://github.com/mochajs/mocha) from 5.2.0 to 7.2.0. - [Release notes](https://github.com/mochajs/mocha/releases) - [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md) - [Commits](https://github.com/mochajs/mocha/compare/v5.2.0...v7.2.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 499 +++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 474 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index eef617c1..248abd89 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1104,6 +1104,12 @@ "string-width": "^3.0.0" } }, + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", @@ -3188,6 +3194,15 @@ "which": "^1.3.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" + } + }, "fs-extra": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", @@ -3198,6 +3213,54 @@ "jsonfile": "^4.0.0", "universalify": "^0.1.0" } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, + "mocha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", + "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "dev": true, + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -3386,6 +3449,36 @@ "stackframe": "^1.1.0" } }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "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", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -3789,6 +3882,23 @@ "resolve-dir": "^1.0.1" } }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "dev": true, + "requires": { + "is-buffer": "~2.0.3" + }, + "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==", + "dev": true + } + } + }, "flatten": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", @@ -4845,9 +4955,9 @@ } }, "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, "hmac-drbg": { @@ -5151,6 +5261,12 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, "is-ci": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", @@ -5180,6 +5296,12 @@ } } }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -5313,6 +5435,15 @@ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", "dev": true }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", @@ -5328,6 +5459,15 @@ "html-comment-regex": "^1.1.0" } }, + "is-symbol": { + "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.1" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -5621,6 +5761,15 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + } + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -5958,53 +6107,222 @@ } }, "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", "dev": true, "requires": { + "ansi-colors": "3.2.3", "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", + "chokidar": "3.3.0", + "debug": "3.2.6", "diff": "3.5.0", "escape-string-regexp": "1.0.5", - "glob": "7.1.2", + "find-up": "3.0.0", + "glob": "7.1.3", "growl": "1.10.5", - "he": "1.1.1", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" }, "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "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==", "dev": true }, + "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" + } + }, + "chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + } + }, "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==", "dev": true, "requires": { - "ms": "2.0.0" + "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" + } + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": 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" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "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 + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "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 }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "requires": { + "picomatch": "^2.0.4" + } + }, "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", "dev": true, "requires": { "has-flag": "^3.0.0" } + }, + "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" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "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.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -6076,6 +6394,24 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "node-libs-browser": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", @@ -6303,6 +6639,12 @@ } } }, + "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 + }, "object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -6330,6 +6672,16 @@ "object-keys": "^1.0.11" } }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -6637,6 +6989,12 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -8388,6 +8746,48 @@ } } }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -9358,6 +9758,42 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "widest-line": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", @@ -9517,6 +9953,17 @@ "decamelize": "^1.2.0" } }, + "yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "requires": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + } + }, "yauzl": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", diff --git a/package.json b/package.json index 7d0b978b..910c9764 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "electron-notarize": "^0.2.0", "file-loader": "^1.1.11", "friendly-errors-webpack-plugin": "^1.6.1", - "mocha": "^5.2.0", + "mocha": "^7.2.0", "png2icons": "^1.0.1", "source-map-support": "^0.5.0", "spectron": "^3.7.2", From 44dabf80f6b545d7bf3f3cdab8a4018cf8cac5c7 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:56:41 +0000 Subject: [PATCH 006/385] Bump electron from 7.0.1 to 9.0.2 Bumps [electron](https://github.com/electron/electron) from 7.0.1 to 9.0.2. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v7.0.1...v9.0.2) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 118 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 67 insertions(+), 53 deletions(-) diff --git a/package-lock.json b/package-lock.json index eef617c1..a4250f81 100644 --- a/package-lock.json +++ b/package-lock.json @@ -819,9 +819,9 @@ } }, "@electron/get": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.1.tgz", - "integrity": "sha512-+BOIzkmYbe+oOBGqSByq8zXYXCFztccoymR3uNkvX5ckJ/5xU+4peVyEvFyH6+zfv58hCo99RxgIpwuaMfRtRg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", + "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -830,8 +830,9 @@ "global-agent": "^2.0.2", "global-tunnel-ng": "^2.7.1", "got": "^9.6.0", + "progress": "^2.0.3", "sanitize-filename": "^1.6.2", - "sumchecker": "^3.0.0" + "sumchecker": "^3.0.1" } }, "@sindresorhus/is": { @@ -856,9 +857,9 @@ "dev": true }, "@types/node": { - "version": "12.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.12.tgz", - "integrity": "sha512-MGuvYJrPU0HUwqF7LqvIj50RZUX23Z+m583KBygKYUZLlZ88n6w28XRNJRJgsHukLEnLz6w6SvxZoLgbr5wLqQ==", + "version": "12.12.44", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.44.tgz", + "integrity": "sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg==", "dev": true }, "@types/semver": { @@ -1610,9 +1611,9 @@ "dev": true }, "boolean": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz", - "integrity": "sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", + "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", "dev": true, "optional": true }, @@ -2494,9 +2495,9 @@ "dev": true }, "core-js": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.4.2.tgz", - "integrity": "sha512-bUTfqFWtNKWp73oNIfRkqwYZJeNT3lstzZcAkhhiuvDraRSgOH1/+F9ZklbpR4zpdKuo4cpXN8tKP7s61yjX+g==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", "dev": true, "optional": true }, @@ -3037,9 +3038,9 @@ "dev": true }, "electron": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-7.0.1.tgz", - "integrity": "sha512-eMFoZIO0+eOAE9FyNC/f0Vp8l/sJziTMK+axEt2XIpGCagom1IZgUKPGwmHUcftZCX5lNKh+Tv53T0GcNnNTKQ==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.2.tgz", + "integrity": "sha512-+a3KegLvQXVjC3b6yBWwZmtWp3tHf9ut27yORAWHO9JRFtKfNf88fi1UvTPJSW8R0sUH7ZEdzN6A95T22KGtlA==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -4603,19 +4604,28 @@ } }, "global-agent": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.7.tgz", - "integrity": "sha512-ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", + "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", "dev": true, "optional": true, "requires": { - "boolean": "^3.0.0", - "core-js": "^3.4.1", + "boolean": "^3.0.1", + "core-js": "^3.6.5", "es6-error": "^4.1.1", - "matcher": "^2.0.0", - "roarr": "^2.14.5", - "semver": "^6.3.0", - "serialize-error": "^5.0.0" + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "optional": true + } } }, "global-dirs": { @@ -4682,15 +4692,13 @@ "dev": true }, "globalthis": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.0.tgz", - "integrity": "sha512-vcCAZTJ3r5Qcu5l8/2oyVdoFwxKgfYnMTR2vwWeux/NAVZK3PwcMaWkdUIn4GJbmKuRK7xcvDsLuK+CKcXyodg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", "dev": true, "optional": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "object-keys": "^1.0.12" + "define-properties": "^1.1.3" } }, "globule": { @@ -5711,19 +5719,19 @@ } }, "matcher": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz", - "integrity": "sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", "dev": true, "optional": true, "requires": { - "escape-string-regexp": "^2.0.0" + "escape-string-regexp": "^4.0.0" }, "dependencies": { "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "optional": true } @@ -7190,6 +7198,12 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "progress-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", @@ -7751,15 +7765,15 @@ } }, "roarr": { - "version": "2.14.6", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.14.6.tgz", - "integrity": "sha512-qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg==", + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz", + "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==", "dev": true, "optional": true, "requires": { "boolean": "^3.0.0", "detect-node": "^2.0.4", - "globalthis": "^1.0.0", + "globalthis": "^1.0.1", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" @@ -7882,13 +7896,13 @@ } }, "serialize-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz", - "integrity": "sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", "dev": true, "optional": true, "requires": { - "type-fest": "^0.8.0" + "type-fest": "^0.13.1" } }, "serialize-javascript": { @@ -8447,9 +8461,9 @@ } }, "sumchecker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.0.tgz", - "integrity": "sha512-yreseuC/z4iaodVoq07XULEOO9p4jnQazO7mbrnDSvWAU/y2cbyIKs+gWJptfcGu9R+1l27K8Rkj0bfvqnBpgQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", "dev": true, "requires": { "debug": "^4.1.0" @@ -8805,9 +8819,9 @@ "dev": true }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", "dev": true, "optional": true }, diff --git a/package.json b/package.json index 7d0b978b..6ad6ff09 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", "chai": "^4.1.0", "css-loader": "^0.28.7", - "electron": "7.0.1", + "electron": "9.0.2", "electron-builder": "21.2.0", "electron-mocha": "^6.0.4", "electron-notarize": "^0.2.0", From fa385f30ec1faefdef2911f2d397b7d6b9014748 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 14:57:05 +0000 Subject: [PATCH 007/385] Bump webpack-cli from 3.3.10 to 3.3.11 Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.10 to 3.3.11. - [Release notes](https://github.com/webpack/webpack-cli/releases) - [Changelog](https://github.com/webpack/webpack-cli/blob/next/CHANGELOG_v3.md) - [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.10...v3.3.11) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index eef617c1..7f3f69c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9220,9 +9220,9 @@ } }, "webpack-cli": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz", - "integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", + "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", "dev": true, "requires": { "chalk": "2.4.2", diff --git a/package.json b/package.json index 7d0b978b..f1e9a421 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "spectron": "^3.7.2", "style-loader": "^0.21.0", "webpack": "^4.12.0", - "webpack-cli": "^3.0.4", + "webpack-cli": "^3.3.11", "webpack-merge": "^4.1.0", "webpack-node-externals": "^1.6.0" } From ced8646bf1a7d772af7675abcc23735dfdc0321b Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:09:44 +0000 Subject: [PATCH 008/385] Bump webpack from 4.41.2 to 4.43.0 Bumps [webpack](https://github.com/webpack/webpack) from 4.41.2 to 4.43.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v4.41.2...v4.43.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 1477 +++++++++++++++++++-------------------------- package.json | 2 +- 2 files changed, 614 insertions(+), 865 deletions(-) diff --git a/package-lock.json b/package-lock.json index b93fb996..732f8273 100644 --- a/package-lock.json +++ b/package-lock.json @@ -868,178 +868,177 @@ "integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==" }, "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", "dev": true }, "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", "dev": true }, "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" + "@webassemblyjs/ast": "1.9.0" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", "@xtuc/long": "4.2.2" } }, @@ -1133,13 +1132,23 @@ } }, "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "dev": true, + "optional": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + } } }, "app-builder-bin": { @@ -1282,6 +1291,14 @@ "bn.js": "^4.0.0", "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "assert": { @@ -1342,7 +1359,8 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true + "dev": true, + "optional": true }, "async-exit-hook": { "version": "2.0.1", @@ -1580,10 +1598,21 @@ "dev": true }, "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "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==", + "dev": true, + "optional": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } }, "bl": { "version": "1.2.2", @@ -1611,9 +1640,9 @@ } }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", "dev": true }, "boolean": { @@ -1742,21 +1771,50 @@ "requires": { "bn.js": "^4.1.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "browserify-zlib": { @@ -1878,9 +1936,9 @@ "dev": true }, "cacache": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", - "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -2090,37 +2148,72 @@ "dev": true }, "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", "dev": true, + "optional": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" }, "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, + "optional": 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, + "optional": 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, + "optional": true + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } } } }, "chownr": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", - "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, "chrome-trace-event": { @@ -2550,6 +2643,14 @@ "requires": { "bn.js": "^4.1.0", "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "create-hash": { @@ -2965,6 +3066,14 @@ "bn.js": "^4.1.0", "miller-rabin": "^4.0.0", "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "dmg-builder": { @@ -3354,6 +3463,14 @@ "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0", "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "emoji-regex": { @@ -3530,9 +3647,9 @@ "dev": true }, "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", "dev": true }, "evp_bytestokey": { @@ -3804,9 +3921,9 @@ } }, "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", "dev": true }, "figures": { @@ -3828,6 +3945,13 @@ "schema-utils": "^0.4.5" } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -3959,660 +4083,119 @@ "string-width": "^2.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.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 - } - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "requires": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "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": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "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": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "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" - } + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, - "wide-align": { + "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, - "optional": true, "requires": { - "string-width": "^1.0.2 || 2" + "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" } }, - "wrappy": { - "version": "1.0.2", - "bundled": true, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, - "optional": true + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true + "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 } } }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-jetpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", + "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", + "requires": { + "minimatch": "^3.0.2", + "rimraf": "^2.6.3" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4693,24 +4276,13 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "dev": true, + "optional": 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" - } - } + "is-glob": "^4.0.1" } }, "global-agent": { @@ -4943,13 +4515,33 @@ "dev": true }, "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "hash.js": { @@ -5253,12 +4845,13 @@ "dev": true }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, "is-buffer": { @@ -5829,12 +5422,6 @@ } } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -5977,6 +5564,14 @@ "requires": { "bn.js": "^4.0.0", "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "mime": { @@ -6358,9 +5953,9 @@ "dev": true }, "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", "dev": true, "optional": true }, @@ -6912,7 +6507,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "dev": true, + "optional": true }, "path-exists": { "version": "3.0.0", @@ -6969,9 +6565,9 @@ "dev": true }, "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -7611,6 +7207,14 @@ "parse-asn1": "^5.0.0", "randombytes": "^2.0.1", "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } } }, "pump": { @@ -7789,14 +7393,13 @@ } }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "dev": true, + "optional": true, "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "picomatch": "^2.2.1" } }, "redent": { @@ -8258,10 +7861,13 @@ } }, "serialize-javascript": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", - "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "set-blocking": { "version": "2.0.0", @@ -8715,9 +8321,9 @@ } }, "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, "strict-uri-encode": { @@ -8954,9 +8560,9 @@ } }, "terser": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.0.tgz", - "integrity": "sha512-oDG16n2WKm27JO8h4y/w3iqBGAOSCtq7k8dRmrn4Wf9NouL0b2WpMHGChFGZq4nFAQy1FsNJrVQHfurXOSTmOA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", + "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -8973,16 +8579,16 @@ } }, "terser-webpack-plugin": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", - "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^1.7.0", + "serialize-javascript": "^3.1.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", @@ -9361,7 +8967,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "dev": true, + "optional": true }, "update-notifier": { "version": "3.0.1", @@ -9514,14 +9121,141 @@ "dev": true }, "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", "dev": true, "requires": { - "chokidar": "^2.0.2", + "chokidar": "^3.4.0", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "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, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": 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, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } } }, "wdio-dot-reporter": { @@ -9584,16 +9318,16 @@ } }, "webpack": { - "version": "4.41.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", - "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", @@ -9604,16 +9338,31 @@ "loader-utils": "^1.2.3", "memory-fs": "^0.4.1", "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "neo-async": "^2.6.1", "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.1", - "watchpack": "^1.6.0", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", "webpack-sources": "^1.4.1" }, "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", diff --git a/package.json b/package.json index ac77d2e3..b4204d9b 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "source-map-support": "^0.5.0", "spectron": "^3.7.2", "style-loader": "^0.21.0", - "webpack": "^4.12.0", + "webpack": "^4.43.0", "webpack-cli": "^3.3.11", "webpack-merge": "^4.1.0", "webpack-node-externals": "^1.6.0" From d9c1207975067fdb22225fd90f67d27c32ba2392 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:09:57 +0000 Subject: [PATCH 009/385] Bump png2icons from 1.0.1 to 2.0.1 Bumps [png2icons](https://github.com/idesis-gmbh/png2icons) from 1.0.1 to 2.0.1. - [Release notes](https://github.com/idesis-gmbh/png2icons/releases) - [Commits](https://github.com/idesis-gmbh/png2icons/compare/v1.0.1...v2.0.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 19 ++++--------------- package.json | 2 +- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index b93fb996..f5f7023e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7030,21 +7030,10 @@ } }, "png2icons": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/png2icons/-/png2icons-1.0.1.tgz", - "integrity": "sha1-vhqNkXgmzjr1QvFni8QYk1BkNf8=", - "dev": true, - "requires": { - "pako": "1.0.6" - }, - "dependencies": { - "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", - "dev": true - } - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/png2icons/-/png2icons-2.0.1.tgz", + "integrity": "sha512-GDEQJr8OG4e6JMp7mABtXFSEpgJa1CCpbQiAR+EjhkHJHnUL9zPPtbOrjsMD8gUbikgv3j7x404b0YJsV3aVFA==", + "dev": true }, "posix-character-classes": { "version": "0.1.1", diff --git a/package.json b/package.json index ac77d2e3..6b0ea45b 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,7 @@ "file-loader": "^1.1.11", "friendly-errors-webpack-plugin": "^1.6.1", "mocha": "^7.2.0", - "png2icons": "^1.0.1", + "png2icons": "^2.0.1", "source-map-support": "^0.5.0", "spectron": "^3.7.2", "style-loader": "^0.21.0", From 069508ca88d1347b07c38aa48038b20364b73ea2 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:10:36 +0000 Subject: [PATCH 010/385] Bump about-window from 1.13.0 to 1.13.4 Bumps [about-window](https://github.com/rhysd/electron-about-window) from 1.13.0 to 1.13.4. - [Release notes](https://github.com/rhysd/electron-about-window/releases) - [Commits](https://github.com/rhysd/electron-about-window/compare/v1.13.0...v1.13.4) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index b93fb996..3929c076 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1056,9 +1056,9 @@ "dev": true }, "about-window": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/about-window/-/about-window-1.13.0.tgz", - "integrity": "sha512-/AdIW/g1zre3d2OKQJTbZqfJWoVQvJ5ABmxU8IhwbxpA34wVNlHXIXlrCJphs4dxb+qpzmoMjCCf64dq5aXA0w==" + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/about-window/-/about-window-1.13.4.tgz", + "integrity": "sha512-Ge7qBRzrmPbVJ2YarUfTrZEaSfhRjeVyFhmH9NqdNDjjgP0dcWwUprH61JWlDgcM3KaDn5zUzimG4YQh6vRocw==" }, "acorn": { "version": "6.4.1", diff --git a/package.json b/package.json index ac77d2e3..cfaf013e 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "generate-icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i" }, "dependencies": { - "about-window": "1.13.0", + "about-window": "1.13.4", "electron-hunspell": "1.0.0-beta.12", "electron-settings": "3.2.0", "electron-updater": "4.2.0", From c960fe98928e5d0e04940ace9d06caffb69420cd Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:11:51 +0000 Subject: [PATCH 011/385] Bump babel-loader from 8.0.6 to 8.1.0 Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.0.6 to 8.1.0. - [Release notes](https://github.com/babel/babel-loader/releases) - [Changelog](https://github.com/babel/babel-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel-loader/compare/v8.0.6...v8.1.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 95 +++++++++++++++++++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 89 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index b93fb996..c57d10ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -856,6 +856,12 @@ "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", "dev": true }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", + "dev": true + }, "@types/node": { "version": "12.12.44", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.44.tgz", @@ -1445,15 +1451,90 @@ } }, "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", "dev": true, "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + } } }, "babel-plugin-dynamic-import-node": { diff --git a/package.json b/package.json index ac77d2e3..8a987e9f 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "devDependencies": { "@babel/core": "7.5.5", "@babel/preset-env": "7.5.5", - "babel-loader": "8.0.6", + "babel-loader": "8.1.0", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", "chai": "^4.1.0", "css-loader": "^0.28.7", From f2550d84730588587ac455195fc32912000a994c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:12:26 +0000 Subject: [PATCH 012/385] Bump spectron from 3.8.0 to 11.0.0 Bumps [spectron](https://github.com/electron/spectron) from 3.8.0 to 11.0.0. - [Release notes](https://github.com/electron/spectron/releases) - [Changelog](https://github.com/electron-userland/spectron/blob/master/CHANGELOG.md) - [Commits](https://github.com/electron/spectron/compare/v3.8.0...v11.0.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 665 ++++++++-------------------------------------- package.json | 2 +- 2 files changed, 106 insertions(+), 561 deletions(-) diff --git a/package-lock.json b/package-lock.json index b93fb996..ea28c562 100644 --- a/package-lock.json +++ b/package-lock.json @@ -867,6 +867,25 @@ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.0.tgz", "integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==" }, + "@types/webdriverio": { + "version": "4.13.3", + "resolved": "https://registry.npmjs.org/@types/webdriverio/-/webdriverio-4.13.3.tgz", + "integrity": "sha512-AfSQM1xTO9Ax+u9uSQPDuw69DQ0qA2RMoKHn86jCgWNcwKVUjGMSP4sfSl3JOfcZN8X/gWvn7znVPp2/g9zcJA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -1252,12 +1271,6 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", @@ -1395,9 +1408,9 @@ "dev": true }, "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", "dev": true }, "babel-code-frame": { @@ -1491,9 +1504,9 @@ }, "dependencies": { "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==", + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", "dev": true } } @@ -1780,9 +1793,9 @@ } }, "buffer": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.4.3.tgz", - "integrity": "sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", "dev": true, "requires": { "base64-js": "^1.0.2", @@ -1992,24 +2005,6 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } - } - }, "caniuse-api": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", @@ -2229,9 +2224,9 @@ } }, "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", "dev": true }, "cliui": { @@ -2285,12 +2280,6 @@ "q": "^1.1.2" } }, - "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=", - "dev": true - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -2779,15 +2768,6 @@ "source-map": "^0.5.3" } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, "cyclist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", @@ -3088,88 +3068,53 @@ } }, "electron-chromedriver": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/electron-chromedriver/-/electron-chromedriver-1.8.0.tgz", - "integrity": "sha512-m1f3nle5MaGp94bcDTtMZZMMOgPO54+TXoPBlTbBSUjfINR5SJ46yQXLfuE79/qsFfJKslZB1UzWURDDFIRmpQ==", - "dev": true, - "requires": { - "electron-download": "^4.1.0", - "extract-zip": "^1.6.5" - } - }, - "electron-download": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.1.tgz", - "integrity": "sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/electron-chromedriver/-/electron-chromedriver-9.0.0.tgz", + "integrity": "sha512-+MuukzicyfduXO/4yQv9ygLKaScttJNbWtg77A9fs2YhbkISjObWaCF3eJNZL+edZXRfaF/6D4XuXvklQCmwQg==", "dev": true, "requires": { - "debug": "^3.0.0", - "env-paths": "^1.0.0", - "fs-extra": "^4.0.1", - "minimist": "^1.2.0", - "nugget": "^2.0.1", - "path-exists": "^3.0.0", - "rc": "^1.2.1", - "semver": "^5.4.1", - "sumchecker": "^2.0.2" + "@electron/get": "^1.12.2", + "extract-zip": "^2.0.0" }, "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "extract-zip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", + "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", "dev": true, "requires": { - "ms": "^2.1.1" + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" } }, - "env-paths": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", - "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", - "dev": true - }, - "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==", + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "pend": "~1.2.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "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" + } }, - "sumchecker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", - "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", "dev": true, "requires": { - "debug": "^2.2.0" - }, - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" } } } @@ -3432,15 +3377,6 @@ "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" - } - }, "error-stack-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.4.tgz", @@ -4640,12 +4576,6 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -4812,13 +4742,13 @@ } }, "globule": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", "dev": true, "requires": { "glob": "~7.1.1", - "lodash": "~4.17.10", + "lodash": "~4.17.12", "minimatch": "~3.0.2" } }, @@ -5109,15 +5039,6 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", @@ -5246,12 +5167,6 @@ } } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", @@ -5345,15 +5260,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true, - "requires": { - "number-is-nan": "^1.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", @@ -5435,12 +5341,6 @@ "isobject": "^3.0.1" } }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, "is-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", @@ -5480,12 +5380,6 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -5679,27 +5573,6 @@ "invert-kv": "^2.0.0" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -5785,16 +5658,6 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -5850,12 +5713,6 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", "dev": true }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -5930,24 +5787,6 @@ "readable-stream": "^2.0.1" } }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -5986,18 +5825,18 @@ "dev": true }, "mime-db": { - "version": "1.42.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", - "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", "dev": true }, "mime-types": { - "version": "2.1.25", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz", - "integrity": "sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==", + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", "dev": true, "requires": { - "mime-db": "1.42.0" + "mime-db": "1.44.0" } }, "mimic-fn": { @@ -6558,50 +6397,12 @@ "path-key": "^2.0.0" } }, - "nugget": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", - "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", - "dev": true, - "requires": { - "debug": "^2.1.3", - "minimist": "^1.1.0", - "pretty-bytes": "^1.0.2", - "progress-stream": "^1.1.0", - "request": "^2.45.0", - "single-line-log": "^1.1.2", - "throttleit": "0.0.2" - }, - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", "dev": true }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -6881,15 +6682,6 @@ "safe-buffer": "^5.1.1" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -6943,25 +6735,6 @@ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, "pathval": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", @@ -7005,21 +6778,6 @@ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -7524,16 +7282,6 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, - "pretty-bytes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" - } - }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -7558,16 +7306,6 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "progress-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", - "dev": true, - "requires": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" - } - }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -7594,9 +7332,9 @@ "dev": true }, "psl": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz", - "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", "dev": true }, "public-encrypt": { @@ -7731,48 +7469,6 @@ "lazy-val": "^1.0.4" } }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, "readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", @@ -7799,16 +7495,6 @@ "readable-stream": "^2.0.2" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, "reduce-css-calc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", @@ -7950,19 +7636,10 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "dev": true, "requires": { "aws-sign2": "~0.7.0", @@ -7972,7 +7649,7 @@ "extend": "~3.0.2", "forever-agent": "~0.6.1", "form-data": "~2.3.2", - "har-validator": "~5.1.0", + "har-validator": "~5.1.3", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", @@ -7982,7 +7659,7 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", + "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" } @@ -8141,13 +7818,10 @@ } }, "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true }, "run-queue": { "version": "1.0.3", @@ -8329,37 +8003,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "single-line-log": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", - "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", - "dev": true, - "requires": { - "string-width": "^1.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -8573,24 +8216,19 @@ "dev": true }, "spectron": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/spectron/-/spectron-3.8.0.tgz", - "integrity": "sha512-fQ7gFp6UuEaONjXFLifLeIUI022pOsm3b+NFAm696r2umUkSZ9IbnEgHwrvBX+pJ3QUDyCEs5bPHUieYU7FvaQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/spectron/-/spectron-11.0.0.tgz", + "integrity": "sha512-YRiB0TTpJa8ofNML/k1fJShe+m7U/E2HnFZsdZK57ekWIzlTHF+Lq7ZvuKGxMbpooU/OZkLObZfitemxhBVH4w==", "dev": true, "requires": { + "@types/webdriverio": "^4.8.0", "dev-null": "^0.1.1", - "electron-chromedriver": "~1.8.0", - "request": "^2.81.0", + "electron-chromedriver": "^9.0.0", + "request": "^2.87.0", "split": "^1.0.0", - "webdriverio": "^4.8.0" + "webdriverio": "^4.13.0" } }, - "speedometer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", - "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", - "dev": true - }, "split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", @@ -8814,30 +8452,12 @@ "ansi-regex": "^2.0.0" } }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -8924,14 +8544,6 @@ "readable-stream": "^2.3.0", "to-buffer": "^1.1.1", "xtend": "^4.0.0" - }, - "dependencies": { - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - } } }, "temp-file": { @@ -9008,54 +8620,12 @@ } } }, - "throttleit": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", - "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", - "dev": true - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, - "through2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", - "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", - "dev": true, - "requires": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, "timers-browserify": { "version": "2.0.11", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", @@ -9141,29 +8711,15 @@ } }, "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "psl": "^1.1.28", + "punycode": "^2.1.1" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, "truncate-utf8-bytes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", @@ -9469,9 +9025,9 @@ "dev": true }, "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", "dev": true }, "v8-compile-cache": { @@ -9904,21 +9460,10 @@ "dev": true }, "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true, - "requires": { - "object-keys": "~0.4.0" - }, - "dependencies": { - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - } - } + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, "y18n": { "version": "4.0.0", diff --git a/package.json b/package.json index ac77d2e3..f5410dab 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "mocha": "^7.2.0", "png2icons": "^1.0.1", "source-map-support": "^0.5.0", - "spectron": "^3.7.2", + "spectron": "^11.0.0", "style-loader": "^0.21.0", "webpack": "^4.12.0", "webpack-cli": "^3.3.11", From 38829eace59d06cd8f12c7dd97aad1d369b6c063 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:13:45 +0000 Subject: [PATCH 013/385] Bump electron-updater from 4.2.0 to 4.3.1 Bumps [electron-updater](https://github.com/electron-userland/electron-builder) from 4.2.0 to 4.3.1. - [Release notes](https://github.com/electron-userland/electron-builder/releases) - [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/electron-userland/electron-builder/commits) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 80 ++++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 62 insertions(+), 20 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4046199a..afb46764 100644 --- a/package-lock.json +++ b/package-lock.json @@ -859,13 +859,15 @@ "@types/node": { "version": "12.12.44", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.44.tgz", - "integrity": "sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg==", - "dev": true + "integrity": "sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg==" }, "@types/semver": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.0.tgz", - "integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==" + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.2.0.tgz", + "integrity": "sha512-TbB0A8ACUWZt3Y6bQPstW9QNbhNeebdgLX4T/ZfkrswAfUzRiXrgd9seol+X379Wa589Pu4UEx9Uok0D4RjRCQ==", + "requires": { + "@types/node": "*" + } }, "@webassemblyjs/ast": { "version": "1.9.0", @@ -1374,6 +1376,11 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", @@ -1921,9 +1928,9 @@ } }, "builder-util-runtime": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.4.0.tgz", - "integrity": "sha512-CJB/eKfPf2vHrkmirF5eicVnbDCkMBbwd5tRYlTlgud16zFeqD7QmrVUAOEXdnsrcNkiLg9dbuUsQKtl/AwsYQ==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.0.tgz", + "integrity": "sha512-G1AqqVM2vYTrSFR982c1NNzwXKrGLQjVjaZaWQdn4O6Z3YKjdMDofw88aD9jpyK9ZXkrCxR0tI3Qe9wNbyTlXg==", "requires": { "debug": "^4.1.1", "sax": "^1.2.4" @@ -3427,18 +3434,49 @@ "dev": true }, "electron-updater": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.2.0.tgz", - "integrity": "sha512-GuS3g7HDh17x/SaFjxjswlWUaKHczksYkV2Xc5CKj/bZH0YCvTSHtOmnBAdAmCk99u/71p3zP8f0jIqDfGcjww==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.3.1.tgz", + "integrity": "sha512-UDC5AHCgeiHJYDYWZG/rsl1vdAFKqI/Lm7whN57LKAk8EfhTewhcEHzheRcncLgikMcQL8gFo1KeX51tf5a5Wg==", "requires": { - "@types/semver": "^6.0.2", - "builder-util-runtime": "8.4.0", - "fs-extra": "^8.1.0", + "@types/semver": "^7.1.0", + "builder-util-runtime": "8.7.0", + "fs-extra": "^9.0.0", "js-yaml": "^3.13.1", "lazy-val": "^1.0.4", "lodash.isequal": "^4.5.0", - "pako": "^1.0.10", - "semver": "^6.3.0" + "semver": "^7.1.3" + }, + "dependencies": { + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + } } }, "electron-window": { @@ -4157,6 +4195,7 @@ "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.2.0", "jsonfile": "^4.0.0", @@ -6449,7 +6488,8 @@ "pako": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true }, "parallel-transform": { "version": "1.2.0", @@ -7813,7 +7853,8 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true }, "semver-compare": { "version": "1.0.0", @@ -8902,7 +8943,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 }, "unixify": { "version": "1.0.0", diff --git a/package.json b/package.json index bb49991f..2828cfbf 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "about-window": "1.13.4", "electron-hunspell": "1.0.0-beta.12", "electron-settings": "3.2.0", - "electron-updater": "4.2.0", + "electron-updater": "4.3.1", "fs-jetpack": "^2.4.0" }, "devDependencies": { From 47fea90af1bcc12aae53c305494f4483bf15be70 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:17:16 +0000 Subject: [PATCH 014/385] Bump file-loader from 1.1.11 to 6.0.0 Bumps [file-loader](https://github.com/webpack-contrib/file-loader) from 1.1.11 to 6.0.0. - [Release notes](https://github.com/webpack-contrib/file-loader/releases) - [Changelog](https://github.com/webpack-contrib/file-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/file-loader/compare/v1.1.11...v6.0.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 73 +++++++++++++++++++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 69 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index cdfd3e69..8a3ea503 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3953,13 +3953,76 @@ } }, "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", + "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", "dev": true, "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + } } }, "file-uri-to-path": { diff --git a/package.json b/package.json index 38cd0c98..40b53d21 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "electron-builder": "21.2.0", "electron-mocha": "^6.0.4", "electron-notarize": "^0.2.0", - "file-loader": "^1.1.11", + "file-loader": "^6.0.0", "friendly-errors-webpack-plugin": "^1.6.1", "mocha": "^7.2.0", "png2icons": "^2.0.1", From e7f4ba77276135b1b5ac1f4bfecf2a43e5887f61 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:17:37 +0000 Subject: [PATCH 015/385] Bump css-loader from 0.28.11 to 3.5.3 Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 0.28.11 to 3.5.3. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v0.28.11...v3.5.3) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 1077 +++++---------------------------------------- package.json | 2 +- 2 files changed, 102 insertions(+), 977 deletions(-) diff --git a/package-lock.json b/package-lock.json index be300bb3..d6a0d4df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1116,12 +1116,6 @@ "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", "dev": true }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, "ansi-align": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", @@ -1406,32 +1400,6 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -1444,50 +1412,6 @@ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", "dev": true }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.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" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, "babel-loader": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", @@ -2151,36 +2075,6 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, - "caniuse-db": { - "version": "1.0.30001011", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001011.tgz", - "integrity": "sha512-SLxt1AxlktFkVaIdrwFumUvlzuLMBxylefDMuwa8BSYM7bvkZIzpoE2TmxZ0wH1v8d80RYJ357kZRFeWo7+pog==", - "dev": true - }, "caniuse-lite": { "version": "1.0.30001011", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001011.tgz", @@ -2330,42 +2224,6 @@ "safe-buffer": "^5.0.1" } }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, - "requires": { - "chalk": "^1.1.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.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 - } - } - }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -2452,15 +2310,6 @@ "mimic-response": "^1.0.0" } }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "^1.1.2" - } - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -2471,25 +2320,6 @@ "object-visit": "^1.0.0" } }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" - }, - "dependencies": { - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - } - } - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -2505,32 +2335,6 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "^1.0.0" - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "^0.11.0", - "css-color-names": "0.0.4", - "has": "^1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2813,88 +2617,73 @@ } } }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", - "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": "^3.10.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.1.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - } - }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", - "dev": true, - "requires": { - "css": "^2.0.0" - } - }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", + "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", "dev": true, "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.27", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.3", + "schema-utils": "^2.6.6", + "semver": "^6.3.0" }, "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dev": true, "requires": { - "jsesc": "~0.5.0" + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" } } } }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, "css-value": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz", @@ -2902,60 +2691,10 @@ "dev": true }, "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true }, "cyclist": { "version": "1.0.1", @@ -3078,12 +2817,6 @@ } } }, - "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", @@ -3960,12 +3693,6 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, "fd-slicer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", @@ -4079,12 +3806,6 @@ } } }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true - }, "flush-write-stream": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", @@ -4636,12 +4357,6 @@ "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", "dev": true }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, "http-cache-semantics": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", @@ -4683,38 +4398,13 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", "dev": true, "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "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 - } + "postcss": "^7.0.14" } }, "ieee754": { @@ -4853,12 +4543,6 @@ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -5039,12 +4723,6 @@ "path-is-inside": "^1.0.1" } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -5069,15 +4747,6 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -5141,12 +4810,6 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", - "dev": true - }, "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", @@ -5330,29 +4993,11 @@ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, "lodash.isequal": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, "log-symbols": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", @@ -5448,12 +5093,6 @@ } } }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true - }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -6059,24 +5698,6 @@ "remove-trailing-separator": "^1.0.1" } }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, "npm-conf": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", @@ -6112,12 +5733,6 @@ "path-key": "^2.0.0" } }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -6517,475 +6132,89 @@ "dev": true }, "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", "dev": true, "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "dependencies": { - "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 - } - } - }, - "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 - }, - "supports-color": { - "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": "^1.0.0" - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "^5.0.16" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", - "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "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 - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" }, "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, "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 - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } }, - "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 - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "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": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "has-flag": "^3.0.0" } - }, - "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 } } }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "^5.0.5" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", "dev": true, "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" + "postcss": "^7.0.5" } }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", "dev": true, "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" } }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", "dev": true, "requires": { - "postcss": "^5.0.4" + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" } }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", "dev": true, "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" } }, "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", "dev": true, "requires": { - "flatten": "^1.0.2", + "cssesc": "^3.0.0", "indexes-of": "^1.0.1", "uniq": "^1.0.1" } }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, "private": { @@ -7116,16 +6345,6 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -7208,34 +6427,6 @@ "picomatch": "^2.2.1" } }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "reduce-function-call": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", - "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", @@ -7842,15 +7033,6 @@ } } }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -8075,12 +7257,6 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -8209,39 +7385,6 @@ "has-flag": "^3.0.0" } }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" - } - } - } - }, "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", @@ -8544,12 +7687,6 @@ "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", "dev": true }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -8765,12 +7902,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "vendors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", - "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==", - "dev": true - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -9162,12 +8293,6 @@ "integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=", "dev": true }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/package.json b/package.json index a86b42e3..251a547e 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "babel-loader": "8.1.0", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", "chai": "^4.1.0", - "css-loader": "^0.28.7", + "css-loader": "^3.5.3", "electron": "9.0.2", "electron-builder": "21.2.0", "electron-mocha": "^6.0.4", From 7b7b029405a6c2451b0827f367a51616e1e36859 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:17:50 +0000 Subject: [PATCH 016/385] Bump electron-hunspell from 1.0.0-beta.12 to 1.1.2 Bumps [electron-hunspell](https://github.com/kwonoj/electron-hunspell) from 1.0.0-beta.12 to 1.1.2. - [Release notes](https://github.com/kwonoj/electron-hunspell/releases) - [Changelog](https://github.com/kwonoj/electron-hunspell/blob/master/CHANGELOG.md) - [Commits](https://github.com/kwonoj/electron-hunspell/compare/v1.0.0-beta.12...v1.1.2) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 22 +++++++++++----------- package.json | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index cdfd3e69..9465a06b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3310,11 +3310,11 @@ } }, "electron-hunspell": { - "version": "1.0.0-beta.12", - "resolved": "https://registry.npmjs.org/electron-hunspell/-/electron-hunspell-1.0.0-beta.12.tgz", - "integrity": "sha512-Cl1w6Mou9v/wPm+OsF1g9gZAcfC+Gz6AECcsD9QQ2ssbeAIMCLwL5dWIH6lshqgQ9Ibq77ZED2yd8MXcq9QRvw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/electron-hunspell/-/electron-hunspell-1.1.2.tgz", + "integrity": "sha512-Wrue7/aOlOEabhMm4GQSfvGADKHzCDkuYIEOINSEwMjHrvwTj7e1gI1kIO5wc+JdSL1uhFjwROfrqiLmnxqIKg==", "requires": { - "hunspell-asm": "^3.0.3" + "hunspell-asm": "^4.0.2" } }, "electron-mocha": { @@ -4627,12 +4627,12 @@ "dev": true }, "hunspell-asm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-3.0.3.tgz", - "integrity": "sha512-0Izyb2dRBldwjM/1cMK7ydgGsQoEZKHxF1+mHHKHUvN00/g4MeNILWTQrKnW7mIzo/NAnQXtaYd5vu3WZeUfMw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-4.0.2.tgz", + "integrity": "sha512-u3ZuEYKGYnLZlIs+k5S+KdY+Q57mYD46fTwZJCiSXdES+fhxcLNF5mJ0nxjqrPAgE/8Kow6XLxRdRd/HDUPQZg==", "requires": { "emscripten-wasm-loader": "^3.0.3", - "nanoid": "^2.0.3" + "nanoid": "^2.1.5" } }, "iconv-lite": { @@ -5880,9 +5880,9 @@ "optional": true }, "nanoid": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.7.tgz", - "integrity": "sha512-fmS3qwDldm4bE01HCIRqNk+f255CNjnAoeV3Zzzv0KemObHKqYgirVaZA9DtKcjogicWjYcHkJs4D5A8CjnuVQ==" + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", + "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" }, "nanomatch": { "version": "1.2.13", diff --git a/package.json b/package.json index 38cd0c98..ba045b57 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ }, "dependencies": { "about-window": "1.13.4", - "electron-hunspell": "1.0.0-beta.12", + "electron-hunspell": "1.1.2", "electron-settings": "3.2.0", "electron-updater": "4.2.0", "fs-jetpack": "^2.4.0" From e255e2a05c5f2652272e952be6a6a140efef1dc2 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:18:24 +0000 Subject: [PATCH 017/385] Bump style-loader from 0.21.0 to 1.2.1 Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 0.21.0 to 1.2.1. - [Release notes](https://github.com/webpack-contrib/style-loader/releases) - [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/style-loader/compare/v0.21.0...v1.2.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 73 +++++++++++++++++++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 69 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index cdfd3e69..6575eef5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8141,13 +8141,76 @@ "dev": true }, "style-loader": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", - "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", + "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5" + "loader-utils": "^2.0.0", + "schema-utils": "^2.6.6" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + } } }, "sumchecker": { diff --git a/package.json b/package.json index 38cd0c98..43e2d833 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "png2icons": "^2.0.1", "source-map-support": "^0.5.0", "spectron": "^11.0.0", - "style-loader": "^0.21.0", + "style-loader": "^1.2.1", "webpack": "^4.43.0", "webpack-cli": "^3.3.11", "webpack-merge": "^4.1.0", From 929aa0c90035c7ca5580e5b93595640b7daad3fc Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:19:50 +0000 Subject: [PATCH 018/385] Bump electron-builder from 21.2.0 to 22.7.0 Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 21.2.0 to 22.7.0. - [Release notes](https://github.com/electron-userland/electron-builder/releases) - [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/electron-userland/electron-builder/compare/v21.2.0...v22.7.0) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 1317 +++++++++++++++++++++++++++++++++++---------- package.json | 2 +- 2 files changed, 1021 insertions(+), 298 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9607fbff..5b859d76 100644 --- a/package-lock.json +++ b/package-lock.json @@ -809,13 +809,33 @@ } }, "@develar/schema-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.1.0.tgz", - "integrity": "sha512-qjCqB4ctMig9Gz5bd6lkdFr3bO6arOdQqptdBSpF1ZpCnjofieCciEzkoS9ujY9cMGyllYSCSmBJ3x9OKHXzoA==", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", + "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "^6.12.0", + "ajv-keywords": "^3.4.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + } } }, "@electron/get": { @@ -850,12 +870,27 @@ "defer-to-connect": "^1.0.1" } }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/debug": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", "dev": true }, + "@types/fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/json-schema": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", @@ -884,6 +919,21 @@ "@types/node": "*" } }, + "@types/yargs": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", + "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "dev": true + }, "@types/yauzl": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", @@ -1173,50 +1223,103 @@ } }, "app-builder-bin": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.4.3.tgz", - "integrity": "sha512-qMhayIwi3juerQEVJMQ76trObEbfQT0nhUdxZz9a26/3NLT3pE6awmQ8S1cEnrGugaaM5gYqR8OElcDezfmEsg==", + "version": "3.5.9", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.9.tgz", + "integrity": "sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg==", "dev": true }, "app-builder-lib": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-21.2.0.tgz", - "integrity": "sha512-aOX/nv77/Bti6NymJDg7p9T067xD8m1ipIEJR7B4Mm1GsJWpMm9PZdXtCRiMNRjHtQS5KIljT0g17781y6qn5A==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.7.0.tgz", + "integrity": "sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g==", "dev": true, "requires": { "7zip-bin": "~5.0.3", - "@develar/schema-utils": "~2.1.0", + "@develar/schema-utils": "~2.6.5", "async-exit-hook": "^2.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "21.2.0", - "builder-util-runtime": "8.3.0", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", "chromium-pickle-js": "^0.2.0", - "debug": "^4.1.1", - "ejs": "^2.6.2", - "electron-publish": "21.2.0", - "fs-extra": "^8.1.0", - "hosted-git-info": "^2.7.1", + "debug": "^4.2.0", + "ejs": "^3.1.3", + "electron-publish": "22.7.0", + "fs-extra": "^9.0.0", + "hosted-git-info": "^3.0.4", "is-ci": "^2.0.0", - "isbinaryfile": "^4.0.2", - "js-yaml": "^3.13.1", + "isbinaryfile": "^4.0.6", + "js-yaml": "^3.14.0", "lazy-val": "^1.0.4", "minimatch": "^3.0.4", "normalize-package-data": "^2.5.0", - "read-config-file": "5.0.0", - "sanitize-filename": "^1.6.2", - "semver": "^6.3.0", - "temp-file": "^3.3.4" + "read-config-file": "6.0.0", + "sanitize-filename": "^1.6.3", + "semver": "^7.3.2", + "temp-file": "^3.3.7" }, "dependencies": { "builder-util-runtime": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", - "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", "dev": true, "requires": { - "debug": "^4.1.1", + "debug": "^4.2.0", "sax": "^1.2.4" } + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, @@ -1678,25 +1781,113 @@ "optional": true }, "boxen": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", - "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", "dev": true, "requires": { "ansi-align": "^3.0.0", "camelcase": "^5.3.1", - "chalk": "^2.4.2", + "chalk": "^3.0.0", "cli-boxes": "^2.2.0", - "string-width": "^3.0.0", - "term-size": "^1.2.0", - "type-fest": "^0.3.0", - "widest-line": "^2.0.0" + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "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==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "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==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "type-fest": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", - "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } @@ -1913,35 +2104,149 @@ "dev": true }, "builder-util": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-21.2.0.tgz", - "integrity": "sha512-Nd6CUb6YgDY8EXAXEIegx+1kzKqyFQ5ZM5BoYkeunAlwz/zDJoH1UCyULjoS5wQe5czNClFQy07zz2bzYD0Z4A==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.7.0.tgz", + "integrity": "sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg==", "dev": true, "requires": { "7zip-bin": "~5.0.3", - "@types/debug": "^4.1.4", - "app-builder-bin": "3.4.3", + "@types/debug": "^4.1.5", + "@types/fs-extra": "^9.0.1", + "app-builder-bin": "3.5.9", "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.3.0", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "fs-extra": "^8.1.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "debug": "^4.2.0", + "fs-extra": "^9.0.0", "is-ci": "^2.0.0", - "js-yaml": "^3.13.1", - "source-map-support": "^0.5.13", - "stat-mode": "^0.3.0", - "temp-file": "^3.3.4" + "js-yaml": "^3.14.0", + "source-map-support": "^0.5.19", + "stat-mode": "^1.0.0", + "temp-file": "^3.3.7" }, "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, "builder-util-runtime": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", - "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", "dev": true, "requires": { - "debug": "^4.1.1", + "debug": "^4.2.0", "sax": "^1.2.4" } + }, + "chalk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "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 + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, @@ -2403,33 +2708,27 @@ } }, "configstore": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", - "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", "dev": true, "requires": { - "dot-prop": "^4.1.0", + "dot-prop": "^5.2.0", "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" }, "dependencies": { "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "pify": "^3.0.0" + "semver": "^6.0.0" } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true } } }, @@ -2561,17 +2860,6 @@ "sha.js": "^2.4.8" } }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -2592,9 +2880,9 @@ } }, "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true }, "css": { @@ -2878,18 +3166,57 @@ } }, "dmg-builder": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-21.2.0.tgz", - "integrity": "sha512-9cJEclnGy7EyKFCoHDYDf54pub/t92CQapyiUxU0w9Bj2vUvfoDagP1PMiX4XD5rPp96141h9A+QN0OB4VgvQg==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.7.0.tgz", + "integrity": "sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg==", "dev": true, "requires": { - "app-builder-lib": "~21.2.0", - "bluebird-lst": "^1.0.9", - "builder-util": "~21.2.0", - "fs-extra": "^8.1.0", - "iconv-lite": "^0.5.0", - "js-yaml": "^3.13.1", - "sanitize-filename": "^1.6.2" + "app-builder-lib": "22.7.0", + "builder-util": "22.7.0", + "fs-extra": "^9.0.0", + "iconv-lite": "^0.5.1", + "js-yaml": "^3.14.0", + "sanitize-filename": "^1.6.3" + }, + "dependencies": { + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + } } }, "domain-browser": { @@ -2899,12 +3226,12 @@ "dev": true }, "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "^2.0.0" } }, "dotenv": { @@ -2948,10 +3275,13 @@ } }, "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz", + "integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } }, "electron": { "version": "9.0.2", @@ -2965,34 +3295,245 @@ } }, "electron-builder": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-21.2.0.tgz", - "integrity": "sha512-x8EXrqFbAb2L3N22YlGar3dGh8vwptbB3ovo3OF6K7NTpcsmM2zEoJv7GhFyX73rNzSG2HaWpXwGAtOp2JWiEw==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.7.0.tgz", + "integrity": "sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ==", "dev": true, "requires": { - "app-builder-lib": "21.2.0", + "@types/yargs": "^15.0.5", + "app-builder-lib": "22.7.0", "bluebird-lst": "^1.0.9", - "builder-util": "21.2.0", - "builder-util-runtime": "8.3.0", - "chalk": "^2.4.2", - "dmg-builder": "21.2.0", - "fs-extra": "^8.1.0", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "dmg-builder": "22.7.0", + "fs-extra": "^9.0.0", "is-ci": "^2.0.0", "lazy-val": "^1.0.4", - "read-config-file": "5.0.0", - "sanitize-filename": "^1.6.2", - "update-notifier": "^3.0.1", - "yargs": "^13.3.0" + "read-config-file": "6.0.0", + "sanitize-filename": "^1.6.3", + "update-notifier": "^4.1.0", + "yargs": "^15.3.1" }, "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, "builder-util-runtime": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", - "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", + "dev": true, + "requires": { + "debug": "^4.2.0", + "sax": "^1.2.4" + } + }, + "chalk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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==", + "dev": true + }, + "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" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "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==", + "dev": true + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "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 + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", "dev": true, "requires": { - "debug": "^4.1.1", - "sax": "^1.2.4" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -3151,29 +3692,117 @@ } }, "electron-publish": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-21.2.0.tgz", - "integrity": "sha512-mWavuoWJe87iaeKd0I24dNWIaR+0yRzshjNVqGyK019H766fsPWl3caQJnVKFaEyrZRP397v4JZVG0e7s16AxA==", + "version": "22.7.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.7.0.tgz", + "integrity": "sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg==", "dev": true, "requires": { + "@types/fs-extra": "^9.0.1", "bluebird-lst": "^1.0.9", - "builder-util": "~21.2.0", - "builder-util-runtime": "8.3.0", - "chalk": "^2.4.2", - "fs-extra": "^8.1.0", + "builder-util": "22.7.0", + "builder-util-runtime": "8.7.1", + "chalk": "^4.0.0", + "fs-extra": "^9.0.0", "lazy-val": "^1.0.4", - "mime": "^2.4.4" + "mime": "^2.4.5" }, "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, "builder-util-runtime": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.3.0.tgz", - "integrity": "sha512-CSOdsYqf4RXIHh1HANPbrZHlZ9JQJXSuDDloblZPcWQVN62inyYoTQuSmY3KrgefME2Sv3Kn2MxHvbGQHRf8Iw==", + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", + "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", "dev": true, "requires": { - "debug": "^4.1.1", + "debug": "^4.2.0", "sax": "^1.2.4" } + }, + "chalk": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", + "dev": true } } }, @@ -3392,6 +4021,12 @@ "dev": true, "optional": true }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -3450,29 +4085,6 @@ "safe-buffer": "^5.1.1" } }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", @@ -3797,6 +4409,15 @@ "dev": true, "optional": true }, + "filelist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", + "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -4145,12 +4766,12 @@ } }, "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "^1.3.5" } }, "global-modules": { @@ -4415,10 +5036,13 @@ } }, "hosted-git-info": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", - "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", - "dev": true + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", + "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "dev": true, + "requires": { + "lru-cache": "^5.1.1" + } }, "http-cache-semantics": { "version": "4.0.3", @@ -4453,9 +5077,9 @@ } }, "iconv-lite": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz", - "integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz", + "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==", "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" @@ -4736,19 +5360,19 @@ } }, "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" } }, "is-npm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", - "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", "dev": true }, "is-number": { @@ -4772,19 +5396,16 @@ } }, "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true }, "is-plain-object": { "version": "2.0.4", @@ -4850,9 +5471,9 @@ "dev": true }, "isbinaryfile": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.2.tgz", - "integrity": "sha512-C3FSxJdNrEr2F4z6uFtNzECDM5hXk+46fxaa+cwBe5/XrWSmzdG8DDgyjfX6/NRdBB21q2JXuRAzPCUs+fclnQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz", + "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==", "dev": true }, "isexe": { @@ -4873,6 +5494,26 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jake": { + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.1.tgz", + "integrity": "sha512-eSp5h9S7UFzKdQERTyF+KuPLjDZa1Tbw8gCVUn98n4PbIkLEDGe4zl7vF4Qge9kQj06HcymnksPk8jznPZeKsA==", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", @@ -5086,13 +5727,12 @@ "dev": true }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^3.0.2" } }, "make-dir": { @@ -5236,9 +5876,9 @@ } }, "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", "dev": true }, "mime-db": { @@ -5745,6 +6385,12 @@ "validate-npm-package-license": "^3.0.1" }, "dependencies": { + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -6112,12 +6758,6 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -6323,12 +6963,6 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -6396,6 +7030,15 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, "q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", @@ -6452,17 +7095,33 @@ } }, "read-config-file": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-5.0.0.tgz", - "integrity": "sha512-jIKUu+C84bfnKxyJ5j30CxCqgXWYjZLXuVE/NYlMEpeni+dhESgAeZOZd0JZbg1xTkMmnCdxksDoarkOyfEsOg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz", + "integrity": "sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==", "dev": true, "requires": { - "dotenv": "^8.0.0", + "dotenv": "^8.2.0", "dotenv-expand": "^5.1.0", - "fs-extra": "^8.1.0", "js-yaml": "^3.13.1", - "json5": "^2.1.0", + "json5": "^2.1.2", "lazy-val": "^1.0.4" + }, + "dependencies": { + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } } }, "readable-stream": { @@ -6545,13 +7204,12 @@ } }, "registry-auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz", - "integrity": "sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", + "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", "dev": true, "requires": { - "rc": "^1.2.8", - "safe-buffer": "^5.0.1" + "rc": "^1.2.8" } }, "registry-url": { @@ -6873,20 +7531,12 @@ "optional": true }, "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", "dev": true, "requires": { - "semver": "^5.0.3" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "semver": "^6.3.0" } }, "serialize-error": { @@ -7146,9 +7796,9 @@ "dev": true }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -7156,15 +7806,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -7247,9 +7897,9 @@ "dev": true }, "stat-mode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.3.0.tgz", - "integrity": "sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", + "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", "dev": true }, "static-extend": { @@ -7470,9 +8120,9 @@ } }, "temp-file": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.4.tgz", - "integrity": "sha512-qSZ5W5q54iyGnP8cNl49RE0jTJc5CrzNocux5APD5yIxcgonoMuMSbsZfaZy8rTGCYo0Xz6ySVv3adagZ8gffg==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.7.tgz", + "integrity": "sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g==", "dev": true, "requires": { "async-exit-hook": "^2.0.1", @@ -7480,13 +8130,10 @@ } }, "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "^0.7.0" - } + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", + "dev": true }, "terser": { "version": "4.7.0", @@ -7704,6 +8351,15 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "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": { + "is-typedarray": "^1.0.0" + } + }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -7769,12 +8425,12 @@ } }, "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "^2.0.0" } }, "universalify": { @@ -7839,23 +8495,76 @@ "optional": true }, "update-notifier": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", - "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz", + "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==", "dev": true, "requires": { - "boxen": "^3.0.0", - "chalk": "^2.0.1", - "configstore": "^4.0.0", + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", "has-yarn": "^2.1.0", "import-lazy": "^2.1.0", "is-ci": "^2.0.0", - "is-installed-globally": "^0.1.0", - "is-npm": "^3.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", "is-yarn-global": "^0.3.0", "latest-version": "^5.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "uri-js": { @@ -8408,37 +9117,50 @@ } }, "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "^4.0.0" }, "dependencies": { "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "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==", + "dev": true + }, + "is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "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": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^5.0.0" } } } @@ -8492,20 +9214,21 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "dev": true }, "xtend": { @@ -8521,9 +9244,9 @@ "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==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index fddf9547..fc7a6ef4 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "chai": "^4.1.0", "css-loader": "^3.5.3", "electron": "9.0.2", - "electron-builder": "21.2.0", + "electron-builder": "22.7.0", "electron-mocha": "^6.0.4", "electron-notarize": "^0.2.0", "file-loader": "^6.0.0", From ea8052b3469ff76eebcdf02c8ad78a5dfb2693f1 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:21:11 +0000 Subject: [PATCH 019/385] Bump electron-notarize from 0.2.1 to 0.3.0 Bumps electron-notarize from 0.2.1 to 0.3.0. Signed-off-by: dependabot-preview[bot] --- package-lock.json | 16 +++------------- package.json | 2 +- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 130679f9..febe9d9b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3141,9 +3141,9 @@ } }, "electron-notarize": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.2.1.tgz", - "integrity": "sha512-oZ6/NhKeXmEKNROiFmRNfytqu3cxqC95sjooG7kBXQVEUSQkZnbiAhxVh5jXngL881G197pbwpeVPJyM7Ikmxw==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.3.0.tgz", + "integrity": "sha512-tuDw8H0gcDOalNLv6RM2CwGvUXU60MPGZRDEmd0ppX+yP5XqL8Ec2DuXyz9J7WQSA3aRCfzIgH8C5CAivDYWMw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -6849,16 +6849,6 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", diff --git a/package.json b/package.json index f6fc0844..2adbef4e 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "electron": "9.0.2", "electron-builder": "21.2.0", "electron-mocha": "^6.0.4", - "electron-notarize": "^0.2.0", + "electron-notarize": "^0.3.0", "file-loader": "^6.0.0", "friendly-errors-webpack-plugin": "^1.6.1", "mocha": "^7.2.0", From 89f17a200bf527555a46f02405ed1aa04f73edbb Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:21:20 +0000 Subject: [PATCH 020/385] Bump source-map-support from 0.5.16 to 0.5.19 Bumps [source-map-support](https://github.com/evanw/node-source-map-support) from 0.5.16 to 0.5.19. - [Release notes](https://github.com/evanw/node-source-map-support/releases) - [Commits](https://github.com/evanw/node-source-map-support/compare/v0.5.16...v0.5.19) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 16 +++------------- package.json | 2 +- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 130679f9..d3965136 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6849,16 +6849,6 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -7122,9 +7112,9 @@ } }, "source-map-support": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", diff --git a/package.json b/package.json index f6fc0844..efc7c437 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ "friendly-errors-webpack-plugin": "^1.6.1", "mocha": "^7.2.0", "png2icons": "^2.0.1", - "source-map-support": "^0.5.0", + "source-map-support": "^0.5.19", "spectron": "^11.0.0", "style-loader": "^1.2.1", "webpack": "^4.43.0", From cc4e535e448a92672c1b0fe140a2322f9ac157af Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:24:33 +0000 Subject: [PATCH 021/385] Bump @babel/preset-env from 7.5.5 to 7.10.2 Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.5.5 to 7.10.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-preset-env) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 2038 ++++++++++++++++++++++++++++++++++++--------- package.json | 2 +- 2 files changed, 1630 insertions(+), 410 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9cd6a737..1b336fdf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,25 @@ "@babel/highlight": "^7.0.0" } }, + "@babel/compat-data": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz", + "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, "@babel/core": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", @@ -62,64 +81,372 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz", - "integrity": "sha512-2BQmQgECKzYKFPpiycoF9tlb5HA4lrVyAmLLVK177EcQAqjVLciUb2/R+n1boQ9y5ENV3uz2ZqiNw7QMBBw1Og==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", + "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", "dev": true, "requires": { - "@babel/types": "^7.7.4" + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.7.4.tgz", - "integrity": "sha512-Biq/d/WtvfftWZ9Uf39hbPBYDUo986m5Bb4zhkeYDGUllF43D+nUe5M6Vuo6/8JDK/0YX/uBdeoQpyaNhNugZQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz", + "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/helper-explode-assignable-expression": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, - "@babel/helper-call-delegate": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.7.4.tgz", - "integrity": "sha512-8JH9/B7J7tCYJ2PpWVpw9JhPuEVHztagNVuQAFBVFYluRMlpG7F1CgKEgGeL6KFqcsIa92ZYVj6DSc0XwmN1ZA==", + "@babel/helper-compilation-targets": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", + "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/compat-data": "^7.10.1", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz", + "integrity": "sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.4.tgz", - "integrity": "sha512-Mt+jBKaxL0zfOIWrfQpnfYCN7/rS6GKx6CCCfuoqVVd+17R8zNDlzVYmIi9qyb2wOk002NsmSTDymkIygDUH7A==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", + "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", "dev": true, "requires": { - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-regex": "^7.10.1", + "regexpu-core": "^4.7.0" } }, "@babel/helper-define-map": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.7.4.tgz", - "integrity": "sha512-v5LorqOa0nVQUvAUTUF3KPastvUt/HzByXNamKQ6RdJRTV7j8rLL+WB5C/MzzWAwOomxDhYFb1wLLxHqox86lg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz", + "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/types": "^7.7.4", + "@babel/helper-function-name": "^7.10.1", + "@babel/types": "^7.10.1", "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.7.4.tgz", - "integrity": "sha512-2/SicuFrNSXsZNBxe5UGdLr+HZg+raWBLE9vC98bdYOKX/U6PY0mdGlYUJdtTDPSU0Lw0PNbKKDpwYHJLn2jLg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz", + "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==", "dev": true, "requires": { - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-function-name": { @@ -143,103 +470,481 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz", - "integrity": "sha512-wQC4xyvc1Jo/FnLirL6CEgPgPCa8M74tOdjWpRhQYapz5JC7u3NYU1zCVoVAGCE3EaIP9T1A3iW0WLJ+reZlpQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz", + "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==", "dev": true, "requires": { - "@babel/types": "^7.7.4" + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-member-expression-to-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.7.4.tgz", - "integrity": "sha512-9KcA1X2E3OjXl/ykfMMInBK+uVdfIVakVe7W7Lg3wfXUNyS3Q1HWLFRwZIjhqiCGbslummPDnmb7vIekS0C1vw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", + "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", "dev": true, "requires": { - "@babel/types": "^7.7.4" + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-module-imports": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", - "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", + "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", "dev": true, "requires": { - "@babel/types": "^7.7.4" + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-module-transforms": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.4.tgz", - "integrity": "sha512-ehGBu4mXrhs0FxAqN8tWkzF8GSIGAiEumu4ONZ/hD9M88uHcD+Yu2ttKfOCgwzoesJOJrtQh7trI5YPbRtMmnA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", + "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-simple-access": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4", + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1", "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-optimise-call-expression": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.7.4.tgz", - "integrity": "sha512-VB7gWZ2fDkSuqW6b1AKXkJWO5NyNI3bFL/kK79/30moK57blr6NbH8xcl2XcKCwOmJosftWunZqfO84IGq3ZZg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", + "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", "dev": true, "requires": { - "@babel/types": "^7.7.4" + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", + "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", "dev": true }, "@babel/helper-regex": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz", - "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", + "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", "dev": true, "requires": { "lodash": "^4.17.13" } }, "@babel/helper-remap-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.7.4.tgz", - "integrity": "sha512-Sk4xmtVdM9sA/jCI80f+KS+Md+ZHIpjuqmYPk1M7F/upHou5e4ReYmExAiu6PVe65BhJPZA2CY9x9k4BqE5klw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz", + "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-wrap-function": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-wrap-function": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-replace-supers": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.7.4.tgz", - "integrity": "sha512-pP0tfgg9hsZWo5ZboYGuBn/bbYT/hdLPVSS4NMmiRJdwWhP0IznPwN9AE1JwyGsjSPLC364I0Qh5p+EPkGPNpg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", + "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.7.4", - "@babel/helper-optimise-call-expression": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-simple-access": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz", - "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", + "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", "dev": true, "requires": { - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-split-export-declaration": { @@ -251,16 +956,130 @@ "@babel/types": "^7.7.4" } }, + "@babel/helper-validator-identifier": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", + "dev": true + }, "@babel/helper-wrap-function": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz", - "integrity": "sha512-VsfzZt6wmsocOaVU0OokwrIytHND55yvyT4BPB9AIIgwr8+x7617hetdJTsuGwygN5RC6mxA9EJztTjuwm2ofg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", + "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/helper-function-name": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helpers": { @@ -292,475 +1111,776 @@ "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz", - "integrity": "sha512-1ypyZvGRXriY/QP668+s8sFr2mqinhkRDMPSQLNghCQE+GAkFtp+wkHVvg2+Hdki8gwP+NFzJBJ/N1BfzCCDEw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz", + "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4", - "@babel/plugin-syntax-async-generators": "^7.7.4" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz", + "integrity": "sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", + "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", + "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", + "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", + "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-numeric-separator": "^7.10.1" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.4.tgz", - "integrity": "sha512-StH+nGAdO6qDB1l8sZ5UBV8AC3F2VW2I8Vfld73TMKyptMU9DY5YsJAS8U81+vEtxcH3Y/La0wG0btDrhpnhjQ==", + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz", + "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.7.4" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.1" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.7.4.tgz", - "integrity": "sha512-wQvt3akcBTfLU/wYoqm/ws7YOAQKu8EVJEvHip/mzkNtjaclQoCCIqKXFP5/eyfnfbQCDV3OLRIK3mIVyXuZlw==", + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", + "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-json-strings": "^7.7.4" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", - "integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz", + "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.7.4" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.7.4.tgz", - "integrity": "sha512-DyM7U2bnsQerCQ+sejcTNZh8KQEUuC3ufzdnVnSiUv/qoGJp2Z3hanKL18KDhsBT5Wj6a7CMT5mdyCNJsEaA9w==", + "@babel/plugin-proposal-private-methods": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz", + "integrity": "sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.7.4" + "@babel/helper-create-class-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", - "integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", + "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.7.4.tgz", - "integrity": "sha512-Li4+EjSpBgxcsmeEF8IFcfV/+yJGxHXDirDkEoyFjumuwbmfCVHUt0HuowD/iGM7OhIRyXJH9YXxqiH6N815+g==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz", + "integrity": "sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-syntax-dynamic-import": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.7.4.tgz", - "integrity": "sha512-jHQW0vbRGvwQNgyVxwDh4yuXu4bH1f5/EICJLAhl1SblLs2CDhrsmCk+v5XLdE9wxtAFRyxx+P//Iw+a5L/tTg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-json-strings": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.7.4.tgz", - "integrity": "sha512-QpGupahTQW1mHRXddMG5srgpHWqRLwJnJZKXTigB9RPFCCGbDGCgBeM/iC82ICXp414WeYx/tD54w7M2qRqTMg==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", + "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-syntax-object-rest-spread": { - "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==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.7.4.tgz", - "integrity": "sha512-4ZSuzWgFxqHRE31Glu+fEr/MirNZOMYmD/0BhBWyLyOOQz/gTAl7QmWm2hX1QxEIXsr2vkdlwxIzTyiYRC4xcQ==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", + "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.7.4.tgz", - "integrity": "sha512-zUXy3e8jBNPiffmqkHRNDdZM2r8DWhCB7HhcoyZjiK1TxYEluLHAvQuYnTT+ARqRpabWqy/NHkO6e3MsYB5YfA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", + "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.7.4.tgz", - "integrity": "sha512-zpUTZphp5nHokuy8yLlyafxCJ0rSlFoSHypTUWgpdwoDXWQcseaect7cJ8Ppk6nunOM6+5rPMkod4OYKPR5MUg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", + "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-remap-async-to-generator": "^7.7.4" + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.7.4.tgz", - "integrity": "sha512-kqtQzwtKcpPclHYjLK//3lH8OFsCDuDJBaFhVwf8kqdnF6MN4l618UDlcA7TfRs3FayrHj+svYnSX8MC9zmUyQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", + "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.7.4.tgz", - "integrity": "sha512-2VBe9u0G+fDt9B5OV5DQH4KBf5DoiNkwFKOz0TCvBWvdAN2rOykCTkrL+jTLxfCAm76l9Qo5OqL7HBOx2dWggg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", + "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-plugin-utils": "^7.10.1", "lodash": "^4.17.13" } }, "@babel/plugin-transform-classes": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.7.4.tgz", - "integrity": "sha512-sK1mjWat7K+buWRuImEzjNf68qrKcrddtpQo3swi9j7dUcG6y6R6+Di039QN2bD1dykeswlagupEmpOatFHHUg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-define-map": "^7.7.4", - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-optimise-call-expression": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4", - "@babel/helper-split-export-declaration": "^7.7.4", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz", + "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-define-map": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.7.4.tgz", - "integrity": "sha512-bSNsOsZnlpLLyQew35rl4Fma3yKWqK3ImWMSC/Nc+6nGjC9s5NFWAer1YQ899/6s9HxO2zQC1WoFNfkOqRkqRQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz", + "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-destructuring": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.7.4.tgz", - "integrity": "sha512-4jFMXI1Cu2aXbcXXl8Lr6YubCn6Oc7k9lLsu8v61TZh+1jny2BWmdtvY9zSUlLdGUvcy9DMAWyZEOqjsbeg/wA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", + "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", - "integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", + "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.7.4.tgz", - "integrity": "sha512-g1y4/G6xGWMD85Tlft5XedGaZBCIVN+/P0bs6eabmcPP9egFleMAo65OOjlhcz1njpwagyY3t0nsQC9oTFegJA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", + "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.7.4.tgz", - "integrity": "sha512-MCqiLfCKm6KEA1dglf6Uqq1ElDIZwFuzz1WH5mTf8k2uQSxEJMbOIEh7IZv7uichr7PMfi5YVSrr1vz+ipp7AQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", + "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-for-of": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.7.4.tgz", - "integrity": "sha512-zZ1fD1B8keYtEcKF+M1TROfeHTKnijcVQm0yO/Yu1f7qoDoxEIc/+GX6Go430Bg84eM/xwPFp0+h4EbZg7epAA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", + "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.7.4.tgz", - "integrity": "sha512-E/x09TvjHNhsULs2IusN+aJNRV5zKwxu1cpirZyRPw+FyyIKEHPXTsadj48bVpc1R5Qq1B5ZkzumuFLytnbT6g==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", + "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.1" + } + }, + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.7.4.tgz", - "integrity": "sha512-X2MSV7LfJFm4aZfxd0yLVFrEXAgPqYoDG53Br/tCKiKYfX0MjVjQeWPIhPHHsCqzwQANq+FLN786fF5rgLS+gw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", + "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.7.4.tgz", - "integrity": "sha512-9VMwMO7i69LHTesL0RdGy93JU6a+qOPuvB4F4d0kR0zyVjJRVJRaoaGjhtki6SzQUu8yen/vxPKN6CWnCUw6bA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", + "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.7.4.tgz", - "integrity": "sha512-/542/5LNA18YDtg1F+QHvvUSlxdvjZoD/aldQwkq+E3WCkbEjNSN9zdrOXaSlfg3IfGi22ijzecklF/A7kVZFQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", + "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.4.tgz", - "integrity": "sha512-k8iVS7Jhc367IcNF53KCwIXtKAH7czev866ThsTgy8CwlXjnKZna2VHwChglzLleYrcHz1eQEIJlGRQxB53nqA==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", + "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-simple-access": "^7.7.4", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.7.4.tgz", - "integrity": "sha512-y2c96hmcsUi6LrMqvmNDPBBiGCiQu0aYqpHatVVu6kD4mFEXKjyNxd/drc18XXAf9dv7UXjrZwBVmTTGaGP8iw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz", + "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "babel-plugin-dynamic-import-node": "^2.3.0" + "@babel/helper-hoist-variables": "^7.10.1", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.7.4.tgz", - "integrity": "sha512-u2B8TIi0qZI4j8q4C51ktfO7E3cQ0qnaXFI1/OXITordD40tt17g/sXqgNNCcMTcBFKrUPcGDx+TBJuZxLx7tw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", + "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.7.4.tgz", - "integrity": "sha512-jBUkiqLKvUWpv9GLSuHUFYdmHg0ujC1JEYoZUfeOOfNydZXp1sXObgyPatpcwjWgsdBGsagWW0cdJpX/DO2jMw==", + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4" + "@babel/helper-create-regexp-features-plugin": "^7.8.3" } }, "@babel/plugin-transform-new-target": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.7.4.tgz", - "integrity": "sha512-CnPRiNtOG1vRodnsyGX37bHQleHE14B9dnnlgSeEs3ek3fHN1A1SScglTCg1sfbe7sRQ2BUcpgpTpWSfMKz3gg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", + "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-object-super": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.7.4.tgz", - "integrity": "sha512-ho+dAEhC2aRnff2JCA0SAK7V2R62zJd/7dmtoe7MHcso4C2mS+vZjn1Pb1pCVZvJs1mgsvv5+7sT+m3Bysb6eg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", + "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.7.4" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", - "integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", + "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", "dev": true, "requires": { - "@babel/helper-call-delegate": "^7.7.4", - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + }, + "dependencies": { + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-property-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.7.4.tgz", - "integrity": "sha512-MatJhlC4iHsIskWYyawl53KuHrt+kALSADLQQ/HkhTjX954fkxIEh4q5slL4oRAnsm/eDoZ4q0CIZpcqBuxhJQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", + "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-regenerator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.7.4.tgz", - "integrity": "sha512-e7MWl5UJvmPEwFJTwkBlPmqixCtr9yAASBqff4ggXTNicZiwbF8Eefzm6NVgfiBp7JdAGItecnctKTgH44q2Jw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz", + "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==", "dev": true, "requires": { - "regenerator-transform": "^0.14.0" + "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.7.4.tgz", - "integrity": "sha512-OrPiUB5s5XvkCO1lS7D8ZtHcswIC57j62acAnJZKqGGnHP+TIc/ljQSrgdX/QyOTdEK5COAhuc820Hi1q2UgLQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", + "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.7.4.tgz", - "integrity": "sha512-q+suddWRfIcnyG5YiDP58sT65AJDZSUhXQDZE3r04AuqD6d/XLaQPPXSBzP2zGerkgBivqtQm9XKGLuHqBID6Q==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", + "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-spread": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.7.4.tgz", - "integrity": "sha512-8OSs0FLe5/80cndziPlg4R0K6HcWSM0zyNhHhLsmw/Nc5MaA49cAsnoJ/t/YZf8qkG7fD+UjTRaApVDB526d7Q==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", + "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.7.4.tgz", - "integrity": "sha512-Ls2NASyL6qtVe1H1hXts9yuEeONV2TJZmplLONkMPUG158CtmnrzW5Q5teibM5UVOFjG0D3IC5mzXR6pPpUY7A==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", + "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-regex": "^7.10.1" } }, "@babel/plugin-transform-template-literals": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.7.4.tgz", - "integrity": "sha512-sA+KxLwF3QwGj5abMHkHgshp9+rRz+oY9uoRil4CyLtgEuE/88dpkeWgNk5qKVsJE9iSfly3nvHapdRiIS2wnQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz", + "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.7.4.tgz", - "integrity": "sha512-KQPUQ/7mqe2m0B8VecdyaW5XcQYaePyl9R7IsKd+irzj6jvbhoGnRE+M0aNkyAzI07VfUQ9266L5xMARitV3wg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", + "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.7.4.tgz", - "integrity": "sha512-N77UUIV+WCvE+5yHw+oks3m18/umd7y392Zv7mYTpFqHtkpcc+QUz+gLJNTWVlWROIWeLqY0f3OjZxV5TcXnRw==", + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz", + "integrity": "sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "@babel/preset-env": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", - "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", + "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-async-generator-functions": "^7.2.0", - "@babel/plugin-proposal-dynamic-import": "^7.5.0", - "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", - "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-syntax-async-generators": "^7.2.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-syntax-json-strings": "^7.2.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", - "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.5.0", - "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.5.5", - "@babel/plugin-transform-classes": "^7.5.5", - "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/plugin-transform-duplicate-keys": "^7.5.0", - "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.4", - "@babel/plugin-transform-function-name": "^7.4.4", - "@babel/plugin-transform-literals": "^7.2.0", - "@babel/plugin-transform-member-expression-literals": "^7.2.0", - "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.5.0", - "@babel/plugin-transform-modules-systemjs": "^7.5.0", - "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", - "@babel/plugin-transform-new-target": "^7.4.4", - "@babel/plugin-transform-object-super": "^7.5.5", - "@babel/plugin-transform-parameters": "^7.4.4", - "@babel/plugin-transform-property-literals": "^7.2.0", - "@babel/plugin-transform-regenerator": "^7.4.5", - "@babel/plugin-transform-reserved-words": "^7.2.0", - "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", - "@babel/plugin-transform-sticky-regex": "^7.2.0", - "@babel/plugin-transform-template-literals": "^7.4.4", - "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.4.4", - "@babel/types": "^7.5.5", - "browserslist": "^4.6.0", - "core-js-compat": "^3.1.1", + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/preset-env": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.2.tgz", + "integrity": "sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.1", + "@babel/helper-compilation-targets": "^7.10.2", + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-proposal-async-generator-functions": "^7.10.1", + "@babel/plugin-proposal-class-properties": "^7.10.1", + "@babel/plugin-proposal-dynamic-import": "^7.10.1", + "@babel/plugin-proposal-json-strings": "^7.10.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", + "@babel/plugin-proposal-numeric-separator": "^7.10.1", + "@babel/plugin-proposal-object-rest-spread": "^7.10.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.1", + "@babel/plugin-proposal-optional-chaining": "^7.10.1", + "@babel/plugin-proposal-private-methods": "^7.10.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.1", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.10.1", + "@babel/plugin-transform-arrow-functions": "^7.10.1", + "@babel/plugin-transform-async-to-generator": "^7.10.1", + "@babel/plugin-transform-block-scoped-functions": "^7.10.1", + "@babel/plugin-transform-block-scoping": "^7.10.1", + "@babel/plugin-transform-classes": "^7.10.1", + "@babel/plugin-transform-computed-properties": "^7.10.1", + "@babel/plugin-transform-destructuring": "^7.10.1", + "@babel/plugin-transform-dotall-regex": "^7.10.1", + "@babel/plugin-transform-duplicate-keys": "^7.10.1", + "@babel/plugin-transform-exponentiation-operator": "^7.10.1", + "@babel/plugin-transform-for-of": "^7.10.1", + "@babel/plugin-transform-function-name": "^7.10.1", + "@babel/plugin-transform-literals": "^7.10.1", + "@babel/plugin-transform-member-expression-literals": "^7.10.1", + "@babel/plugin-transform-modules-amd": "^7.10.1", + "@babel/plugin-transform-modules-commonjs": "^7.10.1", + "@babel/plugin-transform-modules-systemjs": "^7.10.1", + "@babel/plugin-transform-modules-umd": "^7.10.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.10.1", + "@babel/plugin-transform-object-super": "^7.10.1", + "@babel/plugin-transform-parameters": "^7.10.1", + "@babel/plugin-transform-property-literals": "^7.10.1", + "@babel/plugin-transform-regenerator": "^7.10.1", + "@babel/plugin-transform-reserved-words": "^7.10.1", + "@babel/plugin-transform-shorthand-properties": "^7.10.1", + "@babel/plugin-transform-spread": "^7.10.1", + "@babel/plugin-transform-sticky-regex": "^7.10.1", + "@babel/plugin-transform-template-literals": "^7.10.1", + "@babel/plugin-transform-typeof-symbol": "^7.10.1", + "@babel/plugin-transform-unicode-escapes": "^7.10.1", + "@babel/plugin-transform-unicode-regex": "^7.10.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.2", + "browserslist": "^4.12.0", + "core-js-compat": "^3.6.2", "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", + "levenary": "^1.1.1", "semver": "^5.5.0" }, "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -769,6 +1889,36 @@ } } }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + } + } + }, "@babel/template": { "version": "7.7.4", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", @@ -1603,9 +2753,9 @@ } }, "babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" @@ -2043,14 +3193,15 @@ } }, "browserslist": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.3.tgz", - "integrity": "sha512-jWvmhqYpx+9EZm/FxcZSbUZyDEvDTLDi3nSAKbzEkyWvtI0mNSmUosey+5awDW1RUlrgXbQb5A6qY1xQH9U6MQ==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001010", - "electron-to-chromium": "^1.3.306", - "node-releases": "^1.1.40" + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" } }, "buffer": { @@ -2381,9 +3532,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001011", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001011.tgz", - "integrity": "sha512-h+Eqyn/YA6o6ZTqpS86PyRmNWOs1r54EBDcd2NTwwfsXQ8re1B38SnB+p2RKF8OUsyEIjeDU8XGec1RGO/wYCg==", + "version": "1.0.30001078", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001078.tgz", + "integrity": "sha512-sF12qXe9VMm32IEf/+NDvmTpwJaaU7N1igpiH2FdI4DyABJSsOqG3ZAcFvszLkoLoo1y6VJLMYivukUAxaMASw==", "dev": true }, "caseless": { @@ -2781,13 +3932,21 @@ "optional": true }, "core-js-compat": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.4.2.tgz", - "integrity": "sha512-W0Aj+LM3EAxxjD0Kp2o4be8UlnxIZHNupBv2znqrheR4aY2nOn91794k/xoSp+SxqqriiZpTsSwBtZr60cbkwQ==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", "dev": true, "requires": { - "browserslist": "^4.7.3", - "semver": "^6.3.0" + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } } }, "core-util-is": { @@ -3816,9 +4975,9 @@ } }, "electron-to-chromium": { - "version": "1.3.313", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.313.tgz", - "integrity": "sha512-rWbB6P3kPpWez/BZqrVatQ+lxJaDTv9pWgUUGYAA0/O5+YZLm6RiGy2Roml6rQj4EJ4r/eTdO0ppOZUUP2oFpQ==", + "version": "1.3.462", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.462.tgz", + "integrity": "sha512-HST/xWLOeA0LGUhxBqvcPDDUGHjB6rn99VBgPWmaHv+zqwXgOaZO5RnRcd5owjRE7nh+z1c0SwcK8qP8o7sofg==", "dev": true }, "electron-updater": { @@ -5514,12 +6673,6 @@ } } }, - "js-levenshtein": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", - "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5653,6 +6806,21 @@ "invert-kv": "^2.0.0" } }, + "leven": { + "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 + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -6365,13 +7533,10 @@ } }, "node-releases": { - "version": "1.1.41", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.41.tgz", - "integrity": "sha512-+IctMa7wIs8Cfsa8iYzeaLTFwv5Y4r5jZud+4AnfymzeEXKBCavFX0KBgzVaPVqf0ywa6PrO8/b+bPqdwjGBSg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - } + "version": "1.1.58", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", + "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", + "dev": true }, "normalize-package-data": { "version": "2.5.0", @@ -6822,6 +7987,60 @@ "find-up": "^3.0.0" } }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + } + } + }, "png2icons": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/png2icons/-/png2icons-2.0.1.tgz", @@ -7150,15 +8369,15 @@ } }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", "dev": true }, "regenerate-unicode-properties": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", - "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", "dev": true, "requires": { "regenerate": "^1.4.0" @@ -7171,12 +8390,13 @@ "dev": true }, "regenerator-transform": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", - "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==", + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", "dev": true, "requires": { - "private": "^0.1.6" + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" } }, "regex-not": { @@ -7190,17 +8410,17 @@ } }, "regexpu-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", - "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", "dev": true, "requires": { "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.1.0", - "regjsgen": "^0.5.0", - "regjsparser": "^0.6.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.1.0" + "unicode-match-property-value-ecmascript": "^1.2.0" } }, "registry-auth-token": { @@ -7222,15 +8442,15 @@ } }, "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", "dev": true }, "regjsparser": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", - "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -8430,15 +9650,15 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", - "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", - "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", "dev": true }, "union-value": { diff --git a/package.json b/package.json index a88373cf..1413a061 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ }, "devDependencies": { "@babel/core": "7.5.5", - "@babel/preset-env": "7.5.5", + "@babel/preset-env": "7.10.2", "babel-loader": "8.1.0", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", "chai": "^4.1.0", From 7472da5956316e4f18967e4c777e91ef40a4aa81 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:27:22 +0000 Subject: [PATCH 022/385] Bump electron-mocha from 6.0.4 to 8.2.2 Bumps [electron-mocha](https://github.com/jprichardson/electron-mocha) from 6.0.4 to 8.2.2. - [Release notes](https://github.com/jprichardson/electron-mocha/releases) - [Changelog](https://github.com/jprichardson/electron-mocha/blob/master/CHANGELOG.md) - [Commits](https://github.com/jprichardson/electron-mocha/compare/v6.0.4...v8.2.2) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 235 +++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 181 insertions(+), 56 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1b336fdf..cbd7d552 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4758,84 +4758,209 @@ } }, "electron-mocha": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-6.0.4.tgz", - "integrity": "sha512-WVJAldQRv7hC7Db65qKU1TQ3w9rwqPXzz3UzpQQDRPqIxd7FERxnwRXqb+bQKBOdO5ThnHxMtnHWVJgG+FZivw==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-8.2.2.tgz", + "integrity": "sha512-kMXj+1TzQQODP0osIAg82YpwOsfRKx0xV+F5AxV+3UP54CIPwxaeZYC6pQoEVZBRKyPbcrhQzl8ar+6uGMvaUA==", "dev": true, "requires": { - "commander": "^2.15.1", + "ansi-colors": "^4.1.1", "electron-window": "^0.8.0", - "fs-extra": "^6.0.1", - "mocha": "^5.2.0", - "which": "^1.3.1" + "fs-extra": "^9.0.0", + "log-symbols": "^3.0.0", + "mocha": "^7.1.2", + "which": "^2.0.2", + "yargs": "^15.3.1" }, "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { - "ms": "2.0.0" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "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==", + "dev": true + }, + "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" } }, "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "jsonfile": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" } }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "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 }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - } + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", "dev": true }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } diff --git a/package.json b/package.json index 1413a061..bbf0998d 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "css-loader": "^3.5.3", "electron": "9.0.2", "electron-builder": "22.7.0", - "electron-mocha": "^6.0.4", + "electron-mocha": "^8.2.2", "electron-notarize": "^0.3.0", "file-loader": "^6.0.0", "friendly-errors-webpack-plugin": "^1.6.1", From a68bb1791a42edf4e481787eb16c87fe8ba9c179 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2020 15:30:43 +0000 Subject: [PATCH 023/385] Bump @babel/core from 7.5.5 to 7.10.2 Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.5.5 to 7.10.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.10.2/packages/babel-core) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 254 +++++++++++++++++++++++++++++++++------------- package.json | 2 +- 2 files changed, 187 insertions(+), 69 deletions(-) diff --git a/package-lock.json b/package-lock.json index cbd7d552..6fb3ad2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,12 +11,12 @@ "dev": true }, "@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==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", "dev": true, "requires": { - "@babel/highlight": "^7.0.0" + "@babel/highlight": "^7.10.1" } }, "@babel/compat-data": { @@ -39,27 +39,40 @@ } }, "@babel/core": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", - "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helpers": "^7.5.5", - "@babel/parser": "^7.5.5", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5", - "convert-source-map": "^1.1.0", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz", + "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.2", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helpers": "^7.10.1", + "@babel/parser": "^7.10.2", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.2", + "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "json5": "^2.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", "lodash": "^4.17.13", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -69,15 +82,28 @@ } }, "@babel/generator": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz", - "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", "dev": true, "requires": { - "@babel/types": "^7.7.4", + "@babel/types": "^7.10.2", "jsesc": "^2.5.1", "lodash": "^4.17.13", "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-annotate-as-pure": { @@ -450,23 +476,49 @@ } }, "@babel/helper-function-name": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz", - "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.7.4", - "@babel/template": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-get-function-arity": { - "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==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", "dev": true, "requires": { - "@babel/types": "^7.7.4" + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-hoist-variables": { @@ -948,12 +1000,25 @@ } }, "@babel/helper-split-export-declaration": { - "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==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", "dev": true, "requires": { - "@babel/types": "^7.7.4" + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-validator-identifier": { @@ -1083,31 +1148,44 @@ } }, "@babel/helpers": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz", - "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", + "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", "dev": true, "requires": { - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/highlight": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", "dev": true, "requires": { + "@babel/helper-validator-identifier": "^7.10.1", "chalk": "^2.0.0", - "esutils": "^2.0.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.4.tgz", - "integrity": "sha512-jIwvLO0zCL+O/LmEJQjWA75MQTWwx3c3u2JOTDK5D3/9egrWRRA0/0hk9XXywYnXZVVpzrBYeIQTmhwUaePI9g==", + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -1920,31 +1998,57 @@ } }, "@babel/template": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz", - "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.4", - "@babel/types": "^7.7.4" + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/traverse": { - "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==", + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", "dev": true, "requires": { - "@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", + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/types": { @@ -5956,6 +6060,12 @@ "globule": "^1.0.0" } }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -6856,12 +6966,20 @@ "dev": true }, "json5": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", - "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", "dev": true, "requires": { - "minimist": "^1.2.0" + "minimist": "^1.2.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } } }, "jsonfile": { diff --git a/package.json b/package.json index bbf0998d..b77efb7c 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "fs-jetpack": "^2.4.0" }, "devDependencies": { - "@babel/core": "7.5.5", + "@babel/core": "7.10.2", "@babel/preset-env": "7.10.2", "babel-loader": "8.1.0", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", From 691c0f92c84e2a4cb07f98351cfd74758c925e36 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 12:18:04 -0400 Subject: [PATCH 024/385] Switch the yarn --- package-lock.json | 10829 -------------------------------------------- yarn.lock | 6498 ++++++++++++++++++++++++++ 2 files changed, 6498 insertions(+), 10829 deletions(-) delete mode 100644 package-lock.json create mode 100644 yarn.lock diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 6fb3ad2d..00000000 --- a/package-lock.json +++ /dev/null @@ -1,10829 +0,0 @@ -{ - "name": "android-messages-desktop", - "version": "3.1.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "7zip-bin": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.0.3.tgz", - "integrity": "sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/compat-data": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz", - "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/core": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz", - "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.2", - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helpers": "^7.10.1", - "@babel/parser": "^7.10.2", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", - "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", - "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz", - "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-compilation-targets": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", - "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.10.1", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz", - "integrity": "sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", - "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-regex": "^7.10.1", - "regexpu-core": "^4.7.0" - } - }, - "@babel/helper-define-map": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz", - "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/types": "^7.10.1", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz", - "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/generator": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", - "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/traverse": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", - "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz", - "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", - "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-module-imports": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", - "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-module-transforms": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", - "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", - "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", - "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", - "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", - "dev": true, - "requires": { - "lodash": "^4.17.13" - } - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz", - "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-wrap-function": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/generator": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", - "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/traverse": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", - "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-replace-supers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", - "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/generator": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", - "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/traverse": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", - "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-simple-access": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", - "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helper-validator-identifier": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", - "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", - "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/generator": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", - "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.2", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/traverse": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", - "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/helpers": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", - "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", - "dev": true, - "requires": { - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz", - "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-remap-async-to-generator": "^7.10.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz", - "integrity": "sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", - "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", - "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", - "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", - "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-numeric-separator": "^7.10.1" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz", - "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", - "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz", - "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz", - "integrity": "sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", - "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz", - "integrity": "sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", - "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", - "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", - "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", - "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-remap-async-to-generator": "^7.10.1" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", - "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", - "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "lodash": "^4.17.13" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz", - "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-define-map": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", - "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz", - "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", - "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", - "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", - "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", - "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", - "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", - "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", - "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.1" - } - }, - "@babel/helper-function-name": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", - "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/highlight": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", - "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", - "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-transform-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", - "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", - "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", - "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", - "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-simple-access": "^7.10.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz", - "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.10.1", - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", - "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", - "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", - "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-replace-supers": "^7.10.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", - "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - }, - "dependencies": { - "@babel/helper-get-function-arity": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", - "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", - "dev": true, - "requires": { - "@babel/types": "^7.10.1" - } - }, - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", - "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz", - "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", - "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", - "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", - "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", - "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-regex": "^7.10.1" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz", - "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", - "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz", - "integrity": "sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", - "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" - } - }, - "@babel/preset-env": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.2.tgz", - "integrity": "sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.10.1", - "@babel/helper-compilation-targets": "^7.10.2", - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-proposal-async-generator-functions": "^7.10.1", - "@babel/plugin-proposal-class-properties": "^7.10.1", - "@babel/plugin-proposal-dynamic-import": "^7.10.1", - "@babel/plugin-proposal-json-strings": "^7.10.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", - "@babel/plugin-proposal-numeric-separator": "^7.10.1", - "@babel/plugin-proposal-object-rest-spread": "^7.10.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.10.1", - "@babel/plugin-proposal-optional-chaining": "^7.10.1", - "@babel/plugin-proposal-private-methods": "^7.10.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.10.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.10.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.1", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.10.1", - "@babel/plugin-transform-arrow-functions": "^7.10.1", - "@babel/plugin-transform-async-to-generator": "^7.10.1", - "@babel/plugin-transform-block-scoped-functions": "^7.10.1", - "@babel/plugin-transform-block-scoping": "^7.10.1", - "@babel/plugin-transform-classes": "^7.10.1", - "@babel/plugin-transform-computed-properties": "^7.10.1", - "@babel/plugin-transform-destructuring": "^7.10.1", - "@babel/plugin-transform-dotall-regex": "^7.10.1", - "@babel/plugin-transform-duplicate-keys": "^7.10.1", - "@babel/plugin-transform-exponentiation-operator": "^7.10.1", - "@babel/plugin-transform-for-of": "^7.10.1", - "@babel/plugin-transform-function-name": "^7.10.1", - "@babel/plugin-transform-literals": "^7.10.1", - "@babel/plugin-transform-member-expression-literals": "^7.10.1", - "@babel/plugin-transform-modules-amd": "^7.10.1", - "@babel/plugin-transform-modules-commonjs": "^7.10.1", - "@babel/plugin-transform-modules-systemjs": "^7.10.1", - "@babel/plugin-transform-modules-umd": "^7.10.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.10.1", - "@babel/plugin-transform-object-super": "^7.10.1", - "@babel/plugin-transform-parameters": "^7.10.1", - "@babel/plugin-transform-property-literals": "^7.10.1", - "@babel/plugin-transform-regenerator": "^7.10.1", - "@babel/plugin-transform-reserved-words": "^7.10.1", - "@babel/plugin-transform-shorthand-properties": "^7.10.1", - "@babel/plugin-transform-spread": "^7.10.1", - "@babel/plugin-transform-sticky-regex": "^7.10.1", - "@babel/plugin-transform-template-literals": "^7.10.1", - "@babel/plugin-transform-typeof-symbol": "^7.10.1", - "@babel/plugin-transform-unicode-escapes": "^7.10.1", - "@babel/plugin-transform-unicode-regex": "^7.10.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.10.2", - "browserslist": "^4.12.0", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", - "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", - "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/traverse": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", - "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-split-export-declaration": "^7.10.1", - "@babel/parser": "^7.10.1", - "@babel/types": "^7.10.1", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/types": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", - "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.1", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - } - } - }, - "@babel/types": { - "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.13", - "to-fast-properties": "^2.0.0" - } - }, - "@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - } - } - }, - "@electron/get": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", - "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "env-paths": "^2.2.0", - "fs-extra": "^8.1.0", - "global-agent": "^2.0.2", - "global-tunnel-ng": "^2.7.1", - "got": "^9.6.0", - "progress": "^2.0.3", - "sanitize-filename": "^1.6.2", - "sumchecker": "^3.0.1" - } - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/debug": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", - "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==", - "dev": true - }, - "@types/fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", - "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", - "dev": true - }, - "@types/node": { - "version": "12.12.44", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.44.tgz", - "integrity": "sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg==" - }, - "@types/semver": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.2.0.tgz", - "integrity": "sha512-TbB0A8ACUWZt3Y6bQPstW9QNbhNeebdgLX4T/ZfkrswAfUzRiXrgd9seol+X379Wa589Pu4UEx9Uok0D4RjRCQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/webdriverio": { - "version": "4.13.3", - "resolved": "https://registry.npmjs.org/@types/webdriverio/-/webdriverio-4.13.3.tgz", - "integrity": "sha512-AfSQM1xTO9Ax+u9uSQPDuw69DQ0qA2RMoKHn86jCgWNcwKVUjGMSP4sfSl3JOfcZN8X/gWvn7znVPp2/g9zcJA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz", - "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", - "dev": true - }, - "@types/yauzl": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.1.tgz", - "integrity": "sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "about-window": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/about-window/-/about-window-1.13.4.tgz", - "integrity": "sha512-Ge7qBRzrmPbVJ2YarUfTrZEaSfhRjeVyFhmH9NqdNDjjgP0dcWwUprH61JWlDgcM3KaDn5zUzimG4YQh6vRocw==" - }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, - "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dev": true, - "requires": { - "string-width": "^3.0.0" - } - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "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" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "optional": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - } - } - }, - "app-builder-bin": { - "version": "3.5.9", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.9.tgz", - "integrity": "sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg==", - "dev": true - }, - "app-builder-lib": { - "version": "22.7.0", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.7.0.tgz", - "integrity": "sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g==", - "dev": true, - "requires": { - "7zip-bin": "~5.0.3", - "@develar/schema-utils": "~2.6.5", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "22.7.0", - "builder-util-runtime": "8.7.1", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.2.0", - "ejs": "^3.1.3", - "electron-publish": "22.7.0", - "fs-extra": "^9.0.0", - "hosted-git-info": "^3.0.4", - "is-ci": "^2.0.0", - "isbinaryfile": "^4.0.6", - "js-yaml": "^3.14.0", - "lazy-val": "^1.0.4", - "minimatch": "^3.0.4", - "normalize-package-data": "^2.5.0", - "read-config-file": "6.0.0", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.2", - "temp-file": "^3.3.7" - }, - "dependencies": { - "builder-util-runtime": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", - "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", - "dev": true, - "requires": { - "debug": "^4.2.0", - "sax": "^1.2.4" - } - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - } - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "archiver": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz", - "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=", - "dev": true, - "requires": { - "archiver-utils": "^1.3.0", - "async": "^2.0.0", - "buffer-crc32": "^0.2.1", - "glob": "^7.0.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0", - "tar-stream": "^1.5.0", - "zip-stream": "^1.2.0" - } - }, - "archiver-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "graceful-fs": "^4.1.0", - "lazystream": "^1.0.0", - "lodash": "^4.8.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "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 - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", - "dev": true - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.3", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-7.0.0-beta.3.tgz", - "integrity": "sha512-21/MnmUFduLr4JzxrKMm/MeF+Jjyi5UdZo38IqzrP0sLhmPbal5ZAUJ4HgWH4339SdjnYgENacbY5wfk/zxTGg==", - "dev": true - }, - "babel-plugin-transform-object-rest-spread": { - "version": "7.0.0-beta.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-7.0.0-beta.3.tgz", - "integrity": "sha512-NOlhrq1CmxyuI94vNsqMhRPMuL5VG2EKUOIJQ0bwNiXBiwWRLdPoWyPT+Irrx5g4g0PkFgA46tnRj7Dc4ZGsxg==", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "7.0.0-beta.3" - } - }, - "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" - }, - "dependencies": { - "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", - "dev": true - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "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==", - "dev": true, - "optional": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "dev": true, - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "bluebird": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.1.tgz", - "integrity": "sha512-DdmyoGCleJnkbp3nkbxTLJ18rjDsE4yCggEwKNXkeV123sPNfOCYeDoeuOY+F2FrSjO1YXcTU+dsy96KMy+gcg==", - "dev": true - }, - "bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5" - } - }, - "bn.js": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", - "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", - "dev": true - }, - "boolean": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", - "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", - "dev": true, - "optional": true - }, - "boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", - "dev": true, - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "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==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "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" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", - "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" - } - }, - "buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "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 - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builder-util": { - "version": "22.7.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.7.0.tgz", - "integrity": "sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg==", - "dev": true, - "requires": { - "7zip-bin": "~5.0.3", - "@types/debug": "^4.1.5", - "@types/fs-extra": "^9.0.1", - "app-builder-bin": "3.5.9", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "8.7.1", - "chalk": "^4.0.0", - "debug": "^4.2.0", - "fs-extra": "^9.0.0", - "is-ci": "^2.0.0", - "js-yaml": "^3.14.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.3.7" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "builder-util-runtime": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", - "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", - "dev": true, - "requires": { - "debug": "^4.2.0", - "sax": "^1.2.4" - } - }, - "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "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 - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - } - } - }, - "builder-util-runtime": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.0.tgz", - "integrity": "sha512-G1AqqVM2vYTrSFR982c1NNzwXKrGLQjVjaZaWQdn4O6Z3YKjdMDofw88aD9jpyK9ZXkrCxR0tI3Qe9wNbyTlXg==", - "requires": { - "debug": "^4.1.1", - "sax": "^1.2.4" - } - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": 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" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "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" - } - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "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" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true - }, - "normalize-url": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "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 - }, - "caniuse-lite": { - "version": "1.0.30001078", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001078.tgz", - "integrity": "sha512-sF12qXe9VMm32IEf/+NDvmTpwJaaU7N1igpiH2FdI4DyABJSsOqG3ZAcFvszLkoLoo1y6VJLMYivukUAxaMASw==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, - "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" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - }, - "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, - "optional": 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, - "optional": 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, - "optional": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": 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, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "cli-boxes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", - "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "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 - }, - "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": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, - "clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "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" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "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 - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "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 - }, - "compress-commons": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", - "dev": true, - "requires": { - "buffer-crc32": "^0.2.1", - "crc32-stream": "^2.0.0", - "normalize-path": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "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": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "config-chain": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", - "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", - "dev": true, - "optional": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - } - } - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "convert-source-map": { - "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" - } - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", - "dev": true, - "optional": true - }, - "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", - "dev": true, - "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "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=", - "dev": true - }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "requires": { - "buffer": "^5.1.0" - } - }, - "crc32-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", - "dev": true, - "requires": { - "crc": "^3.4.4", - "readable-stream": "^2.0.0" - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "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 - } - } - }, - "css-loader": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", - "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.27", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.6", - "semver": "^6.3.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } - } - }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", - "dev": true, - "requires": { - "css": "^2.0.0" - } - }, - "css-value": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz", - "integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo=", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "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" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deepmerge": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz", - "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==", - "dev": true - }, - "defer-to-connect": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.0.tgz", - "integrity": "sha512-WE2sZoctWm/v4smfCAdjYbrfS55JiMRdlY9ZubFhsYbteCK9+BvAx4YV7nPjYM6ZnX5BcoVKwfmyx9sIFTgQMQ==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true, - "optional": true - }, - "dev-null": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz", - "integrity": "sha1-WiBc48Ky73e2I41roXnrdMag6Bg=", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "dmg-builder": { - "version": "22.7.0", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.7.0.tgz", - "integrity": "sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg==", - "dev": true, - "requires": { - "app-builder-lib": "22.7.0", - "builder-util": "22.7.0", - "fs-extra": "^9.0.0", - "iconv-lite": "^0.5.1", - "js-yaml": "^3.14.0", - "sanitize-filename": "^1.6.3" - }, - "dependencies": { - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", - "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ejs": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz", - "integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==", - "dev": true, - "requires": { - "jake": "^10.6.1" - } - }, - "electron": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.2.tgz", - "integrity": "sha512-+a3KegLvQXVjC3b6yBWwZmtWp3tHf9ut27yORAWHO9JRFtKfNf88fi1UvTPJSW8R0sUH7ZEdzN6A95T22KGtlA==", - "dev": true, - "requires": { - "@electron/get": "^1.0.1", - "@types/node": "^12.0.12", - "extract-zip": "^1.0.3" - } - }, - "electron-builder": { - "version": "22.7.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.7.0.tgz", - "integrity": "sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ==", - "dev": true, - "requires": { - "@types/yargs": "^15.0.5", - "app-builder-lib": "22.7.0", - "bluebird-lst": "^1.0.9", - "builder-util": "22.7.0", - "builder-util-runtime": "8.7.1", - "chalk": "^4.0.0", - "dmg-builder": "22.7.0", - "fs-extra": "^9.0.0", - "is-ci": "^2.0.0", - "lazy-val": "^1.0.4", - "read-config-file": "6.0.0", - "sanitize-filename": "^1.6.3", - "update-notifier": "^4.1.0", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "builder-util-runtime": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", - "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", - "dev": true, - "requires": { - "debug": "^4.2.0", - "sax": "^1.2.4" - } - }, - "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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==", - "dev": true - }, - "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" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "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==", - "dev": true - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "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 - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.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": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "electron-chromedriver": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/electron-chromedriver/-/electron-chromedriver-9.0.0.tgz", - "integrity": "sha512-+MuukzicyfduXO/4yQv9ygLKaScttJNbWtg77A9fs2YhbkISjObWaCF3eJNZL+edZXRfaF/6D4XuXvklQCmwQg==", - "dev": true, - "requires": { - "@electron/get": "^1.12.2", - "extract-zip": "^2.0.0" - }, - "dependencies": { - "extract-zip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.0.tgz", - "integrity": "sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg==", - "dev": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - } - }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", - "dev": true, - "requires": { - "pend": "~1.2.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" - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - } - } - }, - "electron-hunspell": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/electron-hunspell/-/electron-hunspell-1.1.2.tgz", - "integrity": "sha512-Wrue7/aOlOEabhMm4GQSfvGADKHzCDkuYIEOINSEwMjHrvwTj7e1gI1kIO5wc+JdSL1uhFjwROfrqiLmnxqIKg==", - "requires": { - "hunspell-asm": "^4.0.2" - } - }, - "electron-mocha": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/electron-mocha/-/electron-mocha-8.2.2.tgz", - "integrity": "sha512-kMXj+1TzQQODP0osIAg82YpwOsfRKx0xV+F5AxV+3UP54CIPwxaeZYC6pQoEVZBRKyPbcrhQzl8ar+6uGMvaUA==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1", - "electron-window": "^0.8.0", - "fs-extra": "^9.0.0", - "log-symbols": "^3.0.0", - "mocha": "^7.1.2", - "which": "^2.0.2", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "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==", - "dev": true - }, - "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" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "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==", - "dev": true - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "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 - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "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" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.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": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "electron-notarize": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-0.3.0.tgz", - "integrity": "sha512-tuDw8H0gcDOalNLv6RM2CwGvUXU60MPGZRDEmd0ppX+yP5XqL8Ec2DuXyz9J7WQSA3aRCfzIgH8C5CAivDYWMw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^8.1.0" - } - }, - "electron-publish": { - "version": "22.7.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.7.0.tgz", - "integrity": "sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg==", - "dev": true, - "requires": { - "@types/fs-extra": "^9.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "22.7.0", - "builder-util-runtime": "8.7.1", - "chalk": "^4.0.0", - "fs-extra": "^9.0.0", - "lazy-val": "^1.0.4", - "mime": "^2.4.5" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "builder-util-runtime": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz", - "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==", - "dev": true, - "requires": { - "debug": "^4.2.0", - "sax": "^1.2.4" - } - }, - "chalk": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", - "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - } - } - }, - "electron-settings": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/electron-settings/-/electron-settings-3.2.0.tgz", - "integrity": "sha512-7U+vDKd5Gch4Z9K6FjGq80eB3Anwz2GuPc2h/6hOiuvZrS1w+UNPcAA0oAU8G1s9sWAVEadCsr4ZJR6J4iTdzA==", - "requires": { - "clone": "^2.1.1", - "jsonfile": "^4.0.0" - } - }, - "electron-to-chromium": { - "version": "1.3.462", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.462.tgz", - "integrity": "sha512-HST/xWLOeA0LGUhxBqvcPDDUGHjB6rn99VBgPWmaHv+zqwXgOaZO5RnRcd5owjRE7nh+z1c0SwcK8qP8o7sofg==", - "dev": true - }, - "electron-updater": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.3.1.tgz", - "integrity": "sha512-UDC5AHCgeiHJYDYWZG/rsl1vdAFKqI/Lm7whN57LKAk8EfhTewhcEHzheRcncLgikMcQL8gFo1KeX51tf5a5Wg==", - "requires": { - "@types/semver": "^7.1.0", - "builder-util-runtime": "8.7.0", - "fs-extra": "^9.0.0", - "js-yaml": "^3.13.1", - "lazy-val": "^1.0.4", - "lodash.isequal": "^4.5.0", - "semver": "^7.1.3" - }, - "dependencies": { - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" - } - } - }, - "electron-window": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/electron-window/-/electron-window-0.8.1.tgz", - "integrity": "sha1-FsoYfrSHCwZ5J0/IKZxZYOarLF4=", - "dev": true, - "requires": { - "is-electron-renderer": "^2.0.0" - } - }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "emscripten-wasm-loader": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/emscripten-wasm-loader/-/emscripten-wasm-loader-3.0.3.tgz", - "integrity": "sha512-fyq2maBt5LOou27LEBlL5H6G04BxgSamXkvmMsAuIT6rd8ioH4BxNQhuyl6jVPeODh6U8Wk1BoFZxzHpg3o8wA==", - "requires": { - "getroot": "^1.0.0", - "nanoid": "^2.0.3", - "unixify": "^1.0.0" - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "optional": true - }, - "end-of-stream": { - "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" - } - }, - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "env-paths": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz", - "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==", - "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-stack-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.4.tgz", - "integrity": "sha512-fZ0KkoxSjLFmhW5lHbUT3tLwy3nX1qEzMYo8koY1vrsAco53CMT1djnBSeC/wUjTEZRhZl9iRw7PaMaxfJ4wzQ==", - "dev": true, - "requires": { - "stackframe": "^1.1.0" - } - }, - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { - "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", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "dev": true, - "optional": true - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "dev": true - }, - "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 - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "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.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.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" - } - }, - "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" - } - }, - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "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" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "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" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "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": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "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-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "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" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-loader": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", - "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "filelist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz", - "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==", - "dev": true, - "requires": { - "minimatch": "^3.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" - } - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "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" - } - }, - "findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "dev": true, - "requires": { - "is-buffer": "~2.0.3" - }, - "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==", - "dev": true - } - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "friendly-errors-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "error-stack-parser": "^2.0.0", - "string-width": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.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 - } - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "fs-extra": { - "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.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-jetpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/fs-jetpack/-/fs-jetpack-2.4.0.tgz", - "integrity": "sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ==", - "requires": { - "minimatch": "^3.0.2", - "rimraf": "^2.6.3" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "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 - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", - "dev": true - }, - "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-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "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=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "getroot": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/getroot/-/getroot-1.0.0.tgz", - "integrity": "sha512-W9Q31kOv921dQuZBeAbK4R/dAPbC0WkhZD3alLcdVwjSkEtS1aX8twrzG3I5yo0sQ88M/d4JOqVbRiCuI/XPNA==", - "requires": { - "tslib": "^1.7.1" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": 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" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "global-agent": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", - "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", - "dev": true, - "optional": true, - "requires": { - "boolean": "^3.0.1", - "core-js": "^3.6.5", - "es6-error": "^4.1.1", - "matcher": "^3.0.0", - "roarr": "^2.15.3", - "semver": "^7.3.2", - "serialize-error": "^7.0.1" - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true, - "optional": true - } - } - }, - "global-dirs": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", - "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", - "dev": true, - "requires": { - "ini": "^1.3.5" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - }, - "dependencies": { - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - } - } - }, - "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" - } - }, - "global-tunnel-ng": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", - "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", - "dev": true, - "optional": true, - "requires": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" - } - }, - "globals": { - "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 - }, - "globalthis": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz", - "integrity": "sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw==", - "dev": true, - "optional": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globule": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", - "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.12", - "minimatch": "~3.0.2" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "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==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "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=", - "dev": true - }, - "has-symbols": { - "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-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "dev": true - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "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": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", - "dev": true, - "requires": { - "lru-cache": "^5.1.1" - } - }, - "http-cache-semantics": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", - "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==", - "dev": true - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "hunspell-asm": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hunspell-asm/-/hunspell-asm-4.0.2.tgz", - "integrity": "sha512-u3ZuEYKGYnLZlIs+k5S+KdY+Q57mYD46fTwZJCiSXdES+fhxcLNF5mJ0nxjqrPAgE/8Kow6XLxRdRd/HDUPQZg==", - "requires": { - "emscripten-wasm-loader": "^3.0.3", - "nanoid": "^2.1.5" - } - }, - "iconv-lite": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz", - "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "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", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "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 - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.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" - } - } - } - }, - "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==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.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" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-electron-renderer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-electron-renderer/-/is-electron-renderer-2.0.1.tgz", - "integrity": "sha1-pGnQVvl1aXxYyYxgI+sKp5r4laI=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-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 - }, - "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==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-installed-globally": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", - "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", - "dev": true, - "requires": { - "global-dirs": "^2.0.1", - "is-path-inside": "^3.0.1" - } - }, - "is-npm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", - "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", - "dev": true - }, - "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" - } - } - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-inside": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", - "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-symbol": { - "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.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "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-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz", - "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "jake": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.1.tgz", - "integrity": "sha512-eSp5h9S7UFzKdQERTyF+KuPLjDZa1Tbw8gCVUn98n4PbIkLEDGe4zl7vF4Qge9kQj06HcymnksPk8jznPZeKsA==", - "dev": true, - "requires": { - "async": "0.9.x", - "chalk": "^2.4.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "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" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true - }, - "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 - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "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 - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dev": true, - "requires": { - "package-json": "^6.3.0" - } - }, - "lazy-val": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", - "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==" - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "^2.0.5" - } - }, - "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" - } - }, - "leven": { - "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 - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.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" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "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==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "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-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "matcher": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", - "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", - "dev": true, - "optional": true, - "requires": { - "escape-string-regexp": "^4.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "optional": true - } - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mem": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" - }, - "dependencies": { - "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 - } - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "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" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "requires": { - "mime-db": "1.44.0" - } - }, - "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 - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "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": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - } - } - }, - "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=", - "dev": true, - "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=", - "dev": true - } - } - }, - "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", - "dev": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "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==", - "dev": true - }, - "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" - } - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "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" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": 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" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "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==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "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 - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "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 - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "requires": { - "picomatch": "^2.0.4" - } - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "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" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "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.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "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", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", - "dev": true, - "optional": true - }, - "nanoid": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", - "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "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" - } - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "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-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-releases": { - "version": "1.1.58", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", - "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", - "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" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dev": true, - "optional": true, - "requires": { - "config-chain": "^1.1.11", - "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, - "optional": true - } - } - }, - "npm-install-package": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz", - "integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=", - "dev": true - }, - "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" - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "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": { - "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" - } - }, - "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" - } - } - } - }, - "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 - }, - "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 - }, - "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.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.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" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "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 - } - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.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" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "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=", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "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-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": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "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": { - "p-try": "^2.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" - } - }, - "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 - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dev": true, - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - } - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "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 - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "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, - "optional": true - }, - "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 - }, - "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=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "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==", - "dev": true - }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "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 - }, - "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": { - "find-up": "^3.0.0" - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - } - } - }, - "png2icons": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/png2icons/-/png2icons-2.0.1.tgz", - "integrity": "sha512-GDEQJr8OG4e6JMp7mABtXFSEpgJa1CCpbQiAR+EjhkHJHnUL9zPPtbOrjsMD8gUbikgv3j7x404b0YJsV3aVFA==", - "dev": true - }, - "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 - }, - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "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 - }, - "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" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "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==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true, - "optional": true - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "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": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.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==", - "dev": true - }, - "pupa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", - "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", - "dev": true, - "requires": { - "escape-goat": "^2.0.0" - } - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "read-config-file": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz", - "integrity": "sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==", - "dev": true, - "requires": { - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "js-yaml": "^3.13.1", - "json5": "^2.1.2", - "lazy-val": "^1.0.4" - }, - "dependencies": { - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } - } - }, - "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==", - "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" - } - }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", - "dev": true, - "optional": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" - } - }, - "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": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "registry-auth-token": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", - "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dev": true, - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "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=" - }, - "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=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "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.3", - "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.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "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 - }, - "resolve": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.2.tgz", - "integrity": "sha512-cAVTI2VLHWYsGOirfeYVVQ7ZDejtQ9fp4YhYckWDEkFfqbVjaT11iM8k6xSAfGFMM+gDpZjMnFssPu8we+mqFw==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "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-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "rgb2hex": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.10.tgz", - "integrity": "sha512-vKz+kzolWbL3rke/xeTE2+6vHmZnNxGyDnaVW4OckntAIcc7DcZzWkQSfxMDwqHS8vhgySnIFyBUH7lIk6PxvQ==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "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", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "roarr": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz", - "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==", - "dev": true, - "optional": true, - "requires": { - "boolean": "^3.0.0", - "detect-node": "^2.0.4", - "globalthis": "^1.0.1", - "json-stringify-safe": "^5.0.1", - "semver-compare": "^1.0.0", - "sprintf-js": "^1.1.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true, - "optional": true - } - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "requires": { - "rx-lite": "*" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true, - "optional": true - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dev": true, - "requires": { - "semver": "^6.3.0" - } - }, - "serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "dev": true, - "optional": true, - "requires": { - "type-fest": "^0.13.1" - } - }, - "serialize-javascript": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", - "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^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" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "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 - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "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" - } - }, - "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" - } - }, - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "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" - } - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "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 - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "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 - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "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 - }, - "spectron": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/spectron/-/spectron-11.0.0.tgz", - "integrity": "sha512-YRiB0TTpJa8ofNML/k1fJShe+m7U/E2HnFZsdZK57ekWIzlTHF+Lq7ZvuKGxMbpooU/OZkLObZfitemxhBVH4w==", - "dev": true, - "requires": { - "@types/webdriverio": "^4.8.0", - "dev-null": "^0.1.1", - "electron-chromedriver": "^9.0.0", - "request": "^2.87.0", - "split": "^1.0.0", - "webdriverio": "^4.13.0" - } - }, - "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "requires": { - "through": "2" - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stackframe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz", - "integrity": "sha512-Vx6W1Yvy+AM1R/ckVwcHQHV147pTPBKWCRLrXMuPrFVfvBUc3os7PR1QLIWCMhPpRg5eX9ojzbQIMLGBwyLjqg==", - "dev": true - }, - "stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "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" - } - } - } - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "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" - }, - "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 - }, - "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" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "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=", - "dev": true - }, - "style-loader": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", - "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.6" - }, - "dependencies": { - "ajv": { - "version": "6.12.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", - "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - } - } - }, - "sumchecker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", - "integrity": "sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==", - "dev": true, - "requires": { - "debug": "^4.1.0" - } - }, - "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" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", - "dev": true, - "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" - } - }, - "temp-file": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.7.tgz", - "integrity": "sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g==", - "dev": true, - "requires": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^8.1.0" - } - }, - "term-size": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", - "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", - "dev": true - }, - "terser": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", - "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "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 - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", - "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^3.1.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "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 - } - } - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "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" - } - } - } - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.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" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "tslib": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true, - "optional": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true, - "optional": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "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": { - "is-typedarray": "^1.0.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "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==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unixify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", - "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", - "requires": { - "normalize-path": "^2.1.1" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, - "update-notifier": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz", - "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==", - "dev": true, - "requires": { - "boxen": "^4.2.0", - "chalk": "^3.0.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.3.1", - "is-npm": "^4.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.0.0", - "pupa": "^2.0.1", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, - "requires": { - "prepend-http": "^2.0.0" - }, - "dependencies": { - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true - } - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", - "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", - "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", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "watchpack": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", - "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", - "dev": true, - "requires": { - "chokidar": "^3.4.0", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" - } - }, - "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "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, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": 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, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "optional": true - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - } - } - }, - "wdio-dot-reporter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.10.tgz", - "integrity": "sha512-A0TCk2JdZEn3M1DSG9YYbNRcGdx/YRw19lTiRpgwzH4qqWkO/oRDZRmi3Snn4L2j54KKTfPalBhlOtc8fojVgg==", - "dev": true - }, - "webdriverio": { - "version": "4.14.4", - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.14.4.tgz", - "integrity": "sha512-Knp2vzuzP5c5ybgLu+zTwy/l1Gh0bRP4zAr8NWcrStbuomm9Krn9oRF0rZucT6AyORpXinETzmeowFwIoo7mNA==", - "dev": true, - "requires": { - "archiver": "~2.1.0", - "babel-runtime": "^6.26.0", - "css-parse": "^2.0.0", - "css-value": "~0.0.1", - "deepmerge": "~2.0.1", - "ejs": "~2.5.6", - "gaze": "~1.1.2", - "glob": "~7.1.1", - "grapheme-splitter": "^1.0.2", - "inquirer": "~3.3.0", - "json-stringify-safe": "~5.0.1", - "mkdirp": "~0.5.1", - "npm-install-package": "~2.1.0", - "optimist": "~0.6.1", - "q": "~1.5.0", - "request": "^2.83.0", - "rgb2hex": "^0.1.9", - "safe-buffer": "~5.1.1", - "supports-color": "~5.0.0", - "url": "~0.11.0", - "wdio-dot-reporter": "~0.0.8", - "wgxpath": "~1.0.0" - }, - "dependencies": { - "ejs": { - "version": "2.5.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz", - "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ==", - "dev": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "supports-color": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz", - "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - } - } - }, - "webpack": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", - "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.1", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "webpack-cli": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.11.tgz", - "integrity": "sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g==", - "dev": true, - "requires": { - "chalk": "2.4.2", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.1.0", - "findup-sync": "3.0.0", - "global-modules": "2.0.0", - "import-local": "2.0.0", - "interpret": "1.2.0", - "loader-utils": "1.2.3", - "supports-color": "6.1.0", - "v8-compile-cache": "2.0.3", - "yargs": "13.2.4" - }, - "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" - } - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "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" - } - }, - "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "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.0" - } - } - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-node-externals": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", - "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "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 - } - } - }, - "wgxpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz", - "integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dev": true, - "requires": { - "string-width": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "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": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.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 - }, - "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" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "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" - } - }, - "yargs-parser": { - "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" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.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" - } - }, - "zip-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", - "dev": true, - "requires": { - "archiver-utils": "^1.3.0", - "compress-commons": "^1.2.0", - "lodash": "^4.8.0", - "readable-stream": "^2.0.0" - } - } - } -} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..748158d0 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6498 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"7zip-bin@~5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" + integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== + +"@babel/code-frame@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.1.tgz#d5481c5095daa1c57e16e54c6f9198443afb49ff" + integrity sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw== + dependencies: + "@babel/highlight" "^7.10.1" + +"@babel/compat-data@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.1.tgz#b1085ffe72cd17bf2c0ee790fc09f9626011b2db" + integrity sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw== + dependencies: + browserslist "^4.12.0" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@7.10.2": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.2.tgz#bd6786046668a925ac2bd2fd95b579b92a23b36a" + integrity sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ== + dependencies: + "@babel/code-frame" "^7.10.1" + "@babel/generator" "^7.10.2" + "@babel/helper-module-transforms" "^7.10.1" + "@babel/helpers" "^7.10.1" + "@babel/parser" "^7.10.2" + "@babel/template" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.10.1", "@babel/generator@^7.10.2": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.2.tgz#0fa5b5b2389db8bfdfcc3492b551ee20f5dd69a9" + integrity sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA== + dependencies: + "@babel/types" "^7.10.2" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz#f6d08acc6f70bbd59b436262553fb2e259a1a268" + integrity sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw== + dependencies: + "@babel/types" "^7.10.1" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz#0ec7d9be8174934532661f87783eb18d72290059" + integrity sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/helper-compilation-targets@^7.10.2": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz#a17d9723b6e2c750299d2a14d4637c76936d8285" + integrity sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA== + dependencies: + "@babel/compat-data" "^7.10.1" + browserslist "^4.12.0" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.10.1": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz#7474295770f217dbcf288bf7572eb213db46ee67" + integrity sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ== + dependencies: + "@babel/helper-function-name" "^7.10.1" + "@babel/helper-member-expression-to-functions" "^7.10.1" + "@babel/helper-optimise-call-expression" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-replace-supers" "^7.10.1" + "@babel/helper-split-export-declaration" "^7.10.1" + +"@babel/helper-create-regexp-features-plugin@^7.10.1", "@babel/helper-create-regexp-features-plugin@^7.8.3": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz#1b8feeab1594cbcfbf3ab5a3bbcabac0468efdbd" + integrity sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.1" + "@babel/helper-regex" "^7.10.1" + regexpu-core "^4.7.0" + +"@babel/helper-define-map@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz#5e69ee8308648470dd7900d159c044c10285221d" + integrity sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg== + dependencies: + "@babel/helper-function-name" "^7.10.1" + "@babel/types" "^7.10.1" + lodash "^4.17.13" + +"@babel/helper-explode-assignable-expression@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz#e9d76305ee1162ca467357ae25df94f179af2b7e" + integrity sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg== + dependencies: + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/helper-function-name@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz#92bd63829bfc9215aca9d9defa85f56b539454f4" + integrity sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.1" + "@babel/template" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/helper-get-function-arity@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz#7303390a81ba7cb59613895a192b93850e373f7d" + integrity sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw== + dependencies: + "@babel/types" "^7.10.1" + +"@babel/helper-hoist-variables@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz#7e77c82e5dcae1ebf123174c385aaadbf787d077" + integrity sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg== + dependencies: + "@babel/types" "^7.10.1" + +"@babel/helper-member-expression-to-functions@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz#432967fd7e12a4afef66c4687d4ca22bc0456f15" + integrity sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g== + dependencies: + "@babel/types" "^7.10.1" + +"@babel/helper-module-imports@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz#dd331bd45bccc566ce77004e9d05fe17add13876" + integrity sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg== + dependencies: + "@babel/types" "^7.10.1" + +"@babel/helper-module-transforms@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz#24e2f08ee6832c60b157bb0936c86bef7210c622" + integrity sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg== + dependencies: + "@babel/helper-module-imports" "^7.10.1" + "@babel/helper-replace-supers" "^7.10.1" + "@babel/helper-simple-access" "^7.10.1" + "@babel/helper-split-export-declaration" "^7.10.1" + "@babel/template" "^7.10.1" + "@babel/types" "^7.10.1" + lodash "^4.17.13" + +"@babel/helper-optimise-call-expression@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz#b4a1f2561870ce1247ceddb02a3860fa96d72543" + integrity sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg== + dependencies: + "@babel/types" "^7.10.1" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.8.0": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz#ec5a5cf0eec925b66c60580328b122c01230a127" + integrity sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA== + +"@babel/helper-regex@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.1.tgz#021cf1a7ba99822f993222a001cc3fec83255b96" + integrity sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g== + dependencies: + lodash "^4.17.13" + +"@babel/helper-remap-async-to-generator@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz#bad6aaa4ff39ce8d4b82ccaae0bfe0f7dbb5f432" + integrity sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.1" + "@babel/helper-wrap-function" "^7.10.1" + "@babel/template" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/helper-replace-supers@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" + integrity sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.1" + "@babel/helper-optimise-call-expression" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/helper-simple-access@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz#08fb7e22ace9eb8326f7e3920a1c2052f13d851e" + integrity sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw== + dependencies: + "@babel/template" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/helper-split-export-declaration@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz#c6f4be1cbc15e3a868e4c64a17d5d31d754da35f" + integrity sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g== + dependencies: + "@babel/types" "^7.10.1" + +"@babel/helper-validator-identifier@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" + integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== + +"@babel/helper-wrap-function@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz#956d1310d6696257a7afd47e4c42dfda5dfcedc9" + integrity sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ== + dependencies: + "@babel/helper-function-name" "^7.10.1" + "@babel/template" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/helpers@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" + integrity sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw== + dependencies: + "@babel/template" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/highlight@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.1.tgz#841d098ba613ba1a427a2b383d79e35552c38ae0" + integrity sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg== + dependencies: + "@babel/helper-validator-identifier" "^7.10.1" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.10.1", "@babel/parser@^7.10.2": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.2.tgz#871807f10442b92ff97e4783b9b54f6a0ca812d0" + integrity sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ== + +"@babel/plugin-proposal-async-generator-functions@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz#6911af5ba2e615c4ff3c497fe2f47b35bf6d7e55" + integrity sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-remap-async-to-generator" "^7.10.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz#046bc7f6550bb08d9bd1d4f060f5f5a4f1087e01" + integrity sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-proposal-dynamic-import@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz#e36979dc1dc3b73f6d6816fc4951da2363488ef0" + integrity sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-json-strings@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz#b1e691ee24c651b5a5e32213222b2379734aff09" + integrity sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz#02dca21673842ff2fe763ac253777f235e9bbf78" + integrity sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz#a9a38bc34f78bdfd981e791c27c6fdcec478c123" + integrity sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-syntax-numeric-separator" "^7.10.1" + +"@babel/plugin-proposal-object-rest-spread@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz#cba44908ac9f142650b4a65b8aa06bf3478d5fb6" + integrity sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.10.1" + +"@babel/plugin-proposal-optional-catch-binding@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz#c9f86d99305f9fa531b568ff5ab8c964b8b223d2" + integrity sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz#15f5d6d22708629451a91be28f8facc55b0e818c" + integrity sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-private-methods@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz#ed85e8058ab0fe309c3f448e5e1b73ca89cdb598" + integrity sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-proposal-unicode-property-regex@^7.10.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz#dc04feb25e2dd70c12b05d680190e138fa2c0c6f" + integrity sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz#d5bc0645913df5b17ad7eda0fa2308330bde34c5" + integrity sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz#25761ee7410bc8cf97327ba741ee94e4a61b7d99" + integrity sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz#8b8733f8c57397b3eaa47ddba8841586dcaef362" + integrity sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-arrow-functions@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz#cb5ee3a36f0863c06ead0b409b4cc43a889b295b" + integrity sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-async-to-generator@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz#e5153eb1a3e028f79194ed8a7a4bf55f862b2062" + integrity sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg== + dependencies: + "@babel/helper-module-imports" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-remap-async-to-generator" "^7.10.1" + +"@babel/plugin-transform-block-scoped-functions@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz#146856e756d54b20fff14b819456b3e01820b85d" + integrity sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-block-scoping@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz#47092d89ca345811451cd0dc5d91605982705d5e" + integrity sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + lodash "^4.17.13" + +"@babel/plugin-transform-classes@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz#6e11dd6c4dfae70f540480a4702477ed766d733f" + integrity sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.1" + "@babel/helper-define-map" "^7.10.1" + "@babel/helper-function-name" "^7.10.1" + "@babel/helper-optimise-call-expression" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-replace-supers" "^7.10.1" + "@babel/helper-split-export-declaration" "^7.10.1" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz#59aa399064429d64dce5cf76ef9b90b7245ebd07" + integrity sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-destructuring@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz#abd58e51337815ca3a22a336b85f62b998e71907" + integrity sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-dotall-regex@^7.10.1", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz#920b9fec2d78bb57ebb64a644d5c2ba67cc104ee" + integrity sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-duplicate-keys@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz#c900a793beb096bc9d4d0a9d0cde19518ffc83b9" + integrity sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-exponentiation-operator@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz#279c3116756a60dd6e6f5e488ba7957db9c59eb3" + integrity sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-for-of@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz#ff01119784eb0ee32258e8646157ba2501fcfda5" + integrity sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-function-name@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz#4ed46fd6e1d8fde2a2ec7b03c66d853d2c92427d" + integrity sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw== + dependencies: + "@babel/helper-function-name" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-literals@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz#5794f8da82846b22e4e6631ea1658bce708eb46a" + integrity sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-member-expression-literals@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz#90347cba31bca6f394b3f7bd95d2bbfd9fce2f39" + integrity sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-modules-amd@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz#65950e8e05797ebd2fe532b96e19fc5482a1d52a" + integrity sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw== + dependencies: + "@babel/helper-module-transforms" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz#d5ff4b4413ed97ffded99961056e1fb980fb9301" + integrity sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg== + dependencies: + "@babel/helper-module-transforms" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-simple-access" "^7.10.1" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz#9962e4b0ac6aaf2e20431ada3d8ec72082cbffb6" + integrity sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA== + dependencies: + "@babel/helper-hoist-variables" "^7.10.1" + "@babel/helper-module-transforms" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz#ea080911ffc6eb21840a5197a39ede4ee67b1595" + integrity sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA== + dependencies: + "@babel/helper-module-transforms" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + +"@babel/plugin-transform-new-target@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz#6ee41a5e648da7632e22b6fb54012e87f612f324" + integrity sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-object-super@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz#2e3016b0adbf262983bf0d5121d676a5ed9c4fde" + integrity sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-replace-supers" "^7.10.1" + +"@babel/plugin-transform-parameters@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz#b25938a3c5fae0354144a720b07b32766f683ddd" + integrity sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg== + dependencies: + "@babel/helper-get-function-arity" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-property-literals@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz#cffc7315219230ed81dc53e4625bf86815b6050d" + integrity sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-regenerator@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz#10e175cbe7bdb63cc9b39f9b3f823c5c7c5c5490" + integrity sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz#0fc1027312b4d1c3276a57890c8ae3bcc0b64a86" + integrity sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-shorthand-properties@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz#e8b54f238a1ccbae482c4dce946180ae7b3143f3" + integrity sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-spread@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz#0c6d618a0c4461a274418460a28c9ccf5239a7c8" + integrity sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-sticky-regex@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz#90fc89b7526228bed9842cff3588270a7a393b00" + integrity sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/helper-regex" "^7.10.1" + +"@babel/plugin-transform-template-literals@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz#914c7b7f4752c570ea00553b4284dad8070e8628" + integrity sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-typeof-symbol@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz#60c0239b69965d166b80a84de7315c1bc7e0bb0e" + integrity sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-unicode-escapes@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz#add0f8483dab60570d9e03cecef6c023aa8c9940" + integrity sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/plugin-transform-unicode-regex@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz#6b58f2aea7b68df37ac5025d9c88752443a6b43f" + integrity sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + +"@babel/preset-env@7.10.2": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.2.tgz#715930f2cf8573b0928005ee562bed52fb65fdfb" + integrity sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA== + dependencies: + "@babel/compat-data" "^7.10.1" + "@babel/helper-compilation-targets" "^7.10.2" + "@babel/helper-module-imports" "^7.10.1" + "@babel/helper-plugin-utils" "^7.10.1" + "@babel/plugin-proposal-async-generator-functions" "^7.10.1" + "@babel/plugin-proposal-class-properties" "^7.10.1" + "@babel/plugin-proposal-dynamic-import" "^7.10.1" + "@babel/plugin-proposal-json-strings" "^7.10.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1" + "@babel/plugin-proposal-numeric-separator" "^7.10.1" + "@babel/plugin-proposal-object-rest-spread" "^7.10.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.10.1" + "@babel/plugin-proposal-optional-chaining" "^7.10.1" + "@babel/plugin-proposal-private-methods" "^7.10.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.10.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.10.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.1" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.10.1" + "@babel/plugin-transform-arrow-functions" "^7.10.1" + "@babel/plugin-transform-async-to-generator" "^7.10.1" + "@babel/plugin-transform-block-scoped-functions" "^7.10.1" + "@babel/plugin-transform-block-scoping" "^7.10.1" + "@babel/plugin-transform-classes" "^7.10.1" + "@babel/plugin-transform-computed-properties" "^7.10.1" + "@babel/plugin-transform-destructuring" "^7.10.1" + "@babel/plugin-transform-dotall-regex" "^7.10.1" + "@babel/plugin-transform-duplicate-keys" "^7.10.1" + "@babel/plugin-transform-exponentiation-operator" "^7.10.1" + "@babel/plugin-transform-for-of" "^7.10.1" + "@babel/plugin-transform-function-name" "^7.10.1" + "@babel/plugin-transform-literals" "^7.10.1" + "@babel/plugin-transform-member-expression-literals" "^7.10.1" + "@babel/plugin-transform-modules-amd" "^7.10.1" + "@babel/plugin-transform-modules-commonjs" "^7.10.1" + "@babel/plugin-transform-modules-systemjs" "^7.10.1" + "@babel/plugin-transform-modules-umd" "^7.10.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.10.1" + "@babel/plugin-transform-object-super" "^7.10.1" + "@babel/plugin-transform-parameters" "^7.10.1" + "@babel/plugin-transform-property-literals" "^7.10.1" + "@babel/plugin-transform-regenerator" "^7.10.1" + "@babel/plugin-transform-reserved-words" "^7.10.1" + "@babel/plugin-transform-shorthand-properties" "^7.10.1" + "@babel/plugin-transform-spread" "^7.10.1" + "@babel/plugin-transform-sticky-regex" "^7.10.1" + "@babel/plugin-transform-template-literals" "^7.10.1" + "@babel/plugin-transform-typeof-symbol" "^7.10.1" + "@babel/plugin-transform-unicode-escapes" "^7.10.1" + "@babel/plugin-transform-unicode-regex" "^7.10.1" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.10.2" + browserslist "^4.12.0" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.8.4": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.2.tgz#d103f21f2602497d38348a32e008637d506db839" + integrity sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.1.tgz#e167154a94cb5f14b28dc58f5356d2162f539811" + integrity sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig== + dependencies: + "@babel/code-frame" "^7.10.1" + "@babel/parser" "^7.10.1" + "@babel/types" "^7.10.1" + +"@babel/traverse@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.1.tgz#bbcef3031e4152a6c0b50147f4958df54ca0dd27" + integrity sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ== + dependencies: + "@babel/code-frame" "^7.10.1" + "@babel/generator" "^7.10.1" + "@babel/helper-function-name" "^7.10.1" + "@babel/helper-split-export-declaration" "^7.10.1" + "@babel/parser" "^7.10.1" + "@babel/types" "^7.10.1" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + +"@babel/types@^7.10.1", "@babel/types@^7.10.2", "@babel/types@^7.4.4": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.2.tgz#30283be31cad0dbf6fb00bd40641ca0ea675172d" + integrity sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng== + dependencies: + "@babel/helper-validator-identifier" "^7.10.1" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@develar/schema-utils@~2.6.5": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" + integrity sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig== + dependencies: + ajv "^6.12.0" + ajv-keywords "^3.4.1" + +"@electron/get@^1.0.1", "@electron/get@^1.12.2": + version "1.12.2" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3" + integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^9.6.0" + progress "^2.0.3" + sanitize-filename "^1.6.2" + sumchecker "^3.0.1" + optionalDependencies: + global-agent "^2.0.2" + global-tunnel-ng "^2.7.1" + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + +"@types/debug@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" + integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== + +"@types/fs-extra@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918" + integrity sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg== + dependencies: + "@types/node" "*" + +"@types/json-schema@^7.0.4": + version "7.0.4" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" + integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== + +"@types/node@*": + version "14.0.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.11.tgz#61d4886e2424da73b7b25547f59fdcb534c165a3" + integrity sha512-lCvvI24L21ZVeIiyIUHZ5Oflv1hhHQ5E1S25IRlKIXaRkVgmXpJMI3wUJkmym2bTbCe+WoIibQnMVAU3FguaOg== + +"@types/node@^12.0.12": + version "12.12.44" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.44.tgz#0d400a1453adcb359b133acceae4dd8bb0e0a159" + integrity sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg== + +"@types/semver@^7.1.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.2.0.tgz#0d72066965e910531e1db4621c15d0ca36b8d83b" + integrity sha512-TbB0A8ACUWZt3Y6bQPstW9QNbhNeebdgLX4T/ZfkrswAfUzRiXrgd9seol+X379Wa589Pu4UEx9Uok0D4RjRCQ== + dependencies: + "@types/node" "*" + +"@types/webdriverio@^4.8.0": + version "4.13.3" + resolved "https://registry.yarnpkg.com/@types/webdriverio/-/webdriverio-4.13.3.tgz#c1571c4e62724135c0b11e7d7e36b07af5168856" + integrity sha512-AfSQM1xTO9Ax+u9uSQPDuw69DQ0qA2RMoKHn86jCgWNcwKVUjGMSP4sfSl3JOfcZN8X/gWvn7znVPp2/g9zcJA== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + +"@types/yargs@^15.0.5": + version "15.0.5" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" + integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== + dependencies: + "@types/yargs-parser" "*" + +"@types/yauzl@^2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" + integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== + dependencies: + "@types/node" "*" + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +about-window@1.13.4: + version "1.13.4" + resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.13.4.tgz#cedfd0153c4b8b54832acae6dae695e06f27f4b4" + integrity sha512-Ge7qBRzrmPbVJ2YarUfTrZEaSfhRjeVyFhmH9NqdNDjjgP0dcWwUprH61JWlDgcM3KaDn5zUzimG4YQh6vRocw== + +acorn@^6.4.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" + integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" + integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== + +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.5.5: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" + integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + dependencies: + string-width "^3.0.0" + +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +app-builder-bin@3.5.9: + version "3.5.9" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.9.tgz#a3ac0c25286bac68357321cb2eaf7128b0bc0a4f" + integrity sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg== + +app-builder-lib@22.7.0: + version "22.7.0" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.7.0.tgz#ccd3e7ece2d46bc209423a77aa142f74aaf65db0" + integrity sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g== + dependencies: + "7zip-bin" "~5.0.3" + "@develar/schema-utils" "~2.6.5" + async-exit-hook "^2.0.1" + bluebird-lst "^1.0.9" + builder-util "22.7.0" + builder-util-runtime "8.7.1" + chromium-pickle-js "^0.2.0" + debug "^4.2.0" + ejs "^3.1.3" + electron-publish "22.7.0" + fs-extra "^9.0.0" + hosted-git-info "^3.0.4" + is-ci "^2.0.0" + isbinaryfile "^4.0.6" + js-yaml "^3.14.0" + lazy-val "^1.0.4" + minimatch "^3.0.4" + normalize-package-data "^2.5.0" + read-config-file "6.0.0" + sanitize-filename "^1.6.3" + semver "^7.3.2" + temp-file "^3.3.7" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +archiver-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" + integrity sha1-5QtMCccL89aA4y/xt5lOn52JUXQ= + dependencies: + glob "^7.0.0" + graceful-fs "^4.1.0" + lazystream "^1.0.0" + lodash "^4.8.0" + normalize-path "^2.0.0" + readable-stream "^2.0.0" + +archiver@~2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-2.1.1.tgz#ff662b4a78201494a3ee544d3a33fe7496509ebc" + integrity sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw= + dependencies: + archiver-utils "^1.3.0" + async "^2.0.0" + buffer-crc32 "^0.2.1" + glob "^7.0.0" + lodash "^4.8.0" + readable-stream "^2.0.0" + tar-stream "^1.5.0" + zip-stream "^1.2.0" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-exit-hook@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" + integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== + +async@0.9.x: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + +async@^2.0.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" + integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== + +babel-loader@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-syntax-object-rest-spread@7.0.0-beta.3: + version "7.0.0-beta.3" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-7.0.0-beta.3.tgz#7f781c180899dafd88f132f69472397549be48e5" + integrity sha512-21/MnmUFduLr4JzxrKMm/MeF+Jjyi5UdZo38IqzrP0sLhmPbal5ZAUJ4HgWH4339SdjnYgENacbY5wfk/zxTGg== + +babel-plugin-transform-object-rest-spread@^7.0.0-beta.3: + version "7.0.0-beta.3" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-7.0.0-beta.3.tgz#5c409f3cd70819dbb3382d2056971c5ebe01393a" + integrity sha512-NOlhrq1CmxyuI94vNsqMhRPMuL5VG2EKUOIJQ0bwNiXBiwWRLdPoWyPT+Irrx5g4g0PkFgA46tnRj7Dc4ZGsxg== + dependencies: + babel-plugin-syntax-object-rest-spread "7.0.0-beta.3" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bluebird-lst@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" + integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== + dependencies: + bluebird "^3.5.5" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: + version "4.11.9" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + +bn.js@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" + integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== + +boolean@^3.0.0, boolean@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.1.tgz#35ecf2b4a2ee191b0b44986f14eb5f052a5cbb4f" + integrity sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA== + +boxen@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" + integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^3.0.0" + cli-boxes "^2.2.0" + string-width "^4.1.0" + term-size "^2.1.0" + type-fest "^0.8.1" + widest-line "^3.1.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + 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" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" + integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.2" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.12.0, browserslist@^4.8.5: + version "4.12.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" + integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== + dependencies: + caniuse-lite "^1.0.30001043" + electron-to-chromium "^1.3.413" + node-releases "^1.1.53" + pkg-up "^2.0.0" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.1.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +builder-util-runtime@8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.0.tgz#e48ad004835c8284662e8eaf47a53468c66e8e8d" + integrity sha512-G1AqqVM2vYTrSFR982c1NNzwXKrGLQjVjaZaWQdn4O6Z3YKjdMDofw88aD9jpyK9ZXkrCxR0tI3Qe9wNbyTlXg== + dependencies: + debug "^4.1.1" + sax "^1.2.4" + +builder-util-runtime@8.7.1: + version "8.7.1" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz#23c808cddd650d4376a7a1518ec1e80e85c10f00" + integrity sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg== + dependencies: + debug "^4.2.0" + sax "^1.2.4" + +builder-util@22.7.0: + version "22.7.0" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.7.0.tgz#0776a66e6d6e408a78bed7f17a7ad22516d9e7f0" + integrity sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg== + dependencies: + "7zip-bin" "~5.0.3" + "@types/debug" "^4.1.5" + "@types/fs-extra" "^9.0.1" + app-builder-bin "3.5.9" + bluebird-lst "^1.0.9" + builder-util-runtime "8.7.1" + chalk "^4.0.0" + debug "^4.2.0" + fs-extra "^9.0.0" + is-ci "^2.0.0" + js-yaml "^3.14.0" + source-map-support "^0.5.19" + stat-mode "^1.0.0" + temp-file "^3.3.7" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + 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" + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001043: + version "1.0.30001078" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001078.tgz#e1b6e2ae327b6a1ec11f65ec7a0dde1e7093074c" + integrity sha512-sF12qXe9VMm32IEf/+NDvmTpwJaaU7N1igpiH2FdI4DyABJSsOqG3ZAcFvszLkoLoo1y6VJLMYivukUAxaMASw== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chai@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" + integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.0" + type-detect "^4.0.5" + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" + integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + +chokidar@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" + integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.2.0" + optionalDependencies: + fsevents "~2.1.1" + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" + integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + +chromium-pickle-js@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" + integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU= + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-boxes@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" + integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compress-commons@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.2.tgz#524a9f10903f3a813389b0225d27c48bb751890f" + integrity sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8= + dependencies: + buffer-crc32 "^0.2.1" + crc32-stream "^2.0.0" + normalize-path "^2.0.0" + readable-stream "^2.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0, concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +config-chain@^1.1.11: + version "1.1.12" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js-compat@^3.6.2: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + +core-js@^2.4.0: + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + +core-js@^3.6.5: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" + integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +crc32-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" + integrity sha1-483TtN8xaN10494/u8t7KX/pCPQ= + dependencies: + crc "^3.4.4" + readable-stream "^2.0.0" + +crc@^3.4.4: + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@6.0.5, cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-loader@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf" + integrity sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw== + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.27" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.0.3" + schema-utils "^2.6.6" + semver "^6.3.0" + +css-parse@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" + integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= + dependencies: + css "^2.0.0" + +css-value@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea" + integrity sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo= + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@3.2.6: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + +debug@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.1.tgz#25c1c24f110fb914f80001b925264dd77f3f4312" + integrity sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ== + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + +dev-null@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dev-null/-/dev-null-0.1.1.tgz#5a205ce3c2b2ef77b6238d6ba179eb74c6a0e818" + integrity sha1-WiBc48Ky73e2I41roXnrdMag6Bg= + +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dmg-builder@22.7.0: + version "22.7.0" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.7.0.tgz#ead7e7c046cbdc52d29d302a4455f6668cdf7d45" + integrity sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg== + dependencies: + app-builder-lib "22.7.0" + builder-util "22.7.0" + fs-extra "^9.0.0" + iconv-lite "^0.5.1" + js-yaml "^3.14.0" + sanitize-filename "^1.6.3" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +dot-prop@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" + integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ejs@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.3.tgz#514d967a8894084d18d3d47bd169a1c0560f093d" + integrity sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg== + dependencies: + jake "^10.6.1" + +ejs@~2.5.6: + version "2.5.9" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5" + integrity sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ== + +electron-builder@22.7.0: + version "22.7.0" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.7.0.tgz#a42d08a1654ffc2f7d9e2860829d3cc55d4a0c81" + integrity sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ== + dependencies: + "@types/yargs" "^15.0.5" + app-builder-lib "22.7.0" + bluebird-lst "^1.0.9" + builder-util "22.7.0" + builder-util-runtime "8.7.1" + chalk "^4.0.0" + dmg-builder "22.7.0" + fs-extra "^9.0.0" + is-ci "^2.0.0" + lazy-val "^1.0.4" + read-config-file "6.0.0" + sanitize-filename "^1.6.3" + update-notifier "^4.1.0" + yargs "^15.3.1" + +electron-chromedriver@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-9.0.0.tgz#c7629fe6b9721140f3a380144f99960c2bc3b5c1" + integrity sha512-+MuukzicyfduXO/4yQv9ygLKaScttJNbWtg77A9fs2YhbkISjObWaCF3eJNZL+edZXRfaF/6D4XuXvklQCmwQg== + dependencies: + "@electron/get" "^1.12.2" + extract-zip "^2.0.0" + +electron-hunspell@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/electron-hunspell/-/electron-hunspell-1.1.2.tgz#58b64fc09ad3d8e99ea74846f333c4efedc4fa03" + integrity sha512-Wrue7/aOlOEabhMm4GQSfvGADKHzCDkuYIEOINSEwMjHrvwTj7e1gI1kIO5wc+JdSL1uhFjwROfrqiLmnxqIKg== + dependencies: + hunspell-asm "^4.0.2" + +electron-mocha@^8.2.2: + version "8.2.2" + resolved "https://registry.yarnpkg.com/electron-mocha/-/electron-mocha-8.2.2.tgz#871d1fbbffcfdb7b880bbaf299e33ba993b4fe71" + integrity sha512-kMXj+1TzQQODP0osIAg82YpwOsfRKx0xV+F5AxV+3UP54CIPwxaeZYC6pQoEVZBRKyPbcrhQzl8ar+6uGMvaUA== + dependencies: + ansi-colors "^4.1.1" + electron-window "^0.8.0" + fs-extra "^9.0.0" + log-symbols "^3.0.0" + mocha "^7.1.2" + which "^2.0.2" + yargs "^15.3.1" + +electron-notarize@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-0.3.0.tgz#b93c606306eac558b250c78ff95273ddb9fedf0a" + integrity sha512-tuDw8H0gcDOalNLv6RM2CwGvUXU60MPGZRDEmd0ppX+yP5XqL8Ec2DuXyz9J7WQSA3aRCfzIgH8C5CAivDYWMw== + dependencies: + debug "^4.1.1" + fs-extra "^8.1.0" + +electron-publish@22.7.0: + version "22.7.0" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.7.0.tgz#d92ba7c4007c9ac1dd070593e48028184fb2dc19" + integrity sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg== + dependencies: + "@types/fs-extra" "^9.0.1" + bluebird-lst "^1.0.9" + builder-util "22.7.0" + builder-util-runtime "8.7.1" + chalk "^4.0.0" + fs-extra "^9.0.0" + lazy-val "^1.0.4" + mime "^2.4.5" + +electron-settings@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/electron-settings/-/electron-settings-3.2.0.tgz#01461e153f95b6f18adbe0c360c70898eb0f43c3" + integrity sha512-7U+vDKd5Gch4Z9K6FjGq80eB3Anwz2GuPc2h/6hOiuvZrS1w+UNPcAA0oAU8G1s9sWAVEadCsr4ZJR6J4iTdzA== + dependencies: + clone "^2.1.1" + jsonfile "^4.0.0" + +electron-to-chromium@^1.3.413: + version "1.3.462" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.462.tgz#82087404c20ed664963ececab23337ac7a150e21" + integrity sha512-HST/xWLOeA0LGUhxBqvcPDDUGHjB6rn99VBgPWmaHv+zqwXgOaZO5RnRcd5owjRE7nh+z1c0SwcK8qP8o7sofg== + +electron-updater@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.1.tgz#9d485b6262bc56fcf7ee62b1dc1b3b105a3e96a7" + integrity sha512-UDC5AHCgeiHJYDYWZG/rsl1vdAFKqI/Lm7whN57LKAk8EfhTewhcEHzheRcncLgikMcQL8gFo1KeX51tf5a5Wg== + dependencies: + "@types/semver" "^7.1.0" + builder-util-runtime "8.7.0" + fs-extra "^9.0.0" + js-yaml "^3.13.1" + lazy-val "^1.0.4" + lodash.isequal "^4.5.0" + semver "^7.1.3" + +electron-window@^0.8.0: + version "0.8.1" + resolved "https://registry.yarnpkg.com/electron-window/-/electron-window-0.8.1.tgz#16ca187eb4870b0679274fc8299c5960e6ab2c5e" + integrity sha1-FsoYfrSHCwZ5J0/IKZxZYOarLF4= + dependencies: + is-electron-renderer "^2.0.0" + +electron@9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.2.tgz#361924ce833396f1a45ac2195f442b92eb4f8f5d" + integrity sha512-+a3KegLvQXVjC3b6yBWwZmtWp3tHf9ut27yORAWHO9JRFtKfNf88fi1UvTPJSW8R0sUH7ZEdzN6A95T22KGtlA== + dependencies: + "@electron/get" "^1.0.1" + "@types/node" "^12.0.12" + extract-zip "^1.0.3" + +elliptic@^6.0.0, elliptic@^6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" + integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +emscripten-wasm-loader@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/emscripten-wasm-loader/-/emscripten-wasm-loader-3.0.3.tgz#60d4f33dd62fc41cf6d98fbca94b24bc246f133b" + integrity sha512-fyq2maBt5LOou27LEBlL5H6G04BxgSamXkvmMsAuIT6rd8ioH4BxNQhuyl6jVPeODh6U8Wk1BoFZxzHpg3o8wA== + dependencies: + getroot "^1.0.0" + nanoid "^2.0.3" + unixify "^1.0.0" + +encodeurl@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + tapable "^1.0.0" + +enhanced-resolve@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" + integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +env-paths@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" + integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + dependencies: + prr "~1.0.1" + +error-stack-parser@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: + version "1.17.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" + integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + dependencies: + estraverse "^4.1.0" + +estraverse@^4.1.0, estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +events@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" + integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^2.0.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" + integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-zip@^1.0.3: + version "1.7.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== + dependencies: + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" + +extract-zip@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.0.tgz#f53b71d44f4ff5a4527a2259ade000fb8b303492" + integrity sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +file-loader@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f" + integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ== + dependencies: + loader-utils "^2.0.0" + schema-utils "^2.6.5" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filelist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" + integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ== + dependencies: + minimatch "^3.0.4" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +findup-sync@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" + integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + dependencies: + detect-file "^1.0.0" + is-glob "^4.0.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +friendly-errors-webpack-plugin@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz#efc86cbb816224565861a1be7a9d84d0aafea136" + integrity sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw== + dependencies: + chalk "^1.1.3" + error-stack-parser "^2.0.0" + string-width "^2.0.0" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^1.0.0" + +fs-jetpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-2.4.0.tgz#6080c4ab464a019d37a404baeb47f32af8835026" + integrity sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ== + dependencies: + minimatch "^3.0.2" + rimraf "^2.6.3" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.1.1, fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gaze@~1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== + dependencies: + globule "^1.0.0" + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +getroot@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/getroot/-/getroot-1.0.0.tgz#ac4635c5fa4037741d6ead61ccc16367439efcbe" + integrity sha512-W9Q31kOv921dQuZBeAbK4R/dAPbC0WkhZD3alLcdVwjSkEtS1aX8twrzG3I5yo0sQ88M/d4JOqVbRiCuI/XPNA== + dependencies: + tslib "^1.7.1" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + 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" + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + 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" + +global-agent@^2.0.2: + version "2.1.12" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195" + integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg== + dependencies: + boolean "^3.0.1" + core-js "^3.6.5" + es6-error "^4.1.1" + matcher "^3.0.0" + roarr "^2.15.3" + semver "^7.3.2" + serialize-error "^7.0.1" + +global-dirs@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" + integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== + dependencies: + ini "^1.3.5" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +global-tunnel-ng@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" + integrity sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg== + dependencies: + encodeurl "^1.0.2" + lodash "^4.17.10" + npm-conf "^1.1.3" + tunnel "^0.0.6" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globalthis@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9" + integrity sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw== + dependencies: + define-properties "^1.1.3" + +globule@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" + integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== + dependencies: + glob "~7.1.1" + lodash "~4.17.12" + minimatch "~3.0.2" + +got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +grapheme-splitter@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +hosted-git-info@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.4.tgz#be4973eb1fd2737b11c9c7c19380739bb249f60d" + integrity sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ== + dependencies: + lru-cache "^5.1.1" + +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +hunspell-asm@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/hunspell-asm/-/hunspell-asm-4.0.2.tgz#20c50ea50a52467534a809b3095a064231e7171e" + integrity sha512-u3ZuEYKGYnLZlIs+k5S+KdY+Q57mYD46fTwZJCiSXdES+fhxcLNF5mJ0nxjqrPAgE/8Kow6XLxRdRd/HDUPQZg== + dependencies: + emscripten-wasm-loader "^3.0.3" + nanoid "^2.1.5" + +iconv-lite@^0.4.17: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.1.tgz#b2425d3c7b18f7219f2ca663d103bddb91718d64" + integrity sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +import-local@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +inquirer@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +interpret@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + +is-callable@^1.1.4, is-callable@^1.1.5: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-electron-renderer@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-electron-renderer/-/is-electron-renderer-2.0.1.tgz#a469d056f975697c58c98c6023eb0aa79af895a2" + integrity sha1-pGnQVvl1aXxYyYxgI+sKp5r4laI= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-installed-globally@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== + dependencies: + global-dirs "^2.0.1" + is-path-inside "^3.0.1" + +is-npm@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" + integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" + integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" + integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== + dependencies: + has-symbols "^1.0.1" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isbinaryfile@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" + integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +jake@^10.6.1: + version "10.8.1" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.1.tgz#0f6f5ef13ebe014104527fb4b1b24f44cd1f04d6" + integrity sha512-eSp5h9S7UFzKdQERTyF+KuPLjDZa1Tbw8gCVUn98n4PbIkLEDGe4zl7vF4Qge9kQj06HcymnksPk8jznPZeKsA== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.13.1: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^3.13.1, js-yaml@^3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" + integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== + dependencies: + universalify "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +lazy-val@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" + integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== + dependencies: + leven "^3.1.0" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.3.0, lodash@^4.8.0, lodash@~4.17.12: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +log-symbols@3.0.0, log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +matcher@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" + integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + dependencies: + escape-string-regexp "^4.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memory-fs@^0.4.0, memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + 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" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + dependencies: + mime-db "1.44.0" + +mime@^2.4.5: + version "2.4.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" + integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.5.5, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mocha@^7.1.2, mocha@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" + integrity sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== + dependencies: + ansi-colors "3.2.3" + browser-stdout "1.3.1" + chokidar "3.3.0" + debug "3.2.6" + diff "3.5.0" + escape-string-regexp "1.0.5" + find-up "3.0.0" + glob "7.1.3" + growl "1.10.5" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "3.0.0" + minimatch "3.0.4" + mkdirp "0.5.5" + ms "2.1.1" + node-environment-flags "1.0.6" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "1.6.0" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +nan@^2.12.1: + version "2.14.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== + +nanoid@^2.0.3, nanoid@^2.1.5: + version "2.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + 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" + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" + integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-environment-flags@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" + integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-releases@^1.1.53: + version "1.1.58" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935" + integrity sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^4.1.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" + integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + +npm-conf@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" + integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== + dependencies: + config-chain "^1.1.11" + pify "^3.0.0" + +npm-install-package@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/npm-install-package/-/npm-install-package-2.1.0.tgz#d7efe3cfcd7ab00614b896ea53119dc9ab259125" + integrity sha1-1+/jz816sAYUuJbqUxGdyaslkSU= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@4.1.0, object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.getownpropertydescriptors@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +optimist@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.5" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" + integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +pathval@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= + +pbkdf2@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +png2icons@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" + integrity sha512-GDEQJr8OG4e6JMp7mABtXFSEpgJa1CCpbQiAR+EjhkHJHnUL9zPPtbOrjsMD8gUbikgv3j7x404b0YJsV3aVFA== + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" + integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.16" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.32" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" + integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +pupa@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz#dbdc9ff48ffbea4a26a069b6f9f7abb051008726" + integrity sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA== + dependencies: + escape-goat "^2.0.0" + +q@~1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-config-file@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299" + integrity sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA== + dependencies: + dotenv "^8.2.0" + dotenv-expand "^5.1.0" + js-yaml "^3.13.1" + json5 "^2.1.2" + lazy-val "^1.0.4" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + 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" + +readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" + integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== + dependencies: + picomatch "^2.0.4" + +readdirp@~3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" + integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== + dependencies: + picomatch "^2.2.1" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" + integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.4: + version "0.13.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" + integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + +regenerator-transform@^0.14.2: + version "0.14.4" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" + integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== + dependencies: + "@babel/runtime" "^7.8.4" + private "^0.1.8" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +registry-auth-token@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" + integrity sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== + dependencies: + rc "^1.2.8" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request@^2.83.0, request@^2.87.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + 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.3" + 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.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.3.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rgb2hex@^0.1.9: + version "0.1.10" + resolved "https://registry.yarnpkg.com/rgb2hex/-/rgb2hex-0.1.10.tgz#4fdd432665273e2d5900434940ceba0a04c8a8a8" + integrity sha512-vKz+kzolWbL3rke/xeTE2+6vHmZnNxGyDnaVW4OckntAIcc7DcZzWkQSfxMDwqHS8vhgySnIFyBUH7lIk6PxvQ== + +rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +roarr@^2.15.3: + version "2.15.3" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.3.tgz#65248a291a15af3ebfd767cbf7e44cb402d1d836" + integrity sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA== + dependencies: + boolean "^3.0.0" + detect-node "^2.0.4" + globalthis "^1.0.1" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" + +run-async@^2.2.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize-filename@^1.6.2, sanitize-filename@^1.6.3: + version "1.6.3" + resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" + integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + dependencies: + truncate-utf8-bytes "^1.0.0" + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.6.5, schema-utils@^2.6.6: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.1.3, semver@^7.3.2: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + +serialize-error@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" + integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + dependencies: + type-fest "^0.13.1" + +serialize-javascript@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" + integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.5.19, source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + +spectron@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/spectron/-/spectron-11.0.0.tgz#79d785e6b8898638e77b5186711e3910ed4ca09b" + integrity sha512-YRiB0TTpJa8ofNML/k1fJShe+m7U/E2HnFZsdZK57ekWIzlTHF+Lq7ZvuKGxMbpooU/OZkLObZfitemxhBVH4w== + dependencies: + "@types/webdriverio" "^4.8.0" + dev-null "^0.1.1" + electron-chromedriver "^9.0.0" + request "^2.87.0" + split "^1.0.0" + webdriverio "^4.13.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + +sprintf-js@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + dependencies: + figgy-pudding "^3.5.1" + +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" + integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== + +stat-mode@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" + integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimleft@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" + integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimstart "^1.0.0" + +string.prototype.trimright@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" + integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimend "^1.0.0" + +string.prototype.trimstart@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-json-comments@2.0.1, strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +style-loader@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" + integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg== + dependencies: + loader-utils "^2.0.0" + schema-utils "^2.6.6" + +sumchecker@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" + integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== + dependencies: + debug "^4.1.0" + +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== + dependencies: + has-flag "^3.0.0" + +supports-color@6.1.0, supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + +supports-color@~5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.0.1.tgz#1c5331f22250c84202805b2f17adf16699f3a39a" + integrity sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA== + dependencies: + has-flag "^2.0.0" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tar-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + +temp-file@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.7.tgz#686885d635f872748e384e871855958470aeb18a" + integrity sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g== + dependencies: + async-exit-hook "^2.0.1" + fs-extra "^8.1.0" + +term-size@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" + integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== + +terser-webpack-plugin@^1.4.3: + version "1.4.4" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f" + integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^3.1.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2: + version "4.7.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.7.0.tgz#15852cf1a08e3256a80428e865a2fa893ffba006" + integrity sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@2, through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timers-browserify@^2.0.4: + version "2.0.11" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + dependencies: + setimmediate "^1.0.4" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +truncate-utf8-bytes@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" + integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys= + dependencies: + utf8-byte-length "^1.0.1" + +tslib@^1.7.1, tslib@^1.9.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tunnel@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + +unixify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" + integrity sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA= + dependencies: + normalize-path "^2.1.1" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-notifier@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" + integrity sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew== + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +uri-js@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" + integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url@^0.11.0, url@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +utf8-byte-length@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" + integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" + integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +watchpack-chokidar2@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" + integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.6.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" + integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.0" + watchpack-chokidar2 "^2.0.0" + +wdio-dot-reporter@~0.0.8: + version "0.0.10" + resolved "https://registry.yarnpkg.com/wdio-dot-reporter/-/wdio-dot-reporter-0.0.10.tgz#facfb7c9c5984149951f59cbc3cd0752101cf0e0" + integrity sha512-A0TCk2JdZEn3M1DSG9YYbNRcGdx/YRw19lTiRpgwzH4qqWkO/oRDZRmi3Snn4L2j54KKTfPalBhlOtc8fojVgg== + +webdriverio@^4.13.0: + version "4.14.4" + resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-4.14.4.tgz#f7a94e9a6530819796088f42b009833d83de0386" + integrity sha512-Knp2vzuzP5c5ybgLu+zTwy/l1Gh0bRP4zAr8NWcrStbuomm9Krn9oRF0rZucT6AyORpXinETzmeowFwIoo7mNA== + dependencies: + archiver "~2.1.0" + babel-runtime "^6.26.0" + css-parse "^2.0.0" + css-value "~0.0.1" + deepmerge "~2.0.1" + ejs "~2.5.6" + gaze "~1.1.2" + glob "~7.1.1" + grapheme-splitter "^1.0.2" + inquirer "~3.3.0" + json-stringify-safe "~5.0.1" + mkdirp "~0.5.1" + npm-install-package "~2.1.0" + optimist "~0.6.1" + q "~1.5.0" + request "^2.83.0" + rgb2hex "^0.1.9" + safe-buffer "~5.1.1" + supports-color "~5.0.0" + url "~0.11.0" + wdio-dot-reporter "~0.0.8" + wgxpath "~1.0.0" + +webpack-cli@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.11.tgz#3bf21889bf597b5d82c38f215135a411edfdc631" + integrity sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g== + dependencies: + chalk "2.4.2" + cross-spawn "6.0.5" + enhanced-resolve "4.1.0" + findup-sync "3.0.0" + global-modules "2.0.0" + import-local "2.0.0" + interpret "1.2.0" + loader-utils "1.2.3" + supports-color "6.1.0" + v8-compile-cache "2.0.3" + yargs "13.2.4" + +webpack-merge@^4.1.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-node-externals@^1.6.0: + version "1.7.2" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz#6e1ee79ac67c070402ba700ef033a9b8d52ac4e3" + integrity sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg== + +webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.43.0: + version "4.43.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" + integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.6.1" + webpack-sources "^1.4.1" + +wgxpath@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wgxpath/-/wgxpath-1.0.0.tgz#eef8a4b9d558cc495ad3a9a2b751597ecd9af690" + integrity sha1-7vikudVYzEla06mit1FZfs2a9pA= + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1.3.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yargs-parser@13.1.2, yargs-parser@^13.1.0, yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.1: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" + integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== + dependencies: + flat "^4.1.0" + lodash "^4.17.15" + yargs "^13.3.0" + +yargs@13.2.4: + version "13.2.4" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" + integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + 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.0" + +yargs@13.3.2, yargs@^13.3.0: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + 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.2" + +yargs@^15.3.1: + version "15.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" + integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.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 "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.1" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +zip-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" + integrity sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ= + dependencies: + archiver-utils "^1.3.0" + compress-commons "^1.2.0" + lodash "^4.8.0" + readable-stream "^2.0.0" From b62a1a1038876fd73dfb5a107df3f304eaa8b0fb Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 12:18:13 -0400 Subject: [PATCH 025/385] Fix about window --- src/menu/items/about.js | 75 +++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 33 deletions(-) diff --git a/src/menu/items/about.js b/src/menu/items/about.js index 96ba16ff..aa2d42dd 100644 --- a/src/menu/items/about.js +++ b/src/menu/items/about.js @@ -1,40 +1,49 @@ -import appIcon from '../../../resources/icons/512x512.png'; -import { IS_DEV } from '../../constants'; -import openAboutWindow from 'about-window'; -import { app } from 'electron'; -import { description } from '../../../package.json'; +import { IS_DEV } from "../../constants"; +import openAboutWindow from "about-window"; +import { app } from "electron"; +import { description } from "../../../package.json"; +import path from "path"; -const productName = 'Android Messages Desktop'; -const localeStyle = '-webkit-app-region: no-drag; position: absolute; left: 0.5em; bottom: 0.5em; font-size: 12px; color: #999'; -const disclaimerText = '

Not affiliated with Google in any way.
Android is a trademark of Google LLC.'; +const productName = "Android Messages Desktop"; +const localeStyle = + "-webkit-app-region: no-drag; position: absolute; left: 0.5em; bottom: 0.5em; font-size: 12px; color: #999"; +const disclaimerText = + "

Not affiliated with Google in any way.
Android is a trademark of Google LLC."; const licenseText = `

${productName} is released under the MIT License.`; -const dictionaryLicenseText = `

Spelling dictionaries are released under various licenses including MIT, BSD, and GNU GPL.
See dictionary license details.` +const dictionaryLicenseText = `

Spelling dictionaries are released under various licenses including MIT, BSD, and GNU GPL. See dictionary license details.`; -let languageCode = ''; -let descriptionWithLocale = ''; -app.on('ready', () => { - languageCode = app.getLocale(); - // about-window does not have a field for arbitrary HTML, so we add the HTML we need to an existing field - descriptionWithLocale = `${description}${languageCode}`; +let languageCode = ""; +let descriptionWithLocale = ""; +app.on("ready", () => { + languageCode = app.getLocale(); + // about-window does not have a field for arbitrary HTML, so we add the HTML we need to an existing field + descriptionWithLocale = `${description}${languageCode}`; }); export const aboutMenuItem = { - label: `About ${productName}`, - click: () => { - openAboutWindow({ - icon_path: appIcon, - copyright: `

Copyright © 2018-2019 Chris Knepper, All rights reserved.${disclaimerText}${licenseText}${dictionaryLicenseText}
`, - product_name: productName, - description: descriptionWithLocale, - open_devtools: IS_DEV, - use_inner_html: true, - win_options: { - height: 500, - resizable: false, - minimizable: false, - maximizable: false, - show: false // Delays showing until content is ready, prevents FOUC/flash of blank white window - } - }); - } + label: `About ${productName}`, + click: () => { + openAboutWindow({ + // TODO: Make this not sketchy as hell + icon_path: path.resolve( + __dirname, + "..", + "resources", + "icons", + "512x512.png" + ), + copyright: `
Copyright who needs those${disclaimerText}${licenseText}${dictionaryLicenseText}
`, + product_name: productName, + description: descriptionWithLocale, + open_devtools: IS_DEV, + use_inner_html: true, + win_options: { + height: 500, + resizable: false, + minimizable: false, + maximizable: false, + show: false, // Delays showing until content is ready, prevents FOUC/flash of blank white window + }, + }); + }, }; From 493846d6955d6ad7a3094e29b70c32621f9e30c7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 12:18:27 -0400 Subject: [PATCH 026/385] Cleanup some unnecessary complexity in loading --- app/app.html | 6 -- src/app.js | 117 +++++++++------------------------------ src/stylesheets/main.css | 40 ------------- 3 files changed, 26 insertions(+), 137 deletions(-) diff --git a/app/app.html b/app/app.html index 03fe2264..0fa4f55f 100644 --- a/app/app.html +++ b/app/app.html @@ -5,13 +5,7 @@ Android Messages -
- - - -
-
diff --git a/src/app.js b/src/app.js index 72c9692c..102274be 100644 --- a/src/app.js +++ b/src/app.js @@ -1,111 +1,46 @@ -import './stylesheets/main.css'; +import "./stylesheets/main.css"; -import { ipcRenderer, remote } from 'electron'; -import { EVENT_UPDATE_USER_SETTING, IS_DEV, IS_MAC } from './constants'; - -const state = { - loaded: false -}; +import { ipcRenderer, remote } from "electron"; +import { EVENT_UPDATE_USER_SETTING, IS_DEV, IS_MAC } from "./constants"; const app = remote.app; -androidMessagesWebview.addEventListener('did-start-loading', () => { - // Intercept request for notifications and accept it - androidMessagesWebview.getWebContents().session.setPermissionRequestHandler((webContents, permission, callback) => { - const url = webContents.getURL(); - - if (permission === 'notifications') { - /* - * We always get a "notification" when the app starts due to calling setPermissionRequestHandler, - * which accepts the permission to send browser notifications on behalf of the user. - * This "notification" should fire before we start listening for notifications, - * and should not cause problems. - * TODO: Move this to a helper - * TODO: Provide visual indicators for Linux, could set window (taskbar) icon, may also do for Windows - */ - - return callback(false); // Prevent the webview's notification from coming through (we roll our own) - } - - if (!url.startsWith('https://messages.google.com/web')) { - return callback(false); // Deny - } - }); - - androidMessagesWebview.getWebContents().session.webRequest.onHeadersReceived({ - // Only run this code on requests for which the URL is in the following array. - // The SRC of the webview is the same context as the preload script. - urls: ['https://messages.google.com/web/'] }, (details, callback) => { - /* - * Google, prior to changing the URL of the app from messages.android.com to messages.google.com/web sends several directives in the - * content-security-policy header which restrict what kind of JS can run and where it can originate. This can break our spell - * checking (because the spellchecker instantiates a WebAssembly module) unless we include unsafe-eval for the root page headers. - * We must do this before any stricter rules are specified since they can only "further restrict capabilities" as they are defined. - * We therefore must modify the rule Google sends by detecting and prepending the next-least-strict rule sent, "unsafe-inline." - * We must use double quotes since content-security-policy directive rules need single quotes as part of the string. - * - * Doing it this way allows us to keep the rest of Google's security rules to maximize security while still allowing WebAssembly to work. - * - * If this ever stops working, we can force WebAssembly to work by completely nixing the content-security-policy header, done via: - * delete modifiedHeaders['content-security-policy']; - * - * See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy#Multiple_content_security_policies - */ - const modifiedHeaders = { - ...details.responseHeaders - }; - - // Since the URL change, this header no longer seems to be sent, so this should allow spellchecking to work, - // even if Google starts sending the header again. - if (typeof modifiedHeaders === 'object' && 'content-security-policy' in modifiedHeaders) { - const firstCSP = modifiedHeaders['content-security-policy'][0]; - - if (firstCSP.includes("'unsafe-inline'")) { - modifiedHeaders['content-security-policy'][0] = firstCSP.replace("'unsafe-inline'", "'unsafe-eval' 'unsafe-inline'"); - } - } +const androidMessagesWebview = document.getElementById( + "androidMessagesWebview" +); - callback({ - responseHeaders: modifiedHeaders - }); - }); +androidMessagesWebview.addEventListener("did-finish-load", () => { + // just before onLoad + console.log("finished loading"); }); -androidMessagesWebview.addEventListener('did-finish-load', () => { // just before onLoad - console.log('finished loading'); - +androidMessagesWebview.addEventListener("did-stop-loading", () => { + // coincident with onLoad, can fire multiple times + console.log("done loading"); }); -androidMessagesWebview.addEventListener('did-stop-loading', () => { // coincident with onLoad, can fire multiple times - console.log('done loading'); - if (!state.loaded) { - state.loaded = true; - loader.classList.add('hidden'); - if (IS_DEV) { - androidMessagesWebview.getWebContents().openDevTools(); - } - app.mainWindow.on('focus', () => { - // Make sure the webview gets a focus event on its window/DOM when the app window does, - // this makes automatic text input focus work. - androidMessagesWebview.dispatchEvent(new Event('focus')); - }); - } +androidMessagesWebview.addEventListener("dom-ready", () => { + console.log("dom ready"); -}); - -androidMessagesWebview.addEventListener('dom-ready', () => { - console.log('dom ready'); - //Notification.requestPermission(); // Could be necessary for initial notification, need to test + if (IS_DEV) { + androidMessagesWebview.getWebContents().openDevTools(); + } + app.mainWindow.on("focus", () => { + // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs + androidMessagesWebview.dispatchEvent(new Event("focus")); + }); // Make the title centered so that it won't get weirdly covered by the traffic light on mac // 10px should make it look roughly centered // TODO: Use more sophisticated CSS which doesn't rely on Google's obfuscated class names to do this if (IS_MAC) { - androidMessagesWebview.insertCSS('.main-nav-header .logo {text-align:center; transform: translateX(10px)}'); + androidMessagesWebview.insertCSS( + ".main-nav-header .logo {text-align:center; transform: translateX(10px)}" + ); } }); // Forward event from main process to webview bridge -ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { - androidMessagesWebview.getWebContents().send(EVENT_UPDATE_USER_SETTING, settingsList); +ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { + androidMessagesWebview.send(EVENT_UPDATE_USER_SETTING, settingsList); }); diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css index eecf5119..e00301a5 100644 --- a/src/stylesheets/main.css +++ b/src/stylesheets/main.css @@ -14,47 +14,7 @@ body { color: #525252; } -a { - text-decoration: none; - color: #cb3837; -} - -#app { - width: 100vw; - height: 100vh; - text-align: center; -} - #androidMessagesWebview { width: 100%; height: 100%; } - -#loader { - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - width: 100vw; - height: 100vh; - background-color: #335ec9; - opacity: 1; - transition: opacity 0.4s 0.4s ease-in-out; -} - -#loader.hidden { - opacity: 0; - pointer-events: none; -} - -#titlebar { - -webkit-app-region: drag; - position: fixed; - width: 100%; - height: 64px; - top: 0; - left: 0; - background: none; - pointer-events: none; -} From 568098a234e0e859f4a805a518c49df7679287d7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 12:25:26 -0400 Subject: [PATCH 027/385] Cleaned up package.json a bit --- package.json | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index b77efb7c..95ee7909 100644 --- a/package.json +++ b/package.json @@ -3,15 +3,15 @@ "productName": "Android Messages", "description": "Messages for web, as a desktop app", "version": "3.1.0", - "author": "Chris Knepper ", - "copyright": "© 2018-2019 Chris Knepper", - "homepage": "https://github.com/chrisknepper/android-messages-desktop", + "author": "Kyle Rosenberg", + "copyright": "Who needs those", + "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", "repository": { "type": "git", - "url": "git+https://github.com/chrisknepper/android-messages-desktop.git" + "url": "git+https://github.com/OrangeDrangon/android-messages-desktop.git" }, "bugs": { - "url": "https://github.com/chrisknepper/android-messages-desktop/issues" + "url": "https://github.com/OrangeDrangon/android-messages-desktop/issues" }, "main": "app/background.js", "build": { @@ -70,17 +70,10 @@ } }, "scripts": { - "postinstall": "electron-builder install-app-deps", - "preunit": "webpack --config=build/webpack.unit.config.js --env=test --display=none", - "unit": "electron-mocha temp/specs.js --renderer --require source-map-support/register", - "pree2e": "webpack --config=build/webpack.app.config.js --env=test --display=none && webpack --config=build/webpack.e2e.config.js --env=test --display=none", - "e2e": "mocha temp/e2e.js --require source-map-support/register", - "test": "npm run unit && npm run e2e", - "start": "node build/start.js", - "release": "webpack --config=build/webpack.app.config.js --env=production && electron-builder -mwl", - "build": "webpack --config=build/webpack.app.config.js --env=production && electron-builder --publish never", - "build-all": "webpack --config=build/webpack.app.config.js --env=production && electron-builder -mwl --publish never", - "generate-icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i" + "start": "yarn build && electron ./app/background.js", + "dist": "yarn build && electron-builder", + "build": "webpack --config=build/webpack.app.config.js --env=production", + "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i" }, "dependencies": { "about-window": "1.13.4", From a7a466dad9fcca079952963009e772f25df9b6b7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 12:44:20 -0400 Subject: [PATCH 028/385] Added linting --- .eslintrc.js | 12 + .prettierrc.js | 4 + package.json | 10 +- src/constants/index.js | 92 ++--- src/helpers/dictionary_manager.js | 415 ++++++++++++---------- src/helpers/tray/tray_manager.js | 80 +++-- src/helpers/utilities.js | 23 +- src/helpers/webview/bridge.js | 237 +++++++------ src/helpers/webview/context_menu.js | 156 ++++---- src/helpers/webview/input_manager.js | 26 +- src/helpers/window.js | 10 +- src/menu/app_menu_template.js | 59 +-- src/menu/base_menu_template.js | 27 +- src/menu/dev_menu_template.js | 10 +- src/menu/edit_menu_template.js | 4 +- src/menu/file_menu_template.js | 26 +- src/menu/help_menu_template.js | 45 ++- src/menu/items/check_for_updates.js | 10 +- src/menu/items/separator.js | 2 +- src/menu/settings_menu_template.js | 145 ++++---- src/menu/tray_menu_template.js | 18 +- src/menu/view_menu_template.js | 16 +- src/menu/window_menu_template.js | 4 +- yarn.lock | 513 ++++++++++++++++++++++++++- 24 files changed, 1298 insertions(+), 646 deletions(-) create mode 100644 .eslintrc.js create mode 100644 .prettierrc.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..fcfd3738 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,12 @@ +module.exports = { + parser: "@typescript-eslint/parser", + extends: [ + "plugin:@typescript-eslint/recommended", + "prettier/@typescript-eslint", + "plugin:prettier/recommended", + ], + parserOptions: { + ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features + sourceType: "module", // Allows for the use of imports + }, +}; diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 00000000..ec006f55 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,4 @@ +module.exports = { + trailingComma: "es5", + arrowParens: "always", +}; diff --git a/package.json b/package.json index 95ee7909..a8e7e336 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,8 @@ "start": "yarn build && electron ./app/background.js", "dist": "yarn build && electron-builder", "build": "webpack --config=build/webpack.app.config.js --env=production", - "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i" + "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", + "lint": "eslint --fix src/**/*.js||ts" }, "dependencies": { "about-window": "1.13.4", @@ -85,6 +86,8 @@ "devDependencies": { "@babel/core": "7.10.2", "@babel/preset-env": "7.10.2", + "@typescript-eslint/eslint-plugin": "^3.1.0", + "@typescript-eslint/parser": "^3.1.0", "babel-loader": "8.1.0", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", "chai": "^4.1.0", @@ -93,13 +96,18 @@ "electron-builder": "22.7.0", "electron-mocha": "^8.2.2", "electron-notarize": "^0.3.0", + "eslint": "^7.1.0", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-prettier": "^3.1.3", "file-loader": "^6.0.0", "friendly-errors-webpack-plugin": "^1.6.1", "mocha": "^7.2.0", "png2icons": "^2.0.1", + "prettier": "^2.0.5", "source-map-support": "^0.5.19", "spectron": "^11.0.0", "style-loader": "^1.2.1", + "typescript": "^3.9.5", "webpack": "^4.43.0", "webpack-cli": "^3.3.11", "webpack-merge": "^4.1.0", diff --git a/src/constants/index.js b/src/constants/index.js index c3a48a66..cbc67527 100644 --- a/src/constants/index.js +++ b/src/constants/index.js @@ -1,63 +1,67 @@ -import env from 'env'; -import path from 'path'; -import { app } from 'electron'; +import env from "env"; +import path from "path"; +import { app } from "electron"; const osMap = { - win32: 'Windows', - darwin: 'macOS', - linux: 'Linux' + win32: "Windows", + darwin: "macOS", + linux: "Linux", }; // Operating system const osName = process.platform; const osNameFriendly = osMap[osName]; -const IS_WINDOWS = (osName === 'win32'); -const IS_MAC = (osName === 'darwin'); -const IS_LINUX = (osName === 'linux'); +const IS_WINDOWS = osName === "win32"; +const IS_MAC = osName === "darwin"; +const IS_LINUX = osName === "linux"; // Environment and paths -const IS_DEV = (env.name === 'development'); -const BASE_APP_PATH = IS_DEV ? path.join(__dirname, '..') : process.resourcesPath; -const RESOURCES_PATH = path.join(BASE_APP_PATH, 'resources'); -const USER_DATA_PATH = () => app.getPath('userData'); // This has to be a function call because app.ready callback must be fired before this path can be used -const SPELLING_DICTIONARIES_PATH = () => path.join(USER_DATA_PATH(), 'dictionaries'); -const SUPPORTED_LANGUAGES_PATH = () => path.join(SPELLING_DICTIONARIES_PATH(), 'supported-languages.json'); +const IS_DEV = env.name === "development"; +const BASE_APP_PATH = IS_DEV + ? path.join(__dirname, "..") + : process.resourcesPath; +const RESOURCES_PATH = path.join(BASE_APP_PATH, "resources"); +const USER_DATA_PATH = () => app.getPath("userData"); // This has to be a function call because app.ready callback must be fired before this path can be used +const SPELLING_DICTIONARIES_PATH = () => + path.join(USER_DATA_PATH(), "dictionaries"); +const SUPPORTED_LANGUAGES_PATH = () => + path.join(SPELLING_DICTIONARIES_PATH(), "supported-languages.json"); // Settings -const SETTING_TRAY_ENABLED = 'trayEnabledPref'; -const SETTING_TRAY_CLICK_SHORTCUT = 'trayClickShortcut'; -const SETTING_CUSTOM_WORDS = 'savedCustomDictionaryWords' +const SETTING_TRAY_ENABLED = "trayEnabledPref"; +const SETTING_TRAY_CLICK_SHORTCUT = "trayClickShortcut"; +const SETTING_CUSTOM_WORDS = "savedCustomDictionaryWords"; // Events -const EVENT_WEBVIEW_NOTIFICATION = 'messages-webview-notification'; -const EVENT_NOTIFICATION_REFLECT_READY = 'messages-webview-reflect-ready'; -const EVENT_BRIDGE_INIT = 'messages-bridge-init'; -const EVENT_SPELL_ADD_CUSTOM_WORD = 'messages-spelling-add-custom-word'; -const EVENT_SPELLING_REFLECT_READY = 'messages-spelling-reflect-ready'; -const EVENT_UPDATE_USER_SETTING = 'messages-update-user-setting'; +const EVENT_WEBVIEW_NOTIFICATION = "messages-webview-notification"; +const EVENT_NOTIFICATION_REFLECT_READY = "messages-webview-reflect-ready"; +const EVENT_BRIDGE_INIT = "messages-bridge-init"; +const EVENT_SPELL_ADD_CUSTOM_WORD = "messages-spelling-add-custom-word"; +const EVENT_SPELLING_REFLECT_READY = "messages-spelling-reflect-ready"; +const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; // Misc. const DICTIONARY_CACHE_TIME = 2592000000; // 30 days in milliseconds export { - osName, - osNameFriendly, - IS_WINDOWS, - IS_MAC, - IS_LINUX, - IS_DEV, - BASE_APP_PATH, - RESOURCES_PATH, - SPELLING_DICTIONARIES_PATH, - SUPPORTED_LANGUAGES_PATH, - SETTING_TRAY_ENABLED, - SETTING_TRAY_CLICK_SHORTCUT, - SETTING_CUSTOM_WORDS, - EVENT_WEBVIEW_NOTIFICATION, - EVENT_NOTIFICATION_REFLECT_READY, - EVENT_BRIDGE_INIT, - EVENT_SPELL_ADD_CUSTOM_WORD, - EVENT_SPELLING_REFLECT_READY, - EVENT_UPDATE_USER_SETTING, - DICTIONARY_CACHE_TIME + osName, + osNameFriendly, + IS_WINDOWS, + IS_MAC, + IS_LINUX, + IS_DEV, + BASE_APP_PATH, + RESOURCES_PATH, + SPELLING_DICTIONARIES_PATH, + SUPPORTED_LANGUAGES_PATH, + SETTING_TRAY_ENABLED, + SETTING_TRAY_CLICK_SHORTCUT, + SETTING_CUSTOM_WORDS, + EVENT_WEBVIEW_NOTIFICATION, + EVENT_NOTIFICATION_REFLECT_READY, + EVENT_BRIDGE_INIT, + EVENT_SPELL_ADD_CUSTOM_WORD, + EVENT_SPELLING_REFLECT_READY, + EVENT_UPDATE_USER_SETTING, + DICTIONARY_CACHE_TIME, }; diff --git a/src/helpers/dictionary_manager.js b/src/helpers/dictionary_manager.js index b1544927..3e8790e6 100644 --- a/src/helpers/dictionary_manager.js +++ b/src/helpers/dictionary_manager.js @@ -1,197 +1,242 @@ -import fs from 'fs'; -import https from 'https'; -import path from 'path'; -import { SPELLING_DICTIONARIES_PATH, SUPPORTED_LANGUAGES_PATH, DICTIONARY_CACHE_TIME } from '../constants'; -import { maybeGetValidJson, isObject } from './utilities'; +import fs from "fs"; +import https from "https"; +import path from "path"; +import { + SPELLING_DICTIONARIES_PATH, + SUPPORTED_LANGUAGES_PATH, + DICTIONARY_CACHE_TIME, +} from "../constants"; +import { maybeGetValidJson, isObject } from "./utilities"; // Use a known existing commit to dictionaries in case something bad happens to master -const DICTIONARIES_COMMIT_HASH = '2de863c'; +const DICTIONARIES_COMMIT_HASH = "2de863c"; export default class DictionaryManager { - - static isFileExpired(filePath) { - const fileInfo = fs.statSync(filePath); - const fileModifiedTime = parseInt(fileInfo.mtimeMs, 10); - const nowTime = new Date().getTime(); - const millisecondsSinceFileUpdated = Math.abs(nowTime - fileModifiedTime); - return millisecondsSinceFileUpdated >= DICTIONARY_CACHE_TIME; - } - - static async getSupportedLanguages() { - - return new Promise((resolve, reject) => { - if (!fs.existsSync(SPELLING_DICTIONARIES_PATH())) { - fs.mkdirSync(SPELLING_DICTIONARIES_PATH()); - } - - if (fs.existsSync(SUPPORTED_LANGUAGES_PATH())) { - if (!DictionaryManager.isFileExpired(SUPPORTED_LANGUAGES_PATH())) { - // Supported languages file has not reached max cache time yet (30 days), so try to use it - const jsonStringFromFile = fs.readFileSync(SUPPORTED_LANGUAGES_PATH()); - const supportedLanguagesJsonParsed = maybeGetValidJson(jsonStringFromFile); - if (isObject(supportedLanguagesJsonParsed) && Array.isArray(supportedLanguagesJsonParsed)) { - resolve(supportedLanguagesJsonParsed); - return; - } - } - - // If this point is reached, the file exists but isn't valid JSON, so this function will continue - // (and try to download it again) - } - - // Adapted from: https://stackoverflow.com/questions/35697058/download-and-store-files-inside-electron-app - - const requestOptions = { - host: 'api.github.com', - port: 443, - path: `/repos/wooorm/dictionaries/contents/dictionaries?ref=${DICTIONARIES_COMMIT_HASH}`, - method: 'GET', - headers: { - 'User-Agent': 'chrisknepper/android-messages-desktop' - } - }; - - https.get(requestOptions, (response) => { - if (response.statusCode === 200 || response.statusCode === 302) { - // Only create the local file if it exists on Github - let supportedLanguagesJsonFile = fs.createWriteStream(SUPPORTED_LANGUAGES_PATH()); - response.pipe(supportedLanguagesJsonFile); - - supportedLanguagesJsonFile.on('error', (err) => { - // something went wrong with the download and we may or may not have part of the file - // let's set it to empty since calling unlink is hit or miss for non-root Linux users - if (fs.existsSync((SUPPORTED_LANGUAGES_PATH()))) { - fs.writeFileSync((SUPPORTED_LANGUAGES_PATH()), ''); - } - reject(null); // File write error - return; - }); - supportedLanguagesJsonFile.on('finish', (finished) => { - const jsonStringFromFile = fs.readFileSync(SUPPORTED_LANGUAGES_PATH()); - const supportedLanguagesJsonParsed = maybeGetValidJson(jsonStringFromFile); - if (isObject(supportedLanguagesJsonParsed) && Array.isArray(supportedLanguagesJsonParsed)) { - resolve(supportedLanguagesJsonParsed); - } - }); - } else { - reject(null); - return; - } - }).on('error', (error) => { - reject(null); // Request for JSON failed (likely either Github down or API error) - }); - }); - } - - static doesLanguageExistForLocale(userLanguage, supportedLocales) { - if ((!userLanguage) || (!Array.isArray(supportedLocales))) { - return null; + static isFileExpired(filePath) { + const fileInfo = fs.statSync(filePath); + const fileModifiedTime = parseInt(fileInfo.mtimeMs, 10); + const nowTime = new Date().getTime(); + const millisecondsSinceFileUpdated = Math.abs(nowTime - fileModifiedTime); + return millisecondsSinceFileUpdated >= DICTIONARY_CACHE_TIME; + } + + static async getSupportedLanguages() { + return new Promise((resolve, reject) => { + if (!fs.existsSync(SPELLING_DICTIONARIES_PATH())) { + fs.mkdirSync(SPELLING_DICTIONARIES_PATH()); + } + + if (fs.existsSync(SUPPORTED_LANGUAGES_PATH())) { + if (!DictionaryManager.isFileExpired(SUPPORTED_LANGUAGES_PATH())) { + // Supported languages file has not reached max cache time yet (30 days), so try to use it + const jsonStringFromFile = fs.readFileSync( + SUPPORTED_LANGUAGES_PATH() + ); + const supportedLanguagesJsonParsed = maybeGetValidJson( + jsonStringFromFile + ); + if ( + isObject(supportedLanguagesJsonParsed) && + Array.isArray(supportedLanguagesJsonParsed) + ) { + resolve(supportedLanguagesJsonParsed); + return; + } } - /* - * It is possible for Electron to return a locale code for which there are multiple - * "close match" dictionaries but no exact match. For these special cases, we - * hardcode which dictionary should be used here. - */ - const specialLanguageCases = { - // For a system returning just generic "English", load the Queen's English because its spellings - // are more common anywhere outside of USA, where en-US should always be returned. - en: 'en-GB', - /* - * Electron returns "hy" for any dialect of Armenian but there are only dictionaries for Eastern - * Armenian and Western Armenian--no generic "Armenian." According to Wikipedia, Eastern Armenian - * is more widely spoken and acts as a superset of Western Armenian. Since there is no other - * reliable way to tell which dialect a user would prefer, we use Eastern Armenian because of the - * larger number of speakers of that language. - */ - hy: 'hy-arevela' - }; - - let downloadDictionaryKey = null; - - // Every locale code for which a dictionary exists, as an array - const listOfSupportedLanguages = supportedLocales.map((folder) => { - if (folder.type === 'dir') { - return folder.name - } - }); - if (listOfSupportedLanguages.includes(userLanguage)) { // language has an exact match and is supported - downloadDictionaryKey = userLanguage; - } else if (userLanguage in specialLanguageCases) { // language is a special case and is supported - downloadDictionaryKey = specialLanguageCases[userLanguage]; - } else { // language may be supported, we'll try to find the closest match available (i.e. another dialect of the same language) - const closestLanguageMatch = listOfSupportedLanguages.filter( - (language) => language.substr(0, 2) === userLanguage.substr(0, 2) + // If this point is reached, the file exists but isn't valid JSON, so this function will continue + // (and try to download it again) + } + + // Adapted from: https://stackoverflow.com/questions/35697058/download-and-store-files-inside-electron-app + + const requestOptions = { + host: "api.github.com", + port: 443, + path: `/repos/wooorm/dictionaries/contents/dictionaries?ref=${DICTIONARIES_COMMIT_HASH}`, + method: "GET", + headers: { + "User-Agent": "chrisknepper/android-messages-desktop", + }, + }; + + https + .get(requestOptions, (response) => { + if (response.statusCode === 200 || response.statusCode === 302) { + // Only create the local file if it exists on Github + let supportedLanguagesJsonFile = fs.createWriteStream( + SUPPORTED_LANGUAGES_PATH() ); - if (closestLanguageMatch.length) { - downloadDictionaryKey = closestLanguageMatch[0]; - } - // else, there are no dictionaries available...womp womp - } + response.pipe(supportedLanguagesJsonFile); + + supportedLanguagesJsonFile.on("error", (err) => { + // something went wrong with the download and we may or may not have part of the file + // let's set it to empty since calling unlink is hit or miss for non-root Linux users + if (fs.existsSync(SUPPORTED_LANGUAGES_PATH())) { + fs.writeFileSync(SUPPORTED_LANGUAGES_PATH(), ""); + } + reject(null); // File write error + return; + }); + supportedLanguagesJsonFile.on("finish", (finished) => { + const jsonStringFromFile = fs.readFileSync( + SUPPORTED_LANGUAGES_PATH() + ); + const supportedLanguagesJsonParsed = maybeGetValidJson( + jsonStringFromFile + ); + if ( + isObject(supportedLanguagesJsonParsed) && + Array.isArray(supportedLanguagesJsonParsed) + ) { + resolve(supportedLanguagesJsonParsed); + } + }); + } else { + reject(null); + return; + } + }) + .on("error", (error) => { + reject(null); // Request for JSON failed (likely either Github down or API error) + }); + }); + } - return downloadDictionaryKey; + static doesLanguageExistForLocale(userLanguage, supportedLocales) { + if (!userLanguage || !Array.isArray(supportedLocales)) { + return null; } - - static async getLanguagePath(userLanguage, localeKey) { - return new Promise((resolve, reject) => { - const localDictionaryFiles = { - userLanguageAffFile: path.join(SPELLING_DICTIONARIES_PATH(), `${userLanguage}.aff`), - userLanguageDicFile: path.join(SPELLING_DICTIONARIES_PATH(), `${userLanguage}.dic`) - }; - const languageDictFilesExist = fs.existsSync(localDictionaryFiles.userLanguageAffFile) && fs.existsSync(localDictionaryFiles.userLanguageDicFile); - const languageDictFilesTooOld = languageDictFilesExist && DictionaryManager.isFileExpired(localDictionaryFiles.userLanguageAffFile); // Only need to check one of the two - if (languageDictFilesExist && !languageDictFilesTooOld) { - resolve(localDictionaryFiles); - } else { - if (localeKey) { - // Try to download the dictionary files for a language - - const downloadState = { - affFile: false, - dicFile: false - }; - - const dictBaseUrl = `https://raw.githubusercontent.com/wooorm/dictionaries/${DICTIONARIES_COMMIT_HASH}/dictionaries/${localeKey}/index` - - - https.get(`${dictBaseUrl}.aff`, (response) => { - if (response.statusCode === 200 || response.statusCode === 302) { - let affFile = fs.createWriteStream(localDictionaryFiles.userLanguageAffFile); - response.pipe(affFile); - - affFile.on('error', (err) => { - reject(null); // File write error - }); - affFile.on('finish', (finished) => { - downloadState.affFile = true; - - (downloadState.affFile && downloadState.dicFile) && resolve(localDictionaryFiles); - }); - } - }).on('error', (error) => { - reject(null); // File download error (Github down or file doesn't exist) - }); - - https.get(`${dictBaseUrl}.dic`, (response) => { - if (response.statusCode === 200 || response.statusCode === 302) { - let dicFile = fs.createWriteStream(localDictionaryFiles.userLanguageDicFile); - response.pipe(dicFile); - - dicFile.on('error', (err) => { - reject(null); // File write error - }); - dicFile.on('finish', (finished) => { - downloadState.dicFile = true; - - (downloadState.affFile && downloadState.dicFile) && resolve(localDictionaryFiles); - }); - } - }).on('error', (error) => { - reject(null); // File download error (Github down or file doesn't exist) - }); - } - } - }); + /* + * It is possible for Electron to return a locale code for which there are multiple + * "close match" dictionaries but no exact match. For these special cases, we + * hardcode which dictionary should be used here. + */ + const specialLanguageCases = { + // For a system returning just generic "English", load the Queen's English because its spellings + // are more common anywhere outside of USA, where en-US should always be returned. + en: "en-GB", + /* + * Electron returns "hy" for any dialect of Armenian but there are only dictionaries for Eastern + * Armenian and Western Armenian--no generic "Armenian." According to Wikipedia, Eastern Armenian + * is more widely spoken and acts as a superset of Western Armenian. Since there is no other + * reliable way to tell which dialect a user would prefer, we use Eastern Armenian because of the + * larger number of speakers of that language. + */ + hy: "hy-arevela", + }; + + let downloadDictionaryKey = null; + + // Every locale code for which a dictionary exists, as an array + const listOfSupportedLanguages = supportedLocales.map((folder) => { + if (folder.type === "dir") { + return folder.name; + } + }); + + if (listOfSupportedLanguages.includes(userLanguage)) { + // language has an exact match and is supported + downloadDictionaryKey = userLanguage; + } else if (userLanguage in specialLanguageCases) { + // language is a special case and is supported + downloadDictionaryKey = specialLanguageCases[userLanguage]; + } else { + // language may be supported, we'll try to find the closest match available (i.e. another dialect of the same language) + const closestLanguageMatch = listOfSupportedLanguages.filter( + (language) => language.substr(0, 2) === userLanguage.substr(0, 2) + ); + if (closestLanguageMatch.length) { + downloadDictionaryKey = closestLanguageMatch[0]; + } + // else, there are no dictionaries available...womp womp } + return downloadDictionaryKey; + } + + static async getLanguagePath(userLanguage, localeKey) { + return new Promise((resolve, reject) => { + const localDictionaryFiles = { + userLanguageAffFile: path.join( + SPELLING_DICTIONARIES_PATH(), + `${userLanguage}.aff` + ), + userLanguageDicFile: path.join( + SPELLING_DICTIONARIES_PATH(), + `${userLanguage}.dic` + ), + }; + const languageDictFilesExist = + fs.existsSync(localDictionaryFiles.userLanguageAffFile) && + fs.existsSync(localDictionaryFiles.userLanguageDicFile); + const languageDictFilesTooOld = + languageDictFilesExist && + DictionaryManager.isFileExpired( + localDictionaryFiles.userLanguageAffFile + ); // Only need to check one of the two + if (languageDictFilesExist && !languageDictFilesTooOld) { + resolve(localDictionaryFiles); + } else { + if (localeKey) { + // Try to download the dictionary files for a language + + const downloadState = { + affFile: false, + dicFile: false, + }; + + const dictBaseUrl = `https://raw.githubusercontent.com/wooorm/dictionaries/${DICTIONARIES_COMMIT_HASH}/dictionaries/${localeKey}/index`; + + https + .get(`${dictBaseUrl}.aff`, (response) => { + if (response.statusCode === 200 || response.statusCode === 302) { + let affFile = fs.createWriteStream( + localDictionaryFiles.userLanguageAffFile + ); + response.pipe(affFile); + + affFile.on("error", (err) => { + reject(null); // File write error + }); + affFile.on("finish", (finished) => { + downloadState.affFile = true; + + downloadState.affFile && + downloadState.dicFile && + resolve(localDictionaryFiles); + }); + } + }) + .on("error", (error) => { + reject(null); // File download error (Github down or file doesn't exist) + }); + + https + .get(`${dictBaseUrl}.dic`, (response) => { + if (response.statusCode === 200 || response.statusCode === 302) { + let dicFile = fs.createWriteStream( + localDictionaryFiles.userLanguageDicFile + ); + response.pipe(dicFile); + + dicFile.on("error", (err) => { + reject(null); // File write error + }); + dicFile.on("finish", (finished) => { + downloadState.dicFile = true; + + downloadState.affFile && + downloadState.dicFile && + resolve(localDictionaryFiles); + }); + } + }) + .on("error", (error) => { + reject(null); // File download error (Github down or file doesn't exist) + }); + } + } + }); + } } diff --git a/src/helpers/tray/tray_manager.js b/src/helpers/tray/tray_manager.js index 725a01ee..c82297fd 100644 --- a/src/helpers/tray/tray_manager.js +++ b/src/helpers/tray/tray_manager.js @@ -1,8 +1,14 @@ -import path from 'path'; -import { app, Tray, Menu } from 'electron'; -import { trayMenuTemplate } from '../../menu/tray_menu_template'; -import { IS_MAC, IS_LINUX, IS_WINDOWS, SETTING_TRAY_ENABLED, SETTING_TRAY_CLICK_SHORTCUT } from '../../constants'; -import settings from 'electron-settings'; +import path from "path"; +import { app, Tray, Menu } from "electron"; +import { trayMenuTemplate } from "../../menu/tray_menu_template"; +import { + IS_MAC, + IS_LINUX, + IS_WINDOWS, + SETTING_TRAY_ENABLED, + SETTING_TRAY_CLICK_SHORTCUT, +} from "../../constants"; +import settings from "electron-settings"; // TODO: Make this static export default class TrayManager { @@ -10,14 +16,19 @@ export default class TrayManager { // Must declare reference to instance of Tray as a variable, not a const, or bad/weird things happen! this._tray = null; // Enable tray/menu bar icon by default except on Linux -- the system having a tray is less of a guarantee on Linux. - this._enabled = settings.get(SETTING_TRAY_ENABLED, (!IS_LINUX)); + this._enabled = settings.get(SETTING_TRAY_ENABLED, !IS_LINUX); this._iconPath = this.setTrayIconPath(); this._overlayIconPath = this.setOverlayIconPath(); this._overlayVisible = false; - this._clickShortcut = settings.get(SETTING_TRAY_CLICK_SHORTCUT, 'double-click'); + this._clickShortcut = settings.get( + SETTING_TRAY_CLICK_SHORTCUT, + "double-click" + ); this.handleTrayEnabledToggle = this.handleTrayEnabledToggle.bind(this); - this.handleTrayClickShortcutToggle = this.handleTrayClickShortcutToggle.bind(this); + this.handleTrayClickShortcutToggle = this.handleTrayClickShortcutToggle.bind( + this + ); } get tray() { @@ -62,20 +73,26 @@ export default class TrayManager { setTrayIconPath() { if (IS_WINDOWS) { - // Re-use regular app .ico for the tray icon on Windows. - return path.join(__dirname, '..', 'resources', 'icon.ico'); + // Re-use regular app .ico for the tray icon on Windows. + return path.join(__dirname, "..", "resources", "icon.ico"); } else { - // Mac tray icon filename MUST end in 'Template' and contain only black and transparent pixels. - // Otherwise, automatic inversion and dark mode appearance won't work. - // See: https://stackoverflow.com/questions/41664208/electron-tray-icon-change - const trayIconFileName = IS_MAC ? 'icon_macTemplate.png' : 'icon.png'; - return path.join(__dirname, '..', 'resources', 'tray', trayIconFileName); + // Mac tray icon filename MUST end in 'Template' and contain only black and transparent pixels. + // Otherwise, automatic inversion and dark mode appearance won't work. + // See: https://stackoverflow.com/questions/41664208/electron-tray-icon-change + const trayIconFileName = IS_MAC ? "icon_macTemplate.png" : "icon.png"; + return path.join(__dirname, "..", "resources", "tray", trayIconFileName); } } setOverlayIconPath() { if (IS_WINDOWS) { - return path.join(__dirname, '..', 'resources', 'tray', 'tray_with_badge.ico'); + return path.join( + __dirname, + "..", + "resources", + "tray", + "tray_with_badge.ico" + ); } return null; } @@ -97,13 +114,13 @@ export default class TrayManager { // This actually has no effect. Electron docs say that click event is ignored on Linux for // AppIndicator tray, but I can't find a way to not use AppIndicator for Linux tray. if (IS_LINUX) { - this.tray.on('click', this.handleTrayClick); + this.tray.on("click", this.handleTrayClick); } } destroyEventListeners() { - this.tray.removeListener('click', this.handleTrayClick); - this.tray.removeListener('double-click', this.handleTrayClick); + this.tray.removeListener("click", this.handleTrayClick); + this.tray.removeListener("double-click", this.handleTrayClick); } handleTrayClick(event) { @@ -120,21 +137,29 @@ export default class TrayManager { showMinimizeToTrayWarning() { if (IS_WINDOWS && this.enabled) { - const seenMinimizeToTrayWarning = settings.get('seenMinimizeToTrayWarningPref', false); + const seenMinimizeToTrayWarning = settings.get( + "seenMinimizeToTrayWarningPref", + false + ); if (!seenMinimizeToTrayWarning) { this.tray.displayBalloon({ - title: 'Android Messages', - content: 'Android Messages is still running in the background. To close it, use the File menu or right-click on the tray icon.' + title: "Android Messages", + content: + "Android Messages is still running in the background. To close it, use the File menu or right-click on the tray icon.", }); - settings.set('seenMinimizeToTrayWarningPref', true); + settings.set("seenMinimizeToTrayWarningPref", true); } } } handleTrayEnabledToggle(newValue, oldValue) { this.enabled = newValue; - let liveStartInTrayMenuItemRef = Menu.getApplicationMenu().getMenuItemById('startInTrayMenuItem'); - let livetrayClickShortcutMenuItemRef = Menu.getApplicationMenu().getMenuItemById('trayClickShortcutMenuItem'); + let liveStartInTrayMenuItemRef = Menu.getApplicationMenu().getMenuItemById( + "startInTrayMenuItem" + ); + let livetrayClickShortcutMenuItemRef = Menu.getApplicationMenu().getMenuItemById( + "trayClickShortcutMenuItem" + ); if (newValue) { if (!IS_MAC) { @@ -151,7 +176,7 @@ export default class TrayManager { if (!newValue) { if (this.tray) { this.destroy(); - if ((!IS_MAC) && app.mainWindow) { + if (!IS_MAC && app.mainWindow) { if (!app.mainWindow.isVisible()) { app.mainWindow.show(); } @@ -160,7 +185,7 @@ export default class TrayManager { if (!IS_MAC) { // If the app has no tray icon, it can be difficult or impossible to re-gain access to the window, so disallow // starting hidden, except on Mac, where the app window can still be un-hidden via the dock. - settings.set('startInTrayPref', false); + settings.set("startInTrayPref", false); liveStartInTrayMenuItemRef.enabled = false; liveStartInTrayMenuItemRef.checked = false; } @@ -192,5 +217,4 @@ export default class TrayManager { this.overlayVisible = toggle; } } - } diff --git a/src/helpers/utilities.js b/src/helpers/utilities.js index 9ebfabdf..1ee050af 100644 --- a/src/helpers/utilities.js +++ b/src/helpers/utilities.js @@ -1,20 +1,17 @@ function maybeGetValidJson(jsonText) { - if (jsonText === null || jsonText === false || jsonText === '') { - return false; - } + if (jsonText === null || jsonText === false || jsonText === "") { + return false; + } - try { - return JSON.parse(jsonText); - } catch { - return false; - } + try { + return JSON.parse(jsonText); + } catch { + return false; + } } function isObject(maybeObj) { - return typeof maybeObj === 'object'; + return typeof maybeObj === "object"; } -export { - maybeGetValidJson, - isObject -} +export { maybeGetValidJson, isObject }; diff --git a/src/helpers/webview/bridge.js b/src/helpers/webview/bridge.js index 6a5412ef..cf3d3a37 100644 --- a/src/helpers/webview/bridge.js +++ b/src/helpers/webview/bridge.js @@ -1,78 +1,107 @@ // This script is injected into the webview. -import { popupContextMenu } from './context_menu'; -import { EVENT_WEBVIEW_NOTIFICATION, EVENT_NOTIFICATION_REFLECT_READY, EVENT_BRIDGE_INIT, EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING } from '../../constants'; -import { isObject } from '../../helpers/utilities'; -import { ipcRenderer, remote } from 'electron'; -import InputManager from './input_manager'; -import fs from 'fs'; -import { SpellCheckerProvider, attachSpellCheckProvider } from 'electron-hunspell'; +import { popupContextMenu } from "./context_menu"; +import { + EVENT_WEBVIEW_NOTIFICATION, + EVENT_NOTIFICATION_REFLECT_READY, + EVENT_BRIDGE_INIT, + EVENT_SPELLING_REFLECT_READY, + EVENT_UPDATE_USER_SETTING, +} from "../../constants"; +import { isObject } from "../../helpers/utilities"; +import { ipcRenderer, remote } from "electron"; +import InputManager from "./input_manager"; +import fs from "fs"; +import { + SpellCheckerProvider, + attachSpellCheckProvider, +} from "electron-hunspell"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. -remote.getCurrentWebContents().addListener('context-menu', popupContextMenu); +remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); window.onload = () => { - // Conditionally let the main process know the page is (essentially) done loading. - // This should defer spellchecker downloading in a way that avoids blocking the page UI :D - - // Without observing the DOM, we don't have a reliable way to let the main process know once - // (and only once) that the main part of the app (not the QR code screen) has loaded, which is - // when we need to init the spellchecker - const onMutation = function (mutationsList, observer) { - if (document.querySelector('mw-main-nav')) { // we're definitely logged-in if this is in the DOM - ipcRenderer.send(EVENT_BRIDGE_INIT); - observer.disconnect(); - } - // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here - }; - - const observer = new MutationObserver(onMutation); - observer.observe(document.querySelector('body'), { childList: true, attributes: true }); -} + // Conditionally let the main process know the page is (essentially) done loading. + // This should defer spellchecker downloading in a way that avoids blocking the page UI :D + + // Without observing the DOM, we don't have a reliable way to let the main process know once + // (and only once) that the main part of the app (not the QR code screen) has loaded, which is + // when we need to init the spellchecker + const onMutation = function (mutationsList, observer) { + if (document.querySelector("mw-main-nav")) { + // we're definitely logged-in if this is in the DOM + ipcRenderer.send(EVENT_BRIDGE_INIT); + observer.disconnect(); + } + // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here + }; + + const observer = new MutationObserver(onMutation); + observer.observe(document.querySelector("body"), { + childList: true, + attributes: true, + }); +}; // The main process, once receiving EVENT_BRIDGE_INIT, determines whether the user's current language allows for spellchecking // and if so, (down)loads the necessary files, then sends an event to which the following listener responds and // loads the spellchecker, if needed. -ipcRenderer.once(EVENT_SPELLING_REFLECT_READY, async (event, { dictionaryLocaleKey, spellCheckFiles, customWords }) => { - if (dictionaryLocaleKey && spellCheckFiles && spellCheckFiles.userLanguageAffFile && spellCheckFiles.userLanguageDicFile) { - const provider = new SpellCheckerProvider(); - window.spellCheckHandler = provider; - await provider.initialize({}); // Empty brace correct, see: https://github.com/kwonoj/electron-hunspell/blob/master/example/browserWindow.ts - - await provider.loadDictionary( - dictionaryLocaleKey, - fs.readFileSync(spellCheckFiles.userLanguageDicFile), - fs.readFileSync(spellCheckFiles.userLanguageAffFile) - ); - - const attached = await attachSpellCheckProvider(provider); - attached.switchLanguage(dictionaryLocaleKey); - - let table = window.spellCheckHandler.spellCheckerTable; - if (dictionaryLocaleKey in customWords && table && dictionaryLocaleKey in table) { - for (let i = 0, n = customWords[dictionaryLocaleKey].length; i < n; i++) { - const word = customWords[dictionaryLocaleKey][i]; - table[dictionaryLocaleKey].spellChecker.addWord(word); - } +ipcRenderer.once( + EVENT_SPELLING_REFLECT_READY, + async (event, { dictionaryLocaleKey, spellCheckFiles, customWords }) => { + if ( + dictionaryLocaleKey && + spellCheckFiles && + spellCheckFiles.userLanguageAffFile && + spellCheckFiles.userLanguageDicFile + ) { + const provider = new SpellCheckerProvider(); + window.spellCheckHandler = provider; + await provider.initialize({}); // Empty brace correct, see: https://github.com/kwonoj/electron-hunspell/blob/master/example/browserWindow.ts + + await provider.loadDictionary( + dictionaryLocaleKey, + fs.readFileSync(spellCheckFiles.userLanguageDicFile), + fs.readFileSync(spellCheckFiles.userLanguageAffFile) + ); + + const attached = await attachSpellCheckProvider(provider); + attached.switchLanguage(dictionaryLocaleKey); + + let table = window.spellCheckHandler.spellCheckerTable; + if ( + dictionaryLocaleKey in customWords && + table && + dictionaryLocaleKey in table + ) { + for ( + let i = 0, n = customWords[dictionaryLocaleKey].length; + i < n; + i++ + ) { + const word = customWords[dictionaryLocaleKey][i]; + table[dictionaryLocaleKey].spellChecker.addWord(word); } + } } -}); + } +); ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { - if (isObject(settingsList)) { - if ('useDarkMode' in settingsList && settingsList.useDarkMode !== null) { - if (settingsList.useDarkMode) { - // Props to Google for making the web app use dark mode entirely based on this class - // and for making the class name semantic! - document.body.classList.add('dark-mode'); - } else { - document.body.classList.remove('dark-mode'); - } - } - if ('enterToSend' in settingsList) { - InputManager.handleEnterPrefToggle(settingsList.enterToSend); - } + if (isObject(settingsList)) { + if ("useDarkMode" in settingsList && settingsList.useDarkMode !== null) { + if (settingsList.useDarkMode) { + // Props to Google for making the web app use dark mode entirely based on this class + // and for making the class name semantic! + document.body.classList.add("dark-mode"); + } else { + document.body.classList.remove("dark-mode"); + } } + if ("enterToSend" in settingsList) { + InputManager.handleEnterPrefToggle(settingsList.enterToSend); + } + } }); const OriginalBrowserNotification = Notification; @@ -89,49 +118,57 @@ const OriginalBrowserNotification = Notification; * https://stackoverflow.com/questions/1421257/intercept-javascript-event */ Notification = function (title, options) { - let notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) - - /* - * Google's own notifications have a click event listener which takes care of highlighting - * the conversation a notification belongs to, but this click listener does not carry over - * when we block Google's and create our own Electron notification. - * - * What I would like to do here is just pass the listener function over IPC and call it in - * the main process. - * - * However, Electron does not support sending functions or otherwise non-JSON data across IPC. - * To solve this and be able to have both our click event listener (so we can show the app - * window) and Google's (so the converstaion gets selected/highlighted), when the main process - * asyncronously receives the notification data, it asyncronously sends a message back at which - * time we can reliably get a reference to the Electron notification and attach Google's click - * event listener. - */ - let originalClickListener = null; - - const originalAddEventListener = notificationToSend.addEventListener; - notificationToSend.addEventListener = function (type, listener, options) { - if (type === 'click') { - originalClickListener = listener; - } else { - // Let all other event listeners be called, though they shouldn't have any effect - // because the original notification is blocked in the renderer process. - originalAddEventListener.call(notificationToSend, type, listener, options); - } + let notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) + + /* + * Google's own notifications have a click event listener which takes care of highlighting + * the conversation a notification belongs to, but this click listener does not carry over + * when we block Google's and create our own Electron notification. + * + * What I would like to do here is just pass the listener function over IPC and call it in + * the main process. + * + * However, Electron does not support sending functions or otherwise non-JSON data across IPC. + * To solve this and be able to have both our click event listener (so we can show the app + * window) and Google's (so the converstaion gets selected/highlighted), when the main process + * asyncronously receives the notification data, it asyncronously sends a message back at which + * time we can reliably get a reference to the Electron notification and attach Google's click + * event listener. + */ + let originalClickListener = null; + + const originalAddEventListener = notificationToSend.addEventListener; + notificationToSend.addEventListener = function (type, listener, options) { + if (type === "click") { + originalClickListener = listener; + } else { + // Let all other event listeners be called, though they shouldn't have any effect + // because the original notification is blocked in the renderer process. + originalAddEventListener.call( + notificationToSend, + type, + listener, + options + ); } + }; + + ipcRenderer.once(EVENT_NOTIFICATION_REFLECT_READY, (event, arg) => { + let theHookedUpNotification = remote.getGlobal("currentNotification"); + if ( + typeof theHookedUpNotification === "object" && + typeof originalClickListener === "function" + ) { + theHookedUpNotification.once("click", originalClickListener); + } + }); - ipcRenderer.once(EVENT_NOTIFICATION_REFLECT_READY, (event, arg) => { - let theHookedUpNotification = remote.getGlobal('currentNotification'); - if (typeof theHookedUpNotification === 'object' && typeof originalClickListener === 'function') { - theHookedUpNotification.once('click', originalClickListener); - } - }); - - ipcRenderer.send(EVENT_WEBVIEW_NOTIFICATION, { - title, - options - }); + ipcRenderer.send(EVENT_WEBVIEW_NOTIFICATION, { + title, + options, + }); - return notificationToSend; + return notificationToSend; }; Notification.prototype = OriginalBrowserNotification.prototype; Notification.permission = OriginalBrowserNotification.permission; diff --git a/src/helpers/webview/context_menu.js b/src/helpers/webview/context_menu.js index c1c6aa0f..c5063909 100644 --- a/src/helpers/webview/context_menu.js +++ b/src/helpers/webview/context_menu.js @@ -1,106 +1,116 @@ // Provide context menus (copy, paste, save image, etc...) for right-click interaction. -import { ipcRenderer, remote } from 'electron'; -import { EVENT_SPELL_ADD_CUSTOM_WORD } from '../../constants'; +import { ipcRenderer, remote } from "electron"; +import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../../constants"; const { Menu } = remote; const standardMenuTemplate = [ { - label: 'Copy', - role: 'copy', + label: "Copy", + role: "copy", }, { - type: 'separator', + type: "separator", }, { - label: 'Select All', - role: 'selectall', - } + label: "Select All", + role: "selectall", + }, ]; const textMenuTemplate = [ { - label: 'Undo', - role: 'undo', + label: "Undo", + role: "undo", }, { - label: 'Redo', - role: 'redo', + label: "Redo", + role: "redo", }, { - type: 'separator', + type: "separator", }, { - label: 'Cut', - role: 'cut', + label: "Cut", + role: "cut", }, { - label: 'Copy', - role: 'copy', + label: "Copy", + role: "copy", }, { - label: 'Paste', - role: 'paste', + label: "Paste", + role: "paste", }, { - type: 'separator', + type: "separator", }, { - label: 'Select All', - role: 'selectall', - } + label: "Select All", + role: "selectall", + }, ]; const popupContextMenu = async (event, params) => { // As of Electron 4, Menu.popup no longer accepts being called with the signature popup(remote.getCurrentWindow()) // It must be passed as an object with the window key. Is this change silly? Yes. Will we know why it was done? No. const menuPopupArgs = { - window: remote.getCurrentWindow() + window: remote.getCurrentWindow(), }; switch (params.mediaType) { - case 'video': - case 'image': + case "video": + case "image": if (params.srcURL && params.srcURL.length) { - let mediaType = params.mediaType[0].toUpperCase() + params.mediaType.slice(1); - const mediaInputMenu = Menu.buildFromTemplate([{ - label: `Save ${mediaType} As...`, - click: () => { - // This call *would* do this in one line, but is only a thing in IE (???) - // document.execCommand('SaveAs', true, params.srcURL); - const link = document.createElement('a'); - link.href = params.srcURL; - /* - * Leaving the URL root results in the file extension being truncated. - * The resulting filename from this also appears to be consistent with - * saving the image via dragging or the Chrome context menu...winning! - * - * Since the URL change from messages.android.com, the URL root of the files - * is messages.google.com (note the lack of /web/ in the path) - */ - link.download = params.srcURL.replace('blob:https://messages.google.com/', ''); - // Trigger save dialog by clicking the "link" - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - } - }]); + let mediaType = + params.mediaType[0].toUpperCase() + params.mediaType.slice(1); + const mediaInputMenu = Menu.buildFromTemplate([ + { + label: `Save ${mediaType} As...`, + click: () => { + // This call *would* do this in one line, but is only a thing in IE (???) + // document.execCommand('SaveAs', true, params.srcURL); + const link = document.createElement("a"); + link.href = params.srcURL; + /* + * Leaving the URL root results in the file extension being truncated. + * The resulting filename from this also appears to be consistent with + * saving the image via dragging or the Chrome context menu...winning! + * + * Since the URL change from messages.android.com, the URL root of the files + * is messages.google.com (note the lack of /web/ in the path) + */ + link.download = params.srcURL.replace( + "blob:https://messages.google.com/", + "" + ); + // Trigger save dialog by clicking the "link" + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + }, + }, + ]); mediaInputMenu.popup({ window: remote.getCurrentWindow(), callback: () => { mediaInputMenu = null; // Unsure if memory would leak without this (Clean up, clean up, everybody do your share) - } + }, }); } break; default: if (params.isEditable) { const textMenuTemplateCopy = [...textMenuTemplate]; - if (window.spellCheckHandler && params.misspelledWord && typeof params.misspelledWord === 'string') { + if ( + window.spellCheckHandler && + params.misspelledWord && + typeof params.misspelledWord === "string" + ) { const booboo = params.selectionText; textMenuTemplateCopy.unshift({ - type: 'separator' + type: "separator", }); textMenuTemplateCopy.unshift({ label: `Add ${booboo} to Dictionary`, @@ -109,42 +119,48 @@ const popupContextMenu = async (event, params) => { event.sender.replaceMisspelling(booboo); // Add new custom word to dictionary for the current session const localeKey = await window.spellCheckHandler.getSelectedDictionaryLanguage(); - window.spellCheckHandler.spellCheckerTable[localeKey].spellChecker.addWord(booboo); + window.spellCheckHandler.spellCheckerTable[ + localeKey + ].spellChecker.addWord(booboo); // Send new custom word to main process so it will be added to the dictionary at the start of future sessions ipcRenderer.send(EVENT_SPELL_ADD_CUSTOM_WORD, { - newCustomWord: booboo + newCustomWord: booboo, }); - } + }, }); - const suggestions = await window.spellCheckHandler.getSuggestion(params.misspelledWord); + const suggestions = await window.spellCheckHandler.getSuggestion( + params.misspelledWord + ); if (suggestions && suggestions.length) { textMenuTemplateCopy.unshift({ - type: 'separator' + type: "separator", }); // Hunspell always seems to return the best choices at the end of the array, so reverse it, then limit to 8 suggestions - suggestions.reverse().slice(0, 8).map((correction) => { - let item = { - label: correction, - click: () => { - return event.sender.replaceMisspelling(correction); - } - }; + suggestions + .reverse() + .slice(0, 8) + .map((correction) => { + let item = { + label: correction, + click: () => { + return event.sender.replaceMisspelling(correction); + }, + }; - textMenuTemplateCopy.unshift(item); - }); + textMenuTemplateCopy.unshift(item); + }); } } const textInputMenu = Menu.buildFromTemplate(textMenuTemplateCopy); textInputMenu.popup(menuPopupArgs); - } else { // Omit options pertaining to input fields if this isn't one + } else { + // Omit options pertaining to input fields if this isn't one const standardInputMenu = Menu.buildFromTemplate(standardMenuTemplate); standardInputMenu.popup(menuPopupArgs); } } }; -export { - popupContextMenu -}; +export { popupContextMenu }; diff --git a/src/helpers/webview/input_manager.js b/src/helpers/webview/input_manager.js index f7c82e1c..da593370 100644 --- a/src/helpers/webview/input_manager.js +++ b/src/helpers/webview/input_manager.js @@ -1,25 +1,25 @@ // Things relating to changing the way user input affect the app page go here // We need to block all of these if we're disabling send on enter -const KEYBOARD_EVENTS = ['keyup', 'keypress', 'keydown']; +const KEYBOARD_EVENTS = ["keyup", "keypress", "keydown"]; // Effectively private methods // For whatever reason, this won't work if defined as a static method of InputManager const blockEnterKeyEvent = (event) => { - if (event.keyCode === 13) { - event.stopPropagation(); - } -} + if (event.keyCode === 13) { + event.stopPropagation(); + } +}; export default class InputManager { + static handleEnterPrefToggle(enabled) { + const addOrRemoveEventListener = enabled + ? window.removeEventListener + : window.addEventListener; - static handleEnterPrefToggle(enabled) { - const addOrRemoveEventListener = (enabled ? window.removeEventListener : window.addEventListener); - - for (let ev of KEYBOARD_EVENTS) { - addOrRemoveEventListener(ev, blockEnterKeyEvent, true); - } + for (let ev of KEYBOARD_EVENTS) { + addOrRemoveEventListener(ev, blockEnterKeyEvent, true); } - -}; + } +} diff --git a/src/helpers/window.js b/src/helpers/window.js index 8d9ce7c4..3f95473f 100644 --- a/src/helpers/window.js +++ b/src/helpers/window.js @@ -11,7 +11,7 @@ export default (name, options) => { const stateStoreFile = `window-state-${name}.json`; const defaultSize = { width: options.width, - height: options.height + height: options.height, }; let state = {}; let win; @@ -34,7 +34,7 @@ export default (name, options) => { x: position[0], y: position[1], width: size[0], - height: size[1] + height: size[1], }; }; @@ -51,12 +51,12 @@ export default (name, options) => { const bounds = screen.getPrimaryDisplay().bounds; return Object.assign({}, defaultSize, { x: (bounds.width - defaultSize.width) / 2, - y: (bounds.height - defaultSize.height) / 2 + y: (bounds.height - defaultSize.height) / 2, }); }; - const ensureVisibleOnSomeDisplay = windowState => { - const visible = screen.getAllDisplays().some(display => { + const ensureVisibleOnSomeDisplay = (windowState) => { + const visible = screen.getAllDisplays().some((display) => { return windowWithinBounds(windowState, display.bounds); }); if (!visible) { diff --git a/src/menu/app_menu_template.js b/src/menu/app_menu_template.js index 41939934..cfcbcf44 100644 --- a/src/menu/app_menu_template.js +++ b/src/menu/app_menu_template.js @@ -1,33 +1,34 @@ -import { app } from 'electron'; -import { aboutMenuItem } from './items/about'; -import { checkForUpdatesMenuItem } from './items/check_for_updates'; -import { settingsMenu } from './settings_menu_template'; +import { app } from "electron"; +import { aboutMenuItem } from "./items/about"; +import { checkForUpdatesMenuItem } from "./items/check_for_updates"; +import { settingsMenu } from "./settings_menu_template"; // This is the "Application" menu, which is only used on macOS export const appMenuTemplate = { - label: 'Android Messages', - submenu: [, - aboutMenuItem, - checkForUpdatesMenuItem, - { - type: 'separator' - }, - settingsMenu, - { - type: 'separator' - }, - { - label: 'Hide Android Messages Desktop', - accelerator: 'Command+H', - click: () => app.hide() - }, - { - type: 'separator', - }, - { - label: 'Quit', - accelerator: 'Command+Q', - click: () => app.quit(), - } - ] + label: "Android Messages", + submenu: [ + , + aboutMenuItem, + checkForUpdatesMenuItem, + { + type: "separator", + }, + settingsMenu, + { + type: "separator", + }, + { + label: "Hide Android Messages Desktop", + accelerator: "Command+H", + click: () => app.hide(), + }, + { + type: "separator", + }, + { + label: "Quit", + accelerator: "Command+Q", + click: () => app.quit(), + }, + ], }; diff --git a/src/menu/base_menu_template.js b/src/menu/base_menu_template.js index f712c7d2..ae981cbd 100644 --- a/src/menu/base_menu_template.js +++ b/src/menu/base_menu_template.js @@ -1,19 +1,22 @@ -import { appMenuTemplate } from './app_menu_template'; -import { fileMenuTemplate } from './file_menu_template'; -import { editMenuTemplate } from './edit_menu_template'; -import { settingsMenu } from './settings_menu_template'; -import { viewMenuTemplate } from './view_menu_template'; -import { windowMenuTemplate } from './window_menu_template'; -import { IS_MAC } from '../constants'; +import { appMenuTemplate } from "./app_menu_template"; +import { fileMenuTemplate } from "./file_menu_template"; +import { editMenuTemplate } from "./edit_menu_template"; +import { settingsMenu } from "./settings_menu_template"; +import { viewMenuTemplate } from "./view_menu_template"; +import { windowMenuTemplate } from "./window_menu_template"; +import { IS_MAC } from "../constants"; - -const baseMenuTemplate = [editMenuTemplate, viewMenuTemplate, windowMenuTemplate]; +const baseMenuTemplate = [ + editMenuTemplate, + viewMenuTemplate, + windowMenuTemplate, +]; if (IS_MAC) { - baseMenuTemplate.unshift(appMenuTemplate); + baseMenuTemplate.unshift(appMenuTemplate); } else { - baseMenuTemplate.unshift(fileMenuTemplate); - baseMenuTemplate.push(settingsMenu); + baseMenuTemplate.unshift(fileMenuTemplate); + baseMenuTemplate.push(settingsMenu); } export { baseMenuTemplate }; diff --git a/src/menu/dev_menu_template.js b/src/menu/dev_menu_template.js index 1bc1b755..0e490af3 100644 --- a/src/menu/dev_menu_template.js +++ b/src/menu/dev_menu_template.js @@ -8,21 +8,21 @@ export const devMenuTemplate = { accelerator: "CmdOrCtrl+R", click: () => { BrowserWindow.getFocusedWindow().webContents.reloadIgnoringCache(); - } + }, }, { label: "Toggle DevTools", accelerator: "Alt+CmdOrCtrl+I", click: () => { BrowserWindow.getFocusedWindow().toggleDevTools(); - } + }, }, { label: "Quit", accelerator: "CmdOrCtrl+Q", click: () => { app.quit(); - } - } - ] + }, + }, + ], }; diff --git a/src/menu/edit_menu_template.js b/src/menu/edit_menu_template.js index 5a5e1f5e..7f821c28 100644 --- a/src/menu/edit_menu_template.js +++ b/src/menu/edit_menu_template.js @@ -7,6 +7,6 @@ export const editMenuTemplate = { { label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" }, { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" }, { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" }, - { label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" } - ] + { label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" }, + ], }; diff --git a/src/menu/file_menu_template.js b/src/menu/file_menu_template.js index 10d72678..d6655d7d 100644 --- a/src/menu/file_menu_template.js +++ b/src/menu/file_menu_template.js @@ -1,19 +1,21 @@ -import { app } from 'electron'; -import { IS_WINDOWS } from '../constants'; -import { checkForUpdatesMenuItem } from './items/check_for_updates'; -import { separator } from './items/separator'; +import { app } from "electron"; +import { IS_WINDOWS } from "../constants"; +import { checkForUpdatesMenuItem } from "./items/check_for_updates"; +import { separator } from "./items/separator"; -const submenu = [{ - label: 'Quit Android Messages', - click: () => app.quit() -}]; +const submenu = [ + { + label: "Quit Android Messages", + click: () => app.quit(), + }, +]; if (!IS_WINDOWS) { - submenu.unshift(separator); - submenu.unshift(checkForUpdatesMenuItem); + submenu.unshift(separator); + submenu.unshift(checkForUpdatesMenuItem); } export const fileMenuTemplate = { - label: 'File', - submenu + label: "File", + submenu, }; diff --git a/src/menu/help_menu_template.js b/src/menu/help_menu_template.js index 82c87bb6..6927bc90 100644 --- a/src/menu/help_menu_template.js +++ b/src/menu/help_menu_template.js @@ -1,30 +1,37 @@ -import { shell } from 'electron'; -import { IS_MAC, IS_WINDOWS } from '../constants'; -import { aboutMenuItem } from './items/about'; -import { checkForUpdatesMenuItem } from './items/check_for_updates'; -import { separator } from './items/separator'; +import { shell } from "electron"; +import { IS_MAC, IS_WINDOWS } from "../constants"; +import { aboutMenuItem } from "./items/about"; +import { checkForUpdatesMenuItem } from "./items/check_for_updates"; +import { separator } from "./items/separator"; -const submenu = [{ - label: 'Learn More', - click: () => shell.openExternal('https://github.com/chrisknepper/android-messages-desktop/') -}, -{ - label: 'Changelog', - click: () => shell.openExternal('https://github.com/chrisknepper/android-messages-desktop/blob/master/CHANGELOG.md') -} +const submenu = [ + { + label: "Learn More", + click: () => + shell.openExternal( + "https://github.com/chrisknepper/android-messages-desktop/" + ), + }, + { + label: "Changelog", + click: () => + shell.openExternal( + "https://github.com/chrisknepper/android-messages-desktop/blob/master/CHANGELOG.md" + ), + }, ]; if (IS_WINDOWS) { - submenu.push(separator); - submenu.push(checkForUpdatesMenuItem); + submenu.push(separator); + submenu.push(checkForUpdatesMenuItem); } if (!IS_MAC) { - submenu.push(separator); - submenu.push(aboutMenuItem); + submenu.push(separator); + submenu.push(aboutMenuItem); } export const helpMenuTemplate = { - label: 'Help', - submenu + label: "Help", + submenu, }; diff --git a/src/menu/items/check_for_updates.js b/src/menu/items/check_for_updates.js index 1fef1472..f85c2e4d 100644 --- a/src/menu/items/check_for_updates.js +++ b/src/menu/items/check_for_updates.js @@ -1,8 +1,8 @@ -import { autoUpdater } from 'electron-updater'; +import { autoUpdater } from "electron-updater"; export const checkForUpdatesMenuItem = { - label: 'Check for Updates', - click: () => { - autoUpdater.checkForUpdatesAndNotify(); - } + label: "Check for Updates", + click: () => { + autoUpdater.checkForUpdatesAndNotify(); + }, }; diff --git a/src/menu/items/separator.js b/src/menu/items/separator.js index bf7f039a..6c4df860 100644 --- a/src/menu/items/separator.js +++ b/src/menu/items/separator.js @@ -1 +1 @@ -export const separator = { type: 'separator' }; +export const separator = { type: "separator" }; diff --git a/src/menu/settings_menu_template.js b/src/menu/settings_menu_template.js index 1c99d469..3a649cdd 100644 --- a/src/menu/settings_menu_template.js +++ b/src/menu/settings_menu_template.js @@ -1,38 +1,45 @@ -import { dialog } from 'electron'; +import { dialog } from "electron"; import settings from "electron-settings"; -import { separator } from './items/separator'; -import { IS_LINUX, IS_MAC, IS_WINDOWS, SETTING_TRAY_ENABLED, SETTING_TRAY_CLICK_SHORTCUT } from '../constants'; +import { separator } from "./items/separator"; +import { + IS_LINUX, + IS_MAC, + IS_WINDOWS, + SETTING_TRAY_ENABLED, + SETTING_TRAY_CLICK_SHORTCUT, +} from "../constants"; export const settingsMenu = { - label: IS_MAC ? 'Preferences' : 'Settings', + label: IS_MAC ? "Preferences" : "Settings", submenu: [ { // This option doesn't apply to Mac, so this hides it but keeps the order of menu items // to make updating based on array indices easier. - visible: (!IS_MAC), - id: 'autoHideMenuBarMenuItem', - label: 'Auto Hide Menu Bar', - type: 'checkbox', + visible: !IS_MAC, + id: "autoHideMenuBarMenuItem", + label: "Auto Hide Menu Bar", + type: "checkbox", click: (item, window) => { - const autoHideMenuPref = !settings.get('autoHideMenuPref'); - settings.set('autoHideMenuPref', autoHideMenuPref); + const autoHideMenuPref = !settings.get("autoHideMenuPref"); + settings.set("autoHideMenuPref", autoHideMenuPref); item.checked = autoHideMenuPref; window.setAutoHideMenuBar(autoHideMenuPref); - } + }, }, { - id: 'enableTrayIconMenuItem', - label: IS_MAC ? 'Enable Menu Bar Icon' : 'Enable Tray Icon', - type: 'checkbox', + id: "enableTrayIconMenuItem", + label: IS_MAC ? "Enable Menu Bar Icon" : "Enable Tray Icon", + type: "checkbox", click: (item) => { const trayEnabledPref = !settings.get(SETTING_TRAY_ENABLED); let confirmClose = true; if (IS_LINUX && !trayEnabledPref) { let dialogAnswer = dialog.showMessageBox({ - type: 'question', - buttons: ['Restart', 'Cancel'], - title: 'App Restart Required', - message: 'Changing this setting requires Android Messages to be restarted.\n\nUnsent text messages may be deleted. Click Restart to apply this setting change and restart Android Messages.' + type: "question", + buttons: ["Restart", "Cancel"], + title: "App Restart Required", + message: + "Changing this setting requires Android Messages to be restarted.\n\nUnsent text messages may be deleted. Click Restart to apply this setting change and restart Android Messages.", }); if (dialogAnswer === 1) { confirmClose = false; @@ -44,85 +51,83 @@ export const settingsMenu = { settings.set(SETTING_TRAY_ENABLED, trayEnabledPref); item.checked = trayEnabledPref; } - } + }, }, { - id: 'startInTrayMenuItem', - label: IS_MAC ? 'Start Hidden' : 'Start In Tray', - type: 'checkbox', + id: "startInTrayMenuItem", + label: IS_MAC ? "Start Hidden" : "Start In Tray", + type: "checkbox", click: (item) => { - const startInTrayPref = !settings.get('startInTrayPref'); - settings.set('startInTrayPref', startInTrayPref); + const startInTrayPref = !settings.get("startInTrayPref"); + settings.set("startInTrayPref", startInTrayPref); item.checked = startInTrayPref; - } - } - ] + }, + }, + ], }; // Electron doesn't seem to support the visible property for submenus, so push it instead of hiding it in non-Windows // See: https://github.com/electron/electron/issues/8703 if (IS_WINDOWS) { - settingsMenu.submenu.push( - { - id: 'trayClickShortcutMenuItem', - label: 'Open from Tray On...', - submenu: [ - { - label: 'Double-click', - type: 'radio', - click: (item) => { - settings.set(SETTING_TRAY_CLICK_SHORTCUT, 'double-click'); - item.checked = true; - } + settingsMenu.submenu.push({ + id: "trayClickShortcutMenuItem", + label: "Open from Tray On...", + submenu: [ + { + label: "Double-click", + type: "radio", + click: (item) => { + settings.set(SETTING_TRAY_CLICK_SHORTCUT, "double-click"); + item.checked = true; }, - { - label: 'Single-click', - type: 'radio', - click: (item) => { - settings.set(SETTING_TRAY_CLICK_SHORTCUT, 'click'); - item.checked = true; - } - } - ] - } - ); + }, + { + label: "Single-click", + type: "radio", + click: (item) => { + settings.set(SETTING_TRAY_CLICK_SHORTCUT, "click"); + item.checked = true; + }, + }, + ], + }); } settingsMenu.submenu.push( separator, { - id: 'notificationSoundEnabledMenuItem', - label: 'Play Notification Sound', - type: 'checkbox', + id: "notificationSoundEnabledMenuItem", + label: "Play Notification Sound", + type: "checkbox", click: (item) => { - settings.set('notificationSoundEnabledPref', item.checked); - } + settings.set("notificationSoundEnabledPref", item.checked); + }, }, separator, { - id: 'pressEnterToSendMenuItem', - label: 'Press Enter to Send Message', - type: 'checkbox', + id: "pressEnterToSendMenuItem", + label: "Press Enter to Send Message", + type: "checkbox", click: (item) => { - settings.set('pressEnterToSendPref', item.checked); - } + settings.set("pressEnterToSendPref", item.checked); + }, }, separator, { - id: 'hideNotificationContentMenuItem', - label: 'Hide Notification Content', - type: 'checkbox', + id: "hideNotificationContentMenuItem", + label: "Hide Notification Content", + type: "checkbox", click: (item) => { - settings.set('hideNotificationContentPref', item.checked); - } + settings.set("hideNotificationContentPref", item.checked); + }, }, separator, { - id: 'useSystemDarkModeMenuItem', - label: 'Use System Dark Mode Setting', - type: 'checkbox', + id: "useSystemDarkModeMenuItem", + label: "Use System Dark Mode Setting", + type: "checkbox", click: (item) => { - settings.set('useSystemDarkModePref', item.checked); - } + settings.set("useSystemDarkModePref", item.checked); + }, } ); diff --git a/src/menu/tray_menu_template.js b/src/menu/tray_menu_template.js index 5a96c5bd..1ae6c5eb 100644 --- a/src/menu/tray_menu_template.js +++ b/src/menu/tray_menu_template.js @@ -1,9 +1,9 @@ -import { app } from 'electron'; -import { IS_MAC } from '../constants'; +import { app } from "electron"; +import { IS_MAC } from "../constants"; export const trayMenuTemplate = [ { - label: 'Show/Hide Android Messages', + label: "Show/Hide Android Messages", click: () => { if (app.mainWindow) { if (app.mainWindow.isVisible()) { @@ -16,15 +16,15 @@ export const trayMenuTemplate = [ app.mainWindow.show(); } } - } + }, }, { - type: 'separator' + type: "separator", }, { - label: 'Quit Android Messages', + label: "Quit Android Messages", click: () => { - app.quit(); - } - } + app.quit(); + }, + }, ]; diff --git a/src/menu/view_menu_template.js b/src/menu/view_menu_template.js index e7a82c7e..76037684 100644 --- a/src/menu/view_menu_template.js +++ b/src/menu/view_menu_template.js @@ -5,28 +5,28 @@ export const viewMenuTemplate = { role: "toggleFullScreen", }, { - role: "reload" + role: "reload", }, { - type: 'separator' + type: "separator", }, { - role: "resetZoom" + role: "resetZoom", }, // Having two items to get the zoom-in functionality is necessary due to a bug in Electron // Without doing this, either the keyboard shortcut is displayed wrong, or zooming in doesn't work // See: https://github.com/electron/electron/issues/15496 { - role: "zoomIn" + role: "zoomIn", }, { - role: 'zoomin', - accelerator: 'CommandOrControl+=', + role: "zoomin", + accelerator: "CommandOrControl+=", visible: false, enabled: true, }, { - role: "zoomOut" + role: "zoomOut", }, - ] + ], }; diff --git a/src/menu/window_menu_template.js b/src/menu/window_menu_template.js index 96e99cca..5ca03a77 100644 --- a/src/menu/window_menu_template.js +++ b/src/menu/window_menu_template.js @@ -1,4 +1,4 @@ export const windowMenuTemplate = { - label: 'Window', - role: 'windowMenu' + label: "Window", + role: "windowMenu", }; diff --git a/yarn.lock b/yarn.lock index 748158d0..17de8ca9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,7 +7,7 @@ resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== -"@babel/code-frame@^7.10.1": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.1.tgz#d5481c5095daa1c57e16e54c6f9198443afb49ff" integrity sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw== @@ -840,6 +840,11 @@ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + "@types/fs-extra@^9.0.1": version "9.0.1" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918" @@ -847,7 +852,7 @@ dependencies: "@types/node" "*" -"@types/json-schema@^7.0.4": +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": version "7.0.4" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== @@ -895,6 +900,50 @@ dependencies: "@types/node" "*" +"@typescript-eslint/eslint-plugin@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.1.0.tgz#4ac00ecca3bbea740c577f1843bc54fa69c3def2" + integrity sha512-D52KwdgkjYc+fmTZKW7CZpH5ZBJREJKZXRrveMiRCmlzZ+Rw9wRVJ1JAmHQ9b/+Ehy1ZeaylofDB9wwXUt83wg== + dependencies: + "@typescript-eslint/experimental-utils" "3.1.0" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.1.0.tgz#2d5dba7c2ac2a3da3bfa3f461ff64de38587a872" + integrity sha512-Zf8JVC2K1svqPIk1CB/ehCiWPaERJBBokbMfNTNRczCbQSlQXaXtO/7OfYz9wZaecNvdSvVADt6/XQuIxhC79w== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "3.1.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.1.0.tgz#9c02ba5d88ad2355672f39e6cd4176f172dd47f8" + integrity sha512-NcDSJK8qTA2tPfyGiPes9HtVKLbksmuYjlgGAUs7Ld2K0swdWibnCq9IJx9kJN8JJdgUJSorFiGaPHBgH81F/Q== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "3.1.0" + "@typescript-eslint/typescript-estree" "3.1.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.1.0.tgz#eaff52d31e615e05b894f8b9d2c3d8af152a5dd2" + integrity sha512-+4nfYauqeQvK55PgFrmBWFVYb6IskLyOosYEmhH3mSVhfBp9AIJnjExdgDmKWoOBHRcPM8Ihfm2BFpZf0euUZQ== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -1055,11 +1104,21 @@ about-window@1.13.4: resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.13.4.tgz#cedfd0153c4b8b54832acae6dae695e06f27f4b4" integrity sha512-Ge7qBRzrmPbVJ2YarUfTrZEaSfhRjeVyFhmH9NqdNDjjgP0dcWwUprH61JWlDgcM3KaDn5zUzimG4YQh6vRocw== +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== + acorn@^6.4.1: version "6.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== +acorn@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" + integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1070,7 +1129,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.5.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.5.5: version "6.12.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== @@ -1102,6 +1161,13 @@ ansi-escapes@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -1288,6 +1354,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -1726,6 +1797,11 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -1794,6 +1870,11 @@ chardet@^0.4.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + check-error@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" @@ -1900,6 +1981,13 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-width@^2.0.0: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" @@ -2148,6 +2236,15 @@ cross-spawn@6.0.5, cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -2242,7 +2339,7 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^4.1.0, debug@^4.1.1: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -2285,6 +2382,11 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + deepmerge@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.1.tgz#25c1c24f110fb914f80001b925264dd77f3f4312" @@ -2378,6 +2480,13 @@ dmg-builder@22.7.0: js-yaml "^3.14.0" sanitize-filename "^1.6.3" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" @@ -2684,6 +2793,20 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +eslint-config-prettier@^6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" + integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA== + dependencies: + get-stdin "^6.0.0" + +eslint-plugin-prettier@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca" + integrity sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -2692,11 +2815,89 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd" + integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa" + integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ== + +eslint@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.1.0.tgz#d9a1df25e5b7859b0a3d86bb05f0940ab676a851" + integrity sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + eslint-visitor-keys "^1.1.0" + espree "^7.0.0" + esquery "^1.2.0" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.14" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c" + integrity sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw== + dependencies: + acorn "^7.2.0" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.2.0" + esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esquery@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== + dependencies: + estraverse "^5.1.0" + esrecurse@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" @@ -2709,6 +2910,11 @@ estraverse@^4.1.0, estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -2789,6 +2995,15 @@ external-editor@^2.0.4: iconv-lite "^0.4.17" tmp "^0.0.33" +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2839,11 +3054,21 @@ fast-deep-equal@^3.1.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -2863,6 +3088,20 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + file-loader@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f" @@ -2941,6 +3180,15 @@ findup-sync@3.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + flat@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" @@ -2948,6 +3196,11 @@ flat@^4.1.0: dependencies: is-buffer "~2.0.3" +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -3064,6 +3317,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + gaze@~1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" @@ -3086,6 +3344,11 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -3127,7 +3390,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== @@ -3146,7 +3409,7 @@ glob@7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -3229,6 +3492,13 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + globalthis@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9" @@ -3437,7 +3707,7 @@ hunspell-asm@^4.0.2: emscripten-wasm-loader "^3.0.3" nanoid "^2.1.5" -iconv-lite@^0.4.17: +iconv-lite@^0.4.17, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -3468,6 +3738,19 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +import-fresh@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" @@ -3524,6 +3807,25 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +inquirer@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" + integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== + dependencies: + ansi-escapes "^4.2.1" + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + inquirer@~3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" @@ -3873,6 +4175,11 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -3987,6 +4294,14 @@ levenary@^1.1.1: dependencies: leven "^3.1.0" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -4207,7 +4522,7 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -mimic-fn@^2.0.0: +mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -4337,6 +4652,11 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + nan@^2.12.1: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" @@ -4364,6 +4684,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + neo-async@^2.5.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" @@ -4538,6 +4863,13 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + optimist@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" @@ -4546,6 +4878,18 @@ optimist@~0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -4654,6 +4998,13 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.5" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" @@ -4706,6 +5057,11 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -4832,11 +5188,28 @@ postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0. source-map "^0.6.1" supports-color "^6.1.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" + integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== + private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -4852,7 +5225,7 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -progress@^2.0.3: +progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -5075,6 +5448,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + regexpu-core@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" @@ -5184,6 +5562,11 @@ resolve-from@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -5211,6 +5594,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -5221,6 +5612,13 @@ rgb2hex@^0.1.9: resolved "https://registry.yarnpkg.com/rgb2hex/-/rgb2hex-0.1.10.tgz#4fdd432665273e2d5900434940ceba0a04c8a8a8" integrity sha512-vKz+kzolWbL3rke/xeTE2+6vHmZnNxGyDnaVW4OckntAIcc7DcZzWkQSfxMDwqHS8vhgySnIFyBUH7lIk6PxvQ== +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -5248,7 +5646,7 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" -run-async@^2.2.0: +run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== @@ -5272,6 +5670,13 @@ rx-lite@*, rx-lite@^4.0.8: resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= +rxjs@^6.5.3: + version "6.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -5351,7 +5756,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.3, semver@^7.3.2: +semver@^7.1.3, semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -5405,16 +5810,37 @@ shebang-command@^1.2.0: dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -5730,6 +6156,11 @@ strip-json-comments@2.0.1, strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-json-comments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" + integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== + style-loader@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" @@ -5785,6 +6216,16 @@ supports-color@~5.0.0: dependencies: has-flag "^2.0.0" +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -5840,6 +6281,11 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -5934,11 +6380,18 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -tslib@^1.7.1, tslib@^1.9.0: +tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tsutils@^3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + dependencies: + tslib "^1.8.1" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -5961,11 +6414,23 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + type-fest@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" @@ -5988,6 +6453,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@^3.9.5: + version "3.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" + integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -6162,6 +6632,11 @@ v8-compile-cache@2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -6318,7 +6793,7 @@ which@1.3.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -which@^2.0.2: +which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -6339,6 +6814,11 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" @@ -6384,6 +6864,13 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" From 387676602ba06cb50d310300b2d9b794dfb74990 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 12:46:07 -0400 Subject: [PATCH 029/385] Fixed some more formatting --- build/start.js | 1 + build/webpack.app.config.js | 9 +++++---- build/webpack.base.config.js | 37 ++++++++++++++++++------------------ build/webpack.e2e.config.js | 7 ++++--- build/webpack.unit.config.js | 7 ++++--- 5 files changed, 33 insertions(+), 28 deletions(-) diff --git a/build/start.js b/build/start.js index 38bfc161..0fd2f725 100644 --- a/build/start.js +++ b/build/start.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const childProcess = require("child_process"); const electron = require("electron"); const webpack = require("webpack"); diff --git a/build/webpack.app.config.js b/build/webpack.app.config.js index 976e3008..a81ec95e 100644 --- a/build/webpack.app.config.js +++ b/build/webpack.app.config.js @@ -1,17 +1,18 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require("path"); const merge = require("webpack-merge"); const base = require("./webpack.base.config"); -module.exports = env => { +module.exports = (env) => { return merge(base(env), { entry: { background: "./src/background.js", app: "./src/app.js", - bridge: "./src/helpers/webview/bridge.js" + bridge: "./src/helpers/webview/bridge.js", }, output: { filename: "[name].js", - path: path.resolve(__dirname, "../app") - } + path: path.resolve(__dirname, "../app"), + }, }); }; diff --git a/build/webpack.base.config.js b/build/webpack.base.config.js index 0577922b..6b1e622d 100644 --- a/build/webpack.base.config.js +++ b/build/webpack.base.config.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const path = require("path"); const nodeExternals = require("webpack-node-externals"); const FriendlyErrorsWebpackPlugin = require("friendly-errors-webpack-plugin"); @@ -9,19 +10,19 @@ const translateEnvToMode = (env) => { return "development"; }; -module.exports = env => { +module.exports = (env) => { return { target: "electron-renderer", mode: translateEnvToMode(env), node: { __dirname: false, - __filename: false + __filename: false, }, externals: [nodeExternals()], resolve: { alias: { - env: path.resolve(__dirname, `../config/env_${env}.json`) - } + env: path.resolve(__dirname, `../config/env_${env}.json`), + }, }, devtool: "source-map", module: { @@ -29,34 +30,34 @@ module.exports = env => { { test: /\.js$/, exclude: /node_modules/, - use: ["babel-loader"] + use: ["babel-loader"], }, { test: /\.css$/, - use: ["style-loader", "css-loader"] + use: ["style-loader", "css-loader"], }, { test: /\.(png|jpg|gif)$/, use: [ { - loader: 'file-loader', + loader: "file-loader", options: { useRelativePath: process.env.NODE_ENV !== "production", emitFile: false, - name (file) { + name(file) { if (process.env.NODE_ENV !== "production") { - return '[name].[ext]' + return "[name].[ext]"; } - return '[name].[ext]' - } - } - } - ] - } - ] + return "[name].[ext]"; + }, + }, + }, + ], + }, + ], }, plugins: [ - new FriendlyErrorsWebpackPlugin({ clearConsole: env === "development" }) - ] + new FriendlyErrorsWebpackPlugin({ clearConsole: env === "development" }), + ], }; }; diff --git a/build/webpack.e2e.config.js b/build/webpack.e2e.config.js index 95ec3055..432e5471 100644 --- a/build/webpack.e2e.config.js +++ b/build/webpack.e2e.config.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const merge = require("webpack-merge"); const jetpack = require("fs-jetpack"); const base = require("./webpack.base.config"); @@ -18,12 +19,12 @@ const entryFileContent = e2eDir jetpack.write(entryFilePath, entryFileContent); -module.exports = env => { +module.exports = (env) => { return merge(base(env), { entry: entryFilePath, output: { filename: "e2e.js", - path: tempDir.path() - } + path: tempDir.path(), + }, }); }; diff --git a/build/webpack.unit.config.js b/build/webpack.unit.config.js index c34a5a80..47c00dbd 100644 --- a/build/webpack.unit.config.js +++ b/build/webpack.unit.config.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const merge = require("webpack-merge"); const jetpack = require("fs-jetpack"); const base = require("./webpack.base.config"); @@ -18,12 +19,12 @@ const entryFileContent = srcDir jetpack.write(entryFilePath, entryFileContent); -module.exports = env => { +module.exports = (env) => { return merge(base(env), { entry: entryFilePath, output: { filename: "specs.js", - path: tempDir.path() - } + path: tempDir.path(), + }, }); }; From 997a86504f506ee029ae86ff8263c8a21818d8c2 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 12:58:53 -0400 Subject: [PATCH 030/385] Add ability to compile typescript --- build/webpack.base.config.js | 12 ++++----- package.json | 4 ++- tsconfig.json | 52 ++++++++++++++++++++++++++++++++++++ yarn.lock | 29 ++++++++++++++++---- 4 files changed, 85 insertions(+), 12 deletions(-) create mode 100644 tsconfig.json diff --git a/build/webpack.base.config.js b/build/webpack.base.config.js index 6b1e622d..81549813 100644 --- a/build/webpack.base.config.js +++ b/build/webpack.base.config.js @@ -32,6 +32,11 @@ module.exports = (env) => { exclude: /node_modules/, use: ["babel-loader"], }, + { + test: /\.js$/, + exclude: /node_modules/, + use: ["babel-loader", "ts-loader"], + }, { test: /\.css$/, use: ["style-loader", "css-loader"], @@ -44,12 +49,7 @@ module.exports = (env) => { options: { useRelativePath: process.env.NODE_ENV !== "production", emitFile: false, - name(file) { - if (process.env.NODE_ENV !== "production") { - return "[name].[ext]"; - } - return "[name].[ext]"; - }, + name: "[name].[ext]", }, }, ], diff --git a/package.json b/package.json index a8e7e336..3e3ccd77 100644 --- a/package.json +++ b/package.json @@ -70,9 +70,10 @@ } }, "scripts": { - "start": "yarn build && electron ./app/background.js", + "start": "yarn build:dev && electron ./app/background.js", "dist": "yarn build && electron-builder", "build": "webpack --config=build/webpack.app.config.js --env=production", + "build:dev": "webpack --config=build/webpack.app.config.js --env=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", "lint": "eslint --fix src/**/*.js||ts" }, @@ -107,6 +108,7 @@ "source-map-support": "^0.5.19", "spectron": "^11.0.0", "style-loader": "^1.2.1", + "ts-loader": "^7.0.5", "typescript": "^3.9.5", "webpack": "^4.43.0", "webpack-cli": "^3.3.11", diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..cef560fe --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,52 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + // "lib": [], /* Specify library files to be included in the compilation. */ + "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + "removeComments": true, /* Do not emit comments to output. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true /* Enable all strict type-checking options. */, + "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, + "strictNullChecks": true /* Enable strict null checks. */, + "strictFunctionTypes": true /* Enable strict checking of function types. */, + "strictBindCallApply": true /* Enable strict 'bind', 'call', and 'apply' methods on functions. */, + "strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */, + "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */, + "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, + "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, + + /* Module Resolution Options */ + "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Advanced Options */ + "skipLibCheck": true /* Skip type checking of declaration files. */, + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + }, + "include": ["./src/**/*"] +} diff --git a/yarn.lock b/yarn.lock index 17de8ca9..95705333 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1569,7 +1569,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -1829,7 +1829,7 @@ chai@^4.1.0: pathval "^1.1.0" type-detect "^4.0.5" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2719,7 +2719,7 @@ enhanced-resolve@4.1.0: memory-fs "^0.4.0" tapable "^1.0.0" -enhanced-resolve@^4.1.0: +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== @@ -4316,7 +4316,7 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.0.2, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -4492,6 +4492,14 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -5093,7 +5101,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.2.1: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -6380,6 +6388,17 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" +ts-loader@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-7.0.5.tgz#789338fb01cb5dc0a33c54e50558b34a73c9c4c5" + integrity sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig== + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^4.0.0" + semver "^6.0.0" + tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" From 5ddfaa9c7d0041eeec68895384cdf391376299c3 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 17:57:37 -0400 Subject: [PATCH 031/385] It compiles and appears to work. More testing needed --- app/package.json | 121 ++ build/webpack.app.config.js | 27 +- build/webpack.base.config.js | 22 +- package.json | 10 +- resources/supportedLanguages.json | 1442 +++++++++++++++++ src/{app.js => app.ts} | 6 +- src/background.js | 369 ----- src/background.ts | 429 +++++ src/constants.ts | 49 + src/constants/index.js | 67 - src/helpers/dictionary_manager.js | 242 --- src/helpers/dictionary_manager.ts | 112 ++ src/helpers/tray/tray_manager.js | 220 --- src/helpers/tray_manager.ts | 165 ++ src/helpers/utilities.js | 17 - src/helpers/webview/{bridge.js => bridge.ts} | 59 +- .../{context_menu.js => context_menu.ts} | 46 +- src/helpers/webview/input_manager.js | 25 - src/helpers/webview/input_manager.ts | 25 + src/helpers/window.js | 83 - src/helpers/window.ts | 145 ++ ..._menu_template.js => app_menu_template.ts} | 9 +- ...menu_template.js => base_menu_template.ts} | 3 +- src/menu/dev_menu_template.js | 28 - src/menu/dev_menu_template.ts | 18 + src/menu/edit_menu_template.js | 12 - src/menu/edit_menu_template.ts | 14 + ...menu_template.js => file_menu_template.ts} | 8 +- ...menu_template.js => help_menu_template.ts} | 14 +- src/menu/items/{about.js => about.ts} | 9 +- src/menu/items/check_for_updates.js | 8 - src/menu/items/check_for_updates.ts | 9 + src/menu/items/separator.js | 1 - src/menu/items/separator.ts | 3 + ..._template.js => settings_menu_template.ts} | 130 +- src/menu/tray_menu_template.js | 30 - src/menu/tray_menu_template.ts | 33 + ...menu_template.js => view_menu_template.ts} | 8 +- src/menu/window_menu_template.js | 4 - src/menu/window_menu_template.ts | 6 + tsconfig.json | 47 +- yarn.lock | 33 +- 42 files changed, 2800 insertions(+), 1308 deletions(-) create mode 100644 app/package.json create mode 100644 resources/supportedLanguages.json rename src/{app.js => app.ts} (94%) delete mode 100644 src/background.js create mode 100644 src/background.ts create mode 100644 src/constants.ts delete mode 100644 src/constants/index.js delete mode 100644 src/helpers/dictionary_manager.js create mode 100644 src/helpers/dictionary_manager.ts delete mode 100644 src/helpers/tray/tray_manager.js create mode 100644 src/helpers/tray_manager.ts delete mode 100644 src/helpers/utilities.js rename src/helpers/webview/{bridge.js => bridge.ts} (75%) rename src/helpers/webview/{context_menu.js => context_menu.ts} (79%) delete mode 100644 src/helpers/webview/input_manager.js create mode 100644 src/helpers/webview/input_manager.ts delete mode 100644 src/helpers/window.js create mode 100644 src/helpers/window.ts rename src/menu/{app_menu_template.js => app_menu_template.ts} (76%) rename src/menu/{base_menu_template.js => base_menu_template.ts} (85%) delete mode 100644 src/menu/dev_menu_template.js create mode 100644 src/menu/dev_menu_template.ts delete mode 100644 src/menu/edit_menu_template.js create mode 100644 src/menu/edit_menu_template.ts rename src/menu/{file_menu_template.js => file_menu_template.ts} (62%) rename src/menu/{help_menu_template.js => help_menu_template.ts} (67%) rename src/menu/items/{about.js => about.ts} (86%) delete mode 100644 src/menu/items/check_for_updates.js create mode 100644 src/menu/items/check_for_updates.ts delete mode 100644 src/menu/items/separator.js create mode 100644 src/menu/items/separator.ts rename src/menu/{settings_menu_template.js => settings_menu_template.ts} (50%) delete mode 100644 src/menu/tray_menu_template.js create mode 100644 src/menu/tray_menu_template.ts rename src/menu/{view_menu_template.js => view_menu_template.ts} (77%) delete mode 100644 src/menu/window_menu_template.js create mode 100644 src/menu/window_menu_template.ts diff --git a/app/package.json b/app/package.json new file mode 100644 index 00000000..96bc3f13 --- /dev/null +++ b/app/package.json @@ -0,0 +1,121 @@ +{ + "name": "android-messages-desktop", + "productName": "Android Messages", + "description": "Messages for web, as a desktop app", + "version": "3.1.0", + "author": "Kyle Rosenberg", + "copyright": "Who needs those", + "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", + "repository": { + "type": "git", + "url": "git+https://github.com/OrangeDrangon/android-messages-desktop.git" + }, + "bugs": { + "url": "https://github.com/OrangeDrangon/android-messages-desktop/issues" + }, + "main": "app/background.js", + "build": { + "appId": "com.knepper.android-messages-desktop", + "files": [ + "app/**/*", + "resources/**/*", + "node_modules/**/*", + "package.json" + ], + "directories": { + "buildResources": "resources" + }, + "extraResources": [ + "resources/dictionaries" + ], + "afterSign": "config/packaging/notarize.js", + "mac": { + "category": "public.app-category.social-networking", + "target": [ + "zip", + "dmg" + ], + "entitlements": "config/packaging/macosEntitlements.plist", + "entitlementsInherit": "config/packaging/macosEntitlements.plist" + }, + "win": { + "target": [ + { + "target": "nsis", + "arch": [ + "x64", + "ia32" + ] + }, + { + "target": "portable", + "arch": [ + "x64", + "ia32" + ] + } + ] + }, + "portable": { + "artifactName": "${productName} Portable ${version}.${ext}" + }, + "linux": { + "category": "Chat", + "target": [ + "deb", + "AppImage", + "snap", + "pacman" + ] + } + }, + "scripts": { + "start": "yarn build:dev && electron ./app/background.js", + "dist": "yarn build && electron-builder", + "build": "webpack --config=build/webpack.app.config.js --env=production", + "build:dev": "webpack --config=build/webpack.app.config.js --env=development", + "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", + "lint": "eslint --fix src/**/*.js||ts" + }, + "dependencies": { + "about-window": "1.13.4", + "electron-hunspell": "1.1.2", + "electron-settings": "3.2.0", + "electron-updater": "4.3.1", + "fs-jetpack": "^2.4.0", + "node-fetch": "^2.6.0" + }, + "devDependencies": { + "@babel/core": "7.10.2", + "@babel/preset-env": "7.10.2", + "@types/electron-settings": "^3.1.1", + "@types/node-fetch": "^2.5.7", + "@typescript-eslint/eslint-plugin": "^3.1.0", + "@typescript-eslint/parser": "^3.1.0", + "babel-loader": "8.1.0", + "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", + "chai": "^4.1.0", + "css-loader": "^3.5.3", + "electron": "9.0.2", + "electron-builder": "22.7.0", + "electron-mocha": "^8.2.2", + "electron-notarize": "^0.3.0", + "eslint": "^7.1.0", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-prettier": "^3.1.3", + "file-loader": "^6.0.0", + "friendly-errors-webpack-plugin": "^1.6.1", + "mocha": "^7.2.0", + "png2icons": "^2.0.1", + "prettier": "^2.0.5", + "source-map-support": "^0.5.19", + "spectron": "^11.0.0", + "style-loader": "^1.2.1", + "ts-loader": "^7.0.5", + "typescript": "^3.9.5", + "webpack": "^4.43.0", + "webpack-cli": "^3.3.11", + "webpack-merge": "^4.1.0", + "webpack-node-externals": "^1.6.0" + } +} diff --git a/build/webpack.app.config.js b/build/webpack.app.config.js index a81ec95e..de727632 100644 --- a/build/webpack.app.config.js +++ b/build/webpack.app.config.js @@ -3,16 +3,17 @@ const path = require("path"); const merge = require("webpack-merge"); const base = require("./webpack.base.config"); -module.exports = (env) => { - return merge(base(env), { - entry: { - background: "./src/background.js", - app: "./src/app.js", - bridge: "./src/helpers/webview/bridge.js", - }, - output: { - filename: "[name].js", - path: path.resolve(__dirname, "../app"), - }, - }); -}; +module.exports = merge(base(), { + entry: { + background: "./src/background.ts", + app: "./src/app.ts", + bridge: "./src/helpers/webview/bridge.ts", + }, + output: { + filename: "[name].js", + path: path.resolve(__dirname, "../app"), + }, + resolve: { + extensions: [".ts", ".js"] + }, +}); diff --git a/build/webpack.base.config.js b/build/webpack.base.config.js index 81549813..f8e54d24 100644 --- a/build/webpack.base.config.js +++ b/build/webpack.base.config.js @@ -1,29 +1,15 @@ /* eslint-disable @typescript-eslint/no-var-requires */ -const path = require("path"); const nodeExternals = require("webpack-node-externals"); const FriendlyErrorsWebpackPlugin = require("friendly-errors-webpack-plugin"); -const translateEnvToMode = (env) => { - if (env === "production") { - return "production"; - } - return "development"; -}; - module.exports = (env) => { return { target: "electron-renderer", - mode: translateEnvToMode(env), node: { __dirname: false, __filename: false, }, externals: [nodeExternals()], - resolve: { - alias: { - env: path.resolve(__dirname, `../config/env_${env}.json`), - }, - }, devtool: "source-map", module: { rules: [ @@ -33,7 +19,7 @@ module.exports = (env) => { use: ["babel-loader"], }, { - test: /\.js$/, + test: /\.ts$/, exclude: /node_modules/, use: ["babel-loader", "ts-loader"], }, @@ -47,7 +33,7 @@ module.exports = (env) => { { loader: "file-loader", options: { - useRelativePath: process.env.NODE_ENV !== "production", + useRelativePath: process.env.NODE_ENV === "development", emitFile: false, name: "[name].[ext]", }, @@ -57,7 +43,9 @@ module.exports = (env) => { ], }, plugins: [ - new FriendlyErrorsWebpackPlugin({ clearConsole: env === "development" }), + new FriendlyErrorsWebpackPlugin({ + clearConsole: process.env.NODE_ENV === "development", + }), ], }; }; diff --git a/package.json b/package.json index 3e3ccd77..bedf5918 100644 --- a/package.json +++ b/package.json @@ -72,8 +72,8 @@ "scripts": { "start": "yarn build:dev && electron ./app/background.js", "dist": "yarn build && electron-builder", - "build": "webpack --config=build/webpack.app.config.js --env=production", - "build:dev": "webpack --config=build/webpack.app.config.js --env=development", + "build": "webpack --config=build/webpack.app.config.js --mode=production", + "build:dev": "webpack --config=build/webpack.app.config.js --mode=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", "lint": "eslint --fix src/**/*.js||ts" }, @@ -82,11 +82,15 @@ "electron-hunspell": "1.1.2", "electron-settings": "3.2.0", "electron-updater": "4.3.1", - "fs-jetpack": "^2.4.0" + "fs-jetpack": "^2.4.0", + "node-fetch": "^2.6.0" }, "devDependencies": { "@babel/core": "7.10.2", "@babel/preset-env": "7.10.2", + "@types/electron-settings": "^3.1.1", + "@types/node": "12", + "@types/node-fetch": "^2.5.7", "@typescript-eslint/eslint-plugin": "^3.1.0", "@typescript-eslint/parser": "^3.1.0", "babel-loader": "8.1.0", diff --git a/resources/supportedLanguages.json b/resources/supportedLanguages.json new file mode 100644 index 00000000..87c82946 --- /dev/null +++ b/resources/supportedLanguages.json @@ -0,0 +1,1442 @@ +[ + { + "name": "bg", + "path": "dictionaries/bg", + "sha": "9ea3af7e6b911e7e55aa92f7a9f8cc5e6e9a8012", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/bg?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/bg", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9ea3af7e6b911e7e55aa92f7a9f8cc5e6e9a8012", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/bg?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9ea3af7e6b911e7e55aa92f7a9f8cc5e6e9a8012", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/bg" + } + }, + { + "name": "br", + "path": "dictionaries/br", + "sha": "4c43bc1da7455bd0e236cad1b382bb343fdd25ea", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/br?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/br", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4c43bc1da7455bd0e236cad1b382bb343fdd25ea", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/br?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4c43bc1da7455bd0e236cad1b382bb343fdd25ea", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/br" + } + }, + { + "name": "ca-valencia", + "path": "dictionaries/ca-valencia", + "sha": "82f183087de4e783f0fce183ff1b3e19d977c49f", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca-valencia?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca-valencia", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/82f183087de4e783f0fce183ff1b3e19d977c49f", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca-valencia?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/82f183087de4e783f0fce183ff1b3e19d977c49f", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca-valencia" + } + }, + { + "name": "ca", + "path": "dictionaries/ca", + "sha": "70991d5949d011e0c5b13246be84129e8f7cebac", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/70991d5949d011e0c5b13246be84129e8f7cebac", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/70991d5949d011e0c5b13246be84129e8f7cebac", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca" + } + }, + { + "name": "cs", + "path": "dictionaries/cs", + "sha": "fe48ea4393fb97842aeeae5c1e4493168fab507b", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/cs?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/cs", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/fe48ea4393fb97842aeeae5c1e4493168fab507b", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/cs?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/fe48ea4393fb97842aeeae5c1e4493168fab507b", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/cs" + } + }, + { + "name": "da", + "path": "dictionaries/da", + "sha": "bfe6f241edf7bcb8c2043595fda321c764f142a5", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/da?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/da", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bfe6f241edf7bcb8c2043595fda321c764f142a5", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/da?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bfe6f241edf7bcb8c2043595fda321c764f142a5", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/da" + } + }, + { + "name": "de-AT", + "path": "dictionaries/de-AT", + "sha": "18c6e94058dda316322fdcfd76f289d6af7c3e60", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-AT?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-AT", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/18c6e94058dda316322fdcfd76f289d6af7c3e60", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-AT?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/18c6e94058dda316322fdcfd76f289d6af7c3e60", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-AT" + } + }, + { + "name": "de-CH", + "path": "dictionaries/de-CH", + "sha": "9012713c0a63973e592590326bb9e4dc746948d0", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-CH?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-CH", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9012713c0a63973e592590326bb9e4dc746948d0", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-CH?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9012713c0a63973e592590326bb9e4dc746948d0", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-CH" + } + }, + { + "name": "de", + "path": "dictionaries/de", + "sha": "0f9ce71ce376154497d7a667b25557eb951e52e7", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0f9ce71ce376154497d7a667b25557eb951e52e7", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0f9ce71ce376154497d7a667b25557eb951e52e7", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de" + } + }, + { + "name": "el-polyton", + "path": "dictionaries/el-polyton", + "sha": "e43a234751f97b55ef2c83ee3cb753bbe51f8736", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el-polyton?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el-polyton", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e43a234751f97b55ef2c83ee3cb753bbe51f8736", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el-polyton?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e43a234751f97b55ef2c83ee3cb753bbe51f8736", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el-polyton" + } + }, + { + "name": "el", + "path": "dictionaries/el", + "sha": "34e4bb855d14ac196e236b5a0c5fbf6eb1bcaf96", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/34e4bb855d14ac196e236b5a0c5fbf6eb1bcaf96", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/34e4bb855d14ac196e236b5a0c5fbf6eb1bcaf96", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el" + } + }, + { + "name": "en-AU", + "path": "dictionaries/en-AU", + "sha": "e0320bf5809616be5bc82b08b182761678ba90c8", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-AU?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-AU", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e0320bf5809616be5bc82b08b182761678ba90c8", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-AU?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e0320bf5809616be5bc82b08b182761678ba90c8", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-AU" + } + }, + { + "name": "en-CA", + "path": "dictionaries/en-CA", + "sha": "a33f3d5c9adae76fc00e7dd767dee9511134d5f0", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-CA?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-CA", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/a33f3d5c9adae76fc00e7dd767dee9511134d5f0", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-CA?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/a33f3d5c9adae76fc00e7dd767dee9511134d5f0", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-CA" + } + }, + { + "name": "en-GB", + "path": "dictionaries/en-GB", + "sha": "59ba4306168b77731e82f5321a0f0a782ffea72e", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-GB?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-GB", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/59ba4306168b77731e82f5321a0f0a782ffea72e", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-GB?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/59ba4306168b77731e82f5321a0f0a782ffea72e", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-GB" + } + }, + { + "name": "en-ZA", + "path": "dictionaries/en-ZA", + "sha": "5a8e43dcd32375ff193e3e63bbe30dc903b02b6f", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-ZA?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-ZA", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5a8e43dcd32375ff193e3e63bbe30dc903b02b6f", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-ZA?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5a8e43dcd32375ff193e3e63bbe30dc903b02b6f", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-ZA" + } + }, + { + "name": "en", + "path": "dictionaries/en", + "sha": "9d8d328de1ac8aad258c8344b3903ac9e29c19c4", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9d8d328de1ac8aad258c8344b3903ac9e29c19c4", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9d8d328de1ac8aad258c8344b3903ac9e29c19c4", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en" + } + }, + { + "name": "eo", + "path": "dictionaries/eo", + "sha": "96e455a3f2507323c8f3ba5bcaab2833ceda3157", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eo?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eo", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/96e455a3f2507323c8f3ba5bcaab2833ceda3157", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eo?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/96e455a3f2507323c8f3ba5bcaab2833ceda3157", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eo" + } + }, + { + "name": "es-AR", + "path": "dictionaries/es-AR", + "sha": "15b56730587631b80979e08993bba41afb4d0479", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-AR?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-AR", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/15b56730587631b80979e08993bba41afb4d0479", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-AR?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/15b56730587631b80979e08993bba41afb4d0479", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-AR" + } + }, + { + "name": "es-BO", + "path": "dictionaries/es-BO", + "sha": "68a02118287e7dbc3072733609fc3bb58bc58a68", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-BO?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-BO", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/68a02118287e7dbc3072733609fc3bb58bc58a68", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-BO?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/68a02118287e7dbc3072733609fc3bb58bc58a68", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-BO" + } + }, + { + "name": "es-CL", + "path": "dictionaries/es-CL", + "sha": "50775af8ec8e95d3ac6e9ff31b2785faf8e0385c", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CL?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CL", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50775af8ec8e95d3ac6e9ff31b2785faf8e0385c", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CL?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50775af8ec8e95d3ac6e9ff31b2785faf8e0385c", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CL" + } + }, + { + "name": "es-CO", + "path": "dictionaries/es-CO", + "sha": "b7f394b6937b422f67d4c46b99bc372ddc0ae82f", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CO?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CO", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b7f394b6937b422f67d4c46b99bc372ddc0ae82f", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CO?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b7f394b6937b422f67d4c46b99bc372ddc0ae82f", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CO" + } + }, + { + "name": "es-CR", + "path": "dictionaries/es-CR", + "sha": "3b44fc70205e6a5c5cb63e3ec67e49c21281f312", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CR?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CR", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3b44fc70205e6a5c5cb63e3ec67e49c21281f312", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CR?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3b44fc70205e6a5c5cb63e3ec67e49c21281f312", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CR" + } + }, + { + "name": "es-CU", + "path": "dictionaries/es-CU", + "sha": "7aa3ca18ebe3d9a7888785bc8c70614259a5c002", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CU?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CU", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7aa3ca18ebe3d9a7888785bc8c70614259a5c002", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CU?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7aa3ca18ebe3d9a7888785bc8c70614259a5c002", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CU" + } + }, + { + "name": "es-DO", + "path": "dictionaries/es-DO", + "sha": "d5fb7ffb9116047ad4b2c90aa05d255d81792711", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-DO?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-DO", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d5fb7ffb9116047ad4b2c90aa05d255d81792711", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-DO?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d5fb7ffb9116047ad4b2c90aa05d255d81792711", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-DO" + } + }, + { + "name": "es-EC", + "path": "dictionaries/es-EC", + "sha": "69979f8c0b5f0134a72ae8beaa6f19ed75cea3cc", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-EC?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-EC", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/69979f8c0b5f0134a72ae8beaa6f19ed75cea3cc", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-EC?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/69979f8c0b5f0134a72ae8beaa6f19ed75cea3cc", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-EC" + } + }, + { + "name": "es-GT", + "path": "dictionaries/es-GT", + "sha": "8d644a6e6b15e49fbecd87d73b4903018dd78db9", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-GT?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-GT", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/8d644a6e6b15e49fbecd87d73b4903018dd78db9", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-GT?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/8d644a6e6b15e49fbecd87d73b4903018dd78db9", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-GT" + } + }, + { + "name": "es-HN", + "path": "dictionaries/es-HN", + "sha": "9f19dca8885b7c9400a3c1718a2c56b034c0f1ed", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-HN?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-HN", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9f19dca8885b7c9400a3c1718a2c56b034c0f1ed", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-HN?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9f19dca8885b7c9400a3c1718a2c56b034c0f1ed", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-HN" + } + }, + { + "name": "es-MX", + "path": "dictionaries/es-MX", + "sha": "c5ced813ce9c2291de93aa9d3e57d035d73a8641", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-MX?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-MX", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c5ced813ce9c2291de93aa9d3e57d035d73a8641", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-MX?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c5ced813ce9c2291de93aa9d3e57d035d73a8641", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-MX" + } + }, + { + "name": "es-NI", + "path": "dictionaries/es-NI", + "sha": "6dd542b8f36b5e96f1c41ea31327f619186ed488", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-NI?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-NI", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6dd542b8f36b5e96f1c41ea31327f619186ed488", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-NI?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6dd542b8f36b5e96f1c41ea31327f619186ed488", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-NI" + } + }, + { + "name": "es-PA", + "path": "dictionaries/es-PA", + "sha": "50aa056b30465a2e911841cd307aa8187f0ce73e", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PA?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PA", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50aa056b30465a2e911841cd307aa8187f0ce73e", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PA?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50aa056b30465a2e911841cd307aa8187f0ce73e", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PA" + } + }, + { + "name": "es-PE", + "path": "dictionaries/es-PE", + "sha": "098a48ba5ff0be67fb4b98cc31ad115e2f0a1948", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PE?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PE", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/098a48ba5ff0be67fb4b98cc31ad115e2f0a1948", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PE?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/098a48ba5ff0be67fb4b98cc31ad115e2f0a1948", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PE" + } + }, + { + "name": "es-PH", + "path": "dictionaries/es-PH", + "sha": "198f30c7ac0a0c5754ca14e9c9459a9649c44dd0", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PH?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PH", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/198f30c7ac0a0c5754ca14e9c9459a9649c44dd0", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PH?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/198f30c7ac0a0c5754ca14e9c9459a9649c44dd0", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PH" + } + }, + { + "name": "es-PR", + "path": "dictionaries/es-PR", + "sha": "81c84d390956ab937f42f4e44f01ee69a2cbf2c6", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PR?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PR", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/81c84d390956ab937f42f4e44f01ee69a2cbf2c6", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PR?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/81c84d390956ab937f42f4e44f01ee69a2cbf2c6", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PR" + } + }, + { + "name": "es-PY", + "path": "dictionaries/es-PY", + "sha": "1a45513085b66d2853720fc422b8fc92b39b95ef", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PY?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PY", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1a45513085b66d2853720fc422b8fc92b39b95ef", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PY?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1a45513085b66d2853720fc422b8fc92b39b95ef", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PY" + } + }, + { + "name": "es-SV", + "path": "dictionaries/es-SV", + "sha": "3d271166e6f9a9e46945b8d4b49c798871c317e2", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-SV?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-SV", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3d271166e6f9a9e46945b8d4b49c798871c317e2", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-SV?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3d271166e6f9a9e46945b8d4b49c798871c317e2", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-SV" + } + }, + { + "name": "es-US", + "path": "dictionaries/es-US", + "sha": "43baf7b01eeb820b3387bc2fd8b1afc685fd21fe", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-US?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-US", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/43baf7b01eeb820b3387bc2fd8b1afc685fd21fe", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-US?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/43baf7b01eeb820b3387bc2fd8b1afc685fd21fe", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-US" + } + }, + { + "name": "es-UY", + "path": "dictionaries/es-UY", + "sha": "7b7935dc60c3b2af9c4b038715251ccd6a813364", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-UY?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-UY", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7b7935dc60c3b2af9c4b038715251ccd6a813364", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-UY?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7b7935dc60c3b2af9c4b038715251ccd6a813364", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-UY" + } + }, + { + "name": "es-VE", + "path": "dictionaries/es-VE", + "sha": "d7c2c380577eb60899f1de0820c90d89aef9ab25", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-VE?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-VE", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d7c2c380577eb60899f1de0820c90d89aef9ab25", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-VE?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d7c2c380577eb60899f1de0820c90d89aef9ab25", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-VE" + } + }, + { + "name": "es", + "path": "dictionaries/es", + "sha": "e7af388027f2a1bc055c1d45e3d196a877ff2e1d", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e7af388027f2a1bc055c1d45e3d196a877ff2e1d", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e7af388027f2a1bc055c1d45e3d196a877ff2e1d", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es" + } + }, + { + "name": "et", + "path": "dictionaries/et", + "sha": "5f2346ff745f6897ed220247ae4b8590de9ca2b9", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/et?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/et", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5f2346ff745f6897ed220247ae4b8590de9ca2b9", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/et?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5f2346ff745f6897ed220247ae4b8590de9ca2b9", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/et" + } + }, + { + "name": "eu", + "path": "dictionaries/eu", + "sha": "377130dc65dc9997567bee92e57a66a0e1ce5a06", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eu?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eu", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/377130dc65dc9997567bee92e57a66a0e1ce5a06", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eu?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/377130dc65dc9997567bee92e57a66a0e1ce5a06", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eu" + } + }, + { + "name": "fa", + "path": "dictionaries/fa", + "sha": "4163c4f231151a0b341403be3a787c9f448b4c33", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fa?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fa", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4163c4f231151a0b341403be3a787c9f448b4c33", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fa?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4163c4f231151a0b341403be3a787c9f448b4c33", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fa" + } + }, + { + "name": "fo", + "path": "dictionaries/fo", + "sha": "b3862da076b3ca591219e901c831fa17ab208cbd", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fo?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fo", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b3862da076b3ca591219e901c831fa17ab208cbd", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fo?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b3862da076b3ca591219e901c831fa17ab208cbd", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fo" + } + }, + { + "name": "fr", + "path": "dictionaries/fr", + "sha": "e998015c933dd0849f9635d961a359f14034e7bf", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fr?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fr", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e998015c933dd0849f9635d961a359f14034e7bf", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fr?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e998015c933dd0849f9635d961a359f14034e7bf", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fr" + } + }, + { + "name": "fur", + "path": "dictionaries/fur", + "sha": "6931f97695621d323212421ce1800e9fca4142cf", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fur?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fur", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6931f97695621d323212421ce1800e9fca4142cf", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fur?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6931f97695621d323212421ce1800e9fca4142cf", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fur" + } + }, + { + "name": "fy", + "path": "dictionaries/fy", + "sha": "c2f61145e531c08755b5809f5b3ad02c51ef7b29", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fy?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fy", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c2f61145e531c08755b5809f5b3ad02c51ef7b29", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fy?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c2f61145e531c08755b5809f5b3ad02c51ef7b29", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fy" + } + }, + { + "name": "ga", + "path": "dictionaries/ga", + "sha": "47b380e48afd57983ac80a96fe2ebbaf5e4ce252", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ga?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ga", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/47b380e48afd57983ac80a96fe2ebbaf5e4ce252", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ga?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/47b380e48afd57983ac80a96fe2ebbaf5e4ce252", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ga" + } + }, + { + "name": "gd", + "path": "dictionaries/gd", + "sha": "c102c79615cc4cfb55c6fb2f556a449da4e57e3a", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gd?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gd", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c102c79615cc4cfb55c6fb2f556a449da4e57e3a", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gd?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c102c79615cc4cfb55c6fb2f556a449da4e57e3a", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gd" + } + }, + { + "name": "gl", + "path": "dictionaries/gl", + "sha": "bc159604b58d4ce47900006ce92ded0e1f3c919e", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gl?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gl", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bc159604b58d4ce47900006ce92ded0e1f3c919e", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gl?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bc159604b58d4ce47900006ce92ded0e1f3c919e", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gl" + } + }, + { + "name": "he", + "path": "dictionaries/he", + "sha": "d0d171b1f6d33f00a735e576bf18994482170d67", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/he?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/he", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d0d171b1f6d33f00a735e576bf18994482170d67", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/he?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d0d171b1f6d33f00a735e576bf18994482170d67", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/he" + } + }, + { + "name": "hr", + "path": "dictionaries/hr", + "sha": "6c4e5ad444ef303ba6b690370976bfa7ee9f426f", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hr?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hr", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6c4e5ad444ef303ba6b690370976bfa7ee9f426f", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hr?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6c4e5ad444ef303ba6b690370976bfa7ee9f426f", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hr" + } + }, + { + "name": "hu", + "path": "dictionaries/hu", + "sha": "3fcc749d5383055ca746aae9dd8f897ca96b4995", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hu?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hu", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3fcc749d5383055ca746aae9dd8f897ca96b4995", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hu?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3fcc749d5383055ca746aae9dd8f897ca96b4995", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hu" + } + }, + { + "name": "hy", + "path": "dictionaries/hy", + "sha": "290888ba575658824f8e33637cfcbb61de2c27e7", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hy?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hy", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/290888ba575658824f8e33637cfcbb61de2c27e7", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hy?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/290888ba575658824f8e33637cfcbb61de2c27e7", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hy" + } + }, + { + "name": "hyw", + "path": "dictionaries/hyw", + "sha": "87e39e1ae91dbd78e3f39c47fdd1ba4191c0bd4a", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hyw?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hyw", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/87e39e1ae91dbd78e3f39c47fdd1ba4191c0bd4a", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hyw?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/87e39e1ae91dbd78e3f39c47fdd1ba4191c0bd4a", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hyw" + } + }, + { + "name": "ia", + "path": "dictionaries/ia", + "sha": "92d890f920e9df3bd2a9b562ef8b09f3613aa870", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ia?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ia", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/92d890f920e9df3bd2a9b562ef8b09f3613aa870", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ia?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/92d890f920e9df3bd2a9b562ef8b09f3613aa870", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ia" + } + }, + { + "name": "ie", + "path": "dictionaries/ie", + "sha": "2781dbf612e45f61da41b52fdc1cb15c54234704", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ie?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ie", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2781dbf612e45f61da41b52fdc1cb15c54234704", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ie?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2781dbf612e45f61da41b52fdc1cb15c54234704", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ie" + } + }, + { + "name": "is", + "path": "dictionaries/is", + "sha": "35ee286a6cdc8b0265aa162cfcb58c3143a23dc6", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/is?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/is", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/35ee286a6cdc8b0265aa162cfcb58c3143a23dc6", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/is?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/35ee286a6cdc8b0265aa162cfcb58c3143a23dc6", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/is" + } + }, + { + "name": "it", + "path": "dictionaries/it", + "sha": "f54e14a55fa4de6106cd9400c7338b43511020e1", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/it?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/it", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f54e14a55fa4de6106cd9400c7338b43511020e1", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/it?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f54e14a55fa4de6106cd9400c7338b43511020e1", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/it" + } + }, + { + "name": "ka", + "path": "dictionaries/ka", + "sha": "ad63fcf4282b3c1b7f45a948908b46977dd00d61", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ka?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ka", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ad63fcf4282b3c1b7f45a948908b46977dd00d61", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ka?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ad63fcf4282b3c1b7f45a948908b46977dd00d61", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ka" + } + }, + { + "name": "ko", + "path": "dictionaries/ko", + "sha": "387d19955b935937f97c25ecb26259c9d41fcc9b", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ko?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ko", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/387d19955b935937f97c25ecb26259c9d41fcc9b", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ko?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/387d19955b935937f97c25ecb26259c9d41fcc9b", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ko" + } + }, + { + "name": "la", + "path": "dictionaries/la", + "sha": "b5ecc51edd0cfe4677ccd2bc033d3cfbde6180ee", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/la?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/la", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ecc51edd0cfe4677ccd2bc033d3cfbde6180ee", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/la?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ecc51edd0cfe4677ccd2bc033d3cfbde6180ee", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/la" + } + }, + { + "name": "lb", + "path": "dictionaries/lb", + "sha": "963262fecd3bcf0c941737cc7a8c0c5925f9ac9d", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lb?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lb", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/963262fecd3bcf0c941737cc7a8c0c5925f9ac9d", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lb?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/963262fecd3bcf0c941737cc7a8c0c5925f9ac9d", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lb" + } + }, + { + "name": "lt", + "path": "dictionaries/lt", + "sha": "470b31aa4479a4eebf28b24a0485b5c72deb8a8a", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lt?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lt", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/470b31aa4479a4eebf28b24a0485b5c72deb8a8a", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lt?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/470b31aa4479a4eebf28b24a0485b5c72deb8a8a", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lt" + } + }, + { + "name": "ltg", + "path": "dictionaries/ltg", + "sha": "9e48e7351bfcbf73575d1f330a80c7a9a06686b4", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ltg?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ltg", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9e48e7351bfcbf73575d1f330a80c7a9a06686b4", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ltg?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9e48e7351bfcbf73575d1f330a80c7a9a06686b4", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ltg" + } + }, + { + "name": "lv", + "path": "dictionaries/lv", + "sha": "4ab724cb276746018bf4a772b981781c0f5052e2", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lv?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lv", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4ab724cb276746018bf4a772b981781c0f5052e2", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lv?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4ab724cb276746018bf4a772b981781c0f5052e2", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lv" + } + }, + { + "name": "mk", + "path": "dictionaries/mk", + "sha": "f7b98874b39567c7c8ead355d7c2797cf995c4c1", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mk?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mk", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f7b98874b39567c7c8ead355d7c2797cf995c4c1", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mk?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f7b98874b39567c7c8ead355d7c2797cf995c4c1", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mk" + } + }, + { + "name": "mn", + "path": "dictionaries/mn", + "sha": "ae8a0bbc90ae0f43745feeb7cae4e7e311501dd8", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mn?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mn", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ae8a0bbc90ae0f43745feeb7cae4e7e311501dd8", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mn?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ae8a0bbc90ae0f43745feeb7cae4e7e311501dd8", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mn" + } + }, + { + "name": "nb", + "path": "dictionaries/nb", + "sha": "0a5aed4235d6549ee3c1e16bc9ff07063cdb77c3", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nb?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nb", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a5aed4235d6549ee3c1e16bc9ff07063cdb77c3", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nb?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a5aed4235d6549ee3c1e16bc9ff07063cdb77c3", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nb" + } + }, + { + "name": "nds", + "path": "dictionaries/nds", + "sha": "adec5f523e84e60a6353df6543b419be99bfca22", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nds?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nds", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/adec5f523e84e60a6353df6543b419be99bfca22", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nds?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/adec5f523e84e60a6353df6543b419be99bfca22", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nds" + } + }, + { + "name": "ne", + "path": "dictionaries/ne", + "sha": "1e8ba92f2694565ea39975eaf10ff525396560c8", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ne?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ne", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1e8ba92f2694565ea39975eaf10ff525396560c8", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ne?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1e8ba92f2694565ea39975eaf10ff525396560c8", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ne" + } + }, + { + "name": "nl", + "path": "dictionaries/nl", + "sha": "4cb32dc344b5f7e07addf3d3171f8349544ded49", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nl?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nl", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4cb32dc344b5f7e07addf3d3171f8349544ded49", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nl?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4cb32dc344b5f7e07addf3d3171f8349544ded49", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nl" + } + }, + { + "name": "nn", + "path": "dictionaries/nn", + "sha": "25a6dd94f3b4183be11dbcef2b4af0e2c8dc60bf", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nn?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nn", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/25a6dd94f3b4183be11dbcef2b4af0e2c8dc60bf", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nn?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/25a6dd94f3b4183be11dbcef2b4af0e2c8dc60bf", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nn" + } + }, + { + "name": "pl", + "path": "dictionaries/pl", + "sha": "44fb35a14ab07e8684a34fe91994ae92986f4b48", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pl?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pl", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/44fb35a14ab07e8684a34fe91994ae92986f4b48", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pl?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/44fb35a14ab07e8684a34fe91994ae92986f4b48", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pl" + } + }, + { + "name": "pt-PT", + "path": "dictionaries/pt-PT", + "sha": "9899d1e859c55940a2d4652c0082f82d883f5109", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt-PT?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt-PT", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9899d1e859c55940a2d4652c0082f82d883f5109", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt-PT?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9899d1e859c55940a2d4652c0082f82d883f5109", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt-PT" + } + }, + { + "name": "pt", + "path": "dictionaries/pt", + "sha": "c8800b62608062321b7da2419f3891d59c5a88d1", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c8800b62608062321b7da2419f3891d59c5a88d1", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c8800b62608062321b7da2419f3891d59c5a88d1", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt" + } + }, + { + "name": "ro", + "path": "dictionaries/ro", + "sha": "2bba13386751f4ea31f4ddc9b83df594c8dca037", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ro?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ro", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2bba13386751f4ea31f4ddc9b83df594c8dca037", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ro?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2bba13386751f4ea31f4ddc9b83df594c8dca037", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ro" + } + }, + { + "name": "ru", + "path": "dictionaries/ru", + "sha": "1ed8d8e822c0fc74b9208e8d9ab5508dd90e5f4c", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ru?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ru", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1ed8d8e822c0fc74b9208e8d9ab5508dd90e5f4c", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ru?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1ed8d8e822c0fc74b9208e8d9ab5508dd90e5f4c", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ru" + } + }, + { + "name": "rw", + "path": "dictionaries/rw", + "sha": "f0921e1eb4ecc3018c8a083daaeb1f8c5cb7d8ed", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/rw?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/rw", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f0921e1eb4ecc3018c8a083daaeb1f8c5cb7d8ed", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/rw?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f0921e1eb4ecc3018c8a083daaeb1f8c5cb7d8ed", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/rw" + } + }, + { + "name": "sk", + "path": "dictionaries/sk", + "sha": "4b9bec6ab86788822bc1bb5fdb1eb23d1648a71b", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sk?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sk", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4b9bec6ab86788822bc1bb5fdb1eb23d1648a71b", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sk?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4b9bec6ab86788822bc1bb5fdb1eb23d1648a71b", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sk" + } + }, + { + "name": "sl", + "path": "dictionaries/sl", + "sha": "5b389e84989ffc7cb24a2d021068dff01a0e9f45", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sl?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sl", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5b389e84989ffc7cb24a2d021068dff01a0e9f45", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sl?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5b389e84989ffc7cb24a2d021068dff01a0e9f45", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sl" + } + }, + { + "name": "sr-Latn", + "path": "dictionaries/sr-Latn", + "sha": "75e7a8c5c484bbffd1bbbec4e48ab6b6246d59cf", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr-Latn?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr-Latn", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/75e7a8c5c484bbffd1bbbec4e48ab6b6246d59cf", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr-Latn?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/75e7a8c5c484bbffd1bbbec4e48ab6b6246d59cf", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr-Latn" + } + }, + { + "name": "sr", + "path": "dictionaries/sr", + "sha": "33fa568539a04fcfccb838b3e630a246d460f30b", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/33fa568539a04fcfccb838b3e630a246d460f30b", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/33fa568539a04fcfccb838b3e630a246d460f30b", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr" + } + }, + { + "name": "sv-FI", + "path": "dictionaries/sv-FI", + "sha": "1283e4aa320aa83ad03b5d1c3bd2f2e76a4b522e", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv-FI?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv-FI", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1283e4aa320aa83ad03b5d1c3bd2f2e76a4b522e", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv-FI?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1283e4aa320aa83ad03b5d1c3bd2f2e76a4b522e", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv-FI" + } + }, + { + "name": "sv", + "path": "dictionaries/sv", + "sha": "d2aa21f5aaa2f0b44f0b7cb3c7a390790b718c08", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d2aa21f5aaa2f0b44f0b7cb3c7a390790b718c08", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d2aa21f5aaa2f0b44f0b7cb3c7a390790b718c08", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv" + } + }, + { + "name": "tk", + "path": "dictionaries/tk", + "sha": "b00f1948af7c7cf2d14a9d5ed099e918f3b8718b", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tk?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tk", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b00f1948af7c7cf2d14a9d5ed099e918f3b8718b", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tk?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b00f1948af7c7cf2d14a9d5ed099e918f3b8718b", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tk" + } + }, + { + "name": "tlh-Latn", + "path": "dictionaries/tlh-Latn", + "sha": "c04930c1fd26450c39b87a7fd2028a208cf7ca2d", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh-Latn?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh-Latn", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c04930c1fd26450c39b87a7fd2028a208cf7ca2d", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh-Latn?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c04930c1fd26450c39b87a7fd2028a208cf7ca2d", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh-Latn" + } + }, + { + "name": "tlh", + "path": "dictionaries/tlh", + "sha": "2514f9156ef63ed8ceff84db6a647143c3a18e5f", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2514f9156ef63ed8ceff84db6a647143c3a18e5f", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2514f9156ef63ed8ceff84db6a647143c3a18e5f", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh" + } + }, + { + "name": "tr", + "path": "dictionaries/tr", + "sha": "b5ac59e8b7bfc32367d1639923ad7176d359b5d8", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tr?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tr", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ac59e8b7bfc32367d1639923ad7176d359b5d8", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tr?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ac59e8b7bfc32367d1639923ad7176d359b5d8", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tr" + } + }, + { + "name": "uk", + "path": "dictionaries/uk", + "sha": "6f4b7fa9200f665f6a977180abbe4ee701845bd7", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/uk?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/uk", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6f4b7fa9200f665f6a977180abbe4ee701845bd7", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/uk?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6f4b7fa9200f665f6a977180abbe4ee701845bd7", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/uk" + } + }, + { + "name": "vi", + "path": "dictionaries/vi", + "sha": "0a00aeed64e7f9c2bad2d92248bb6e9f3355662c", + "size": 0, + "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/vi?ref=5ede45b", + "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/vi", + "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a00aeed64e7f9c2bad2d92248bb6e9f3355662c", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/vi?ref=5ede45b", + "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a00aeed64e7f9c2bad2d92248bb6e9f3355662c", + "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/vi" + } + } +] diff --git a/src/app.js b/src/app.ts similarity index 94% rename from src/app.js rename to src/app.ts index 102274be..92a7ea09 100644 --- a/src/app.js +++ b/src/app.ts @@ -3,11 +3,13 @@ import "./stylesheets/main.css"; import { ipcRenderer, remote } from "electron"; import { EVENT_UPDATE_USER_SETTING, IS_DEV, IS_MAC } from "./constants"; +type TOFIX = any; + const app = remote.app; const androidMessagesWebview = document.getElementById( "androidMessagesWebview" -); +) as TOFIX; androidMessagesWebview.addEventListener("did-finish-load", () => { // just before onLoad @@ -25,7 +27,7 @@ androidMessagesWebview.addEventListener("dom-ready", () => { if (IS_DEV) { androidMessagesWebview.getWebContents().openDevTools(); } - app.mainWindow.on("focus", () => { + (app as TOFIX).mainWindow.on("focus", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs androidMessagesWebview.dispatchEvent(new Event("focus")); }); diff --git a/src/background.js b/src/background.js deleted file mode 100644 index 8e54234c..00000000 --- a/src/background.js +++ /dev/null @@ -1,369 +0,0 @@ -// This is main process of Electron, started as first thing when your -// app starts. It runs through entire life of your application. -// It doesn't have any windows which you can see on screen, but we can open -// window from here. - -import path from 'path'; -import url from 'url'; -import { app, Menu, ipcMain, Notification, shell, nativeTheme } from 'electron'; -import { autoUpdater } from 'electron-updater'; -import { baseMenuTemplate } from './menu/base_menu_template'; -import { devMenuTemplate } from './menu/dev_menu_template'; -import { settingsMenu } from './menu/settings_menu_template'; -import { helpMenuTemplate } from './menu/help_menu_template'; -import createWindow from './helpers/window'; -import DictionaryManager from './helpers/dictionary_manager'; -import TrayManager from './helpers/tray/tray_manager'; -import settings from 'electron-settings'; -import { IS_MAC, IS_WINDOWS, IS_LINUX, IS_DEV, SETTING_TRAY_ENABLED, SETTING_TRAY_CLICK_SHORTCUT, SETTING_CUSTOM_WORDS, EVENT_WEBVIEW_NOTIFICATION, EVENT_NOTIFICATION_REFLECT_READY, EVENT_BRIDGE_INIT, EVENT_SPELL_ADD_CUSTOM_WORD, EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING } from './constants'; - -// Special module holding environment variables which you declared -// in config/env_xxx.json file. -import env from 'env'; - -const state = { - unreadNotificationCount: 0, - notificationSoundEnabled: true, - notificationContentHidden: false, - bridgeInitDone: false, - useSystemDarkMode: true -}; - -let mainWindow = null; - -// Prevent multiple instances of the app which causes many problems with an app like ours -// Without this, if an instance were minimized to the tray in Windows, clicking a shortcut would launch another instance, icky -// Adapted from https://github.com/electron/electron/blob/v4.0.4/docs/api/app.md#apprequestsingleinstancelock -const isFirstInstance = app.requestSingleInstanceLock(); - -if (!isFirstInstance) { - app.quit(); -} else { - app.on('second-instance', (event, commandLine, workingDirectory) => { - if (mainWindow) { - if (!mainWindow.isVisible()) { - mainWindow.show(); - } - } - }) - - let trayManager = null; - - const setApplicationMenu = () => { - const menus = baseMenuTemplate; - if (env.name !== 'production') { - menus.push(devMenuTemplate); - } - menus.push(helpMenuTemplate); - Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); - }; - - // Save userData in separate folders for each environment. - // Thanks to this you can use production and development versions of the app - // on same machine like those are two separate apps. - if (env.name !== 'production') { - const userDataPath = app.getPath('userData'); - app.setPath('userData', `${userDataPath} (${env.name})`); - } - - if (IS_WINDOWS) { - // Stupid, DUMB calls that have to be made to let notifications come through on Windows (only Windows 10?) - // See: https://github.com/electron/electron/issues/10864#issuecomment-382519150 - app.setAppUserModelId('com.knepper.android-messages-desktop'); - app.setAsDefaultProtocolClient('android-messages-desktop'); - } - - app.on('ready', () => { - trayManager = new TrayManager(); - - // TODO: Create a preference manager which handles all of these - const autoHideMenuBar = settings.get('autoHideMenuPref', false); - const startInTray = settings.get('startInTrayPref', false); - const notificationSoundEnabled = settings.get('notificationSoundEnabledPref', true); - const pressEnterToSendEnabled = settings.get('pressEnterToSendPref', true); - const hideNotificationContent = settings.get('hideNotificationContentPref', false); - const useSystemDarkMode = settings.get('useSystemDarkModePref', true); - settings.watch(SETTING_TRAY_ENABLED, trayManager.handleTrayEnabledToggle); - settings.watch(SETTING_TRAY_CLICK_SHORTCUT, trayManager.handleTrayClickShortcutToggle); - settings.watch('notificationSoundEnabledPref', (newValue) => { - state.notificationSoundEnabled = newValue; - }); - settings.watch('pressEnterToSendPref', (newValue) => { - mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { - enterToSend: newValue - }); - }); - settings.watch('hideNotificationContentPref', (newValue) => { - state.notificationContentHidden = newValue; - }); - settings.watch('useSystemDarkModePref', (newValue) => { - state.useSystemDarkMode = newValue; - }); - - setApplicationMenu(); - const menuInstance = Menu.getApplicationMenu(); - - if (IS_MAC) { - app.on('activate', () => { - mainWindow.show(); - }); - } - - nativeTheme.on('updated', () => { - if (state.useSystemDarkMode) { - mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { - useDarkMode: nativeTheme.shouldUseDarkColors - }); - } - }); - - const trayMenuItem = menuInstance.getMenuItemById('startInTrayMenuItem'); - const enableTrayIconMenuItem = menuInstance.getMenuItemById('enableTrayIconMenuItem'); - const notificationSoundEnabledMenuItem = menuInstance.getMenuItemById('notificationSoundEnabledMenuItem'); - const pressEnterToSendMenuItem = menuInstance.getMenuItemById('pressEnterToSendMenuItem'); - const hideNotificationContentMenuItem = menuInstance.getMenuItemById('hideNotificationContentMenuItem'); - const useSystemDarkModeMenuItem = menuInstance.getMenuItemById('useSystemDarkModeMenuItem'); - - if (!IS_MAC) { - // Sets checked status based on user prefs - menuInstance.getMenuItemById('autoHideMenuBarMenuItem').checked = autoHideMenuBar; - trayMenuItem.enabled = trayManager.enabled; - } - - trayMenuItem.checked = startInTray; - enableTrayIconMenuItem.checked = trayManager.enabled; - - if (IS_WINDOWS) { - const trayClickShortcutMenuItem = menuInstance.getMenuItemById('trayClickShortcutMenuItem'); - trayClickShortcutMenuItem.enabled = trayManager.enabled; - // As of Electron 3 or 4, setting checked property (even to false) of multiple items in radio group results in - // the first one always being checked, so we have to set it just on the one where checked should == true - const checkedItemIndex = (trayManager.clickShortcut === 'double-click') ? 0 : 1; - trayClickShortcutMenuItem.submenu.items[checkedItemIndex].checked = true; - } - - notificationSoundEnabledMenuItem.checked = notificationSoundEnabled; - pressEnterToSendMenuItem.checked = pressEnterToSendEnabled; - hideNotificationContentMenuItem.checked = hideNotificationContent; - useSystemDarkModeMenuItem.checked = useSystemDarkMode; - - state.notificationSoundEnabled = notificationSoundEnabled; - state.notificationContentHidden = hideNotificationContent; - state.useSystemDarkMode = useSystemDarkMode; - - autoUpdater.checkForUpdatesAndNotify(); - - const mainWindowOptions = { - width: 1100, - height: 800, - autoHideMenuBar: autoHideMenuBar, - show: !(startInTray), //Starts in tray if set - titleBarStyle: IS_MAC ? 'hiddenInset' : 'default', //Turn on hidden frame on a Mac - webPreferences: { - contextIsolation: false, - nodeIntegration: true, - webviewTag: true - } - }; - - if (IS_LINUX) { - // Setting the icon in Linux tends to be finicky without explicitly setting it like this. - // See: https://github.com/electron/electron/issues/6205 - mainWindowOptions.icon = path.join(__dirname, '..', 'resources', 'icons', '128x128.png'); - }; - - mainWindow = createWindow('main', mainWindowOptions); - - mainWindow.loadURL( - url.format({ - pathname: path.join(__dirname, 'app.html'), - protocol: 'file:', - slashes: true - }) - ); - - trayManager.startIfEnabled(); - - app.mainWindow = mainWindow; // Quick and dirty way for renderer process to access mainWindow for communication - - mainWindow.on('focus', () => { - if (IS_MAC) { - state.unreadNotificationCount = 0; - app.dock.setBadge(''); - } - - if (IS_WINDOWS && trayManager.overlayVisible) { - trayManager.toggleOverlay(false); - } - }); - - ipcMain.on(EVENT_WEBVIEW_NOTIFICATION, (event, msg) => { - if (msg.options) { - const notificationOpts = state.notificationContentHidden ? { - title: 'Android Messages Desktop', - body: 'New Message' - } : { - title: msg.title, - /* - * TODO: Icon is just the logo, which is the only image sent by Google, hopefully someday they will pass - * the sender's picture/avatar here. - * - * We may be able to just do it live by: - * 1. Traversing the DOM for the conversation which matches the sender - * 2. Converting to to SVG to Canvas to PNG using: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas - * 3. Sending image URL which Electron can display via nativeImage.createFromDataURL - * This would likely also require copying computed style properties into the element to ensure it looks right. - * There also appears to be a library: http://html2canvas.hertzen.com - */ - /* - * Google's image for notifications was not working for some reason. I do not - * know what broke it (and I do not really care) but I am going to assume a security header. - * I am going to use one of the icons in the resources folder because it is convienet. - */ - icon: path.resolve(__dirname, "..", "resources", "icons", "64x64.png"), - body: msg.options.body, - }; - notificationOpts.silent = !(state.notificationSoundEnabled); - const customNotification = new Notification(notificationOpts); - - if (IS_MAC) { - if (!mainWindow.isFocused()) { - state.unreadNotificationCount += 1; - app.dock.setBadge('' + state.unreadNotificationCount); - } - } - - trayManager.toggleOverlay(true); - - customNotification.once('click', () => { - mainWindow.show(); - }); - - // Allows us to marry our custom notification and its behavior with the helpful behavior - // (conversation highlighting) that Google provides. See the webview bridge for details. - global.currentNotification = customNotification; - event.sender.send(EVENT_NOTIFICATION_REFLECT_READY, true); - - customNotification.show(); - } - }); - - ipcMain.on(EVENT_BRIDGE_INIT, async (event) => { - if (state.bridgeInitDone) { - return; - } - - state.bridgeInitDone = true; - // We have to send un-solicited events (i.e. an event not the result of an event sent to this process) to the webview bridge - // via the renderer process. I'm not sure of a way to get a reference to the androidMessagesWebview inside the renderer from - // here. There may be a legit way to do it, or we can do it a dirty way like how we pass this process to the renderer. - mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { - enterToSend: pressEnterToSendEnabled, - useDarkMode: useSystemDarkMode ? nativeTheme.shouldUseDarkColors : null - }); - - let spellCheckFiles = null; - let customWords = null; - const currentLanguage = app.getLocale(); - try { - const supportedLanguages = await DictionaryManager.getSupportedLanguages(); - - const dictionaryLocaleKey = DictionaryManager.doesLanguageExistForLocale(currentLanguage, supportedLanguages); - - if (dictionaryLocaleKey) { // Spellchecking is supported for the current language - spellCheckFiles = await DictionaryManager.getLanguagePath(currentLanguage, dictionaryLocaleKey); - - // We send an event with the language key and array of custom words to the webview bridge which contains the - // instance of the spellchecker. Done this way because passing class instances (i.e. of the spellchecker) - // between electron processes is hacky at best and impossible at worst. - const existingCustomWords = settings.get(SETTING_CUSTOM_WORDS, {}); - - customWords = {}; - if (currentLanguage in existingCustomWords) { - customWords = { [currentLanguage]: existingCustomWords[currentLanguage] }; - } - } - } - catch (error) { - // TODO: Display this as an error message to the user? - } - - event.sender.send(EVENT_SPELLING_REFLECT_READY, { - dictionaryLocaleKey: currentLanguage, - spellCheckFiles, - customWords - }); - }); - - ipcMain.on(EVENT_SPELL_ADD_CUSTOM_WORD, (event, msg) => { - // Add custom words picked by the user to a persistent data store because they must be added to - // the instance of Hunspell on each launch of the app/loading of the dictionary. - const { newCustomWord } = msg; - const currentLanguage = app.getLocale(); - const existingCustomWords = settings.get(SETTING_CUSTOM_WORDS, {}); - if (!(currentLanguage in existingCustomWords)) { - existingCustomWords[currentLanguage] = []; - } - if (newCustomWord && !existingCustomWords[currentLanguage].includes(newCustomWord)) { - existingCustomWords[currentLanguage].push(newCustomWord); - settings.set(SETTING_CUSTOM_WORDS, existingCustomWords); - } - }); - - let quitViaContext = false; - app.on('before-quit', () => { - quitViaContext = true; - }); - - const shouldExitOnMainWindowClosed = () => { - if (IS_MAC) { - return quitViaContext; - } else { - if (trayManager.enabled) { - return quitViaContext; - } - return true; - } - }; - - mainWindow.on('close', (event) => { - console.log('close window called'); - if (!shouldExitOnMainWindowClosed()) { - event.preventDefault(); - mainWindow.hide(); - trayManager.showMinimizeToTrayWarning(); - } else { - app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. - } - }); - - if (IS_DEV) { - mainWindow.openDevTools(); - } - - app.on('web-contents-created', (e, contents) => { - - // Check for a webview - if (contents.getType() == 'webview') { - - // Listen for any new window events - contents.on('new-window', (e, url) => { - e.preventDefault() - shell.openExternal(url) - }); - - contents.on('destroyed', (e) => { - // we will need to re-init on reload - state.bridgeInitDone = false; - }); - - contents.on('will-navigate', (e, url) => { - if (url === 'https://messages.google.com/web/authentication') { - // we were logged out, let's display a notification to the user about this in the future - state.bridgeInitDone = false; - } - }); - } - }); - }); -} diff --git a/src/background.ts b/src/background.ts new file mode 100644 index 00000000..c88930f1 --- /dev/null +++ b/src/background.ts @@ -0,0 +1,429 @@ +// This is main process of Electron, started as first thing when your +// app starts. It runs through entire life of your application. +// It doesn't have any windows which you can see on screen, but we can open +// window from here. + +import * as path from "path"; +import * as url from "url"; +import { + app, + Menu, + ipcMain, + Notification, + shell, + nativeTheme, + MenuItemConstructorOptions, + BrowserWindowConstructorOptions, +} from "electron"; +import { autoUpdater } from "electron-updater"; +import { baseMenuTemplate } from "./menu/base_menu_template"; +import { devMenuTemplate } from "./menu/dev_menu_template"; +import { helpMenuTemplate } from "./menu/help_menu_template"; +import { Window } from "./helpers/window"; +import { getDictionary } from "./helpers/dictionary_manager"; +import { TrayManager } from "./helpers/tray_manager"; +import * as settings from "electron-settings"; +import { + IS_MAC, + IS_WINDOWS, + IS_LINUX, + IS_DEV, + SETTING_TRAY_ENABLED, + SETTING_CUSTOM_WORDS, + EVENT_WEBVIEW_NOTIFICATION, + EVENT_NOTIFICATION_REFLECT_READY, + EVENT_BRIDGE_INIT, + EVENT_SPELL_ADD_CUSTOM_WORD, + EVENT_SPELLING_REFLECT_READY, + EVENT_UPDATE_USER_SETTING, +} from "./constants"; + +const state = { + unreadNotificationCount: 0, + notificationSoundEnabled: true, + notificationContentHidden: false, + bridgeInitDone: false, + useSystemDarkMode: true, +}; + +type TOFIX = any; +type CustomWords = Record; + +let mainWindow: TOFIX = null; + +// Prevent multiple instances of the app which causes many problems with an app like ours +// Without this, if an instance were minimized to the tray in Windows, clicking a shortcut would launch another instance, icky +// Adapted from https://github.com/electron/electron/blob/v4.0.4/docs/api/app.md#apprequestsingleinstancelock +const isFirstInstance = app.requestSingleInstanceLock(); + +if (!isFirstInstance) { + app.quit(); +} else { + app.on("second-instance", (_event, _commandLine, _workingDirectory) => { + if (mainWindow) { + if (!mainWindow.isVisible()) { + mainWindow.show(); + } + } + }); + + let trayManager: TrayManager | null = null; + + const setApplicationMenu = () => { + const menus: Array = baseMenuTemplate; + if (IS_DEV) { + menus.push(devMenuTemplate); + } + menus.push(helpMenuTemplate); + Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); + }; + + // Save userData in separate folders for each environment. + // Thanks to this you can use production and development versions of the app + // on same machine like those are two separate apps. + if (IS_DEV) { + const userDataPath = app.getPath("userData"); + app.setPath("userData", `${userDataPath} (${process.env.name})`); + } + + if (IS_WINDOWS) { + // Stupid, DUMB calls that have to be made to let notifications come through on Windows (only Windows 10?) + // See: https://github.com/electron/electron/issues/10864#issuecomment-382519150 + app.setAppUserModelId("com.knepper.android-messages-desktop"); + app.setAsDefaultProtocolClient("android-messages-desktop"); + } + + app.on("ready", () => { + trayManager = new TrayManager(); + + // TODO: Create a preference manager which handles all of these + const autoHideMenuBar = settings.get("autoHideMenuPref", false) as boolean; + const startInTray = settings.get("startInTrayPref", false) as boolean; + const notificationSoundEnabled = settings.get( + "notificationSoundEnabledPref", + true + ) as boolean; + const pressEnterToSendEnabled = settings.get( + "pressEnterToSendPref", + true + ) as boolean; + const hideNotificationContent = settings.get( + "hideNotificationContentPref", + false + ) as boolean; + const useSystemDarkMode = settings.get( + "useSystemDarkModePref", + true + ) as boolean; + settings.watch(SETTING_TRAY_ENABLED, trayManager.handleTrayEnabledToggle); + settings.watch("notificationSoundEnabledPref", (newValue) => { + state.notificationSoundEnabled = newValue; + }); + settings.watch("pressEnterToSendPref", (newValue) => { + mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { + enterToSend: newValue, + }); + }); + settings.watch("hideNotificationContentPref", (newValue) => { + state.notificationContentHidden = newValue; + }); + settings.watch("useSystemDarkModePref", (newValue) => { + state.useSystemDarkMode = newValue; + }); + + setApplicationMenu(); + const menuInstance = Menu.getApplicationMenu(); + + if (IS_MAC) { + app.on("activate", () => { + mainWindow.show(); + }); + } + + nativeTheme.on("updated", () => { + if (state.useSystemDarkMode) { + mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { + useDarkMode: nativeTheme.shouldUseDarkColors, + }); + } + }); + + if (menuInstance != null) { + const trayMenuItem = menuInstance.getMenuItemById("startInTrayMenuItem"); + const enableTrayIconMenuItem = menuInstance.getMenuItemById( + "enableTrayIconMenuItem" + ); + const notificationSoundEnabledMenuItem = menuInstance.getMenuItemById( + "notificationSoundEnabledMenuItem" + ); + const pressEnterToSendMenuItem = menuInstance.getMenuItemById( + "pressEnterToSendMenuItem" + ); + const hideNotificationContentMenuItem = menuInstance.getMenuItemById( + "hideNotificationContentMenuItem" + ); + const useSystemDarkModeMenuItem = menuInstance.getMenuItemById( + "useSystemDarkModeMenuItem" + ); + + if (!IS_MAC) { + // Sets checked status based on user prefs + menuInstance.getMenuItemById( + "autoHideMenuBarMenuItem" + ).checked = autoHideMenuBar; + trayMenuItem.enabled = trayManager.enabled; + } + + trayMenuItem.checked = startInTray; + enableTrayIconMenuItem.checked = trayManager.enabled; + + if (IS_WINDOWS) { + const trayClickShortcutMenuItem = menuInstance.getMenuItemById( + "trayClickShortcutMenuItem" + ); + trayClickShortcutMenuItem.enabled = trayManager.enabled; + } + + notificationSoundEnabledMenuItem.checked = notificationSoundEnabled; + pressEnterToSendMenuItem.checked = pressEnterToSendEnabled; + hideNotificationContentMenuItem.checked = hideNotificationContent; + useSystemDarkModeMenuItem.checked = useSystemDarkMode; + + state.notificationSoundEnabled = notificationSoundEnabled; + state.notificationContentHidden = hideNotificationContent; + state.useSystemDarkMode = useSystemDarkMode; + } + + autoUpdater.checkForUpdatesAndNotify(); + + const mainWindowOptions: BrowserWindowConstructorOptions = { + width: 1100, + height: 800, + autoHideMenuBar: autoHideMenuBar, + show: !startInTray, //Starts in tray if set + titleBarStyle: IS_MAC ? "hiddenInset" : "default", //Turn on hidden frame on a Mac + webPreferences: { + contextIsolation: false, + nodeIntegration: true, + webviewTag: true, + }, + }; + + if (IS_LINUX) { + // Setting the icon in Linux tends to be finicky without explicitly setting it like this. + // See: https://github.com/electron/electron/issues/6205 + mainWindowOptions.icon = path.join( + __dirname, + "..", + "resources", + "icons", + "128x128.png" + ); + } + + mainWindow = new Window("main", mainWindowOptions); + + mainWindow.loadURL( + url.format({ + pathname: path.join(__dirname, "app.html"), + protocol: "file:", + slashes: true, + }) + ); + + trayManager.startIfEnabled(); + + (app as TOFIX).mainWindow = mainWindow; // Quick and dirty way for renderer process to access mainWindow for communication + + mainWindow.on("focus", () => { + if (IS_MAC) { + state.unreadNotificationCount = 0; + app.dock.setBadge(""); + } + + if (IS_WINDOWS && trayManager?.overlayVisible) { + trayManager.toggleOverlay(false); + } + }); + + ipcMain.on(EVENT_WEBVIEW_NOTIFICATION, (event, msg) => { + if (msg.options) { + const notificationOpts: Electron.NotificationConstructorOptions = state.notificationContentHidden + ? { + title: "Android Messages Desktop", + body: "New Message", + } + : { + title: msg.title, + /* + * TODO: Icon is just the logo, which is the only image sent by Google, hopefully someday they will pass + * the sender's picture/avatar here. + * + * We may be able to just do it live by: + * 1. Traversing the DOM for the conversation which matches the sender + * 2. Converting to to SVG to Canvas to PNG using: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas + * 3. Sending image URL which Electron can display via nativeImage.createFromDataURL + * This would likely also require copying computed style properties into the element to ensure it looks right. + * There also appears to be a library: http://html2canvas.hertzen.com + */ + /* + * Google's image for notifications was not working for some reason. I do not + * know what broke it (and I do not really care) but I am going to assume a security header. + * I am going to use one of the icons in the resources folder because it is convienet. + */ + icon: path.resolve( + __dirname, + "..", + "resources", + "icons", + "64x64.png" + ), + body: msg.options.body, + }; + notificationOpts.silent = !state.notificationSoundEnabled; + const customNotification = new Notification(notificationOpts); + + if (IS_MAC) { + if (!mainWindow.isFocused()) { + state.unreadNotificationCount += 1; + app.dock.setBadge("" + state.unreadNotificationCount); + } + } + + trayManager?.toggleOverlay(true); + + customNotification.once("click", () => { + mainWindow.show(); + }); + + // Allows us to marry our custom notification and its behavior with the helpful behavior + // (conversation highlighting) that Google provides. See the webview bridge for details. + (global as TOFIX).currentNotification = customNotification; + event.sender.send(EVENT_NOTIFICATION_REFLECT_READY, true); + + customNotification.show(); + } + }); + + ipcMain.on(EVENT_BRIDGE_INIT, async (event) => { + if (state.bridgeInitDone) { + return; + } + + state.bridgeInitDone = true; + // We have to send un-solicited events (i.e. an event not the result of an event sent to this process) to the webview bridge + // via the renderer process. I'm not sure of a way to get a reference to the androidMessagesWebview inside the renderer from + // here. There may be a legit way to do it, or we can do it a dirty way like how we pass this process to the renderer. + mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { + enterToSend: pressEnterToSendEnabled, + useDarkMode: useSystemDarkMode ? nativeTheme.shouldUseDarkColors : null, + }); + + let spellCheckFiles = null; + let customWords = null; + const currentLanguage = app.getLocale(); + try { + // Spellchecking is supported for the current language + spellCheckFiles = await getDictionary(currentLanguage); + + // We send an event with the language key and array of custom words to the webview bridge which contains the + // instance of the spellchecker. Done this way because passing class instances (i.e. of the spellchecker) + // between electron processes is hacky at best and impossible at worst. + const existingCustomWords = settings.get( + SETTING_CUSTOM_WORDS, + {} + ) as CustomWords; + + customWords = {}; + if (currentLanguage in existingCustomWords) { + customWords = { + [currentLanguage]: existingCustomWords[currentLanguage], + }; + } + } catch (error) { + // TODO: Display this as an error message to the user? + } + + event.sender.send(EVENT_SPELLING_REFLECT_READY, { + dictionaryLocaleKey: currentLanguage, + spellCheckFiles, + customWords, + }); + }); + + ipcMain.on(EVENT_SPELL_ADD_CUSTOM_WORD, (_event, msg) => { + // Add custom words picked by the user to a persistent data store because they must be added to + // the instance of Hunspell on each launch of the app/loading of the dictionary. + const { newCustomWord } = msg; + const currentLanguage = app.getLocale(); + const existingCustomWords = settings.get( + SETTING_CUSTOM_WORDS, + {} + ) as CustomWords; + if (!(currentLanguage in existingCustomWords)) { + existingCustomWords[currentLanguage] = []; + } + if ( + newCustomWord && + !existingCustomWords[currentLanguage].includes(newCustomWord) + ) { + existingCustomWords[currentLanguage].push(newCustomWord); + settings.set(SETTING_CUSTOM_WORDS, existingCustomWords); + } + }); + + let quitViaContext = false; + app.on("before-quit", () => { + quitViaContext = true; + }); + + const shouldExitOnMainWindowClosed = () => { + if (IS_MAC) { + return quitViaContext; + } else { + if (trayManager?.enabled) { + return quitViaContext; + } + return true; + } + }; + + mainWindow.on("close", (event: Electron.Event) => { + console.log("close window called"); + if (!shouldExitOnMainWindowClosed()) { + event.preventDefault(); + mainWindow.hide(); + trayManager?.showMinimizeToTrayWarning(); + } else { + app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. + } + }); + + if (IS_DEV) { + mainWindow.openDevTools(); + } + + app.on("web-contents-created", (e, contents) => { + // Check for a webview + if (contents.getType() == "webview") { + // Listen for any new window events + contents.on("new-window", (e, url) => { + e.preventDefault(); + shell.openExternal(url); + }); + + contents.on("destroyed", () => { + // we will need to re-init on reload + state.bridgeInitDone = false; + }); + + contents.on("will-navigate", (e, url) => { + if (url === "https://messages.google.com/web/authentication") { + // we were logged out, let's display a notification to the user about this in the future + state.bridgeInitDone = false; + } + }); + } + }); + }); +} diff --git a/src/constants.ts b/src/constants.ts new file mode 100644 index 00000000..98c6c6cd --- /dev/null +++ b/src/constants.ts @@ -0,0 +1,49 @@ +import * as process from "process"; +import * as path from "path"; +import { app } from "electron"; + +export const osMap = { + win32: "Windows", + darwin: "macOS", + linux: "Linux", + aix: "AIX", + android: "Android", + freebsd: "FreeBSD", + openbsd: "OpenBSD", + sunos: "SunOS", + cygwin: "CygWin", + netbsd: "NetBSD", +}; + +// Operating system +export const osName = process.platform; +export const osNameFriendly = osMap[osName]; +export const IS_WINDOWS = osName === "win32"; +export const IS_MAC = osName === "darwin"; +export const IS_LINUX = osName === "linux"; + +// Environment and paths +export const IS_DEV = process.env.name === "development"; +export const BASE_APP_PATH = IS_DEV + ? path.resolve(__dirname, "..") + : process.resourcesPath; +export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); +export const USER_DATA_PATH = (): string => app.getPath("userData"); // This has to be a function call because app.ready callback must be fired before this path can be used +export const SPELLING_DICTIONARIES_PATH = (): string => + path.resolve(USER_DATA_PATH(), "dictionaries"); + +// Settings +export const SETTING_TRAY_ENABLED = "trayEnabledPref"; +export const SETTING_CUSTOM_WORDS = "savedCustomDictionaryWords"; + +// Events +export const EVENT_WEBVIEW_NOTIFICATION = "messages-webview-notification"; +export const EVENT_NOTIFICATION_REFLECT_READY = + "messages-webview-reflect-ready"; +export const EVENT_BRIDGE_INIT = "messages-bridge-init"; +export const EVENT_SPELL_ADD_CUSTOM_WORD = "messages-spelling-add-custom-word"; +export const EVENT_SPELLING_REFLECT_READY = "messages-spelling-reflect-ready"; +export const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; + +// Misc. +export const DICTIONARY_CACHE_TIME = 2592000000; // 30 days in milliseconds diff --git a/src/constants/index.js b/src/constants/index.js deleted file mode 100644 index cbc67527..00000000 --- a/src/constants/index.js +++ /dev/null @@ -1,67 +0,0 @@ -import env from "env"; -import path from "path"; -import { app } from "electron"; - -const osMap = { - win32: "Windows", - darwin: "macOS", - linux: "Linux", -}; - -// Operating system -const osName = process.platform; -const osNameFriendly = osMap[osName]; -const IS_WINDOWS = osName === "win32"; -const IS_MAC = osName === "darwin"; -const IS_LINUX = osName === "linux"; - -// Environment and paths -const IS_DEV = env.name === "development"; -const BASE_APP_PATH = IS_DEV - ? path.join(__dirname, "..") - : process.resourcesPath; -const RESOURCES_PATH = path.join(BASE_APP_PATH, "resources"); -const USER_DATA_PATH = () => app.getPath("userData"); // This has to be a function call because app.ready callback must be fired before this path can be used -const SPELLING_DICTIONARIES_PATH = () => - path.join(USER_DATA_PATH(), "dictionaries"); -const SUPPORTED_LANGUAGES_PATH = () => - path.join(SPELLING_DICTIONARIES_PATH(), "supported-languages.json"); - -// Settings -const SETTING_TRAY_ENABLED = "trayEnabledPref"; -const SETTING_TRAY_CLICK_SHORTCUT = "trayClickShortcut"; -const SETTING_CUSTOM_WORDS = "savedCustomDictionaryWords"; - -// Events -const EVENT_WEBVIEW_NOTIFICATION = "messages-webview-notification"; -const EVENT_NOTIFICATION_REFLECT_READY = "messages-webview-reflect-ready"; -const EVENT_BRIDGE_INIT = "messages-bridge-init"; -const EVENT_SPELL_ADD_CUSTOM_WORD = "messages-spelling-add-custom-word"; -const EVENT_SPELLING_REFLECT_READY = "messages-spelling-reflect-ready"; -const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; - -// Misc. -const DICTIONARY_CACHE_TIME = 2592000000; // 30 days in milliseconds - -export { - osName, - osNameFriendly, - IS_WINDOWS, - IS_MAC, - IS_LINUX, - IS_DEV, - BASE_APP_PATH, - RESOURCES_PATH, - SPELLING_DICTIONARIES_PATH, - SUPPORTED_LANGUAGES_PATH, - SETTING_TRAY_ENABLED, - SETTING_TRAY_CLICK_SHORTCUT, - SETTING_CUSTOM_WORDS, - EVENT_WEBVIEW_NOTIFICATION, - EVENT_NOTIFICATION_REFLECT_READY, - EVENT_BRIDGE_INIT, - EVENT_SPELL_ADD_CUSTOM_WORD, - EVENT_SPELLING_REFLECT_READY, - EVENT_UPDATE_USER_SETTING, - DICTIONARY_CACHE_TIME, -}; diff --git a/src/helpers/dictionary_manager.js b/src/helpers/dictionary_manager.js deleted file mode 100644 index 3e8790e6..00000000 --- a/src/helpers/dictionary_manager.js +++ /dev/null @@ -1,242 +0,0 @@ -import fs from "fs"; -import https from "https"; -import path from "path"; -import { - SPELLING_DICTIONARIES_PATH, - SUPPORTED_LANGUAGES_PATH, - DICTIONARY_CACHE_TIME, -} from "../constants"; -import { maybeGetValidJson, isObject } from "./utilities"; - -// Use a known existing commit to dictionaries in case something bad happens to master -const DICTIONARIES_COMMIT_HASH = "2de863c"; - -export default class DictionaryManager { - static isFileExpired(filePath) { - const fileInfo = fs.statSync(filePath); - const fileModifiedTime = parseInt(fileInfo.mtimeMs, 10); - const nowTime = new Date().getTime(); - const millisecondsSinceFileUpdated = Math.abs(nowTime - fileModifiedTime); - return millisecondsSinceFileUpdated >= DICTIONARY_CACHE_TIME; - } - - static async getSupportedLanguages() { - return new Promise((resolve, reject) => { - if (!fs.existsSync(SPELLING_DICTIONARIES_PATH())) { - fs.mkdirSync(SPELLING_DICTIONARIES_PATH()); - } - - if (fs.existsSync(SUPPORTED_LANGUAGES_PATH())) { - if (!DictionaryManager.isFileExpired(SUPPORTED_LANGUAGES_PATH())) { - // Supported languages file has not reached max cache time yet (30 days), so try to use it - const jsonStringFromFile = fs.readFileSync( - SUPPORTED_LANGUAGES_PATH() - ); - const supportedLanguagesJsonParsed = maybeGetValidJson( - jsonStringFromFile - ); - if ( - isObject(supportedLanguagesJsonParsed) && - Array.isArray(supportedLanguagesJsonParsed) - ) { - resolve(supportedLanguagesJsonParsed); - return; - } - } - - // If this point is reached, the file exists but isn't valid JSON, so this function will continue - // (and try to download it again) - } - - // Adapted from: https://stackoverflow.com/questions/35697058/download-and-store-files-inside-electron-app - - const requestOptions = { - host: "api.github.com", - port: 443, - path: `/repos/wooorm/dictionaries/contents/dictionaries?ref=${DICTIONARIES_COMMIT_HASH}`, - method: "GET", - headers: { - "User-Agent": "chrisknepper/android-messages-desktop", - }, - }; - - https - .get(requestOptions, (response) => { - if (response.statusCode === 200 || response.statusCode === 302) { - // Only create the local file if it exists on Github - let supportedLanguagesJsonFile = fs.createWriteStream( - SUPPORTED_LANGUAGES_PATH() - ); - response.pipe(supportedLanguagesJsonFile); - - supportedLanguagesJsonFile.on("error", (err) => { - // something went wrong with the download and we may or may not have part of the file - // let's set it to empty since calling unlink is hit or miss for non-root Linux users - if (fs.existsSync(SUPPORTED_LANGUAGES_PATH())) { - fs.writeFileSync(SUPPORTED_LANGUAGES_PATH(), ""); - } - reject(null); // File write error - return; - }); - supportedLanguagesJsonFile.on("finish", (finished) => { - const jsonStringFromFile = fs.readFileSync( - SUPPORTED_LANGUAGES_PATH() - ); - const supportedLanguagesJsonParsed = maybeGetValidJson( - jsonStringFromFile - ); - if ( - isObject(supportedLanguagesJsonParsed) && - Array.isArray(supportedLanguagesJsonParsed) - ) { - resolve(supportedLanguagesJsonParsed); - } - }); - } else { - reject(null); - return; - } - }) - .on("error", (error) => { - reject(null); // Request for JSON failed (likely either Github down or API error) - }); - }); - } - - static doesLanguageExistForLocale(userLanguage, supportedLocales) { - if (!userLanguage || !Array.isArray(supportedLocales)) { - return null; - } - /* - * It is possible for Electron to return a locale code for which there are multiple - * "close match" dictionaries but no exact match. For these special cases, we - * hardcode which dictionary should be used here. - */ - const specialLanguageCases = { - // For a system returning just generic "English", load the Queen's English because its spellings - // are more common anywhere outside of USA, where en-US should always be returned. - en: "en-GB", - /* - * Electron returns "hy" for any dialect of Armenian but there are only dictionaries for Eastern - * Armenian and Western Armenian--no generic "Armenian." According to Wikipedia, Eastern Armenian - * is more widely spoken and acts as a superset of Western Armenian. Since there is no other - * reliable way to tell which dialect a user would prefer, we use Eastern Armenian because of the - * larger number of speakers of that language. - */ - hy: "hy-arevela", - }; - - let downloadDictionaryKey = null; - - // Every locale code for which a dictionary exists, as an array - const listOfSupportedLanguages = supportedLocales.map((folder) => { - if (folder.type === "dir") { - return folder.name; - } - }); - - if (listOfSupportedLanguages.includes(userLanguage)) { - // language has an exact match and is supported - downloadDictionaryKey = userLanguage; - } else if (userLanguage in specialLanguageCases) { - // language is a special case and is supported - downloadDictionaryKey = specialLanguageCases[userLanguage]; - } else { - // language may be supported, we'll try to find the closest match available (i.e. another dialect of the same language) - const closestLanguageMatch = listOfSupportedLanguages.filter( - (language) => language.substr(0, 2) === userLanguage.substr(0, 2) - ); - if (closestLanguageMatch.length) { - downloadDictionaryKey = closestLanguageMatch[0]; - } - // else, there are no dictionaries available...womp womp - } - - return downloadDictionaryKey; - } - - static async getLanguagePath(userLanguage, localeKey) { - return new Promise((resolve, reject) => { - const localDictionaryFiles = { - userLanguageAffFile: path.join( - SPELLING_DICTIONARIES_PATH(), - `${userLanguage}.aff` - ), - userLanguageDicFile: path.join( - SPELLING_DICTIONARIES_PATH(), - `${userLanguage}.dic` - ), - }; - const languageDictFilesExist = - fs.existsSync(localDictionaryFiles.userLanguageAffFile) && - fs.existsSync(localDictionaryFiles.userLanguageDicFile); - const languageDictFilesTooOld = - languageDictFilesExist && - DictionaryManager.isFileExpired( - localDictionaryFiles.userLanguageAffFile - ); // Only need to check one of the two - if (languageDictFilesExist && !languageDictFilesTooOld) { - resolve(localDictionaryFiles); - } else { - if (localeKey) { - // Try to download the dictionary files for a language - - const downloadState = { - affFile: false, - dicFile: false, - }; - - const dictBaseUrl = `https://raw.githubusercontent.com/wooorm/dictionaries/${DICTIONARIES_COMMIT_HASH}/dictionaries/${localeKey}/index`; - - https - .get(`${dictBaseUrl}.aff`, (response) => { - if (response.statusCode === 200 || response.statusCode === 302) { - let affFile = fs.createWriteStream( - localDictionaryFiles.userLanguageAffFile - ); - response.pipe(affFile); - - affFile.on("error", (err) => { - reject(null); // File write error - }); - affFile.on("finish", (finished) => { - downloadState.affFile = true; - - downloadState.affFile && - downloadState.dicFile && - resolve(localDictionaryFiles); - }); - } - }) - .on("error", (error) => { - reject(null); // File download error (Github down or file doesn't exist) - }); - - https - .get(`${dictBaseUrl}.dic`, (response) => { - if (response.statusCode === 200 || response.statusCode === 302) { - let dicFile = fs.createWriteStream( - localDictionaryFiles.userLanguageDicFile - ); - response.pipe(dicFile); - - dicFile.on("error", (err) => { - reject(null); // File write error - }); - dicFile.on("finish", (finished) => { - downloadState.dicFile = true; - - downloadState.affFile && - downloadState.dicFile && - resolve(localDictionaryFiles); - }); - } - }) - .on("error", (error) => { - reject(null); // File download error (Github down or file doesn't exist) - }); - } - } - }); - } -} diff --git a/src/helpers/dictionary_manager.ts b/src/helpers/dictionary_manager.ts new file mode 100644 index 00000000..5aa5e5cb --- /dev/null +++ b/src/helpers/dictionary_manager.ts @@ -0,0 +1,112 @@ +import * as path from "path"; +import * as fsJetpack from "fs-jetpack"; +import { SPELLING_DICTIONARIES_PATH, RESOURCES_PATH } from "../constants"; +import fetch from "node-fetch"; + +interface GithubEntry { + name: string; + path: string; + sha: string; + size: number; + url: string; + html_url: string; + git_url: string; + download_url: string | null; + type: string; +} + +async function getSupportedLanguages(): Promise { + const fileData = (await fsJetpack.readAsync( + path.resolve(RESOURCES_PATH, "supportedLanguages.json") + )) as string; + return JSON.parse(fileData); +} + +async function getLanguageObject(locale: string): Promise { + /* + * It is possible for Electron to return a locale code for which there are multiple + * "close match" dictionaries but no exact match. For these special cases, we + * hardcode which dictionary should be used here. + * + * For a system returning just generic "English", load the Queen's English because its spellings + * are more common anywhere outside of USA, where en-US should always be returned. + * + * Electron returns "hy" for any dialect of Armenian but there are only dictionaries for Eastern + * Armenian and Western Armenian--no generic "Armenian." According to Wikipedia, Eastern Armenian + * is more widely spoken and acts as a superset of Western Armenian. Since there is no other + * reliable way to tell which dialect a user would prefer, we use Eastern Armenian because of the + * larger number of speakers of that language. + */ + + if (locale === "en") { + locale = "en-GB"; + } else if (locale === "hy") { + locale = "hy-arevela"; + } + + let language: GithubEntry; + + // Every locale code for which a dictionary exists, as an array + const supportedLanguages = (await getSupportedLanguages()).filter( + (language) => language.name === "dir" + ); + const names = supportedLanguages.map((language) => language.name); + if (names.includes(locale)) { + language = supportedLanguages[names.indexOf(locale)]; + } else { + // language may be supported, we'll try to find the closest match available (i.e. another dialect of the same language) + const indexOfClosestMatch = names + .map((language) => language.substr(0, 2)) + .indexOf(locale.substr(0, 2)); + if (indexOfClosestMatch) { + language = supportedLanguages[indexOfClosestMatch]; + } else { + throw new Error("Locale not supported"); + } + } + + return language; +} + +interface Dictionary { + aff: string; + dic: string; +} + +export async function getDictionary(locale: string): Promise { + const language = await getLanguageObject(locale); + const dirPath = path.resolve(SPELLING_DICTIONARIES_PATH(), language.name); + const fileRoot = path.resolve(dirPath, "index"); + // if dir doesnt exist + if (!(await fsJetpack.dirAsync(dirPath))) { + // if both files dont exist + if ( + !(await fsJetpack.existsAsync(fileRoot + ".aff")) || + !(await fsJetpack.existsAsync(fileRoot + ".dic")) + ) { + const downloadEntries = (await ( + await fetch(language.url) + ).json()) as GithubEntry[]; + const downloads = downloadEntries.filter((download) => + ["aff", "dic"].includes(download.name.split(".")[1]) + ); + await Promise.all( + downloads.map(async (download) => { + if (download.download_url) { + const content = await (await fetch(download.download_url)).text(); + return await fsJetpack.writeAsync( + fileRoot + download.name.split(".")[1], + content + ); + } else { + throw new Error("Download not found"); + } + }) + ); + } + } + return { + aff: fileRoot + ".aff", + dic: fileRoot + ".dic", + }; +} diff --git a/src/helpers/tray/tray_manager.js b/src/helpers/tray/tray_manager.js deleted file mode 100644 index c82297fd..00000000 --- a/src/helpers/tray/tray_manager.js +++ /dev/null @@ -1,220 +0,0 @@ -import path from "path"; -import { app, Tray, Menu } from "electron"; -import { trayMenuTemplate } from "../../menu/tray_menu_template"; -import { - IS_MAC, - IS_LINUX, - IS_WINDOWS, - SETTING_TRAY_ENABLED, - SETTING_TRAY_CLICK_SHORTCUT, -} from "../../constants"; -import settings from "electron-settings"; - -// TODO: Make this static -export default class TrayManager { - constructor() { - // Must declare reference to instance of Tray as a variable, not a const, or bad/weird things happen! - this._tray = null; - // Enable tray/menu bar icon by default except on Linux -- the system having a tray is less of a guarantee on Linux. - this._enabled = settings.get(SETTING_TRAY_ENABLED, !IS_LINUX); - this._iconPath = this.setTrayIconPath(); - this._overlayIconPath = this.setOverlayIconPath(); - this._overlayVisible = false; - this._clickShortcut = settings.get( - SETTING_TRAY_CLICK_SHORTCUT, - "double-click" - ); - - this.handleTrayEnabledToggle = this.handleTrayEnabledToggle.bind(this); - this.handleTrayClickShortcutToggle = this.handleTrayClickShortcutToggle.bind( - this - ); - } - - get tray() { - return this._tray; - } - - set tray(trayInstance) { - this._tray = trayInstance; - } - - get enabled() { - return this._enabled; - } - - set enabled(enabled) { - this._enabled = enabled; - } - - get trayIconPath() { - return this._iconPath; - } - - get overlayIconPath() { - return this._overlayIconPath; - } - - get overlayVisible() { - return this._overlayVisible; - } - - set overlayVisible(visible) { - this._overlayVisible = visible; - } - - get clickShortcut() { - return this._clickShortcut; - } - - set clickShortcut(shortcut) { - this._clickShortcut = shortcut; - } - - setTrayIconPath() { - if (IS_WINDOWS) { - // Re-use regular app .ico for the tray icon on Windows. - return path.join(__dirname, "..", "resources", "icon.ico"); - } else { - // Mac tray icon filename MUST end in 'Template' and contain only black and transparent pixels. - // Otherwise, automatic inversion and dark mode appearance won't work. - // See: https://stackoverflow.com/questions/41664208/electron-tray-icon-change - const trayIconFileName = IS_MAC ? "icon_macTemplate.png" : "icon.png"; - return path.join(__dirname, "..", "resources", "tray", trayIconFileName); - } - } - - setOverlayIconPath() { - if (IS_WINDOWS) { - return path.join( - __dirname, - "..", - "resources", - "tray", - "tray_with_badge.ico" - ); - } - return null; - } - - startIfEnabled() { - if (this.enabled) { - this.tray = new Tray(this.trayIconPath); - let trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); - this.tray.setContextMenu(trayContextMenu); - this.setupEventListeners(); - } - } - - setupEventListeners() { - if (IS_WINDOWS) { - this.tray.on(this.clickShortcut, this.handleTrayClick); - } - - // This actually has no effect. Electron docs say that click event is ignored on Linux for - // AppIndicator tray, but I can't find a way to not use AppIndicator for Linux tray. - if (IS_LINUX) { - this.tray.on("click", this.handleTrayClick); - } - } - - destroyEventListeners() { - this.tray.removeListener("click", this.handleTrayClick); - this.tray.removeListener("double-click", this.handleTrayClick); - } - - handleTrayClick(event) { - event.preventDefault(); - if (app.mainWindow) { - app.mainWindow.show(); - } - } - - destroy() { - this.tray.destroy(); - this.tray = null; - } - - showMinimizeToTrayWarning() { - if (IS_WINDOWS && this.enabled) { - const seenMinimizeToTrayWarning = settings.get( - "seenMinimizeToTrayWarningPref", - false - ); - if (!seenMinimizeToTrayWarning) { - this.tray.displayBalloon({ - title: "Android Messages", - content: - "Android Messages is still running in the background. To close it, use the File menu or right-click on the tray icon.", - }); - settings.set("seenMinimizeToTrayWarningPref", true); - } - } - } - - handleTrayEnabledToggle(newValue, oldValue) { - this.enabled = newValue; - let liveStartInTrayMenuItemRef = Menu.getApplicationMenu().getMenuItemById( - "startInTrayMenuItem" - ); - let livetrayClickShortcutMenuItemRef = Menu.getApplicationMenu().getMenuItemById( - "trayClickShortcutMenuItem" - ); - - if (newValue) { - if (!IS_MAC) { - // Must get a live reference to the menu item when updating their properties from outside of them. - liveStartInTrayMenuItemRef.enabled = true; - } - if (IS_WINDOWS) { - livetrayClickShortcutMenuItemRef.enabled = true; - } - if (!this.tray) { - this.startIfEnabled(); - } - } - if (!newValue) { - if (this.tray) { - this.destroy(); - if (!IS_MAC && app.mainWindow) { - if (!app.mainWindow.isVisible()) { - app.mainWindow.show(); - } - } - } - if (!IS_MAC) { - // If the app has no tray icon, it can be difficult or impossible to re-gain access to the window, so disallow - // starting hidden, except on Mac, where the app window can still be un-hidden via the dock. - settings.set("startInTrayPref", false); - liveStartInTrayMenuItemRef.enabled = false; - liveStartInTrayMenuItemRef.checked = false; - } - if (IS_WINDOWS) { - livetrayClickShortcutMenuItemRef.enabled = false; - } - if (IS_LINUX) { - // On Linux, the call to tray.destroy doesn't seem to work, causing multiple instances of the tray icon. - // Work around this by quickly restarting the app. - app.relaunch(); - app.exit(0); - } - } - } - - handleTrayClickShortcutToggle(newValue, oldValue) { - this.clickShortcut = newValue; - this.destroyEventListeners(); - this.setupEventListeners(); - } - - toggleOverlay(toggle) { - if (IS_WINDOWS && this.tray && toggle !== this.overlayVisible) { - if (toggle) { - this.tray.setImage(this.overlayIconPath); - } else { - this.tray.setImage(this.trayIconPath); - } - this.overlayVisible = toggle; - } - } -} diff --git a/src/helpers/tray_manager.ts b/src/helpers/tray_manager.ts new file mode 100644 index 00000000..42cbf8a5 --- /dev/null +++ b/src/helpers/tray_manager.ts @@ -0,0 +1,165 @@ +import * as path from "path"; +import { app, Tray, Menu } from "electron"; +import { trayMenuTemplate } from "../menu/tray_menu_template"; +import { + IS_MAC, + IS_LINUX, + IS_WINDOWS, + SETTING_TRAY_ENABLED, + RESOURCES_PATH, +} from "../constants"; +import * as settings from "electron-settings"; + +type TOFIX = any; + +export class TrayManager { + public enabled = settings.get(SETTING_TRAY_ENABLED, !IS_LINUX) as boolean; + public iconPath = this.getIconPath(); + public overlayIconPath = this.getOverlayIconPath(); + public overlayVisible = false; + + public tray: Tray | null = null; + + constructor() { + this.handleTrayEnabledToggle = this.handleTrayEnabledToggle.bind(this); + } + + private getIconPath(): string { + if (IS_WINDOWS) { + // Re-use regular app .ico for the tray icon on Windows. + return path.resolve(RESOURCES_PATH, "icon.ico"); + } else { + // Mac tray icon filename MUST end in 'Template' and contain only black and transparent pixels. + // Otherwise, automatic inversion and dark mode appearance won't work. + // See: https://stackoverflow.com/questions/41664208/electron-tray-icon-change + const trayIconFileName = IS_MAC ? "icon_macTemplate.png" : "icon.png"; + return path.resolve(RESOURCES_PATH, "tray", trayIconFileName); + } + } + + private getOverlayIconPath(): string | null { + if (IS_WINDOWS) { + return path.resolve(RESOURCES_PATH, "tray", "tray_with_badge.ico"); + } + return null; + } + + public startIfEnabled(): void { + if (this.enabled) { + this.tray = new Tray(this.iconPath); + const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); + this.tray.setContextMenu(trayContextMenu); + this.setupEventListeners(); + } + } + + private setupEventListeners() { + if (this.tray != null) { + this.tray.on("click", this.handleTrayClick); + } + } + + private destroyEventListeners() { + if (this.tray != null) { + this.tray.removeListener("click", this.handleTrayClick); + this.tray.removeListener("double-click", this.handleTrayClick); + } + } + + private handleTrayClick(event: Electron.KeyboardEvent) { + event.preventDefault(); + if ((app as TOFIX).mainWindow) { + (app as TOFIX).mainWindow.show(); + } + } + + private destroy(): void { + if (this.tray) { + this.destroyEventListeners(); + this.tray.destroy(); + this.tray = null; + } + } + + public showMinimizeToTrayWarning() { + if (IS_WINDOWS && this.enabled) { + const seenMinimizeToTrayWarning = settings.get( + "seenMinimizeToTrayWarningPref", + false + ) as boolean; + if (!seenMinimizeToTrayWarning && this.tray != null) { + this.tray.displayBalloon({ + title: "Android Messages", + content: + "Android Messages is still running in the background. To close it, use the File menu or right-click on the tray icon.", + }); + settings.set("seenMinimizeToTrayWarningPref", true); + } + } + } + + public handleTrayEnabledToggle(newValue: boolean): void { + this.enabled = newValue; + const liveStartInTrayMenuItemRef = Menu.getApplicationMenu()?.getMenuItemById( + "startInTrayMenuItem" + ); + const livetrayClickShortcutMenuItemRef = Menu.getApplicationMenu()?.getMenuItemById( + "trayClickShortcutMenuItem" + ); + + if (newValue) { + if (!IS_MAC && liveStartInTrayMenuItemRef != null) { + // Must get a live reference to the menu item when updating their properties from outside of them. + liveStartInTrayMenuItemRef.enabled = true; + } + if (IS_WINDOWS && livetrayClickShortcutMenuItemRef != null) { + livetrayClickShortcutMenuItemRef.enabled = true; + } + if (!this.tray) { + this.startIfEnabled(); + } + } + if (!newValue) { + if (this.tray) { + this.destroy(); + if (!IS_MAC && (app as TOFIX).mainWindow) { + if (!(app as TOFIX).mainWindow.isVisible()) { + (app as TOFIX).mainWindow.show(); + } + } + } + if (!IS_MAC && liveStartInTrayMenuItemRef != null) { + // If the app has no tray icon, it can be difficult or impossible to re-gain access to the window, so disallow + // starting hidden, except on Mac, where the app window can still be un-hidden via the dock. + settings.set("startInTrayPref", false); + liveStartInTrayMenuItemRef.enabled = false; + liveStartInTrayMenuItemRef.checked = false; + } + if (IS_WINDOWS && livetrayClickShortcutMenuItemRef != null) { + livetrayClickShortcutMenuItemRef.enabled = false; + } + if (IS_LINUX) { + // On Linux, the call to tray.destroy doesn't seem to work, causing multiple instances of the tray icon. + // Work around this by quickly restarting the app. + app.relaunch(); + app.exit(0); + } + } + } + + public toggleOverlay(toggle: boolean): void { + if ( + IS_WINDOWS && + this.tray && + toggle !== this.overlayVisible && + this.overlayIconPath != null + ) { + if (toggle) { + this.tray.setImage(this.overlayIconPath); + } else { + this.tray.setImage(this.iconPath); + } + this.overlayVisible = toggle; + } + } +} diff --git a/src/helpers/utilities.js b/src/helpers/utilities.js deleted file mode 100644 index 1ee050af..00000000 --- a/src/helpers/utilities.js +++ /dev/null @@ -1,17 +0,0 @@ -function maybeGetValidJson(jsonText) { - if (jsonText === null || jsonText === false || jsonText === "") { - return false; - } - - try { - return JSON.parse(jsonText); - } catch { - return false; - } -} - -function isObject(maybeObj) { - return typeof maybeObj === "object"; -} - -export { maybeGetValidJson, isObject }; diff --git a/src/helpers/webview/bridge.js b/src/helpers/webview/bridge.ts similarity index 75% rename from src/helpers/webview/bridge.js rename to src/helpers/webview/bridge.ts index cf3d3a37..ffba6e3c 100644 --- a/src/helpers/webview/bridge.js +++ b/src/helpers/webview/bridge.ts @@ -8,15 +8,16 @@ import { EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, } from "../../constants"; -import { isObject } from "../../helpers/utilities"; import { ipcRenderer, remote } from "electron"; -import InputManager from "./input_manager"; +import { handleEnterPrefToggle } from "./input_manager"; import fs from "fs"; import { SpellCheckerProvider, attachSpellCheckProvider, } from "electron-hunspell"; +type TOFIX = any; + // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -27,7 +28,7 @@ window.onload = () => { // Without observing the DOM, we don't have a reliable way to let the main process know once // (and only once) that the main part of the app (not the QR code screen) has loaded, which is // when we need to init the spellchecker - const onMutation = function (mutationsList, observer) { + const onMutation = (mutationsList: TOFIX, observer: MutationObserver) => { if (document.querySelector("mw-main-nav")) { // we're definitely logged-in if this is in the DOM ipcRenderer.send(EVENT_BRIDGE_INIT); @@ -37,7 +38,8 @@ window.onload = () => { }; const observer = new MutationObserver(onMutation); - observer.observe(document.querySelector("body"), { + // There is always a body so TS is being dumb + observer.observe((document.querySelector("body") as unknown) as HTMLElement, { childList: true, attributes: true, }); @@ -56,7 +58,7 @@ ipcRenderer.once( spellCheckFiles.userLanguageDicFile ) { const provider = new SpellCheckerProvider(); - window.spellCheckHandler = provider; + (window as TOFIX).spellCheckHandler = provider; await provider.initialize({}); // Empty brace correct, see: https://github.com/kwonoj/electron-hunspell/blob/master/example/browserWindow.ts await provider.loadDictionary( @@ -68,7 +70,7 @@ ipcRenderer.once( const attached = await attachSpellCheckProvider(provider); attached.switchLanguage(dictionaryLocaleKey); - let table = window.spellCheckHandler.spellCheckerTable; + const table = (window as TOFIX).spellCheckHandler.spellCheckerTable; if ( dictionaryLocaleKey in customWords && table && @@ -88,20 +90,18 @@ ipcRenderer.once( ); ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { - if (isObject(settingsList)) { - if ("useDarkMode" in settingsList && settingsList.useDarkMode !== null) { - if (settingsList.useDarkMode) { - // Props to Google for making the web app use dark mode entirely based on this class - // and for making the class name semantic! - document.body.classList.add("dark-mode"); - } else { - document.body.classList.remove("dark-mode"); - } - } - if ("enterToSend" in settingsList) { - InputManager.handleEnterPrefToggle(settingsList.enterToSend); + if ("useDarkMode" in settingsList && settingsList.useDarkMode !== null) { + if (settingsList.useDarkMode) { + // Props to Google for making the web app use dark mode entirely based on this class + // and for making the class name semantic! + document.body.classList.add("dark-mode"); + } else { + document.body.classList.remove("dark-mode"); } } + if ("enterToSend" in settingsList) { + handleEnterPrefToggle(settingsList.enterToSend); + } }); const OriginalBrowserNotification = Notification; @@ -117,8 +117,11 @@ const OriginalBrowserNotification = Notification; * https://stackoverflow.com/questions/31231622/event-listener-for-web-notification * https://stackoverflow.com/questions/1421257/intercept-javascript-event */ -Notification = function (title, options) { - let notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) +// It hurts but this is so antipattern I am telling the ts compiler to screw itself +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +Notification = function (title: string, options?: NotificationOptions) { + const notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) /* * Google's own notifications have a click event listener which takes care of highlighting @@ -135,10 +138,15 @@ Notification = function (title, options) { * time we can reliably get a reference to the Electron notification and attach Google's click * event listener. */ - let originalClickListener = null; + let originalClickListener: (() => void) | null = null; const originalAddEventListener = notificationToSend.addEventListener; - notificationToSend.addEventListener = function (type, listener, options) { + // Seems silly to have these be correct as there is no way to mess it up + notificationToSend.addEventListener = ( + type: TOFIX, + listener: TOFIX, + options: TOFIX + ) => { if (type === "click") { originalClickListener = listener; } else { @@ -153,8 +161,8 @@ Notification = function (title, options) { } }; - ipcRenderer.once(EVENT_NOTIFICATION_REFLECT_READY, (event, arg) => { - let theHookedUpNotification = remote.getGlobal("currentNotification"); + ipcRenderer.once(EVENT_NOTIFICATION_REFLECT_READY, () => { + const theHookedUpNotification = remote.getGlobal("currentNotification"); if ( typeof theHookedUpNotification === "object" && typeof originalClickListener === "function" @@ -171,5 +179,8 @@ Notification = function (title, options) { return notificationToSend; }; Notification.prototype = OriginalBrowserNotification.prototype; +// It hurts but this is so antipattern I am telling the ts compiler to screw itself +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore Notification.permission = OriginalBrowserNotification.permission; Notification.requestPermission = OriginalBrowserNotification.requestPermission; diff --git a/src/helpers/webview/context_menu.js b/src/helpers/webview/context_menu.ts similarity index 79% rename from src/helpers/webview/context_menu.js rename to src/helpers/webview/context_menu.ts index c5063909..e9fa22e6 100644 --- a/src/helpers/webview/context_menu.js +++ b/src/helpers/webview/context_menu.ts @@ -1,11 +1,18 @@ // Provide context menus (copy, paste, save image, etc...) for right-click interaction. -import { ipcRenderer, remote } from "electron"; +import { + ipcRenderer, + MenuItemConstructorOptions, + remote, + ContextMenuParams, +} from "electron"; import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../../constants"; +type TOFIX = any; + const { Menu } = remote; -const standardMenuTemplate = [ +const standardMenuTemplate: MenuItemConstructorOptions[] = [ { label: "Copy", role: "copy", @@ -15,11 +22,11 @@ const standardMenuTemplate = [ }, { label: "Select All", - role: "selectall", + role: "selectAll", }, ]; -const textMenuTemplate = [ +const textMenuTemplate: MenuItemConstructorOptions[] = [ { label: "Undo", role: "undo", @@ -48,11 +55,14 @@ const textMenuTemplate = [ }, { label: "Select All", - role: "selectall", + role: "selectAll", }, ]; -const popupContextMenu = async (event, params) => { +export const popupContextMenu = async ( + event: Electron.Event, + params: ContextMenuParams +): Promise => { // As of Electron 4, Menu.popup no longer accepts being called with the signature popup(remote.getCurrentWindow()) // It must be passed as an object with the window key. Is this change silly? Yes. Will we know why it was done? No. const menuPopupArgs = { @@ -63,7 +73,7 @@ const popupContextMenu = async (event, params) => { case "video": case "image": if (params.srcURL && params.srcURL.length) { - let mediaType = + const mediaType = params.mediaType[0].toUpperCase() + params.mediaType.slice(1); const mediaInputMenu = Menu.buildFromTemplate([ { @@ -95,7 +105,7 @@ const popupContextMenu = async (event, params) => { mediaInputMenu.popup({ window: remote.getCurrentWindow(), callback: () => { - mediaInputMenu = null; // Unsure if memory would leak without this (Clean up, clean up, everybody do your share) + (mediaInputMenu as unknown) = null; // Unsure if memory would leak without this (Clean up, clean up, everybody do your share) }, }); } @@ -104,7 +114,7 @@ const popupContextMenu = async (event, params) => { if (params.isEditable) { const textMenuTemplateCopy = [...textMenuTemplate]; if ( - window.spellCheckHandler && + (window as TOFIX).spellCheckHandler && params.misspelledWord && typeof params.misspelledWord === "string" ) { @@ -116,10 +126,10 @@ const popupContextMenu = async (event, params) => { label: `Add ${booboo} to Dictionary`, click: async () => { // Immediately clear red underline - event.sender.replaceMisspelling(booboo); + (event as TOFIX).sender.replaceMisspelling(booboo); // Add new custom word to dictionary for the current session - const localeKey = await window.spellCheckHandler.getSelectedDictionaryLanguage(); - window.spellCheckHandler.spellCheckerTable[ + const localeKey = await (window as TOFIX).spellCheckHandler.getSelectedDictionaryLanguage(); + (window as TOFIX).spellCheckHandler.spellCheckerTable[ localeKey ].spellChecker.addWord(booboo); // Send new custom word to main process so it will be added to the dictionary at the start of future sessions @@ -129,9 +139,9 @@ const popupContextMenu = async (event, params) => { }, }); - const suggestions = await window.spellCheckHandler.getSuggestion( + const suggestions = (await (window as TOFIX).spellCheckHandler.getSuggestion( params.misspelledWord - ); + )) as string[]; if (suggestions && suggestions.length) { textMenuTemplateCopy.unshift({ type: "separator", @@ -142,10 +152,12 @@ const popupContextMenu = async (event, params) => { .reverse() .slice(0, 8) .map((correction) => { - let item = { + const item = { label: correction, click: () => { - return event.sender.replaceMisspelling(correction); + return (event as TOFIX).sender.replaceMisspelling( + correction + ); }, }; @@ -162,5 +174,3 @@ const popupContextMenu = async (event, params) => { } } }; - -export { popupContextMenu }; diff --git a/src/helpers/webview/input_manager.js b/src/helpers/webview/input_manager.js deleted file mode 100644 index da593370..00000000 --- a/src/helpers/webview/input_manager.js +++ /dev/null @@ -1,25 +0,0 @@ -// Things relating to changing the way user input affect the app page go here - -// We need to block all of these if we're disabling send on enter -const KEYBOARD_EVENTS = ["keyup", "keypress", "keydown"]; - -// Effectively private methods - -// For whatever reason, this won't work if defined as a static method of InputManager -const blockEnterKeyEvent = (event) => { - if (event.keyCode === 13) { - event.stopPropagation(); - } -}; - -export default class InputManager { - static handleEnterPrefToggle(enabled) { - const addOrRemoveEventListener = enabled - ? window.removeEventListener - : window.addEventListener; - - for (let ev of KEYBOARD_EVENTS) { - addOrRemoveEventListener(ev, blockEnterKeyEvent, true); - } - } -} diff --git a/src/helpers/webview/input_manager.ts b/src/helpers/webview/input_manager.ts new file mode 100644 index 00000000..53f49c48 --- /dev/null +++ b/src/helpers/webview/input_manager.ts @@ -0,0 +1,25 @@ +// Things relating to changing the way user input affect the app page go here + +// We need to block all of these if we're disabling send on enter +const KEYBOARD_EVENTS: ["keyup", "keypress", "keydown"] = [ + "keyup", + "keypress", + "keydown", +]; + +// Effectively private methods + +// For whatever reason, this won't work if defined as a static method of InputManager +function blockEnterKeyEvent(event: KeyboardEvent) { + if (event.keyCode === 13) { + event.stopPropagation(); + } +} + +export function handleEnterPrefToggle(enabled: boolean): void { + for (const event of KEYBOARD_EVENTS) { + if (!enabled) { + window.addEventListener(event, blockEnterKeyEvent); + } + } +} diff --git a/src/helpers/window.js b/src/helpers/window.js deleted file mode 100644 index 3f95473f..00000000 --- a/src/helpers/window.js +++ /dev/null @@ -1,83 +0,0 @@ -// This helper remembers the size and position of your windows (and restores -// them in that place after app relaunch). -// Can be used for more than one window, just construct many -// instances of it and give each different name. - -import { app, BrowserWindow, screen } from "electron"; -import jetpack from "fs-jetpack"; - -export default (name, options) => { - const userDataDir = jetpack.cwd(app.getPath("userData")); - const stateStoreFile = `window-state-${name}.json`; - const defaultSize = { - width: options.width, - height: options.height, - }; - let state = {}; - let win; - - const restore = () => { - let restoredState = {}; - try { - restoredState = userDataDir.read(stateStoreFile, "json"); - } catch (err) { - // For some reason json can't be read (might be corrupted). - // No worries, we have defaults. - } - return Object.assign({}, defaultSize, restoredState); - }; - - const getCurrentPosition = () => { - const position = win.getPosition(); - const size = win.getSize(); - return { - x: position[0], - y: position[1], - width: size[0], - height: size[1], - }; - }; - - const windowWithinBounds = (windowState, bounds) => { - return ( - windowState.x >= bounds.x && - windowState.y >= bounds.y && - windowState.x + windowState.width <= bounds.x + bounds.width && - windowState.y + windowState.height <= bounds.y + bounds.height - ); - }; - - const resetToDefaults = () => { - const bounds = screen.getPrimaryDisplay().bounds; - return Object.assign({}, defaultSize, { - x: (bounds.width - defaultSize.width) / 2, - y: (bounds.height - defaultSize.height) / 2, - }); - }; - - const ensureVisibleOnSomeDisplay = (windowState) => { - const visible = screen.getAllDisplays().some((display) => { - return windowWithinBounds(windowState, display.bounds); - }); - if (!visible) { - // Window is partially or fully not visible now. - // Reset it to safe defaults. - return resetToDefaults(); - } - return windowState; - }; - - const saveState = () => { - if (!win.isMinimized() && !win.isMaximized()) { - Object.assign(state, getCurrentPosition()); - } - userDataDir.write(stateStoreFile, state, { atomic: true }); - }; - - state = ensureVisibleOnSomeDisplay(restore()); - - win = new BrowserWindow(Object.assign({}, options, state)); - - win.on("close", saveState); - return win; -}; diff --git a/src/helpers/window.ts b/src/helpers/window.ts new file mode 100644 index 00000000..c1d95f3e --- /dev/null +++ b/src/helpers/window.ts @@ -0,0 +1,145 @@ +// This helper remembers the size and position of your windows (and restores +// them in that place after app relaunch). +// Can be used for more than one window, just construct many +// instances of it and give each different name. + +import { + app, + BrowserWindow, + screen, + BrowserWindowConstructorOptions, +} from "electron"; +import * as jetpack from "fs-jetpack"; + +interface Size { + width: number; + height: number; +} + +interface Position extends Size { + x: number; + y: number; +} +/** + * Custom window class that has some utility methods. + * Seems largely uneeded but the code here before used these methods and needed structure. + * This is an improvement over the previous confusion. + * + * @export + * @class Window + * @extends {BrowserWindow} + */ +export class Window extends BrowserWindow { + private userDataDir = jetpack.cwd(app.getPath("userData")); + + private stateStoreFile: string; + private defaultSize: Position; + private state: Size; + + constructor(name: string, options?: BrowserWindowConstructorOptions) { + super(options); + this.stateStoreFile = `window-state-${name}.json`; + this.defaultSize = { + width: options?.width || 800, + height: options?.height || 800, + x: 0, + y: 0, + }; + this.resetToDefaults(); + this.state = this.ensureVisibleOnSomeDisplay(); + this.on("close", () => this.saveState()); + } + + /** + * Loads the Position data from cold store. + * + * @returns {Position} + * @memberof Window + */ + public restore(): Position { + let restoredState = {}; + try { + restoredState = this.userDataDir.read(this.stateStoreFile, "json"); + } catch (_err) { + // For some reason json can't be read (might be corrupted). + // No worries, we have defaults. + } + this.defaultSize = { ...this.defaultSize, ...restoredState }; + return this.defaultSize; + } + + /** + * Gets the current window state + * + * @returns {Position} current window state + * @memberof Window + */ + public getCurrentPosition(): Position { + const position = this.getPosition(); + const size = this.getSize(); + return { + x: position[0], + y: position[1], + width: size[0], + height: size[1], + }; + } + + /** + * Checks if the window overlaps with the provided bounds + * + * @param {Position} bounds bounds to check if overlapping + * @returns {boolean} if it overlapped + * @memberof Window + */ + public windowWithinBounds(bounds: Position): boolean { + const windowState = this.getCurrentPosition(); + return ( + windowState.x >= bounds.x && + windowState.y >= bounds.y && + windowState.x + windowState.width <= bounds.x + bounds.width && + windowState.y + windowState.height <= bounds.y + bounds.height + ); + } + + /** + * Resets the default state back to the default + * + * @returns {Position} returns the default Position. + * @memberof Window + */ + public resetToDefaults = (): Position => { + const bounds = screen.getPrimaryDisplay().bounds; + this.defaultSize = { + ...this.defaultSize, + x: (bounds.width - this.defaultSize.width) / 2, + y: (bounds.height - this.defaultSize.height) / 2, + }; + return this.defaultSize; + }; + + /** + * Makes sure the window appears on the display and if not forces it back to the default size + * + * @returns {Position} Returns current window position + * @memberof Window + */ + public ensureVisibleOnSomeDisplay(): Position { + const visible = screen.getAllDisplays().some((display) => { + return this.windowWithinBounds(display.bounds); + }); + if (!visible) { + // Window is partially or fully not visible now. + // Reset it to safe defaults. + return this.resetToDefaults(); + } + return this.getCurrentPosition(); + } + + public saveState(): void { + if (this.isMinimized() && !this.isMaximized()) { + this.state = { ...this.state, ...this.getCurrentPosition() }; + } + this.userDataDir.write(this.stateStoreFile, this.state, { atomic: true }); + } +} diff --git a/src/menu/app_menu_template.js b/src/menu/app_menu_template.ts similarity index 76% rename from src/menu/app_menu_template.js rename to src/menu/app_menu_template.ts index cfcbcf44..a9332da5 100644 --- a/src/menu/app_menu_template.js +++ b/src/menu/app_menu_template.ts @@ -1,13 +1,12 @@ -import { app } from "electron"; +import { app, MenuItemConstructorOptions } from "electron"; import { aboutMenuItem } from "./items/about"; import { checkForUpdatesMenuItem } from "./items/check_for_updates"; import { settingsMenu } from "./settings_menu_template"; // This is the "Application" menu, which is only used on macOS -export const appMenuTemplate = { +export const appMenuTemplate: MenuItemConstructorOptions = { label: "Android Messages", submenu: [ - , aboutMenuItem, checkForUpdatesMenuItem, { @@ -20,7 +19,7 @@ export const appMenuTemplate = { { label: "Hide Android Messages Desktop", accelerator: "Command+H", - click: () => app.hide(), + click: (): void => app.hide(), }, { type: "separator", @@ -28,7 +27,7 @@ export const appMenuTemplate = { { label: "Quit", accelerator: "Command+Q", - click: () => app.quit(), + click: (): void => app.quit(), }, ], }; diff --git a/src/menu/base_menu_template.js b/src/menu/base_menu_template.ts similarity index 85% rename from src/menu/base_menu_template.js rename to src/menu/base_menu_template.ts index ae981cbd..c8ac3f8e 100644 --- a/src/menu/base_menu_template.js +++ b/src/menu/base_menu_template.ts @@ -5,8 +5,9 @@ import { settingsMenu } from "./settings_menu_template"; import { viewMenuTemplate } from "./view_menu_template"; import { windowMenuTemplate } from "./window_menu_template"; import { IS_MAC } from "../constants"; +import { MenuItemConstructorOptions } from "electron"; -const baseMenuTemplate = [ +const baseMenuTemplate: MenuItemConstructorOptions[] = [ editMenuTemplate, viewMenuTemplate, windowMenuTemplate, diff --git a/src/menu/dev_menu_template.js b/src/menu/dev_menu_template.js deleted file mode 100644 index 0e490af3..00000000 --- a/src/menu/dev_menu_template.js +++ /dev/null @@ -1,28 +0,0 @@ -import { app, BrowserWindow } from "electron"; - -export const devMenuTemplate = { - label: "Development", - submenu: [ - { - label: "Reload", - accelerator: "CmdOrCtrl+R", - click: () => { - BrowserWindow.getFocusedWindow().webContents.reloadIgnoringCache(); - }, - }, - { - label: "Toggle DevTools", - accelerator: "Alt+CmdOrCtrl+I", - click: () => { - BrowserWindow.getFocusedWindow().toggleDevTools(); - }, - }, - { - label: "Quit", - accelerator: "CmdOrCtrl+Q", - click: () => { - app.quit(); - }, - }, - ], -}; diff --git a/src/menu/dev_menu_template.ts b/src/menu/dev_menu_template.ts new file mode 100644 index 00000000..f6ba9d9b --- /dev/null +++ b/src/menu/dev_menu_template.ts @@ -0,0 +1,18 @@ +import { app, BrowserWindow } from "electron"; + +export const devMenuTemplate = { + label: "Development", + submenu: [ + { + label: "Reload", + accelerator: "CmdOrCtrl+R", + click: (): void => + BrowserWindow.getFocusedWindow()?.webContents.reloadIgnoringCache(), + }, + { + label: "Quit", + accelerator: "CmdOrCtrl+Q", + click: (): void => app.quit(), + }, + ], +}; diff --git a/src/menu/edit_menu_template.js b/src/menu/edit_menu_template.js deleted file mode 100644 index 7f821c28..00000000 --- a/src/menu/edit_menu_template.js +++ /dev/null @@ -1,12 +0,0 @@ -export const editMenuTemplate = { - label: "Edit", - submenu: [ - { label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" }, - { label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" }, - { type: "separator" }, - { label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" }, - { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" }, - { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" }, - { label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" }, - ], -}; diff --git a/src/menu/edit_menu_template.ts b/src/menu/edit_menu_template.ts new file mode 100644 index 00000000..2cee9cbd --- /dev/null +++ b/src/menu/edit_menu_template.ts @@ -0,0 +1,14 @@ +import { MenuItemConstructorOptions } from "electron"; + +export const editMenuTemplate: MenuItemConstructorOptions = { + label: "Edit", + submenu: [ + { label: "Undo", accelerator: "CmdOrCtrl+Z", role: "undo" }, + { label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", role: "redo" }, + { type: "separator" }, + { label: "Cut", accelerator: "CmdOrCtrl+X", role: "cut" }, + { label: "Copy", accelerator: "CmdOrCtrl+C", role: "copy" }, + { label: "Paste", accelerator: "CmdOrCtrl+V", role: "paste" }, + { label: "Select All", accelerator: "CmdOrCtrl+A", role: "selectAll" }, + ], +}; diff --git a/src/menu/file_menu_template.js b/src/menu/file_menu_template.ts similarity index 62% rename from src/menu/file_menu_template.js rename to src/menu/file_menu_template.ts index d6655d7d..4e47fc52 100644 --- a/src/menu/file_menu_template.js +++ b/src/menu/file_menu_template.ts @@ -1,12 +1,12 @@ -import { app } from "electron"; +import { app, MenuItemConstructorOptions } from "electron"; import { IS_WINDOWS } from "../constants"; import { checkForUpdatesMenuItem } from "./items/check_for_updates"; import { separator } from "./items/separator"; -const submenu = [ +const submenu: MenuItemConstructorOptions[] = [ { label: "Quit Android Messages", - click: () => app.quit(), + click: (): void => app.quit(), }, ]; @@ -15,7 +15,7 @@ if (!IS_WINDOWS) { submenu.unshift(checkForUpdatesMenuItem); } -export const fileMenuTemplate = { +export const fileMenuTemplate: MenuItemConstructorOptions = { label: "File", submenu, }; diff --git a/src/menu/help_menu_template.js b/src/menu/help_menu_template.ts similarity index 67% rename from src/menu/help_menu_template.js rename to src/menu/help_menu_template.ts index 6927bc90..f5711faf 100644 --- a/src/menu/help_menu_template.js +++ b/src/menu/help_menu_template.ts @@ -1,21 +1,21 @@ -import { shell } from "electron"; +import { shell, MenuItemConstructorOptions } from "electron"; import { IS_MAC, IS_WINDOWS } from "../constants"; import { aboutMenuItem } from "./items/about"; import { checkForUpdatesMenuItem } from "./items/check_for_updates"; import { separator } from "./items/separator"; -const submenu = [ +const submenu: MenuItemConstructorOptions[] = [ { label: "Learn More", - click: () => - shell.openExternal( + click: async (): Promise => + await shell.openExternal( "https://github.com/chrisknepper/android-messages-desktop/" ), }, { label: "Changelog", - click: () => - shell.openExternal( + click: async (): Promise => + await shell.openExternal( "https://github.com/chrisknepper/android-messages-desktop/blob/master/CHANGELOG.md" ), }, @@ -31,7 +31,7 @@ if (!IS_MAC) { submenu.push(aboutMenuItem); } -export const helpMenuTemplate = { +export const helpMenuTemplate: MenuItemConstructorOptions = { label: "Help", submenu, }; diff --git a/src/menu/items/about.js b/src/menu/items/about.ts similarity index 86% rename from src/menu/items/about.js rename to src/menu/items/about.ts index aa2d42dd..666325c4 100644 --- a/src/menu/items/about.js +++ b/src/menu/items/about.ts @@ -1,8 +1,7 @@ import { IS_DEV } from "../../constants"; import openAboutWindow from "about-window"; -import { app } from "electron"; -import { description } from "../../../package.json"; -import path from "path"; +import { app, MenuItemConstructorOptions } from "electron"; +import * as path from "path"; const productName = "Android Messages Desktop"; const localeStyle = @@ -17,10 +16,10 @@ let descriptionWithLocale = ""; app.on("ready", () => { languageCode = app.getLocale(); // about-window does not have a field for arbitrary HTML, so we add the HTML we need to an existing field - descriptionWithLocale = `${description}${languageCode}`; + descriptionWithLocale = `Messages for web, as a desktop app${languageCode}`; }); -export const aboutMenuItem = { +export const aboutMenuItem: MenuItemConstructorOptions = { label: `About ${productName}`, click: () => { openAboutWindow({ diff --git a/src/menu/items/check_for_updates.js b/src/menu/items/check_for_updates.js deleted file mode 100644 index f85c2e4d..00000000 --- a/src/menu/items/check_for_updates.js +++ /dev/null @@ -1,8 +0,0 @@ -import { autoUpdater } from "electron-updater"; - -export const checkForUpdatesMenuItem = { - label: "Check for Updates", - click: () => { - autoUpdater.checkForUpdatesAndNotify(); - }, -}; diff --git a/src/menu/items/check_for_updates.ts b/src/menu/items/check_for_updates.ts new file mode 100644 index 00000000..90ff47ac --- /dev/null +++ b/src/menu/items/check_for_updates.ts @@ -0,0 +1,9 @@ +import { autoUpdater } from "electron-updater"; +import { MenuItemConstructorOptions } from "electron"; + +export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { + label: "Check for Updates", + click: (): void => { + autoUpdater.checkForUpdatesAndNotify(); + }, +}; diff --git a/src/menu/items/separator.js b/src/menu/items/separator.js deleted file mode 100644 index 6c4df860..00000000 --- a/src/menu/items/separator.js +++ /dev/null @@ -1 +0,0 @@ -export const separator = { type: "separator" }; diff --git a/src/menu/items/separator.ts b/src/menu/items/separator.ts new file mode 100644 index 00000000..38a8683f --- /dev/null +++ b/src/menu/items/separator.ts @@ -0,0 +1,3 @@ +import { MenuItemConstructorOptions } from "electron"; + +export const separator: MenuItemConstructorOptions = { type: "separator" }; diff --git a/src/menu/settings_menu_template.js b/src/menu/settings_menu_template.ts similarity index 50% rename from src/menu/settings_menu_template.js rename to src/menu/settings_menu_template.ts index 3a649cdd..8305df81 100644 --- a/src/menu/settings_menu_template.js +++ b/src/menu/settings_menu_template.ts @@ -1,15 +1,15 @@ -import { dialog } from "electron"; -import settings from "electron-settings"; -import { separator } from "./items/separator"; import { - IS_LINUX, - IS_MAC, - IS_WINDOWS, - SETTING_TRAY_ENABLED, - SETTING_TRAY_CLICK_SHORTCUT, -} from "../constants"; + dialog, + MenuItemConstructorOptions, + MenuItem, + BrowserWindow, + Menu, +} from "electron"; +import * as settings from "electron-settings"; +import { separator } from "./items/separator"; +import { IS_LINUX, IS_MAC, SETTING_TRAY_ENABLED } from "../constants"; -export const settingsMenu = { +export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "Preferences" : "Settings", submenu: [ { @@ -19,7 +19,7 @@ export const settingsMenu = { id: "autoHideMenuBarMenuItem", label: "Auto Hide Menu Bar", type: "checkbox", - click: (item, window) => { + click: (item: MenuItem, window: BrowserWindow): void => { const autoHideMenuPref = !settings.get("autoHideMenuPref"); settings.set("autoHideMenuPref", autoHideMenuPref); item.checked = autoHideMenuPref; @@ -30,18 +30,18 @@ export const settingsMenu = { id: "enableTrayIconMenuItem", label: IS_MAC ? "Enable Menu Bar Icon" : "Enable Tray Icon", type: "checkbox", - click: (item) => { + click: async (item: MenuItem): Promise => { const trayEnabledPref = !settings.get(SETTING_TRAY_ENABLED); let confirmClose = true; if (IS_LINUX && !trayEnabledPref) { - let dialogAnswer = dialog.showMessageBox({ + const dialogAnswer = await dialog.showMessageBox({ type: "question", buttons: ["Restart", "Cancel"], title: "App Restart Required", message: "Changing this setting requires Android Messages to be restarted.\n\nUnsent text messages may be deleted. Click Restart to apply this setting change and restart Android Messages.", }); - if (dialogAnswer === 1) { + if (dialogAnswer.response === 1) { confirmClose = false; item.checked = true; // Don't incorrectly flip checkmark if user canceled the dialog } @@ -57,7 +57,7 @@ export const settingsMenu = { id: "startInTrayMenuItem", label: IS_MAC ? "Start Hidden" : "Start In Tray", type: "checkbox", - click: (item) => { + click: (item: MenuItem): void => { const startInTrayPref = !settings.get("startInTrayPref"); settings.set("startInTrayPref", startInTrayPref); item.checked = startInTrayPref; @@ -66,68 +66,46 @@ export const settingsMenu = { ], }; -// Electron doesn't seem to support the visible property for submenus, so push it instead of hiding it in non-Windows -// See: https://github.com/electron/electron/issues/8703 -if (IS_WINDOWS) { - settingsMenu.submenu.push({ - id: "trayClickShortcutMenuItem", - label: "Open from Tray On...", - submenu: [ - { - label: "Double-click", - type: "radio", - click: (item) => { - settings.set(SETTING_TRAY_CLICK_SHORTCUT, "double-click"); - item.checked = true; - }, - }, - { - label: "Single-click", - type: "radio", - click: (item) => { - settings.set(SETTING_TRAY_CLICK_SHORTCUT, "click"); - item.checked = true; - }, - }, - ], - }); -} +if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { + // Electron doesn't seem to support the visible property for submenus, so push it instead of hiding it in non-Windows + // See: https://github.com/electron/electron/issues/8703 -settingsMenu.submenu.push( - separator, - { - id: "notificationSoundEnabledMenuItem", - label: "Play Notification Sound", - type: "checkbox", - click: (item) => { - settings.set("notificationSoundEnabledPref", item.checked); - }, - }, - separator, - { - id: "pressEnterToSendMenuItem", - label: "Press Enter to Send Message", - type: "checkbox", - click: (item) => { - settings.set("pressEnterToSendPref", item.checked); + settingsMenu.submenu.push( + separator, + { + id: "notificationSoundEnabledMenuItem", + label: "Play Notification Sound", + type: "checkbox", + click: (item) => { + settings.set("notificationSoundEnabledPref", item.checked); + }, }, - }, - separator, - { - id: "hideNotificationContentMenuItem", - label: "Hide Notification Content", - type: "checkbox", - click: (item) => { - settings.set("hideNotificationContentPref", item.checked); + separator, + { + id: "pressEnterToSendMenuItem", + label: "Press Enter to Send Message", + type: "checkbox", + click: (item) => { + settings.set("pressEnterToSendPref", item.checked); + }, }, - }, - separator, - { - id: "useSystemDarkModeMenuItem", - label: "Use System Dark Mode Setting", - type: "checkbox", - click: (item) => { - settings.set("useSystemDarkModePref", item.checked); + separator, + { + id: "hideNotificationContentMenuItem", + label: "Hide Notification Content", + type: "checkbox", + click: (item) => { + settings.set("hideNotificationContentPref", item.checked); + }, }, - } -); + separator, + { + id: "useSystemDarkModeMenuItem", + label: "Use System Dark Mode Setting", + type: "checkbox", + click: (item) => { + settings.set("useSystemDarkModePref", item.checked); + }, + } + ); +} diff --git a/src/menu/tray_menu_template.js b/src/menu/tray_menu_template.js deleted file mode 100644 index 1ae6c5eb..00000000 --- a/src/menu/tray_menu_template.js +++ /dev/null @@ -1,30 +0,0 @@ -import { app } from "electron"; -import { IS_MAC } from "../constants"; - -export const trayMenuTemplate = [ - { - label: "Show/Hide Android Messages", - click: () => { - if (app.mainWindow) { - if (app.mainWindow.isVisible()) { - if (IS_MAC) { - app.hide(); - } else { - app.mainWindow.hide(); - } - } else { - app.mainWindow.show(); - } - } - }, - }, - { - type: "separator", - }, - { - label: "Quit Android Messages", - click: () => { - app.quit(); - }, - }, -]; diff --git a/src/menu/tray_menu_template.ts b/src/menu/tray_menu_template.ts new file mode 100644 index 00000000..edc45a33 --- /dev/null +++ b/src/menu/tray_menu_template.ts @@ -0,0 +1,33 @@ +import { app, MenuItemConstructorOptions, BrowserWindow } from "electron"; +import { IS_MAC } from "../constants"; + +type TOFIX = any; + +export const trayMenuTemplate: MenuItemConstructorOptions[] = [ + { + label: "Show/Hide Android Messages", + click: (): void => { + const mainWindow: BrowserWindow = (app as TOFIX).mainWindow; + if (mainWindow) { + if (mainWindow.isVisible()) { + if (IS_MAC) { + app.hide(); + } else { + mainWindow.hide(); + } + } else { + mainWindow.show(); + } + } + }, + }, + { + type: "separator", + }, + { + label: "Quit Android Messages", + click: (): void => { + app.quit(); + }, + }, +]; diff --git a/src/menu/view_menu_template.js b/src/menu/view_menu_template.ts similarity index 77% rename from src/menu/view_menu_template.js rename to src/menu/view_menu_template.ts index 76037684..b07e6b51 100644 --- a/src/menu/view_menu_template.js +++ b/src/menu/view_menu_template.ts @@ -1,8 +1,10 @@ -export const viewMenuTemplate = { +import { MenuItemConstructorOptions } from "electron"; + +export const viewMenuTemplate: MenuItemConstructorOptions = { label: "View", submenu: [ { - role: "toggleFullScreen", + role: "togglefullscreen", }, { role: "reload", @@ -20,7 +22,7 @@ export const viewMenuTemplate = { role: "zoomIn", }, { - role: "zoomin", + role: "zoomIn", accelerator: "CommandOrControl+=", visible: false, enabled: true, diff --git a/src/menu/window_menu_template.js b/src/menu/window_menu_template.js deleted file mode 100644 index 5ca03a77..00000000 --- a/src/menu/window_menu_template.js +++ /dev/null @@ -1,4 +0,0 @@ -export const windowMenuTemplate = { - label: "Window", - role: "windowMenu", -}; diff --git a/src/menu/window_menu_template.ts b/src/menu/window_menu_template.ts new file mode 100644 index 00000000..6baea22a --- /dev/null +++ b/src/menu/window_menu_template.ts @@ -0,0 +1,6 @@ +import { MenuItemConstructorOptions } from "electron"; + +export const windowMenuTemplate: MenuItemConstructorOptions = { + label: "Window", + role: "windowMenu", +}; diff --git a/tsconfig.json b/tsconfig.json index cef560fe..8bc2eb0a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,46 +3,49 @@ /* Visit https://aka.ms/tsconfig.json to read more about this file */ /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - // "lib": [], /* Specify library files to be included in the compilation. */ - "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - "sourceMap": true, /* Generates corresponding '.map' file. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - "removeComments": true, /* Do not emit comments to output. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + "target": "es6", + // "incremental": true /* Enable incremental compilation */ + // "lib": [] /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true /* Report errors in .js files. */ + "sourceMap": true /* Generates corresponding '.map' file. */, + // "composite": true /* Enable project compilation */ + // "tsBuildInfoFile": "./" /* Specify file to store incremental compilation information */ + "resolveJsonModule": true, + "removeComments": true /* Do not emit comments to output. */, + // "importHelpers": true /* Import emit helpers from 'tslib'. */ + "downlevelIteration": true /* Provide full support for iterables in 'for-of' spread and destructuring when targeting 'ES5' or 'ES3'. */, + // "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ /* Strict Type-Checking Options */ "strict": true /* Enable all strict type-checking options. */, "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */, "strictNullChecks": true /* Enable strict null checks. */, "strictFunctionTypes": true /* Enable strict checking of function types. */, - "strictBindCallApply": true /* Enable strict 'bind', 'call', and 'apply' methods on functions. */, + "strictBindCallApply": true /* Enable strict 'bind' 'call' and 'apply' methods on functions. */, "strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */, "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */, "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */, /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noUnusedLocals": true /* Report errors on unused locals. */ + // "noUnusedParameters": true /* Report errors on unused parameters. */ "noImplicitReturns": true /* Report error when not all code paths in function return a value. */, "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */, /* Module Resolution Options */ "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + "baseUrl": "./src" /* Base directory to resolve non-absolute module names. */, + "outDir": "./app", + // "paths": {} /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit just typechecking. */, + // "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + // "sourceRoot": "" /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "" /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ /* Advanced Options */ "skipLibCheck": true /* Skip type checking of declaration files. */, diff --git a/yarn.lock b/yarn.lock index 95705333..ab5f63a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -840,6 +840,13 @@ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== +"@types/electron-settings@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/electron-settings/-/electron-settings-3.1.1.tgz#e3f8246ee1a8fc66b08203792d09589df355c776" + integrity sha512-wDVj8YFBuqLXgVQqZ1Yk+Qm27LjjldssnrwzDv9JanOokw24tcuJ76X1Uo5Xg9VVRIAF6HgmiAQQ+CZrRmJgYw== + dependencies: + "@types/node" "*" + "@types/eslint-visitor-keys@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" @@ -857,12 +864,20 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== +"@types/node-fetch@^2.5.7": + version "2.5.7" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" + integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== + dependencies: + "@types/node" "*" + form-data "^3.0.0" + "@types/node@*": version "14.0.11" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.11.tgz#61d4886e2424da73b7b25547f59fdcb534c165a3" integrity sha512-lCvvI24L21ZVeIiyIUHZ5Oflv1hhHQ5E1S25IRlKIXaRkVgmXpJMI3wUJkmym2bTbCe+WoIibQnMVAU3FguaOg== -"@types/node@^12.0.12": +"@types/node@12", "@types/node@^12.0.12": version "12.12.44" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.44.tgz#0d400a1453adcb359b133acceae4dd8bb0e0a159" integrity sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg== @@ -2055,7 +2070,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -3219,6 +3234,15 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +form-data@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" + integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -4715,6 +4739,11 @@ node-environment-flags@1.0.6: object.getownpropertydescriptors "^2.0.3" semver "^5.7.0" +node-fetch@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" From eff15d8c1014aa9b6a78564a7df7c9aeb007d5ea Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 22:32:51 -0400 Subject: [PATCH 032/385] Working builds --- app/package.json | 121 ----------------------------------- build/webpack.app.config.js | 3 - build/webpack.base.config.js | 16 +---- electron-builder.js | 30 +++++++++ package.json | 59 +---------------- src/app.ts | 17 +---- src/constants.ts | 2 +- yarn.lock | 8 --- 8 files changed, 36 insertions(+), 220 deletions(-) delete mode 100644 app/package.json create mode 100644 electron-builder.js diff --git a/app/package.json b/app/package.json deleted file mode 100644 index 96bc3f13..00000000 --- a/app/package.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "name": "android-messages-desktop", - "productName": "Android Messages", - "description": "Messages for web, as a desktop app", - "version": "3.1.0", - "author": "Kyle Rosenberg", - "copyright": "Who needs those", - "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", - "repository": { - "type": "git", - "url": "git+https://github.com/OrangeDrangon/android-messages-desktop.git" - }, - "bugs": { - "url": "https://github.com/OrangeDrangon/android-messages-desktop/issues" - }, - "main": "app/background.js", - "build": { - "appId": "com.knepper.android-messages-desktop", - "files": [ - "app/**/*", - "resources/**/*", - "node_modules/**/*", - "package.json" - ], - "directories": { - "buildResources": "resources" - }, - "extraResources": [ - "resources/dictionaries" - ], - "afterSign": "config/packaging/notarize.js", - "mac": { - "category": "public.app-category.social-networking", - "target": [ - "zip", - "dmg" - ], - "entitlements": "config/packaging/macosEntitlements.plist", - "entitlementsInherit": "config/packaging/macosEntitlements.plist" - }, - "win": { - "target": [ - { - "target": "nsis", - "arch": [ - "x64", - "ia32" - ] - }, - { - "target": "portable", - "arch": [ - "x64", - "ia32" - ] - } - ] - }, - "portable": { - "artifactName": "${productName} Portable ${version}.${ext}" - }, - "linux": { - "category": "Chat", - "target": [ - "deb", - "AppImage", - "snap", - "pacman" - ] - } - }, - "scripts": { - "start": "yarn build:dev && electron ./app/background.js", - "dist": "yarn build && electron-builder", - "build": "webpack --config=build/webpack.app.config.js --env=production", - "build:dev": "webpack --config=build/webpack.app.config.js --env=development", - "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", - "lint": "eslint --fix src/**/*.js||ts" - }, - "dependencies": { - "about-window": "1.13.4", - "electron-hunspell": "1.1.2", - "electron-settings": "3.2.0", - "electron-updater": "4.3.1", - "fs-jetpack": "^2.4.0", - "node-fetch": "^2.6.0" - }, - "devDependencies": { - "@babel/core": "7.10.2", - "@babel/preset-env": "7.10.2", - "@types/electron-settings": "^3.1.1", - "@types/node-fetch": "^2.5.7", - "@typescript-eslint/eslint-plugin": "^3.1.0", - "@typescript-eslint/parser": "^3.1.0", - "babel-loader": "8.1.0", - "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", - "chai": "^4.1.0", - "css-loader": "^3.5.3", - "electron": "9.0.2", - "electron-builder": "22.7.0", - "electron-mocha": "^8.2.2", - "electron-notarize": "^0.3.0", - "eslint": "^7.1.0", - "eslint-config-prettier": "^6.11.0", - "eslint-plugin-prettier": "^3.1.3", - "file-loader": "^6.0.0", - "friendly-errors-webpack-plugin": "^1.6.1", - "mocha": "^7.2.0", - "png2icons": "^2.0.1", - "prettier": "^2.0.5", - "source-map-support": "^0.5.19", - "spectron": "^11.0.0", - "style-loader": "^1.2.1", - "ts-loader": "^7.0.5", - "typescript": "^3.9.5", - "webpack": "^4.43.0", - "webpack-cli": "^3.3.11", - "webpack-merge": "^4.1.0", - "webpack-node-externals": "^1.6.0" - } -} diff --git a/build/webpack.app.config.js b/build/webpack.app.config.js index de727632..c342ed7b 100644 --- a/build/webpack.app.config.js +++ b/build/webpack.app.config.js @@ -13,7 +13,4 @@ module.exports = merge(base(), { filename: "[name].js", path: path.resolve(__dirname, "../app"), }, - resolve: { - extensions: [".ts", ".js"] - }, }); diff --git a/build/webpack.base.config.js b/build/webpack.base.config.js index f8e54d24..778ecf40 100644 --- a/build/webpack.base.config.js +++ b/build/webpack.base.config.js @@ -27,21 +27,11 @@ module.exports = (env) => { test: /\.css$/, use: ["style-loader", "css-loader"], }, - { - test: /\.(png|jpg|gif)$/, - use: [ - { - loader: "file-loader", - options: { - useRelativePath: process.env.NODE_ENV === "development", - emitFile: false, - name: "[name].[ext]", - }, - }, - ], - }, ], }, + resolve: { + extensions: [".ts", ".js", ".css"], + }, plugins: [ new FriendlyErrorsWebpackPlugin({ clearConsole: process.env.NODE_ENV === "development", diff --git a/electron-builder.js b/electron-builder.js new file mode 100644 index 00000000..9aab7ad5 --- /dev/null +++ b/electron-builder.js @@ -0,0 +1,30 @@ +module.exports = { + appId: "pw.electron.android-messages", + productName: "AndroidMessages", + copyright: "Copyright who needs those", + files: ["app/**/*", "resources/**/*"], + directories: { + buildResources: "resources", + output: "dist", + }, + linux: { + target: ["AppImage", "snap", "pacman", "deb", "rpm", "freebsd", "zip"], + executableName: "AndroidMessages", + category: "Internet", + }, + win: { + target: [ + { + target: "nsis", + arch: ["x64", "ia32"], + }, + { + target: "portable", + arch: ["x64", "ia32"], + }, + ], + }, + portable: { + artifactName: "${productName}-portable-${version}.${ext}", + }, +}; diff --git a/package.json b/package.json index bedf5918..3c7a5c05 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,5 @@ { "name": "android-messages-desktop", - "productName": "Android Messages", "description": "Messages for web, as a desktop app", "version": "3.1.0", "author": "Kyle Rosenberg", @@ -14,64 +13,9 @@ "url": "https://github.com/OrangeDrangon/android-messages-desktop/issues" }, "main": "app/background.js", - "build": { - "appId": "com.knepper.android-messages-desktop", - "files": [ - "app/**/*", - "resources/**/*", - "node_modules/**/*", - "package.json" - ], - "directories": { - "buildResources": "resources" - }, - "extraResources": [ - "resources/dictionaries" - ], - "afterSign": "config/packaging/notarize.js", - "mac": { - "category": "public.app-category.social-networking", - "target": [ - "zip", - "dmg" - ], - "entitlements": "config/packaging/macosEntitlements.plist", - "entitlementsInherit": "config/packaging/macosEntitlements.plist" - }, - "win": { - "target": [ - { - "target": "nsis", - "arch": [ - "x64", - "ia32" - ] - }, - { - "target": "portable", - "arch": [ - "x64", - "ia32" - ] - } - ] - }, - "portable": { - "artifactName": "${productName} Portable ${version}.${ext}" - }, - "linux": { - "category": "Chat", - "target": [ - "deb", - "AppImage", - "snap", - "pacman" - ] - } - }, "scripts": { "start": "yarn build:dev && electron ./app/background.js", - "dist": "yarn build && electron-builder", + "dist": "yarn build && electron-builder --config electron-builder.js", "build": "webpack --config=build/webpack.app.config.js --mode=production", "build:dev": "webpack --config=build/webpack.app.config.js --mode=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", @@ -104,7 +48,6 @@ "eslint": "^7.1.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.3", - "file-loader": "^6.0.0", "friendly-errors-webpack-plugin": "^1.6.1", "mocha": "^7.2.0", "png2icons": "^2.0.1", diff --git a/src/app.ts b/src/app.ts index 92a7ea09..b24a5d26 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,7 +1,7 @@ import "./stylesheets/main.css"; import { ipcRenderer, remote } from "electron"; -import { EVENT_UPDATE_USER_SETTING, IS_DEV, IS_MAC } from "./constants"; +import { EVENT_UPDATE_USER_SETTING, IS_MAC } from "./constants"; type TOFIX = any; @@ -11,22 +11,7 @@ const androidMessagesWebview = document.getElementById( "androidMessagesWebview" ) as TOFIX; -androidMessagesWebview.addEventListener("did-finish-load", () => { - // just before onLoad - console.log("finished loading"); -}); - -androidMessagesWebview.addEventListener("did-stop-loading", () => { - // coincident with onLoad, can fire multiple times - console.log("done loading"); -}); - androidMessagesWebview.addEventListener("dom-ready", () => { - console.log("dom ready"); - - if (IS_DEV) { - androidMessagesWebview.getWebContents().openDevTools(); - } (app as TOFIX).mainWindow.on("focus", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs androidMessagesWebview.dispatchEvent(new Event("focus")); diff --git a/src/constants.ts b/src/constants.ts index 98c6c6cd..2a4f346f 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -23,7 +23,7 @@ export const IS_MAC = osName === "darwin"; export const IS_LINUX = osName === "linux"; // Environment and paths -export const IS_DEV = process.env.name === "development"; +export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = IS_DEV ? path.resolve(__dirname, "..") : process.resourcesPath; diff --git a/yarn.lock b/yarn.lock index ab5f63a9..bcbc58bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3117,14 +3117,6 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-loader@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f" - integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.6.5" - file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" From 7ee3fcc6763b9df467cbef0bfa558549dba0fd1e Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 23:16:04 -0400 Subject: [PATCH 033/385] Working new webpack. Keeping the old ones for reference as I write tests --- package.json | 11 +++-- tsconfig.json | 2 +- webpack.config.ts | 54 ++++++++++++++++++++++++ yarn.lock | 104 +++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 165 insertions(+), 6 deletions(-) create mode 100644 webpack.config.ts diff --git a/package.json b/package.json index 3c7a5c05..83b731ae 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,8 @@ "scripts": { "start": "yarn build:dev && electron ./app/background.js", "dist": "yarn build && electron-builder --config electron-builder.js", - "build": "webpack --config=build/webpack.app.config.js --mode=production", - "build:dev": "webpack --config=build/webpack.app.config.js --mode=development", + "build": "webpack --config-name app --mode=production", + "build:dev": "webpack --config-name app --mode=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", "lint": "eslint --fix src/**/*.js||ts" }, @@ -33,8 +33,12 @@ "@babel/core": "7.10.2", "@babel/preset-env": "7.10.2", "@types/electron-settings": "^3.1.1", + "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "12", "@types/node-fetch": "^2.5.7", + "@types/webpack": "^4.41.17", + "@types/webpack-merge": "^4.1.5", + "@types/webpack-node-externals": "^1.7.1", "@typescript-eslint/eslint-plugin": "^3.1.0", "@typescript-eslint/parser": "^3.1.0", "babel-loader": "8.1.0", @@ -56,10 +60,11 @@ "spectron": "^11.0.0", "style-loader": "^1.2.1", "ts-loader": "^7.0.5", + "ts-node": "^8.10.2", "typescript": "^3.9.5", "webpack": "^4.43.0", "webpack-cli": "^3.3.11", - "webpack-merge": "^4.1.0", + "webpack-merge": "^4.2.2", "webpack-node-externals": "^1.6.0" } } diff --git a/tsconfig.json b/tsconfig.json index 8bc2eb0a..306e3168 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -39,7 +39,7 @@ "outDir": "./app", // "paths": {} /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit just typechecking. */, - // "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ /* Source Map Options */ // "sourceRoot": "" /* Specify the location where debugger should locate TypeScript files instead of source locations. */ diff --git a/webpack.config.ts b/webpack.config.ts new file mode 100644 index 00000000..61b85854 --- /dev/null +++ b/webpack.config.ts @@ -0,0 +1,54 @@ +import { Configuration } from "webpack"; +import nodeExternals from "webpack-node-externals"; +import FriendlyErrors from "friendly-errors-webpack-plugin"; +import * as process from "process"; +import * as path from "path"; +import merge from "webpack-merge"; + +const base: Configuration = { + target: "electron-renderer", + mode: process.env.NODE_ENV === "development" ? "development" : "production", + externals: [nodeExternals()], + devtool: "source-map", + node: { + __dirname: false, + __filename: false, + }, + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules/, + use: ["babel-loader"], + }, + { + test: /\.ts$/, + exclude: /node_modules/, + use: ["babel-loader", "ts-loader"], + }, + { + test: /\.css$/, + use: ["style-loader", "css-loader"], + }, + ], + }, + resolve: { + extensions: [".ts", ".js", ".css"], + }, + plugins: [new FriendlyErrors()], +}; + +const app = merge(base, { + name: "app", + entry: { + background: "./src/background.ts", + app: "./src/app.ts", + bridge: "./src/helpers/webview/bridge.ts", + }, + output: { + filename: "[name].js", + path: path.resolve(__dirname, "app"), + }, +}); + +export default [app]; diff --git a/yarn.lock b/yarn.lock index bcbc58bf..9fa1a6d0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -830,6 +830,11 @@ dependencies: defer-to-connect "^1.0.1" +"@types/anymatch@*": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -852,6 +857,13 @@ resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== +"@types/friendly-errors-webpack-plugin@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-0.1.2.tgz#acb0dcb46bd49e3209a004048c7d4383488d391c" + integrity sha512-kHxYzaalbuWKP+cK/DKtDIR+vxFgZHl+tqI3q07M8x+7q5yB+3AY+aDfIe6S26+XO0WquoSn25P2b8l5rk5owA== + dependencies: + "@types/webpack" "*" + "@types/fs-extra@^9.0.1": version "9.0.1" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918" @@ -889,6 +901,23 @@ dependencies: "@types/node" "*" +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + +"@types/tapable@*": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" + integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ== + +"@types/uglify-js@*": + version "3.9.2" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.2.tgz#01992579debba674e1e359cd6bcb1a1d0ab2e02b" + integrity sha512-d6dIfpPbF+8B7WiCi2ELY7m0w1joD8cRW4ms88Emdb2w062NeEpbNCeWwVCgzLRpVG+5e74VFSg4rgJ2xXjEiQ== + dependencies: + source-map "^0.6.1" + "@types/webdriverio@^4.8.0": version "4.13.3" resolved "https://registry.yarnpkg.com/@types/webdriverio/-/webdriverio-4.13.3.tgz#c1571c4e62724135c0b11e7d7e36b07af5168856" @@ -896,6 +925,41 @@ dependencies: "@types/node" "*" +"@types/webpack-merge@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/webpack-merge/-/webpack-merge-4.1.5.tgz#265fbee4810474860d0f4c17e0107032881eed47" + integrity sha512-cbDo592ljSHeaVe5Q39JKN6Z4vMhmo4+C3JbksOIg+kjhKQYN2keGN7dvr/i18+dughij98Qrsfn1mU9NgVoCA== + dependencies: + "@types/webpack" "*" + +"@types/webpack-node-externals@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@types/webpack-node-externals/-/webpack-node-externals-1.7.1.tgz#73d0d7ae0e98cfbd69b7443388302cd69217494a" + integrity sha512-kbO2gYPKvMb5j1KOgnIuUH52CKul9Ud4b10J5n+JX8oHmgu86hYpBVfrV4bMDe5lhCaO64h8QrKz7WnRZzqkbA== + dependencies: + "@types/webpack" "*" + +"@types/webpack-sources@*": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-1.4.0.tgz#e58f1f05f87d39a5c64cf85705bdbdbb94d4d57e" + integrity sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@*", "@types/webpack@^4.41.17": + version "4.41.17" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.17.tgz#0a69005e644d657c85b7d6ec1c826a71bebd1c93" + integrity sha512-6FfeCidTSHozwKI67gIVQQ5Mp0g4X96c2IXxX75hYEQJwST/i6NyZexP//zzMOBb+wG9jJ7oO8fk9yObP2HWAw== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + "@types/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1303,6 +1367,11 @@ archiver@~2.1.0: tar-stream "^1.5.0" zip-stream "^1.2.0" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -2474,6 +2543,11 @@ diff@3.5.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -4429,6 +4503,11 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" @@ -5916,7 +5995,7 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.19, source-map-support@~0.5.12: +source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -5939,6 +6018,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -6420,6 +6504,17 @@ ts-loader@^7.0.5: micromatch "^4.0.0" semver "^6.0.0" +ts-node@^8.10.2: + version "8.10.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" + integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" @@ -6767,7 +6862,7 @@ webpack-cli@^3.3.11: v8-compile-cache "2.0.3" yargs "13.2.4" -webpack-merge@^4.1.0: +webpack-merge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== @@ -7014,6 +7109,11 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + zip-stream@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" From dac72ec37f6836995bab4dc697ebaf9348463923 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 23:22:24 -0400 Subject: [PATCH 034/385] Switched to constant throughout the app for basepath --- src/background.ts | 12 ++++-------- src/constants.ts | 4 +--- src/menu/items/about.ts | 10 ++-------- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/background.ts b/src/background.ts index c88930f1..43a655d2 100644 --- a/src/background.ts +++ b/src/background.ts @@ -36,6 +36,8 @@ import { EVENT_SPELL_ADD_CUSTOM_WORD, EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, + BASE_APP_PATH, + RESOURCES_PATH, } from "./constants"; const state = { @@ -225,7 +227,7 @@ if (!isFirstInstance) { mainWindow.loadURL( url.format({ - pathname: path.join(__dirname, "app.html"), + pathname: path.resolve(BASE_APP_PATH, "app.html"), protocol: "file:", slashes: true, }) @@ -271,13 +273,7 @@ if (!isFirstInstance) { * know what broke it (and I do not really care) but I am going to assume a security header. * I am going to use one of the icons in the resources folder because it is convienet. */ - icon: path.resolve( - __dirname, - "..", - "resources", - "icons", - "64x64.png" - ), + icon: path.resolve(RESOURCES_PATH, "icons", "64x64.png"), body: msg.options.body, }; notificationOpts.silent = !state.notificationSoundEnabled; diff --git a/src/constants.ts b/src/constants.ts index 2a4f346f..a7d2b03a 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -24,9 +24,7 @@ export const IS_LINUX = osName === "linux"; // Environment and paths export const IS_DEV = process.env.NODE_ENV === "development"; -export const BASE_APP_PATH = IS_DEV - ? path.resolve(__dirname, "..") - : process.resourcesPath; +export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); export const USER_DATA_PATH = (): string => app.getPath("userData"); // This has to be a function call because app.ready callback must be fired before this path can be used export const SPELLING_DICTIONARIES_PATH = (): string => diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index 666325c4..b109ea07 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -1,4 +1,4 @@ -import { IS_DEV } from "../../constants"; +import { IS_DEV, RESOURCES_PATH } from "../../constants"; import openAboutWindow from "about-window"; import { app, MenuItemConstructorOptions } from "electron"; import * as path from "path"; @@ -24,13 +24,7 @@ export const aboutMenuItem: MenuItemConstructorOptions = { click: () => { openAboutWindow({ // TODO: Make this not sketchy as hell - icon_path: path.resolve( - __dirname, - "..", - "resources", - "icons", - "512x512.png" - ), + icon_path: path.resolve(RESOURCES_PATH, "icons", "512x512.png"), copyright: `
Copyright who needs those${disclaimerText}${licenseText}${dictionaryLicenseText}
`, product_name: productName, description: descriptionWithLocale, From e1b89c4ad0ba3081ac900f2e480f8582063730da Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 23:23:25 -0400 Subject: [PATCH 035/385] Small bug with the paths --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 43a655d2..ea4a173c 100644 --- a/src/background.ts +++ b/src/background.ts @@ -227,7 +227,7 @@ if (!isFirstInstance) { mainWindow.loadURL( url.format({ - pathname: path.resolve(BASE_APP_PATH, "app.html"), + pathname: path.resolve(BASE_APP_PATH, "app", "app.html"), protocol: "file:", slashes: true, }) From f74b45ab94d013e8c7fd5724df92e89e053ac272 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 23:26:51 -0400 Subject: [PATCH 036/385] Fixed linting command --- package.json | 2 +- src/background.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 83b731ae..c972d504 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "build": "webpack --config-name app --mode=production", "build:dev": "webpack --config-name app --mode=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", - "lint": "eslint --fix src/**/*.js||ts" + "lint": "eslint --fix --ext .ts,.js ./src" }, "dependencies": { "about-window": "1.13.4", diff --git a/src/background.ts b/src/background.ts index ea4a173c..2f1123cf 100644 --- a/src/background.ts +++ b/src/background.ts @@ -61,7 +61,7 @@ const isFirstInstance = app.requestSingleInstanceLock(); if (!isFirstInstance) { app.quit(); } else { - app.on("second-instance", (_event, _commandLine, _workingDirectory) => { + app.on("second-instance", () => { if (mainWindow) { if (!mainWindow.isVisible()) { mainWindow.show(); From 637cf9df948dc3fc05f073590238e29b642aa1a1 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 23:27:35 -0400 Subject: [PATCH 037/385] typed a function --- src/helpers/tray_manager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/tray_manager.ts b/src/helpers/tray_manager.ts index 42cbf8a5..42cd1e0e 100644 --- a/src/helpers/tray_manager.ts +++ b/src/helpers/tray_manager.ts @@ -81,7 +81,7 @@ export class TrayManager { } } - public showMinimizeToTrayWarning() { + public showMinimizeToTrayWarning(): void { if (IS_WINDOWS && this.enabled) { const seenMinimizeToTrayWarning = settings.get( "seenMinimizeToTrayWarningPref", From edb67a864c6cf33514d863ddd63d3e959bcec047 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 5 Jun 2020 23:30:24 -0400 Subject: [PATCH 038/385] Cleaning up random nonsense --- .gitignore | 7 ++-- build/start.js | 21 ------------ build/webpack.app.config.js | 16 --------- build/webpack.base.config.js | 41 ------------------------ build/webpack.e2e.config.js | 30 ----------------- build/webpack.unit.config.js | 30 ----------------- config/env_development.json | 4 --- config/env_production.json | 4 --- config/env_test.json | 4 --- config/packaging/macosEntitlements.plist | 8 ----- config/packaging/notarize.js | 17 ---------- e2e/utils.js | 26 --------------- 12 files changed, 2 insertions(+), 206 deletions(-) delete mode 100644 build/start.js delete mode 100644 build/webpack.app.config.js delete mode 100644 build/webpack.base.config.js delete mode 100644 build/webpack.e2e.config.js delete mode 100644 build/webpack.unit.config.js delete mode 100644 config/env_development.json delete mode 100644 config/env_production.json delete mode 100644 config/env_test.json delete mode 100644 config/packaging/macosEntitlements.plist delete mode 100644 config/packaging/notarize.js delete mode 100644 e2e/utils.js diff --git a/.gitignore b/.gitignore index 533e3f3a..7f659eb6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,12 @@ -node_modules +node_modules/ .DS_Store Thumbs.db *.log /dist -/temp # ignore everything in 'app' folder what had been generated from 'src' folder -/app/app.js -/app/background.js -/app/bridge.js +/app/**/*.js /app/**/*.map # Dictionary files are downloaded by the user's machine diff --git a/build/start.js b/build/start.js deleted file mode 100644 index 0fd2f725..00000000 --- a/build/start.js +++ /dev/null @@ -1,21 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const childProcess = require("child_process"); -const electron = require("electron"); -const webpack = require("webpack"); -const config = require("./webpack.app.config"); - -const env = "development"; -const compiler = webpack(config(env)); -let electronStarted = false; - -const watching = compiler.watch({}, (err, stats) => { - if (!err && !stats.hasErrors() && !electronStarted) { - electronStarted = true; - - childProcess - .spawn(electron, ["."], { stdio: "inherit" }) - .on("close", () => { - watching.close(); - }); - } -}); diff --git a/build/webpack.app.config.js b/build/webpack.app.config.js deleted file mode 100644 index c342ed7b..00000000 --- a/build/webpack.app.config.js +++ /dev/null @@ -1,16 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const path = require("path"); -const merge = require("webpack-merge"); -const base = require("./webpack.base.config"); - -module.exports = merge(base(), { - entry: { - background: "./src/background.ts", - app: "./src/app.ts", - bridge: "./src/helpers/webview/bridge.ts", - }, - output: { - filename: "[name].js", - path: path.resolve(__dirname, "../app"), - }, -}); diff --git a/build/webpack.base.config.js b/build/webpack.base.config.js deleted file mode 100644 index 778ecf40..00000000 --- a/build/webpack.base.config.js +++ /dev/null @@ -1,41 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const nodeExternals = require("webpack-node-externals"); -const FriendlyErrorsWebpackPlugin = require("friendly-errors-webpack-plugin"); - -module.exports = (env) => { - return { - target: "electron-renderer", - node: { - __dirname: false, - __filename: false, - }, - externals: [nodeExternals()], - devtool: "source-map", - module: { - rules: [ - { - test: /\.js$/, - exclude: /node_modules/, - use: ["babel-loader"], - }, - { - test: /\.ts$/, - exclude: /node_modules/, - use: ["babel-loader", "ts-loader"], - }, - { - test: /\.css$/, - use: ["style-loader", "css-loader"], - }, - ], - }, - resolve: { - extensions: [".ts", ".js", ".css"], - }, - plugins: [ - new FriendlyErrorsWebpackPlugin({ - clearConsole: process.env.NODE_ENV === "development", - }), - ], - }; -}; diff --git a/build/webpack.e2e.config.js b/build/webpack.e2e.config.js deleted file mode 100644 index 432e5471..00000000 --- a/build/webpack.e2e.config.js +++ /dev/null @@ -1,30 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const merge = require("webpack-merge"); -const jetpack = require("fs-jetpack"); -const base = require("./webpack.base.config"); - -// Test files are scattered through the whole project. Here we're searching -// for them and generating entry file for webpack. - -const e2eDir = jetpack.cwd("e2e"); -const tempDir = jetpack.cwd("temp"); -const entryFilePath = tempDir.path("e2e_entry.js"); - -const entryFileContent = e2eDir - .find({ matching: "*.e2e.js" }) - .reduce((fileContent, path) => { - const normalizedPath = path.replace(/\\/g, "/"); - return `${fileContent}import "../e2e/${normalizedPath}";\n`; - }, ""); - -jetpack.write(entryFilePath, entryFileContent); - -module.exports = (env) => { - return merge(base(env), { - entry: entryFilePath, - output: { - filename: "e2e.js", - path: tempDir.path(), - }, - }); -}; diff --git a/build/webpack.unit.config.js b/build/webpack.unit.config.js deleted file mode 100644 index 47c00dbd..00000000 --- a/build/webpack.unit.config.js +++ /dev/null @@ -1,30 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const merge = require("webpack-merge"); -const jetpack = require("fs-jetpack"); -const base = require("./webpack.base.config"); - -// Test files are scattered through the whole project. Here we're searching -// for them and generating entry file for webpack. - -const srcDir = jetpack.cwd("src"); -const tempDir = jetpack.cwd("temp"); -const entryFilePath = tempDir.path("specs_entry.js"); - -const entryFileContent = srcDir - .find({ matching: "*.spec.js" }) - .reduce((fileContent, path) => { - const normalizedPath = path.replace(/\\/g, "/"); - return `${fileContent}import "../src/${normalizedPath}";\n`; - }, ""); - -jetpack.write(entryFilePath, entryFileContent); - -module.exports = (env) => { - return merge(base(env), { - entry: entryFilePath, - output: { - filename: "specs.js", - path: tempDir.path(), - }, - }); -}; diff --git a/config/env_development.json b/config/env_development.json deleted file mode 100644 index efb77484..00000000 --- a/config/env_development.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "development", - "description": "Add here any environment specific stuff you like." -} diff --git a/config/env_production.json b/config/env_production.json deleted file mode 100644 index 600b2d71..00000000 --- a/config/env_production.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "production", - "description": "Add here any environment specific stuff you like." -} diff --git a/config/env_test.json b/config/env_test.json deleted file mode 100644 index e3956a52..00000000 --- a/config/env_test.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test", - "description": "Add here any environment specific stuff you like." -} diff --git a/config/packaging/macosEntitlements.plist b/config/packaging/macosEntitlements.plist deleted file mode 100644 index d6b93bc0..00000000 --- a/config/packaging/macosEntitlements.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.cs.allow-unsigned-executable-memory - - - diff --git a/config/packaging/notarize.js b/config/packaging/notarize.js deleted file mode 100644 index 48b58a64..00000000 --- a/config/packaging/notarize.js +++ /dev/null @@ -1,17 +0,0 @@ -const { notarize } = require('electron-notarize'); - -exports.default = async function notarizing(context) { - const { electronPlatformName, appOutDir } = context; - if (electronPlatformName !== 'darwin') { - return; - } - - const appName = context.packager.appInfo.productFilename; - - return await notarize({ - appBundleId: 'com.knepper.android-messages-desktop', - appPath: `${appOutDir}/${appName}.app`, - appleId: process.env.ANDROID_MESSAGES_APPLE_ID_EMAIL, - appleIdPassword: process.env.ANDROID_MESSAGES_APPLE_ID_APP_PASSWORD, - }); -}; diff --git a/e2e/utils.js b/e2e/utils.js deleted file mode 100644 index 32e750f1..00000000 --- a/e2e/utils.js +++ /dev/null @@ -1,26 +0,0 @@ -import electron from "electron"; -import { Application } from "spectron"; - -const beforeEach = function() { - this.timeout(10000); - this.app = new Application({ - path: electron, - args: ["."], - startTimeout: 10000, - waitTimeout: 10000 - }); - return this.app.start(); -}; - -const afterEach = function() { - this.timeout(10000); - if (this.app && this.app.isRunning()) { - return this.app.stop(); - } - return undefined; -}; - -export default { - beforeEach, - afterEach -}; From 0c3ba4ca8f60d9f64199560664fec090f7c24ef7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 00:50:36 -0400 Subject: [PATCH 039/385] Removed tofix and fixed some random things --- package.json | 2 +- src/app.ts | 8 +++----- src/background.ts | 23 ++++++++------------- src/helpers/tray_manager.ts | 12 ++++------- src/helpers/webview/bridge.ts | 32 ++++++++++++++--------------- src/helpers/webview/context_menu.ts | 27 ++++++++++-------------- src/helpers/window.ts | 2 +- src/index.d.ts | 21 +++++++++++++++++++ src/menu/dev_menu_template.ts | 10 ++++++--- src/menu/tray_menu_template.ts | 8 +++----- tsconfig.json | 2 +- 11 files changed, 76 insertions(+), 71 deletions(-) create mode 100644 src/index.d.ts diff --git a/package.json b/package.json index c972d504..4086e5ec 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ }, "main": "app/background.js", "scripts": { - "start": "yarn build:dev && electron ./app/background.js", + "start": "yarn build:dev && NODE_ENV=development electron ./app/background.js", "dist": "yarn build && electron-builder --config electron-builder.js", "build": "webpack --config-name app --mode=production", "build:dev": "webpack --config-name app --mode=development", diff --git a/src/app.ts b/src/app.ts index b24a5d26..b535d94e 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,18 +1,16 @@ import "./stylesheets/main.css"; -import { ipcRenderer, remote } from "electron"; +import { ipcRenderer, remote, WebviewTag } from "electron"; import { EVENT_UPDATE_USER_SETTING, IS_MAC } from "./constants"; -type TOFIX = any; - const app = remote.app; const androidMessagesWebview = document.getElementById( "androidMessagesWebview" -) as TOFIX; +) as WebviewTag; androidMessagesWebview.addEventListener("dom-ready", () => { - (app as TOFIX).mainWindow.on("focus", () => { + app.mainWindow?.on("focus", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs androidMessagesWebview.dispatchEvent(new Event("focus")); }); diff --git a/src/background.ts b/src/background.ts index 2f1123cf..fd71b915 100644 --- a/src/background.ts +++ b/src/background.ts @@ -19,7 +19,7 @@ import { autoUpdater } from "electron-updater"; import { baseMenuTemplate } from "./menu/base_menu_template"; import { devMenuTemplate } from "./menu/dev_menu_template"; import { helpMenuTemplate } from "./menu/help_menu_template"; -import { Window } from "./helpers/window"; +import { CustomBrowserWindow } from "./helpers/window"; import { getDictionary } from "./helpers/dictionary_manager"; import { TrayManager } from "./helpers/tray_manager"; import * as settings from "electron-settings"; @@ -48,10 +48,9 @@ const state = { useSystemDarkMode: true, }; -type TOFIX = any; type CustomWords = Record; -let mainWindow: TOFIX = null; +let mainWindow: CustomBrowserWindow; // Prevent multiple instances of the app which causes many problems with an app like ours // Without this, if an instance were minimized to the tray in Windows, clicking a shortcut would launch another instance, icky @@ -205,25 +204,23 @@ if (!isFirstInstance) { show: !startInTray, //Starts in tray if set titleBarStyle: IS_MAC ? "hiddenInset" : "default", //Turn on hidden frame on a Mac webPreferences: { - contextIsolation: false, nodeIntegration: true, webviewTag: true, + enableRemoteModule: true, }, }; if (IS_LINUX) { // Setting the icon in Linux tends to be finicky without explicitly setting it like this. // See: https://github.com/electron/electron/issues/6205 - mainWindowOptions.icon = path.join( - __dirname, - "..", - "resources", + mainWindowOptions.icon = path.resolve( + RESOURCES_PATH, "icons", "128x128.png" ); } - mainWindow = new Window("main", mainWindowOptions); + mainWindow = new CustomBrowserWindow("main", mainWindowOptions); mainWindow.loadURL( url.format({ @@ -235,7 +232,7 @@ if (!isFirstInstance) { trayManager.startIfEnabled(); - (app as TOFIX).mainWindow = mainWindow; // Quick and dirty way for renderer process to access mainWindow for communication + app.mainWindow = mainWindow; // Quick and dirty way for renderer process to access mainWindow for communication mainWindow.on("focus", () => { if (IS_MAC) { @@ -294,7 +291,7 @@ if (!isFirstInstance) { // Allows us to marry our custom notification and its behavior with the helpful behavior // (conversation highlighting) that Google provides. See the webview bridge for details. - (global as TOFIX).currentNotification = customNotification; + global.currentNotification = customNotification; event.sender.send(EVENT_NOTIFICATION_REFLECT_READY, true); customNotification.show(); @@ -395,10 +392,6 @@ if (!isFirstInstance) { } }); - if (IS_DEV) { - mainWindow.openDevTools(); - } - app.on("web-contents-created", (e, contents) => { // Check for a webview if (contents.getType() == "webview") { diff --git a/src/helpers/tray_manager.ts b/src/helpers/tray_manager.ts index 42cd1e0e..6abbde43 100644 --- a/src/helpers/tray_manager.ts +++ b/src/helpers/tray_manager.ts @@ -10,8 +10,6 @@ import { } from "../constants"; import * as settings from "electron-settings"; -type TOFIX = any; - export class TrayManager { public enabled = settings.get(SETTING_TRAY_ENABLED, !IS_LINUX) as boolean; public iconPath = this.getIconPath(); @@ -68,9 +66,7 @@ export class TrayManager { private handleTrayClick(event: Electron.KeyboardEvent) { event.preventDefault(); - if ((app as TOFIX).mainWindow) { - (app as TOFIX).mainWindow.show(); - } + app.mainWindow?.show(); } private destroy(): void { @@ -122,9 +118,9 @@ export class TrayManager { if (!newValue) { if (this.tray) { this.destroy(); - if (!IS_MAC && (app as TOFIX).mainWindow) { - if (!(app as TOFIX).mainWindow.isVisible()) { - (app as TOFIX).mainWindow.show(); + if (!IS_MAC) { + if (!app.mainWindow?.isVisible()) { + app.mainWindow?.show(); } } } diff --git a/src/helpers/webview/bridge.ts b/src/helpers/webview/bridge.ts index ffba6e3c..f8f2bea2 100644 --- a/src/helpers/webview/bridge.ts +++ b/src/helpers/webview/bridge.ts @@ -16,8 +16,6 @@ import { attachSpellCheckProvider, } from "electron-hunspell"; -type TOFIX = any; - // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -28,13 +26,16 @@ window.onload = () => { // Without observing the DOM, we don't have a reliable way to let the main process know once // (and only once) that the main part of the app (not the QR code screen) has loaded, which is // when we need to init the spellchecker - const onMutation = (mutationsList: TOFIX, observer: MutationObserver) => { + const onMutation = ( + mutationsList: MutationRecord[], + observer: MutationObserver + ) => { if (document.querySelector("mw-main-nav")) { // we're definitely logged-in if this is in the DOM ipcRenderer.send(EVENT_BRIDGE_INIT); observer.disconnect(); } - // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here + // // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here }; const observer = new MutationObserver(onMutation); @@ -58,7 +59,7 @@ ipcRenderer.once( spellCheckFiles.userLanguageDicFile ) { const provider = new SpellCheckerProvider(); - (window as TOFIX).spellCheckHandler = provider; + window.spellCheckHandler = provider; await provider.initialize({}); // Empty brace correct, see: https://github.com/kwonoj/electron-hunspell/blob/master/example/browserWindow.ts await provider.loadDictionary( @@ -70,19 +71,14 @@ ipcRenderer.once( const attached = await attachSpellCheckProvider(provider); attached.switchLanguage(dictionaryLocaleKey); - const table = (window as TOFIX).spellCheckHandler.spellCheckerTable; - if ( - dictionaryLocaleKey in customWords && - table && - dictionaryLocaleKey in table - ) { + if (dictionaryLocaleKey in customWords) { for ( let i = 0, n = customWords[dictionaryLocaleKey].length; i < n; i++ ) { const word = customWords[dictionaryLocaleKey][i]; - table[dictionaryLocaleKey].spellChecker.addWord(word); + window.spellCheckHandler.addWord(dictionaryLocaleKey, word); } } } @@ -138,14 +134,18 @@ Notification = function (title: string, options?: NotificationOptions) { * time we can reliably get a reference to the Electron notification and attach Google's click * event listener. */ - let originalClickListener: (() => void) | null = null; + + type Type = "click" | "close" | "error" | "show"; + type Listener = (ev: NotificationEventMap[Type]) => unknown; + type Options = undefined | boolean | AddEventListenerOptions; + let originalClickListener: Listener | null = null; const originalAddEventListener = notificationToSend.addEventListener; // Seems silly to have these be correct as there is no way to mess it up notificationToSend.addEventListener = ( - type: TOFIX, - listener: TOFIX, - options: TOFIX + type: Type, + listener: Listener, + options?: Options ) => { if (type === "click") { originalClickListener = listener; diff --git a/src/helpers/webview/context_menu.ts b/src/helpers/webview/context_menu.ts index e9fa22e6..323ecc1e 100644 --- a/src/helpers/webview/context_menu.ts +++ b/src/helpers/webview/context_menu.ts @@ -8,8 +8,6 @@ import { } from "electron"; import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../../constants"; -type TOFIX = any; - const { Menu } = remote; const standardMenuTemplate: MenuItemConstructorOptions[] = [ @@ -113,11 +111,7 @@ export const popupContextMenu = async ( default: if (params.isEditable) { const textMenuTemplateCopy = [...textMenuTemplate]; - if ( - (window as TOFIX).spellCheckHandler && - params.misspelledWord && - typeof params.misspelledWord === "string" - ) { + if (window.spellCheckHandler && params.misspelledWord) { const booboo = params.selectionText; textMenuTemplateCopy.unshift({ type: "separator", @@ -126,12 +120,15 @@ export const popupContextMenu = async ( label: `Add ${booboo} to Dictionary`, click: async () => { // Immediately clear red underline - (event as TOFIX).sender.replaceMisspelling(booboo); + console.log(event); + + (event as any).sender.replaceMisspelling(booboo); // Add new custom word to dictionary for the current session - const localeKey = await (window as TOFIX).spellCheckHandler.getSelectedDictionaryLanguage(); - (window as TOFIX).spellCheckHandler.spellCheckerTable[ - localeKey - ].spellChecker.addWord(booboo); + // Until I restructure all this ts demands a default + const localeKey = + (await window.spellCheckHandler?.getSelectedDictionaryLanguage()) || + "en-GB"; + window.spellCheckHandler?.addWord(localeKey, booboo); // Send new custom word to main process so it will be added to the dictionary at the start of future sessions ipcRenderer.send(EVENT_SPELL_ADD_CUSTOM_WORD, { newCustomWord: booboo, @@ -139,7 +136,7 @@ export const popupContextMenu = async ( }, }); - const suggestions = (await (window as TOFIX).spellCheckHandler.getSuggestion( + const suggestions = (await window.spellCheckHandler.getSuggestion( params.misspelledWord )) as string[]; if (suggestions && suggestions.length) { @@ -155,9 +152,7 @@ export const popupContextMenu = async ( const item = { label: correction, click: () => { - return (event as TOFIX).sender.replaceMisspelling( - correction - ); + return (event as any).sender.replaceMisspelling(correction); }, }; diff --git a/src/helpers/window.ts b/src/helpers/window.ts index c1d95f3e..fccf2218 100644 --- a/src/helpers/window.ts +++ b/src/helpers/window.ts @@ -29,7 +29,7 @@ interface Position extends Size { * @class Window * @extends {BrowserWindow} */ -export class Window extends BrowserWindow { +export class CustomBrowserWindow extends BrowserWindow { private userDataDir = jetpack.cwd(app.getPath("userData")); private stateStoreFile: string; diff --git a/src/index.d.ts b/src/index.d.ts new file mode 100644 index 00000000..38479d82 --- /dev/null +++ b/src/index.d.ts @@ -0,0 +1,21 @@ +import { CustomBrowserWindow } from "./helpers/window"; +import { Notification } from "electron"; +import { SpellCheckerProvider } from "electron-hunspell"; + +declare global { + interface Window { + spellCheckHandler?: SpellCheckerProvider; + } + + namespace Electron { + interface App { + mainWindow?: CustomBrowserWindow; + } + } + + namespace NodeJS { + interface Global { + currentNotification?: Notification; + } + } +} diff --git a/src/menu/dev_menu_template.ts b/src/menu/dev_menu_template.ts index f6ba9d9b..6462a98d 100644 --- a/src/menu/dev_menu_template.ts +++ b/src/menu/dev_menu_template.ts @@ -1,4 +1,4 @@ -import { app, BrowserWindow } from "electron"; +import { app } from "electron"; export const devMenuTemplate = { label: "Development", @@ -6,8 +6,12 @@ export const devMenuTemplate = { { label: "Reload", accelerator: "CmdOrCtrl+R", - click: (): void => - BrowserWindow.getFocusedWindow()?.webContents.reloadIgnoringCache(), + click: (): void => app.mainWindow?.webContents.reloadIgnoringCache(), + }, + { + label: "Developer Tools", + accelerator: "CmdOrCtrl+Shift+I", + click: (): void => app.mainWindow?.webContents.openDevTools(), }, { label: "Quit", diff --git a/src/menu/tray_menu_template.ts b/src/menu/tray_menu_template.ts index edc45a33..4f69c99c 100644 --- a/src/menu/tray_menu_template.ts +++ b/src/menu/tray_menu_template.ts @@ -1,14 +1,12 @@ -import { app, MenuItemConstructorOptions, BrowserWindow } from "electron"; +import { app, MenuItemConstructorOptions } from "electron"; import { IS_MAC } from "../constants"; -type TOFIX = any; - export const trayMenuTemplate: MenuItemConstructorOptions[] = [ { label: "Show/Hide Android Messages", click: (): void => { - const mainWindow: BrowserWindow = (app as TOFIX).mainWindow; - if (mainWindow) { + const mainWindow = app.mainWindow; + if (mainWindow != null) { if (mainWindow.isVisible()) { if (IS_MAC) { app.hide(); diff --git a/tsconfig.json b/tsconfig.json index 306e3168..f227dfa4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -35,7 +35,7 @@ /* Module Resolution Options */ "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, - "baseUrl": "./src" /* Base directory to resolve non-absolute module names. */, + // "baseUrl": "./src" /* Base directory to resolve non-absolute module names. */, "outDir": "./app", // "paths": {} /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit just typechecking. */, From 7fc97031320a1f8d0b85c3685671ced5a87d7d59 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 01:46:36 -0400 Subject: [PATCH 040/385] Fixed spellcheck to be a little bit less of a mess --- src/background.ts | 41 +++++------------ src/helpers/dictionary_manager.ts | 69 +++++++++++++++-------------- src/helpers/webview/bridge.ts | 56 +++++++++++------------ src/helpers/webview/context_menu.ts | 5 +-- 4 files changed, 76 insertions(+), 95 deletions(-) diff --git a/src/background.ts b/src/background.ts index fd71b915..f1f88e67 100644 --- a/src/background.ts +++ b/src/background.ts @@ -4,7 +4,6 @@ // window from here. import * as path from "path"; -import * as url from "url"; import { app, Menu, @@ -222,13 +221,7 @@ if (!isFirstInstance) { mainWindow = new CustomBrowserWindow("main", mainWindowOptions); - mainWindow.loadURL( - url.format({ - pathname: path.resolve(BASE_APP_PATH, "app", "app.html"), - protocol: "file:", - slashes: true, - }) - ); + mainWindow.loadFile(path.resolve(BASE_APP_PATH, "app", "app.html")); trayManager.startIfEnabled(); @@ -311,37 +304,28 @@ if (!isFirstInstance) { enterToSend: pressEnterToSendEnabled, useDarkMode: useSystemDarkMode ? nativeTheme.shouldUseDarkColors : null, }); + const locale = app.getLocale(); - let spellCheckFiles = null; - let customWords = null; - const currentLanguage = app.getLocale(); try { // Spellchecking is supported for the current language - spellCheckFiles = await getDictionary(currentLanguage); + const spellCheckFiles = await getDictionary(locale); + const customWords = settings.get( + SETTING_CUSTOM_WORDS, + {} + ) as CustomWords; // We send an event with the language key and array of custom words to the webview bridge which contains the // instance of the spellchecker. Done this way because passing class instances (i.e. of the spellchecker) // between electron processes is hacky at best and impossible at worst. - const existingCustomWords = settings.get( - SETTING_CUSTOM_WORDS, - {} - ) as CustomWords; - customWords = {}; - if (currentLanguage in existingCustomWords) { - customWords = { - [currentLanguage]: existingCustomWords[currentLanguage], - }; - } + event.sender.send(EVENT_SPELLING_REFLECT_READY, { + locale, + spellCheckFiles, + customWords, + }); } catch (error) { // TODO: Display this as an error message to the user? } - - event.sender.send(EVENT_SPELLING_REFLECT_READY, { - dictionaryLocaleKey: currentLanguage, - spellCheckFiles, - customWords, - }); }); ipcMain.on(EVENT_SPELL_ADD_CUSTOM_WORD, (_event, msg) => { @@ -382,7 +366,6 @@ if (!isFirstInstance) { }; mainWindow.on("close", (event: Electron.Event) => { - console.log("close window called"); if (!shouldExitOnMainWindowClosed()) { event.preventDefault(); mainWindow.hide(); diff --git a/src/helpers/dictionary_manager.ts b/src/helpers/dictionary_manager.ts index 5aa5e5cb..35a585e3 100644 --- a/src/helpers/dictionary_manager.ts +++ b/src/helpers/dictionary_manager.ts @@ -38,17 +38,17 @@ async function getLanguageObject(locale: string): Promise { * larger number of speakers of that language. */ - if (locale === "en") { - locale = "en-GB"; - } else if (locale === "hy") { - locale = "hy-arevela"; + if (locale === "en-US") { + locale = "en"; + } else if (locale === "de-DE") { + locale = "de"; } let language: GithubEntry; // Every locale code for which a dictionary exists, as an array const supportedLanguages = (await getSupportedLanguages()).filter( - (language) => language.name === "dir" + (language) => language.type === "dir" ); const names = supportedLanguages.map((language) => language.name); if (names.includes(locale)) { @@ -64,11 +64,10 @@ async function getLanguageObject(locale: string): Promise { throw new Error("Locale not supported"); } } - return language; } -interface Dictionary { +export interface Dictionary { aff: string; dic: string; } @@ -77,33 +76,35 @@ export async function getDictionary(locale: string): Promise { const language = await getLanguageObject(locale); const dirPath = path.resolve(SPELLING_DICTIONARIES_PATH(), language.name); const fileRoot = path.resolve(dirPath, "index"); - // if dir doesnt exist - if (!(await fsJetpack.dirAsync(dirPath))) { - // if both files dont exist - if ( - !(await fsJetpack.existsAsync(fileRoot + ".aff")) || - !(await fsJetpack.existsAsync(fileRoot + ".dic")) - ) { - const downloadEntries = (await ( - await fetch(language.url) - ).json()) as GithubEntry[]; - const downloads = downloadEntries.filter((download) => - ["aff", "dic"].includes(download.name.split(".")[1]) - ); - await Promise.all( - downloads.map(async (download) => { - if (download.download_url) { - const content = await (await fetch(download.download_url)).text(); - return await fsJetpack.writeAsync( - fileRoot + download.name.split(".")[1], - content - ); - } else { - throw new Error("Download not found"); - } - }) - ); - } + + // creates dir + const langDir = await fsJetpack.dirAsync(dirPath); + // if both files dont exist + const contents = await langDir.listAsync(); + + if ( + !contents?.includes(fileRoot + ".aff") || + !contents?.includes(fileRoot + ".dic") + ) { + const downloadEntries = (await ( + await fetch(language.url) + ).json()) as GithubEntry[]; + const downloads = downloadEntries.filter((download) => + ["aff", "dic"].includes(download.name.split(".")[1]) + ); + await Promise.all( + downloads.map(async (download) => { + if (download.download_url) { + const content = await (await fetch(download.download_url)).text(); + return await fsJetpack.writeAsync( + fileRoot + "." + download.name.split(".")[1], + content + ); + } else { + throw new Error("Download not found"); + } + }) + ); } return { aff: fileRoot + ".aff", diff --git a/src/helpers/webview/bridge.ts b/src/helpers/webview/bridge.ts index f8f2bea2..d998946c 100644 --- a/src/helpers/webview/bridge.ts +++ b/src/helpers/webview/bridge.ts @@ -15,6 +15,7 @@ import { SpellCheckerProvider, attachSpellCheckProvider, } from "electron-hunspell"; +import { Dictionary } from "../dictionary_manager"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -46,40 +47,37 @@ window.onload = () => { }); }; +interface EventSpellingReadyParams { + locale: string; + spellCheckFiles: Dictionary; + customWords: Record; +} + // The main process, once receiving EVENT_BRIDGE_INIT, determines whether the user's current language allows for spellchecking // and if so, (down)loads the necessary files, then sends an event to which the following listener responds and // loads the spellchecker, if needed. ipcRenderer.once( EVENT_SPELLING_REFLECT_READY, - async (event, { dictionaryLocaleKey, spellCheckFiles, customWords }) => { - if ( - dictionaryLocaleKey && - spellCheckFiles && - spellCheckFiles.userLanguageAffFile && - spellCheckFiles.userLanguageDicFile - ) { - const provider = new SpellCheckerProvider(); - window.spellCheckHandler = provider; - await provider.initialize({}); // Empty brace correct, see: https://github.com/kwonoj/electron-hunspell/blob/master/example/browserWindow.ts - - await provider.loadDictionary( - dictionaryLocaleKey, - fs.readFileSync(spellCheckFiles.userLanguageDicFile), - fs.readFileSync(spellCheckFiles.userLanguageAffFile) - ); - - const attached = await attachSpellCheckProvider(provider); - attached.switchLanguage(dictionaryLocaleKey); - - if (dictionaryLocaleKey in customWords) { - for ( - let i = 0, n = customWords[dictionaryLocaleKey].length; - i < n; - i++ - ) { - const word = customWords[dictionaryLocaleKey][i]; - window.spellCheckHandler.addWord(dictionaryLocaleKey, word); - } + async ( + _event, + { locale, spellCheckFiles, customWords }: EventSpellingReadyParams + ) => { + const provider = new SpellCheckerProvider(); + window.spellCheckHandler = provider; + await provider.initialize(); + + await provider.loadDictionary( + locale, + fs.readFileSync(spellCheckFiles.dic), + fs.readFileSync(spellCheckFiles.aff) + ); + + const attached = await attachSpellCheckProvider(provider); + attached.switchLanguage(locale); + + if (locale in customWords) { + for (const word of customWords[locale]) { + window.spellCheckHandler.addWord(locale, word); } } } diff --git a/src/helpers/webview/context_menu.ts b/src/helpers/webview/context_menu.ts index 323ecc1e..4bad9f9d 100644 --- a/src/helpers/webview/context_menu.ts +++ b/src/helpers/webview/context_menu.ts @@ -8,7 +8,7 @@ import { } from "electron"; import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../../constants"; -const { Menu } = remote; +const { Menu, app } = remote; const standardMenuTemplate: MenuItemConstructorOptions[] = [ { @@ -64,7 +64,7 @@ export const popupContextMenu = async ( // As of Electron 4, Menu.popup no longer accepts being called with the signature popup(remote.getCurrentWindow()) // It must be passed as an object with the window key. Is this change silly? Yes. Will we know why it was done? No. const menuPopupArgs = { - window: remote.getCurrentWindow(), + window: app.mainWindow, }; switch (params.mediaType) { @@ -120,7 +120,6 @@ export const popupContextMenu = async ( label: `Add ${booboo} to Dictionary`, click: async () => { // Immediately clear red underline - console.log(event); (event as any).sender.replaceMisspelling(booboo); // Add new custom word to dictionary for the current session From e69ce7fd82123ad4dd94ea2177d69a606186cca8 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 02:30:33 -0400 Subject: [PATCH 041/385] Added profile Icon to the notifications --- src/app.ts | 5 +++++ src/background.ts | 33 +++++++++++++++++---------------- src/index.d.ts | 1 + 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/app.ts b/src/app.ts index b535d94e..c5dc36ee 100644 --- a/src/app.ts +++ b/src/app.ts @@ -9,6 +9,11 @@ const androidMessagesWebview = document.getElementById( "androidMessagesWebview" ) as WebviewTag; +window.getUserImg = async (): Promise | undefined> => + await androidMessagesWebview.executeJavaScript( + `[document.querySelector("h3.name").textContent, document.querySelector("img").src]` + ); + androidMessagesWebview.addEventListener("dom-ready", () => { app.mainWindow?.on("focus", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs diff --git a/src/background.ts b/src/background.ts index f1f88e67..25ffc476 100644 --- a/src/background.ts +++ b/src/background.ts @@ -13,6 +13,7 @@ import { nativeTheme, MenuItemConstructorOptions, BrowserWindowConstructorOptions, + nativeImage, } from "electron"; import { autoUpdater } from "electron-updater"; import { baseMenuTemplate } from "./menu/base_menu_template"; @@ -238,8 +239,12 @@ if (!isFirstInstance) { } }); - ipcMain.on(EVENT_WEBVIEW_NOTIFICATION, (event, msg) => { + ipcMain.on(EVENT_WEBVIEW_NOTIFICATION, async (event, msg) => { if (msg.options) { + const userImgData = (await mainWindow.webContents.executeJavaScript( + `window.getUserImg()` + )) as Array | undefined; + const notificationOpts: Electron.NotificationConstructorOptions = state.notificationContentHidden ? { title: "Android Messages Desktop", @@ -248,22 +253,18 @@ if (!isFirstInstance) { : { title: msg.title, /* - * TODO: Icon is just the logo, which is the only image sent by Google, hopefully someday they will pass - * the sender's picture/avatar here. - * - * We may be able to just do it live by: - * 1. Traversing the DOM for the conversation which matches the sender - * 2. Converting to to SVG to Canvas to PNG using: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas - * 3. Sending image URL which Electron can display via nativeImage.createFromDataURL - * This would likely also require copying computed style properties into the element to ensure it looks right. - * There also appears to be a library: http://html2canvas.hertzen.com - */ - /* - * Google's image for notifications was not working for some reason. I do not - * know what broke it (and I do not really care) but I am going to assume a security header. - * I am going to use one of the icons in the resources folder because it is convienet. + * This is what we call absolute shenanigans. Above we call a function in the render process + * That function calls another function in the webView retrieving the name of the message at the top and the respective image + * It could technically be done without polluting the window but it would have been ugly as hell (as if this is not) + * Bellow it makes sure everything is defined and checks if the author matches the title of the notification + * If something is undefined it falls back to a generic icon in the resources folder. */ - icon: path.resolve(RESOURCES_PATH, "icons", "64x64.png"), + icon: + userImgData != null && + userImgData[0] === msg.title && + userImgData[1] != null + ? nativeImage.createFromDataURL(userImgData[1]) + : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), body: msg.options.body, }; notificationOpts.silent = !state.notificationSoundEnabled; diff --git a/src/index.d.ts b/src/index.d.ts index 38479d82..7b058877 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -5,6 +5,7 @@ import { SpellCheckerProvider } from "electron-hunspell"; declare global { interface Window { spellCheckHandler?: SpellCheckerProvider; + getUserImg: () => Promise | undefine>; } namespace Electron { From 9dfeb5a5e48dbff72c963ffbf376ac8813461072 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 02:33:11 -0400 Subject: [PATCH 042/385] Added warning --- src/helpers/webview/context_menu.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/helpers/webview/context_menu.ts b/src/helpers/webview/context_menu.ts index 4bad9f9d..64d51ef5 100644 --- a/src/helpers/webview/context_menu.ts +++ b/src/helpers/webview/context_menu.ts @@ -1,5 +1,3 @@ -// Provide context menus (copy, paste, save image, etc...) for right-click interaction. - import { ipcRenderer, MenuItemConstructorOptions, @@ -10,6 +8,10 @@ import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../../constants"; const { Menu, app } = remote; +// WARNING THIS IS THE ONLY PLACE LEFT WITH FORCE TYPECASTS TO ANY +// IT HAS NO SIDE EFFECTS +// I WOULD NOT DO IT BUT I AM NOT POSITIVE HOW TO PROPERLY TYPE IT + const standardMenuTemplate: MenuItemConstructorOptions[] = [ { label: "Copy", From d872c1aa6186b79e5bac7dde0c57630e85b14edc Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 02:34:48 -0400 Subject: [PATCH 043/385] Removed uneeded constant and renamed 1 or 2 --- src/constants.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/constants.ts b/src/constants.ts index a7d2b03a..3b48cefd 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -16,11 +16,11 @@ export const osMap = { }; // Operating system -export const osName = process.platform; -export const osNameFriendly = osMap[osName]; -export const IS_WINDOWS = osName === "win32"; -export const IS_MAC = osName === "darwin"; -export const IS_LINUX = osName === "linux"; +const OS_NAME = process.platform; +export const OS_NAME_FRIENDLY = osMap[OS_NAME]; +export const IS_WINDOWS = OS_NAME === "win32"; +export const IS_MAC = OS_NAME === "darwin"; +export const IS_LINUX = OS_NAME === "linux"; // Environment and paths export const IS_DEV = process.env.NODE_ENV === "development"; @@ -42,6 +42,3 @@ export const EVENT_BRIDGE_INIT = "messages-bridge-init"; export const EVENT_SPELL_ADD_CUSTOM_WORD = "messages-spelling-add-custom-word"; export const EVENT_SPELLING_REFLECT_READY = "messages-spelling-reflect-ready"; export const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; - -// Misc. -export const DICTIONARY_CACHE_TIME = 2592000000; // 30 days in milliseconds From 210f4a1a6eff48baf2a676ba7d8a557277b6a12f Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 02:41:32 -0400 Subject: [PATCH 044/385] Rename files and restructure some locations --- src/app.ts | 2 +- src/background.ts | 12 +++++----- src/{helpers/webview => }/bridge.ts | 8 +++---- src/{ => helpers}/constants.ts | 0 ...ionary_manager.ts => dictionaryManager.ts} | 2 +- .../input_manager.ts => inputManager.ts} | 0 .../{tray_manager.ts => trayManager.ts} | 4 ++-- src/menu/{app_menu_template.ts => appMenu.ts} | 2 +- src/menu/baseMenu.ts | 23 +++++++++++++++++++ src/menu/base_menu_template.ts | 23 ------------------- .../context_menu.ts => menu/contextMenu.ts} | 2 +- src/menu/{dev_menu_template.ts => devMenu.ts} | 0 .../{edit_menu_template.ts => editMenu.ts} | 0 .../{file_menu_template.ts => fileMenu.ts} | 2 +- .../{help_menu_template.ts => helpMenu.ts} | 2 +- src/menu/items/about.ts | 2 +- ...tings_menu_template.ts => settingsMenu.ts} | 2 +- .../{tray_menu_template.ts => trayMenu.ts} | 2 +- .../{view_menu_template.ts => viewMenu.ts} | 0 ...{window_menu_template.ts => windowMenu.ts} | 0 webpack.config.ts | 2 +- 21 files changed, 45 insertions(+), 45 deletions(-) rename src/{helpers/webview => }/bridge.ts (97%) rename src/{ => helpers}/constants.ts (100%) rename src/helpers/{dictionary_manager.ts => dictionaryManager.ts} (97%) rename src/helpers/{webview/input_manager.ts => inputManager.ts} (100%) rename src/helpers/{tray_manager.ts => trayManager.ts} (98%) rename src/menu/{app_menu_template.ts => appMenu.ts} (93%) create mode 100644 src/menu/baseMenu.ts delete mode 100644 src/menu/base_menu_template.ts rename src/{helpers/webview/context_menu.ts => menu/contextMenu.ts} (98%) rename src/menu/{dev_menu_template.ts => devMenu.ts} (100%) rename src/menu/{edit_menu_template.ts => editMenu.ts} (100%) rename src/menu/{file_menu_template.ts => fileMenu.ts} (90%) rename src/menu/{help_menu_template.ts => helpMenu.ts} (93%) rename src/menu/{settings_menu_template.ts => settingsMenu.ts} (97%) rename src/menu/{tray_menu_template.ts => trayMenu.ts} (92%) rename src/menu/{view_menu_template.ts => viewMenu.ts} (100%) rename src/menu/{window_menu_template.ts => windowMenu.ts} (100%) diff --git a/src/app.ts b/src/app.ts index c5dc36ee..3ee4694a 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,7 +1,7 @@ import "./stylesheets/main.css"; import { ipcRenderer, remote, WebviewTag } from "electron"; -import { EVENT_UPDATE_USER_SETTING, IS_MAC } from "./constants"; +import { EVENT_UPDATE_USER_SETTING, IS_MAC } from "./helpers/constants"; const app = remote.app; diff --git a/src/background.ts b/src/background.ts index 25ffc476..bfb07f4b 100644 --- a/src/background.ts +++ b/src/background.ts @@ -16,12 +16,12 @@ import { nativeImage, } from "electron"; import { autoUpdater } from "electron-updater"; -import { baseMenuTemplate } from "./menu/base_menu_template"; -import { devMenuTemplate } from "./menu/dev_menu_template"; -import { helpMenuTemplate } from "./menu/help_menu_template"; +import { baseMenuTemplate } from "./menu/baseMenu"; +import { devMenuTemplate } from "./menu/devMenu"; +import { helpMenuTemplate } from "./menu/helpMenu"; import { CustomBrowserWindow } from "./helpers/window"; -import { getDictionary } from "./helpers/dictionary_manager"; -import { TrayManager } from "./helpers/tray_manager"; +import { getDictionary } from "./helpers/dictionaryManager"; +import { TrayManager } from "./helpers/trayManager"; import * as settings from "electron-settings"; import { IS_MAC, @@ -38,7 +38,7 @@ import { EVENT_UPDATE_USER_SETTING, BASE_APP_PATH, RESOURCES_PATH, -} from "./constants"; +} from "./helpers/constants"; const state = { unreadNotificationCount: 0, diff --git a/src/helpers/webview/bridge.ts b/src/bridge.ts similarity index 97% rename from src/helpers/webview/bridge.ts rename to src/bridge.ts index d998946c..88cc6afe 100644 --- a/src/helpers/webview/bridge.ts +++ b/src/bridge.ts @@ -1,21 +1,21 @@ // This script is injected into the webview. -import { popupContextMenu } from "./context_menu"; +import { popupContextMenu } from "./menu/contextMenu"; import { EVENT_WEBVIEW_NOTIFICATION, EVENT_NOTIFICATION_REFLECT_READY, EVENT_BRIDGE_INIT, EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, -} from "../../constants"; +} from "./helpers/constants"; import { ipcRenderer, remote } from "electron"; -import { handleEnterPrefToggle } from "./input_manager"; +import { handleEnterPrefToggle } from "./helpers/inputManager"; import fs from "fs"; import { SpellCheckerProvider, attachSpellCheckProvider, } from "electron-hunspell"; -import { Dictionary } from "../dictionary_manager"; +import { Dictionary } from "./helpers/dictionaryManager"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); diff --git a/src/constants.ts b/src/helpers/constants.ts similarity index 100% rename from src/constants.ts rename to src/helpers/constants.ts diff --git a/src/helpers/dictionary_manager.ts b/src/helpers/dictionaryManager.ts similarity index 97% rename from src/helpers/dictionary_manager.ts rename to src/helpers/dictionaryManager.ts index 35a585e3..04e00d7a 100644 --- a/src/helpers/dictionary_manager.ts +++ b/src/helpers/dictionaryManager.ts @@ -1,6 +1,6 @@ import * as path from "path"; import * as fsJetpack from "fs-jetpack"; -import { SPELLING_DICTIONARIES_PATH, RESOURCES_PATH } from "../constants"; +import { SPELLING_DICTIONARIES_PATH, RESOURCES_PATH } from "./constants"; import fetch from "node-fetch"; interface GithubEntry { diff --git a/src/helpers/webview/input_manager.ts b/src/helpers/inputManager.ts similarity index 100% rename from src/helpers/webview/input_manager.ts rename to src/helpers/inputManager.ts diff --git a/src/helpers/tray_manager.ts b/src/helpers/trayManager.ts similarity index 98% rename from src/helpers/tray_manager.ts rename to src/helpers/trayManager.ts index 6abbde43..3c3a03c5 100644 --- a/src/helpers/tray_manager.ts +++ b/src/helpers/trayManager.ts @@ -1,13 +1,13 @@ import * as path from "path"; import { app, Tray, Menu } from "electron"; -import { trayMenuTemplate } from "../menu/tray_menu_template"; +import { trayMenuTemplate } from "../menu/trayMenu"; import { IS_MAC, IS_LINUX, IS_WINDOWS, SETTING_TRAY_ENABLED, RESOURCES_PATH, -} from "../constants"; +} from "./constants"; import * as settings from "electron-settings"; export class TrayManager { diff --git a/src/menu/app_menu_template.ts b/src/menu/appMenu.ts similarity index 93% rename from src/menu/app_menu_template.ts rename to src/menu/appMenu.ts index a9332da5..5591deac 100644 --- a/src/menu/app_menu_template.ts +++ b/src/menu/appMenu.ts @@ -1,7 +1,7 @@ import { app, MenuItemConstructorOptions } from "electron"; import { aboutMenuItem } from "./items/about"; import { checkForUpdatesMenuItem } from "./items/check_for_updates"; -import { settingsMenu } from "./settings_menu_template"; +import { settingsMenu } from "./settingsMenu"; // This is the "Application" menu, which is only used on macOS export const appMenuTemplate: MenuItemConstructorOptions = { diff --git a/src/menu/baseMenu.ts b/src/menu/baseMenu.ts new file mode 100644 index 00000000..fcda56cc --- /dev/null +++ b/src/menu/baseMenu.ts @@ -0,0 +1,23 @@ +import { appMenuTemplate } from "./appMenu"; +import { fileMenuTemplate } from "./fileMenu"; +import { editMenuTemplate } from "./editMenu"; +import { settingsMenu } from "./settingsMenu"; +import { viewMenuTemplate } from "./viewMenu"; +import { windowMenuTemplate } from "./windowMenu"; +import { IS_MAC } from "../helpers/constants"; +import { MenuItemConstructorOptions } from "electron"; + +const baseMenuTemplate: MenuItemConstructorOptions[] = [ + editMenuTemplate, + viewMenuTemplate, + windowMenuTemplate, +]; + +if (IS_MAC) { + baseMenuTemplate.unshift(appMenuTemplate); +} else { + baseMenuTemplate.unshift(fileMenuTemplate); + baseMenuTemplate.push(settingsMenu); +} + +export { baseMenuTemplate }; diff --git a/src/menu/base_menu_template.ts b/src/menu/base_menu_template.ts deleted file mode 100644 index c8ac3f8e..00000000 --- a/src/menu/base_menu_template.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { appMenuTemplate } from "./app_menu_template"; -import { fileMenuTemplate } from "./file_menu_template"; -import { editMenuTemplate } from "./edit_menu_template"; -import { settingsMenu } from "./settings_menu_template"; -import { viewMenuTemplate } from "./view_menu_template"; -import { windowMenuTemplate } from "./window_menu_template"; -import { IS_MAC } from "../constants"; -import { MenuItemConstructorOptions } from "electron"; - -const baseMenuTemplate: MenuItemConstructorOptions[] = [ - editMenuTemplate, - viewMenuTemplate, - windowMenuTemplate, -]; - -if (IS_MAC) { - baseMenuTemplate.unshift(appMenuTemplate); -} else { - baseMenuTemplate.unshift(fileMenuTemplate); - baseMenuTemplate.push(settingsMenu); -} - -export { baseMenuTemplate }; diff --git a/src/helpers/webview/context_menu.ts b/src/menu/contextMenu.ts similarity index 98% rename from src/helpers/webview/context_menu.ts rename to src/menu/contextMenu.ts index 64d51ef5..f82fdf6a 100644 --- a/src/helpers/webview/context_menu.ts +++ b/src/menu/contextMenu.ts @@ -4,7 +4,7 @@ import { remote, ContextMenuParams, } from "electron"; -import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../../constants"; +import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../helpers/constants"; const { Menu, app } = remote; diff --git a/src/menu/dev_menu_template.ts b/src/menu/devMenu.ts similarity index 100% rename from src/menu/dev_menu_template.ts rename to src/menu/devMenu.ts diff --git a/src/menu/edit_menu_template.ts b/src/menu/editMenu.ts similarity index 100% rename from src/menu/edit_menu_template.ts rename to src/menu/editMenu.ts diff --git a/src/menu/file_menu_template.ts b/src/menu/fileMenu.ts similarity index 90% rename from src/menu/file_menu_template.ts rename to src/menu/fileMenu.ts index 4e47fc52..48180dfc 100644 --- a/src/menu/file_menu_template.ts +++ b/src/menu/fileMenu.ts @@ -1,5 +1,5 @@ import { app, MenuItemConstructorOptions } from "electron"; -import { IS_WINDOWS } from "../constants"; +import { IS_WINDOWS } from "../helpers/constants"; import { checkForUpdatesMenuItem } from "./items/check_for_updates"; import { separator } from "./items/separator"; diff --git a/src/menu/help_menu_template.ts b/src/menu/helpMenu.ts similarity index 93% rename from src/menu/help_menu_template.ts rename to src/menu/helpMenu.ts index f5711faf..fe7bed88 100644 --- a/src/menu/help_menu_template.ts +++ b/src/menu/helpMenu.ts @@ -1,5 +1,5 @@ import { shell, MenuItemConstructorOptions } from "electron"; -import { IS_MAC, IS_WINDOWS } from "../constants"; +import { IS_MAC, IS_WINDOWS } from "../helpers/constants"; import { aboutMenuItem } from "./items/about"; import { checkForUpdatesMenuItem } from "./items/check_for_updates"; import { separator } from "./items/separator"; diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index b109ea07..95f9c516 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -1,4 +1,4 @@ -import { IS_DEV, RESOURCES_PATH } from "../../constants"; +import { IS_DEV, RESOURCES_PATH } from "../../helpers/constants"; import openAboutWindow from "about-window"; import { app, MenuItemConstructorOptions } from "electron"; import * as path from "path"; diff --git a/src/menu/settings_menu_template.ts b/src/menu/settingsMenu.ts similarity index 97% rename from src/menu/settings_menu_template.ts rename to src/menu/settingsMenu.ts index 8305df81..22951d76 100644 --- a/src/menu/settings_menu_template.ts +++ b/src/menu/settingsMenu.ts @@ -7,7 +7,7 @@ import { } from "electron"; import * as settings from "electron-settings"; import { separator } from "./items/separator"; -import { IS_LINUX, IS_MAC, SETTING_TRAY_ENABLED } from "../constants"; +import { IS_LINUX, IS_MAC, SETTING_TRAY_ENABLED } from "../helpers/constants"; export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "Preferences" : "Settings", diff --git a/src/menu/tray_menu_template.ts b/src/menu/trayMenu.ts similarity index 92% rename from src/menu/tray_menu_template.ts rename to src/menu/trayMenu.ts index 4f69c99c..c5776a57 100644 --- a/src/menu/tray_menu_template.ts +++ b/src/menu/trayMenu.ts @@ -1,5 +1,5 @@ import { app, MenuItemConstructorOptions } from "electron"; -import { IS_MAC } from "../constants"; +import { IS_MAC } from "../helpers/constants"; export const trayMenuTemplate: MenuItemConstructorOptions[] = [ { diff --git a/src/menu/view_menu_template.ts b/src/menu/viewMenu.ts similarity index 100% rename from src/menu/view_menu_template.ts rename to src/menu/viewMenu.ts diff --git a/src/menu/window_menu_template.ts b/src/menu/windowMenu.ts similarity index 100% rename from src/menu/window_menu_template.ts rename to src/menu/windowMenu.ts diff --git a/webpack.config.ts b/webpack.config.ts index 61b85854..72e52fdc 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -43,7 +43,7 @@ const app = merge(base, { entry: { background: "./src/background.ts", app: "./src/app.ts", - bridge: "./src/helpers/webview/bridge.ts", + bridge: "./src/bridge.ts", }, output: { filename: "[name].js", From 5ad8887ddb654bce2b4ea5cd3dbf044e03598964 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:04:59 -0400 Subject: [PATCH 045/385] Added html loader for generating the html. Mostly unnecessaty but makes it so we dont have to track the app directory --- .gitignore | 3 - package.json | 1 + src/background.ts | 2 +- app/app.html => src/index.html | 4 +- webpack.config.ts | 9 +- yarn.lock | 240 ++++++++++++++++++++++++++++++++- 6 files changed, 245 insertions(+), 14 deletions(-) rename app/app.html => src/index.html (56%) diff --git a/.gitignore b/.gitignore index 7f659eb6..16a977a6 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,6 @@ Thumbs.db /dist -# ignore everything in 'app' folder what had been generated from 'src' folder -/app/**/*.js -/app/**/*.map # Dictionary files are downloaded by the user's machine /resources/dictionaries/**/* diff --git a/package.json b/package.json index 4086e5ec..87221396 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.3", "friendly-errors-webpack-plugin": "^1.6.1", + "html-webpack-plugin": "^4.3.0", "mocha": "^7.2.0", "png2icons": "^2.0.1", "prettier": "^2.0.5", diff --git a/src/background.ts b/src/background.ts index bfb07f4b..2960c362 100644 --- a/src/background.ts +++ b/src/background.ts @@ -222,7 +222,7 @@ if (!isFirstInstance) { mainWindow = new CustomBrowserWindow("main", mainWindowOptions); - mainWindow.loadFile(path.resolve(BASE_APP_PATH, "app", "app.html")); + mainWindow.loadFile(path.resolve(BASE_APP_PATH, "app", "index.html")); trayManager.startIfEnabled(); diff --git a/app/app.html b/src/index.html similarity index 56% rename from app/app.html rename to src/index.html index 0fa4f55f..ab60c385 100644 --- a/app/app.html +++ b/src/index.html @@ -5,8 +5,8 @@ Android Messages - + - + diff --git a/webpack.config.ts b/webpack.config.ts index 72e52fdc..35cd3e25 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -1,6 +1,7 @@ import { Configuration } from "webpack"; import nodeExternals from "webpack-node-externals"; import FriendlyErrors from "friendly-errors-webpack-plugin"; +import HTMLWebpackPlguin from "html-webpack-plugin"; import * as process from "process"; import * as path from "path"; import merge from "webpack-merge"; @@ -35,7 +36,13 @@ const base: Configuration = { resolve: { extensions: [".ts", ".js", ".css"], }, - plugins: [new FriendlyErrors()], + plugins: [ + new FriendlyErrors(), + new HTMLWebpackPlguin({ + template: "./src/index.html", + inject: false, + }), + ], }; const app = merge(base, { diff --git a/yarn.lock b/yarn.lock index 9fa1a6d0..e3434ba8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -871,6 +871,11 @@ dependencies: "@types/node" "*" +"@types/html-minifier-terser@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" + integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== + "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": version "7.0.4" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" @@ -906,7 +911,7 @@ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/tapable@*": +"@types/tapable@*", "@types/tapable@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ== @@ -948,7 +953,7 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.17": +"@types/webpack@*", "@types/webpack@^4.41.17", "@types/webpack@^4.41.8": version "4.41.17" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.17.tgz#0a69005e644d657c85b7d6ec1c826a71bebd1c93" integrity sha512-6FfeCidTSHozwKI67gIVQQ5Mp0g4X96c2IXxX75hYEQJwST/i6NyZexP//zzMOBb+wG9jJ7oO8fk9yObP2HWAw== @@ -1610,6 +1615,11 @@ bn.js@^5.1.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== +boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + boolean@^3.0.0, boolean@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.1.tgz#35ecf2b4a2ee191b0b44986f14eb5f052a5cbb4f" @@ -1886,6 +1896,14 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== +camel-case@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" + integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== + dependencies: + pascal-case "^3.1.1" + tslib "^1.10.0" + camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -2053,6 +2071,13 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +clean-css@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + cli-boxes@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" @@ -2151,6 +2176,11 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -2377,11 +2407,26 @@ css-parse@^2.0.0: dependencies: css "^2.0.0" +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + css-value@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea" integrity sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo= +css-what@2.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + css@^2.0.0: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -2576,11 +2621,67 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" + integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== + dependencies: + no-case "^3.0.3" + tslib "^1.10.0" + dot-prop@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" @@ -2817,6 +2918,16 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: memory-fs "^0.5.0" tapable "^1.0.0" +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + env-paths@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" @@ -3737,7 +3848,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.0: +he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -3770,6 +3881,46 @@ hosted-git-info@^3.0.4: dependencies: lru-cache "^5.1.1" +html-minifier-terser@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" + integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-webpack-plugin@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz#53bf8f6d696c4637d5b656d3d9863d89ce8174fd" + integrity sha512-C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w== + dependencies: + "@types/html-minifier-terser" "^5.0.0" + "@types/tapable" "^1.0.5" + "@types/webpack" "^4.41.8" + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.15" + pretty-error "^2.1.1" + tapable "^1.1.3" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" @@ -4471,6 +4622,13 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +lower-case@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" + integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== + dependencies: + tslib "^1.10.0" + lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" @@ -4802,6 +4960,14 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +no-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" + integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== + dependencies: + lower-case "^2.0.1" + tslib "^1.10.0" + node-environment-flags@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" @@ -4896,6 +5062,13 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -5106,6 +5279,14 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +param-case@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" + integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== + dependencies: + dot-case "^3.0.3" + tslib "^1.10.0" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -5130,6 +5311,14 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= +pascal-case@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" + integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== + dependencies: + no-case "^3.0.3" + tslib "^1.10.0" + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -5318,6 +5507,14 @@ prettier@^2.0.5: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== +pretty-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + dependencies: + renderkid "^2.0.1" + utila "~0.4" + private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -5486,7 +5683,7 @@ read-config-file@6.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.6.0: +readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5599,11 +5796,27 @@ regjsparser@^0.6.4: dependencies: jsesc "~0.5.0" +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" + repeat-element@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" @@ -6013,7 +6226,7 @@ source-map@^0.5.0, source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -6385,7 +6598,7 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@^4.1.2: +terser@^4.1.2, terser@^4.6.3: version "4.7.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.7.0.tgz#15852cf1a08e3256a80428e865a2fa893ffba006" integrity sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw== @@ -6515,7 +6728,7 @@ ts-node@^8.10.2: source-map-support "^0.5.17" yn "3.1.1" -tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.10.0, tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== @@ -6743,6 +6956,14 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" @@ -6757,6 +6978,11 @@ util@^0.11.0: dependencies: inherits "2.0.3" +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" From 3002d253402758ec6d2e483a97e483c0b08d2b88 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:05:15 -0400 Subject: [PATCH 046/385] dont track app --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 16a977a6..a3a69bd3 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ Thumbs.db /dist +app/ # Dictionary files are downloaded by the user's machine /resources/dictionaries/**/* From cc8645e4a8bbac8a988c8a0ee0a43cef60950844 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:10:56 -0400 Subject: [PATCH 047/385] Restored the original copyright everywhere. Need to figure out legal ways to change how it is displayed to still give credit but not all the credit. --- electron-builder.js | 2 +- package.json | 2 +- src/menu/items/about.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index 9aab7ad5..b6a4d2fe 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,7 +1,7 @@ module.exports = { appId: "pw.electron.android-messages", productName: "AndroidMessages", - copyright: "Copyright who needs those", + copyright: "Copyright 2018 Chris Knepper", files: ["app/**/*", "resources/**/*"], directories: { buildResources: "resources", diff --git a/package.json b/package.json index 87221396..0553aa01 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "Messages for web, as a desktop app", "version": "3.1.0", "author": "Kyle Rosenberg", - "copyright": "Who needs those", + "copyright": "Copyright 2018 Chris Knepper", "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", "repository": { "type": "git", diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index 95f9c516..019b07fe 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -25,7 +25,7 @@ export const aboutMenuItem: MenuItemConstructorOptions = { openAboutWindow({ // TODO: Make this not sketchy as hell icon_path: path.resolve(RESOURCES_PATH, "icons", "512x512.png"), - copyright: `
Copyright who needs those${disclaimerText}${licenseText}${dictionaryLicenseText}
`, + copyright: `
Copyright (c) 2018 Chris Knepper${disclaimerText}${licenseText}${dictionaryLicenseText}
`, product_name: productName, description: descriptionWithLocale, open_devtools: IS_DEV, From c40982edc38ca33bc5c0d8fff3b5577da0ba327d Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:15:28 -0400 Subject: [PATCH 048/385] I think I did the license right please tell me if I didnt --- LICENSE | 10 ++++++++++ electron-builder.js | 2 +- package.json | 2 +- src/menu/items/about.ts | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/LICENSE b/LICENSE index 9807796d..491810c4 100644 --- a/LICENSE +++ b/LICENSE @@ -7,3 +7,13 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +The MIT License (MIT) + +Copyright (c) 2020 Kyle Rosenberg + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/electron-builder.js b/electron-builder.js index b6a4d2fe..f83ea273 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,7 +1,7 @@ module.exports = { appId: "pw.electron.android-messages", productName: "AndroidMessages", - copyright: "Copyright 2018 Chris Knepper", + copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], directories: { buildResources: "resources", diff --git a/package.json b/package.json index 0553aa01..a0c7ca14 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "Messages for web, as a desktop app", "version": "3.1.0", "author": "Kyle Rosenberg", - "copyright": "Copyright 2018 Chris Knepper", + "copyright": "Copyright 2020 Kyle Rosenberg", "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", "repository": { "type": "git", diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index 019b07fe..8343906b 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -25,7 +25,7 @@ export const aboutMenuItem: MenuItemConstructorOptions = { openAboutWindow({ // TODO: Make this not sketchy as hell icon_path: path.resolve(RESOURCES_PATH, "icons", "512x512.png"), - copyright: `
Copyright (c) 2018 Chris Knepper${disclaimerText}${licenseText}${dictionaryLicenseText}
`, + copyright: `
Copyright (c) 2020 Kyle Rosenberg${disclaimerText}${licenseText}${dictionaryLicenseText}
`, product_name: productName, description: descriptionWithLocale, open_devtools: IS_DEV, From b29b88e3a725e58b24c108413f005037d42916e3 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:16:19 -0400 Subject: [PATCH 049/385] Changed name of check_for_updates --- src/menu/appMenu.ts | 2 +- src/menu/fileMenu.ts | 2 +- src/menu/helpMenu.ts | 2 +- src/menu/items/{check_for_updates.ts => checkForUpdates.ts} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename src/menu/items/{check_for_updates.ts => checkForUpdates.ts} (100%) diff --git a/src/menu/appMenu.ts b/src/menu/appMenu.ts index 5591deac..069aba11 100644 --- a/src/menu/appMenu.ts +++ b/src/menu/appMenu.ts @@ -1,6 +1,6 @@ import { app, MenuItemConstructorOptions } from "electron"; import { aboutMenuItem } from "./items/about"; -import { checkForUpdatesMenuItem } from "./items/check_for_updates"; +import { checkForUpdatesMenuItem } from "./items/checkForUpdates"; import { settingsMenu } from "./settingsMenu"; // This is the "Application" menu, which is only used on macOS diff --git a/src/menu/fileMenu.ts b/src/menu/fileMenu.ts index 48180dfc..eb95d75b 100644 --- a/src/menu/fileMenu.ts +++ b/src/menu/fileMenu.ts @@ -1,6 +1,6 @@ import { app, MenuItemConstructorOptions } from "electron"; import { IS_WINDOWS } from "../helpers/constants"; -import { checkForUpdatesMenuItem } from "./items/check_for_updates"; +import { checkForUpdatesMenuItem } from "./items/checkForUpdates"; import { separator } from "./items/separator"; const submenu: MenuItemConstructorOptions[] = [ diff --git a/src/menu/helpMenu.ts b/src/menu/helpMenu.ts index fe7bed88..e9ef058d 100644 --- a/src/menu/helpMenu.ts +++ b/src/menu/helpMenu.ts @@ -1,7 +1,7 @@ import { shell, MenuItemConstructorOptions } from "electron"; import { IS_MAC, IS_WINDOWS } from "../helpers/constants"; import { aboutMenuItem } from "./items/about"; -import { checkForUpdatesMenuItem } from "./items/check_for_updates"; +import { checkForUpdatesMenuItem } from "./items/checkForUpdates"; import { separator } from "./items/separator"; const submenu: MenuItemConstructorOptions[] = [ diff --git a/src/menu/items/check_for_updates.ts b/src/menu/items/checkForUpdates.ts similarity index 100% rename from src/menu/items/check_for_updates.ts rename to src/menu/items/checkForUpdates.ts From b1455b439f0a82702cacd5700bacfd97dbbb60ea Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:20:16 -0400 Subject: [PATCH 050/385] Cleaned up old dependencies can no longer pack js --- .babelrc | 14 - package.json | 9 - webpack.config.ts | 7 +- yarn.lock | 2008 +-------------------------------------------- 4 files changed, 44 insertions(+), 1994 deletions(-) delete mode 100644 .babelrc diff --git a/.babelrc b/.babelrc deleted file mode 100644 index de5ffce6..00000000 --- a/.babelrc +++ /dev/null @@ -1,14 +0,0 @@ -{ - "presets": [ - [ - "@babel/env", - { - "targets": { - "browsers": "last 2 Chrome versions", - "node": "current" - } - } - ] - ], - "plugins": [["transform-object-rest-spread", { "useBuiltIns": true }]] -} diff --git a/package.json b/package.json index a0c7ca14..cf77cf11 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,6 @@ "node-fetch": "^2.6.0" }, "devDependencies": { - "@babel/core": "7.10.2", - "@babel/preset-env": "7.10.2", "@types/electron-settings": "^3.1.1", "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "12", @@ -41,24 +39,17 @@ "@types/webpack-node-externals": "^1.7.1", "@typescript-eslint/eslint-plugin": "^3.1.0", "@typescript-eslint/parser": "^3.1.0", - "babel-loader": "8.1.0", - "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", - "chai": "^4.1.0", "css-loader": "^3.5.3", "electron": "9.0.2", "electron-builder": "22.7.0", - "electron-mocha": "^8.2.2", - "electron-notarize": "^0.3.0", "eslint": "^7.1.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.3", "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^4.3.0", - "mocha": "^7.2.0", "png2icons": "^2.0.1", "prettier": "^2.0.5", "source-map-support": "^0.5.19", - "spectron": "^11.0.0", "style-loader": "^1.2.1", "ts-loader": "^7.0.5", "ts-node": "^8.10.2", diff --git a/webpack.config.ts b/webpack.config.ts index 35cd3e25..e72f3472 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -17,15 +17,10 @@ const base: Configuration = { }, module: { rules: [ - { - test: /\.js$/, - exclude: /node_modules/, - use: ["babel-loader"], - }, { test: /\.ts$/, exclude: /node_modules/, - use: ["babel-loader", "ts-loader"], + use: ["ts-loader"], }, { test: /\.css$/, diff --git a/yarn.lock b/yarn.lock index e3434ba8..117bd3dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,247 +7,18 @@ resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.1": +"@babel/code-frame@^7.0.0": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.1.tgz#d5481c5095daa1c57e16e54c6f9198443afb49ff" integrity sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw== dependencies: "@babel/highlight" "^7.10.1" -"@babel/compat-data@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.1.tgz#b1085ffe72cd17bf2c0ee790fc09f9626011b2db" - integrity sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw== - dependencies: - browserslist "^4.12.0" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@7.10.2": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.2.tgz#bd6786046668a925ac2bd2fd95b579b92a23b36a" - integrity sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ== - dependencies: - "@babel/code-frame" "^7.10.1" - "@babel/generator" "^7.10.2" - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helpers" "^7.10.1" - "@babel/parser" "^7.10.2" - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.10.1", "@babel/generator@^7.10.2": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.2.tgz#0fa5b5b2389db8bfdfcc3492b551ee20f5dd69a9" - integrity sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA== - dependencies: - "@babel/types" "^7.10.2" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz#f6d08acc6f70bbd59b436262553fb2e259a1a268" - integrity sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz#0ec7d9be8174934532661f87783eb18d72290059" - integrity sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-compilation-targets@^7.10.2": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz#a17d9723b6e2c750299d2a14d4637c76936d8285" - integrity sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA== - dependencies: - "@babel/compat-data" "^7.10.1" - browserslist "^4.12.0" - invariant "^2.2.4" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.10.1": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz#7474295770f217dbcf288bf7572eb213db46ee67" - integrity sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ== - dependencies: - "@babel/helper-function-name" "^7.10.1" - "@babel/helper-member-expression-to-functions" "^7.10.1" - "@babel/helper-optimise-call-expression" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - -"@babel/helper-create-regexp-features-plugin@^7.10.1", "@babel/helper-create-regexp-features-plugin@^7.8.3": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz#1b8feeab1594cbcfbf3ab5a3bbcabac0468efdbd" - integrity sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-regex" "^7.10.1" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz#5e69ee8308648470dd7900d159c044c10285221d" - integrity sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg== - dependencies: - "@babel/helper-function-name" "^7.10.1" - "@babel/types" "^7.10.1" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz#e9d76305ee1162ca467357ae25df94f179af2b7e" - integrity sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg== - dependencies: - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-function-name@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz#92bd63829bfc9215aca9d9defa85f56b539454f4" - integrity sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-get-function-arity@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz#7303390a81ba7cb59613895a192b93850e373f7d" - integrity sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-hoist-variables@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz#7e77c82e5dcae1ebf123174c385aaadbf787d077" - integrity sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-member-expression-to-functions@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz#432967fd7e12a4afef66c4687d4ca22bc0456f15" - integrity sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-module-imports@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz#dd331bd45bccc566ce77004e9d05fe17add13876" - integrity sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-module-transforms@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz#24e2f08ee6832c60b157bb0936c86bef7210c622" - integrity sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg== - dependencies: - "@babel/helper-module-imports" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-simple-access" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz#b4a1f2561870ce1247ceddb02a3860fa96d72543" - integrity sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.8.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz#ec5a5cf0eec925b66c60580328b122c01230a127" - integrity sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA== - -"@babel/helper-regex@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.1.tgz#021cf1a7ba99822f993222a001cc3fec83255b96" - integrity sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz#bad6aaa4ff39ce8d4b82ccaae0bfe0f7dbb5f432" - integrity sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-wrap-function" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-replace-supers@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" - integrity sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.1" - "@babel/helper-optimise-call-expression" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-simple-access@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz#08fb7e22ace9eb8326f7e3920a1c2052f13d851e" - integrity sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helper-split-export-declaration@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz#c6f4be1cbc15e3a868e4c64a17d5d31d754da35f" - integrity sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g== - dependencies: - "@babel/types" "^7.10.1" - "@babel/helper-validator-identifier@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== -"@babel/helper-wrap-function@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz#956d1310d6696257a7afd47e4c42dfda5dfcedc9" - integrity sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ== - dependencies: - "@babel/helper-function-name" "^7.10.1" - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/helpers@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" - integrity sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw== - dependencies: - "@babel/template" "^7.10.1" - "@babel/traverse" "^7.10.1" - "@babel/types" "^7.10.1" - "@babel/highlight@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.1.tgz#841d098ba613ba1a427a2b383d79e35552c38ae0" @@ -257,543 +28,6 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.10.1", "@babel/parser@^7.10.2": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.2.tgz#871807f10442b92ff97e4783b9b54f6a0ca812d0" - integrity sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ== - -"@babel/plugin-proposal-async-generator-functions@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz#6911af5ba2e615c4ff3c497fe2f47b35bf6d7e55" - integrity sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-remap-async-to-generator" "^7.10.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz#046bc7f6550bb08d9bd1d4f060f5f5a4f1087e01" - integrity sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-proposal-dynamic-import@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz#e36979dc1dc3b73f6d6816fc4951da2363488ef0" - integrity sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-json-strings@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz#b1e691ee24c651b5a5e32213222b2379734aff09" - integrity sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz#02dca21673842ff2fe763ac253777f235e9bbf78" - integrity sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz#a9a38bc34f78bdfd981e791c27c6fdcec478c123" - integrity sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-numeric-separator" "^7.10.1" - -"@babel/plugin-proposal-object-rest-spread@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz#cba44908ac9f142650b4a65b8aa06bf3478d5fb6" - integrity sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.1" - -"@babel/plugin-proposal-optional-catch-binding@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz#c9f86d99305f9fa531b568ff5ab8c964b8b223d2" - integrity sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz#15f5d6d22708629451a91be28f8facc55b0e818c" - integrity sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz#ed85e8058ab0fe309c3f448e5e1b73ca89cdb598" - integrity sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-proposal-unicode-property-regex@^7.10.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz#dc04feb25e2dd70c12b05d680190e138fa2c0c6f" - integrity sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-syntax-async-generators@^7.8.0": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz#d5bc0645913df5b17ad7eda0fa2308330bde34c5" - integrity sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-json-strings@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz#25761ee7410bc8cf97327ba741ee94e4a61b7d99" - integrity sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-syntax-object-rest-spread@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz#8b8733f8c57397b3eaa47ddba8841586dcaef362" - integrity sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-arrow-functions@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz#cb5ee3a36f0863c06ead0b409b4cc43a889b295b" - integrity sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-async-to-generator@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz#e5153eb1a3e028f79194ed8a7a4bf55f862b2062" - integrity sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg== - dependencies: - "@babel/helper-module-imports" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-remap-async-to-generator" "^7.10.1" - -"@babel/plugin-transform-block-scoped-functions@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz#146856e756d54b20fff14b819456b3e01820b85d" - integrity sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-block-scoping@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz#47092d89ca345811451cd0dc5d91605982705d5e" - integrity sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - lodash "^4.17.13" - -"@babel/plugin-transform-classes@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz#6e11dd6c4dfae70f540480a4702477ed766d733f" - integrity sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-define-map" "^7.10.1" - "@babel/helper-function-name" "^7.10.1" - "@babel/helper-optimise-call-expression" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz#59aa399064429d64dce5cf76ef9b90b7245ebd07" - integrity sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-destructuring@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz#abd58e51337815ca3a22a336b85f62b998e71907" - integrity sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-dotall-regex@^7.10.1", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz#920b9fec2d78bb57ebb64a644d5c2ba67cc104ee" - integrity sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-duplicate-keys@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz#c900a793beb096bc9d4d0a9d0cde19518ffc83b9" - integrity sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-exponentiation-operator@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz#279c3116756a60dd6e6f5e488ba7957db9c59eb3" - integrity sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-for-of@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz#ff01119784eb0ee32258e8646157ba2501fcfda5" - integrity sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-function-name@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz#4ed46fd6e1d8fde2a2ec7b03c66d853d2c92427d" - integrity sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw== - dependencies: - "@babel/helper-function-name" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-literals@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz#5794f8da82846b22e4e6631ea1658bce708eb46a" - integrity sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-member-expression-literals@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz#90347cba31bca6f394b3f7bd95d2bbfd9fce2f39" - integrity sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-modules-amd@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz#65950e8e05797ebd2fe532b96e19fc5482a1d52a" - integrity sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw== - dependencies: - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz#d5ff4b4413ed97ffded99961056e1fb980fb9301" - integrity sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg== - dependencies: - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-simple-access" "^7.10.1" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz#9962e4b0ac6aaf2e20431ada3d8ec72082cbffb6" - integrity sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA== - dependencies: - "@babel/helper-hoist-variables" "^7.10.1" - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz#ea080911ffc6eb21840a5197a39ede4ee67b1595" - integrity sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA== - dependencies: - "@babel/helper-module-transforms" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" - integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.8.3" - -"@babel/plugin-transform-new-target@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz#6ee41a5e648da7632e22b6fb54012e87f612f324" - integrity sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-object-super@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz#2e3016b0adbf262983bf0d5121d676a5ed9c4fde" - integrity sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-replace-supers" "^7.10.1" - -"@babel/plugin-transform-parameters@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz#b25938a3c5fae0354144a720b07b32766f683ddd" - integrity sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg== - dependencies: - "@babel/helper-get-function-arity" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-property-literals@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz#cffc7315219230ed81dc53e4625bf86815b6050d" - integrity sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-regenerator@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz#10e175cbe7bdb63cc9b39f9b3f823c5c7c5c5490" - integrity sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz#0fc1027312b4d1c3276a57890c8ae3bcc0b64a86" - integrity sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-shorthand-properties@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz#e8b54f238a1ccbae482c4dce946180ae7b3143f3" - integrity sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-spread@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz#0c6d618a0c4461a274418460a28c9ccf5239a7c8" - integrity sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-sticky-regex@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz#90fc89b7526228bed9842cff3588270a7a393b00" - integrity sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/helper-regex" "^7.10.1" - -"@babel/plugin-transform-template-literals@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz#914c7b7f4752c570ea00553b4284dad8070e8628" - integrity sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-typeof-symbol@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz#60c0239b69965d166b80a84de7315c1bc7e0bb0e" - integrity sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-unicode-escapes@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz#add0f8483dab60570d9e03cecef6c023aa8c9940" - integrity sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-unicode-regex@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz#6b58f2aea7b68df37ac5025d9c88752443a6b43f" - integrity sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/preset-env@7.10.2": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.2.tgz#715930f2cf8573b0928005ee562bed52fb65fdfb" - integrity sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA== - dependencies: - "@babel/compat-data" "^7.10.1" - "@babel/helper-compilation-targets" "^7.10.2" - "@babel/helper-module-imports" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - "@babel/plugin-proposal-async-generator-functions" "^7.10.1" - "@babel/plugin-proposal-class-properties" "^7.10.1" - "@babel/plugin-proposal-dynamic-import" "^7.10.1" - "@babel/plugin-proposal-json-strings" "^7.10.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.1" - "@babel/plugin-proposal-numeric-separator" "^7.10.1" - "@babel/plugin-proposal-object-rest-spread" "^7.10.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.1" - "@babel/plugin-proposal-optional-chaining" "^7.10.1" - "@babel/plugin-proposal-private-methods" "^7.10.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.1" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.1" - "@babel/plugin-transform-arrow-functions" "^7.10.1" - "@babel/plugin-transform-async-to-generator" "^7.10.1" - "@babel/plugin-transform-block-scoped-functions" "^7.10.1" - "@babel/plugin-transform-block-scoping" "^7.10.1" - "@babel/plugin-transform-classes" "^7.10.1" - "@babel/plugin-transform-computed-properties" "^7.10.1" - "@babel/plugin-transform-destructuring" "^7.10.1" - "@babel/plugin-transform-dotall-regex" "^7.10.1" - "@babel/plugin-transform-duplicate-keys" "^7.10.1" - "@babel/plugin-transform-exponentiation-operator" "^7.10.1" - "@babel/plugin-transform-for-of" "^7.10.1" - "@babel/plugin-transform-function-name" "^7.10.1" - "@babel/plugin-transform-literals" "^7.10.1" - "@babel/plugin-transform-member-expression-literals" "^7.10.1" - "@babel/plugin-transform-modules-amd" "^7.10.1" - "@babel/plugin-transform-modules-commonjs" "^7.10.1" - "@babel/plugin-transform-modules-systemjs" "^7.10.1" - "@babel/plugin-transform-modules-umd" "^7.10.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.10.1" - "@babel/plugin-transform-object-super" "^7.10.1" - "@babel/plugin-transform-parameters" "^7.10.1" - "@babel/plugin-transform-property-literals" "^7.10.1" - "@babel/plugin-transform-regenerator" "^7.10.1" - "@babel/plugin-transform-reserved-words" "^7.10.1" - "@babel/plugin-transform-shorthand-properties" "^7.10.1" - "@babel/plugin-transform-spread" "^7.10.1" - "@babel/plugin-transform-sticky-regex" "^7.10.1" - "@babel/plugin-transform-template-literals" "^7.10.1" - "@babel/plugin-transform-typeof-symbol" "^7.10.1" - "@babel/plugin-transform-unicode-escapes" "^7.10.1" - "@babel/plugin-transform-unicode-regex" "^7.10.1" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.10.2" - browserslist "^4.12.0" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.8.4": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.2.tgz#d103f21f2602497d38348a32e008637d506db839" - integrity sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.1.tgz#e167154a94cb5f14b28dc58f5356d2162f539811" - integrity sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig== - dependencies: - "@babel/code-frame" "^7.10.1" - "@babel/parser" "^7.10.1" - "@babel/types" "^7.10.1" - -"@babel/traverse@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.1.tgz#bbcef3031e4152a6c0b50147f4958df54ca0dd27" - integrity sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ== - dependencies: - "@babel/code-frame" "^7.10.1" - "@babel/generator" "^7.10.1" - "@babel/helper-function-name" "^7.10.1" - "@babel/helper-split-export-declaration" "^7.10.1" - "@babel/parser" "^7.10.1" - "@babel/types" "^7.10.1" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.10.1", "@babel/types@^7.10.2", "@babel/types@^7.4.4": - version "7.10.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.2.tgz#30283be31cad0dbf6fb00bd40641ca0ea675172d" - integrity sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng== - dependencies: - "@babel/helper-validator-identifier" "^7.10.1" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - "@develar/schema-utils@~2.6.5": version "2.6.5" resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" @@ -802,7 +36,7 @@ ajv "^6.12.0" ajv-keywords "^3.4.1" -"@electron/get@^1.0.1", "@electron/get@^1.12.2": +"@electron/get@^1.0.1": version "1.12.2" resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3" integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg== @@ -923,13 +157,6 @@ dependencies: source-map "^0.6.1" -"@types/webdriverio@^4.8.0": - version "4.13.3" - resolved "https://registry.yarnpkg.com/@types/webdriverio/-/webdriverio-4.13.3.tgz#c1571c4e62724135c0b11e7d7e36b07af5168856" - integrity sha512-AfSQM1xTO9Ax+u9uSQPDuw69DQ0qA2RMoKHn86jCgWNcwKVUjGMSP4sfSl3JOfcZN8X/gWvn7znVPp2/g9zcJA== - dependencies: - "@types/node" "*" - "@types/webpack-merge@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/webpack-merge/-/webpack-merge-4.1.5.tgz#265fbee4810474860d0f4c17e0107032881eed47" @@ -977,13 +204,6 @@ dependencies: "@types/yargs-parser" "*" -"@types/yauzl@^2.9.1": - version "2.9.1" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" - integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== - dependencies: - "@types/node" "*" - "@typescript-eslint/eslint-plugin@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.1.0.tgz#4ac00ecca3bbea740c577f1843bc54fa69c3def2" @@ -1213,7 +433,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.5.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2: version "6.12.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== @@ -1230,21 +450,6 @@ ansi-align@^3.0.0: dependencies: string-width "^3.0.0" -ansi-colors@3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - ansi-escapes@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" @@ -1346,32 +551,6 @@ aproba@^1.1.1: resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -archiver-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" - integrity sha1-5QtMCccL89aA4y/xt5lOn52JUXQ= - dependencies: - glob "^7.0.0" - graceful-fs "^4.1.0" - lazystream "^1.0.0" - lodash "^4.8.0" - normalize-path "^2.0.0" - readable-stream "^2.0.0" - -archiver@~2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-2.1.1.tgz#ff662b4a78201494a3ee544d3a33fe7496509ebc" - integrity sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw= - dependencies: - archiver-utils "^1.3.0" - async "^2.0.0" - buffer-crc32 "^0.2.1" - glob "^7.0.0" - lodash "^4.8.0" - readable-stream "^2.0.0" - tar-stream "^1.5.0" - zip-stream "^1.2.0" - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -1413,18 +592,6 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - assert@^1.1.1: version "1.5.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" @@ -1433,11 +600,6 @@ assert@^1.1.1: object-assign "^4.1.1" util "0.10.3" -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -1463,13 +625,6 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -async@^2.0.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1485,54 +640,6 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" - integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== - -babel-loader@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== - dependencies: - find-cache-dir "^2.1.0" - loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-syntax-object-rest-spread@7.0.0-beta.3: - version "7.0.0-beta.3" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-7.0.0-beta.3.tgz#7f781c180899dafd88f132f69472397549be48e5" - integrity sha512-21/MnmUFduLr4JzxrKMm/MeF+Jjyi5UdZo38IqzrP0sLhmPbal5ZAUJ4HgWH4339SdjnYgENacbY5wfk/zxTGg== - -babel-plugin-transform-object-rest-spread@^7.0.0-beta.3: - version "7.0.0-beta.3" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-7.0.0-beta.3.tgz#5c409f3cd70819dbb3382d2056971c5ebe01393a" - integrity sha512-NOlhrq1CmxyuI94vNsqMhRPMuL5VG2EKUOIJQ0bwNiXBiwWRLdPoWyPT+Irrx5g4g0PkFgA46tnRj7Dc4ZGsxg== - dependencies: - babel-plugin-syntax-object-rest-spread "7.0.0-beta.3" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -1556,13 +663,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -1585,14 +685,6 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" - integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" @@ -1675,11 +767,6 @@ brorand@^1.0.1: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -1741,39 +828,11 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.12.0, browserslist@^4.8.5: - version "4.12.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" - integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== - dependencies: - caniuse-lite "^1.0.30001043" - electron-to-chromium "^1.3.413" - node-releases "^1.1.53" - pkg-up "^2.0.0" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: +buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" @@ -1793,14 +852,6 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.1.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - builder-util-runtime@8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.0.tgz#e48ad004835c8284662e8eaf47a53468c66e8e8d" @@ -1909,28 +960,6 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001043: - version "1.0.30001078" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001078.tgz#e1b6e2ae327b6a1ec11f65ec7a0dde1e7093074c" - integrity sha512-sF12qXe9VMm32IEf/+NDvmTpwJaaU7N1igpiH2FdI4DyABJSsOqG3ZAcFvszLkoLoo1y6VJLMYivukUAxaMASw== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chai@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - pathval "^1.1.0" - type-detect "^4.0.5" - chalk@2.4.2, chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1967,36 +996,11 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" - integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= - chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -chokidar@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.0.tgz#12c0714668c55800f659e262d4962a97faf554a6" - integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.2.0" - optionalDependencies: - fsevents "~2.1.1" - chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -2083,13 +1087,6 @@ cli-boxes@^2.2.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -2164,7 +1161,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2191,16 +1188,6 @@ component-emitter@^1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -compress-commons@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.2.tgz#524a9f10903f3a813389b0225d27c48bb751890f" - integrity sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8= - dependencies: - buffer-crc32 "^0.2.1" - crc32-stream "^2.0.0" - normalize-path "^2.0.0" - readable-stream "^2.0.0" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -2246,13 +1233,6 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -2270,44 +1250,16 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-js@^2.4.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== - core-js@^3.6.5: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -crc32-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" - integrity sha1-483TtN8xaN10494/u8t7KX/pCPQ= - dependencies: - crc "^3.4.4" - readable-stream "^2.0.0" - -crc@^3.4.4: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" @@ -2400,13 +1352,6 @@ css-loader@^3.5.3: schema-utils "^2.6.6" semver "^6.3.0" -css-parse@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" - integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= - dependencies: - css "^2.0.0" - css-select@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -2417,26 +1362,11 @@ css-select@^1.1.0: domutils "1.5.1" nth-check "~1.0.1" -css-value@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/css-value/-/css-value-0.0.1.tgz#5efd6c2eea5ea1fd6b6ac57ec0427b18452424ea" - integrity sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo= - css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== -css@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -2447,20 +1377,6 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -debug@3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2499,13 +1415,6 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -2516,11 +1425,6 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.0.1.tgz#25c1c24f110fb914f80001b925264dd77f3f4312" - integrity sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ== - defer-to-connect@^1.0.1: version "1.1.3" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" @@ -2578,16 +1482,6 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== -dev-null@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/dev-null/-/dev-null-0.1.1.tgz#5a205ce3c2b2ef77b6238d6ba179eb74c6a0e818" - integrity sha1-WiBc48Ky73e2I41roXnrdMag6Bg= - -diff@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -2714,14 +1608,6 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - ejs@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.3.tgz#514d967a8894084d18d3d47bd169a1c0560f093d" @@ -2729,11 +1615,6 @@ ejs@^3.1.3: dependencies: jake "^10.6.1" -ejs@~2.5.6: - version "2.5.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.9.tgz#7ba254582a560d267437109a68354112475b0ce5" - integrity sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ== - electron-builder@22.7.0: version "22.7.0" resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.7.0.tgz#a42d08a1654ffc2f7d9e2860829d3cc55d4a0c81" @@ -2754,14 +1635,6 @@ electron-builder@22.7.0: update-notifier "^4.1.0" yargs "^15.3.1" -electron-chromedriver@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/electron-chromedriver/-/electron-chromedriver-9.0.0.tgz#c7629fe6b9721140f3a380144f99960c2bc3b5c1" - integrity sha512-+MuukzicyfduXO/4yQv9ygLKaScttJNbWtg77A9fs2YhbkISjObWaCF3eJNZL+edZXRfaF/6D4XuXvklQCmwQg== - dependencies: - "@electron/get" "^1.12.2" - extract-zip "^2.0.0" - electron-hunspell@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/electron-hunspell/-/electron-hunspell-1.1.2.tgz#58b64fc09ad3d8e99ea74846f333c4efedc4fa03" @@ -2769,27 +1642,6 @@ electron-hunspell@1.1.2: dependencies: hunspell-asm "^4.0.2" -electron-mocha@^8.2.2: - version "8.2.2" - resolved "https://registry.yarnpkg.com/electron-mocha/-/electron-mocha-8.2.2.tgz#871d1fbbffcfdb7b880bbaf299e33ba993b4fe71" - integrity sha512-kMXj+1TzQQODP0osIAg82YpwOsfRKx0xV+F5AxV+3UP54CIPwxaeZYC6pQoEVZBRKyPbcrhQzl8ar+6uGMvaUA== - dependencies: - ansi-colors "^4.1.1" - electron-window "^0.8.0" - fs-extra "^9.0.0" - log-symbols "^3.0.0" - mocha "^7.1.2" - which "^2.0.2" - yargs "^15.3.1" - -electron-notarize@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-0.3.0.tgz#b93c606306eac558b250c78ff95273ddb9fedf0a" - integrity sha512-tuDw8H0gcDOalNLv6RM2CwGvUXU60MPGZRDEmd0ppX+yP5XqL8Ec2DuXyz9J7WQSA3aRCfzIgH8C5CAivDYWMw== - dependencies: - debug "^4.1.1" - fs-extra "^8.1.0" - electron-publish@22.7.0: version "22.7.0" resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.7.0.tgz#d92ba7c4007c9ac1dd070593e48028184fb2dc19" @@ -2812,11 +1664,6 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" -electron-to-chromium@^1.3.413: - version "1.3.462" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.462.tgz#82087404c20ed664963ececab23337ac7a150e21" - integrity sha512-HST/xWLOeA0LGUhxBqvcPDDUGHjB6rn99VBgPWmaHv+zqwXgOaZO5RnRcd5owjRE7nh+z1c0SwcK8qP8o7sofg== - electron-updater@4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.1.tgz#9d485b6262bc56fcf7ee62b1dc1b3b105a3e96a7" @@ -2830,13 +1677,6 @@ electron-updater@4.3.1: lodash.isequal "^4.5.0" semver "^7.1.3" -electron-window@^0.8.0: - version "0.8.1" - resolved "https://registry.yarnpkg.com/electron-window/-/electron-window-0.8.1.tgz#16ca187eb4870b0679274fc8299c5960e6ab2c5e" - integrity sha1-FsoYfrSHCwZ5J0/IKZxZYOarLF4= - dependencies: - is-electron-renderer "^2.0.0" - electron@9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.2.tgz#361924ce833396f1a45ac2195f442b92eb4f8f5d" @@ -2983,7 +1823,7 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -3181,20 +2021,6 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^2.0.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== - dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" - tmp "^0.0.33" - external-editor@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" @@ -3228,27 +2054,6 @@ extract-zip@^1.0.3: mkdirp "^0.5.4" yauzl "^2.10.0" -extract-zip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.0.tgz#f53b71d44f4ff5a4527a2259ade000fb8b303492" - integrity sha512-i42GQ498yibjdvIhivUsRslx608whtGoFIhF26Z7O4MYncBxp8CwalOs1lnHy21A9sIohWO2+uiE4SRtC9JXDg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - fast-deep-equal@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" @@ -3281,13 +2086,6 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" @@ -3340,20 +2138,13 @@ find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-up@3.0.0, find-up@^3.0.0: +find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -3381,13 +2172,6 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" -flat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" - integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== - dependencies: - is-buffer "~2.0.3" - flatted@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" @@ -3406,11 +2190,6 @@ for-in@^1.0.2: resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - form-data@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" @@ -3420,15 +2199,6 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -3453,11 +2223,6 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -3508,7 +2273,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@~2.1.1, fsevents@~2.1.2: +fsevents@~2.1.2: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== @@ -3523,28 +2288,11 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gaze@~1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -3569,13 +2317,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - getroot@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/getroot/-/getroot-1.0.0.tgz#ac4635c5fa4037741d6ead61ccc16367439efcbe" @@ -3598,19 +2339,7 @@ glob-parent@^5.0.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob@7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - dependencies: - 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" - -glob@^7.0.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -3688,11 +2417,6 @@ global-tunnel-ng@^2.7.1: npm-conf "^1.1.3" tunnel "^0.0.6" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - globals@^12.1.0: version "12.4.0" resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" @@ -3707,15 +2431,6 @@ globalthis@^1.0.1: dependencies: define-properties "^1.1.3" -globule@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" - integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== - dependencies: - glob "~7.1.1" - lodash "~4.17.12" - minimatch "~3.0.2" - got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -3733,34 +2448,11 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -grapheme-splitter@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -3768,11 +2460,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -3848,7 +2535,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.0, he@^1.2.0: +he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -3926,15 +2613,6 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -3948,7 +2626,7 @@ hunspell-asm@^4.0.2: emscripten-wasm-loader "^3.0.3" nanoid "^2.1.5" -iconv-lite@^0.4.17, iconv-lite@^0.4.24: +iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -4067,38 +2745,11 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" -inquirer@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - interpret@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" @@ -4137,11 +2788,6 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== - is-callable@^1.1.4, is-callable@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" @@ -4191,11 +2837,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" -is-electron-renderer@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-electron-renderer/-/is-electron-renderer-2.0.1.tgz#a469d056f975697c58c98c6023eb0aa79af895a2" - integrity sha1-pGnQVvl1aXxYyYxgI+sKp5r4laI= - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -4298,7 +2939,7 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.1" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -4345,11 +2986,6 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - jake@^10.6.1: version "10.8.1" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.1.tgz#0f6f5ef13ebe014104527fb4b1b24f44cd1f04d6" @@ -4360,19 +2996,11 @@ jake@^10.6.1: filelist "^1.0.1" minimatch "^3.0.4" -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@^3.13.1, js-yaml@^3.14.0: version "3.14.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" @@ -4381,21 +3009,6 @@ js-yaml@^3.13.1, js-yaml@^3.14.0: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - json-buffer@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" @@ -4411,17 +3024,12 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -4456,16 +3064,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -4509,13 +3107,6 @@ lazy-val@^1.0.4: resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" @@ -4523,18 +3114,6 @@ lcid@^2.0.0: dependencies: invert-kv "^2.0.0" -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -4557,7 +3136,7 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@^1.0.2, loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.0.2, loader-utils@^1.2.3: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -4575,14 +3154,6 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -4603,25 +3174,11 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.3.0, lodash@^4.8.0, lodash@~4.17.12: +lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -log-symbols@3.0.0, log-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - lower-case@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" @@ -4766,7 +3323,7 @@ mime-db@1.44.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== -mime-types@^2.1.12, mime-types@~2.1.19: +mime-types@^2.1.12: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== @@ -4778,11 +3335,6 @@ mime@^2.4.5: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -4803,7 +3355,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -4815,11 +3367,6 @@ minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -4844,43 +3391,13 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.5, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@~0.5.1: +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" -mocha@^7.1.2, mocha@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-7.2.0.tgz#01cc227b00d875ab1eed03a75106689cfed5a604" - integrity sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ== - dependencies: - ansi-colors "3.2.3" - browser-stdout "1.3.1" - chokidar "3.3.0" - debug "3.2.6" - diff "3.5.0" - escape-string-regexp "1.0.5" - find-up "3.0.0" - glob "7.1.3" - growl "1.10.5" - he "1.2.0" - js-yaml "3.13.1" - log-symbols "3.0.0" - minimatch "3.0.4" - mkdirp "0.5.5" - ms "2.1.1" - node-environment-flags "1.0.6" - object.assign "4.1.0" - strip-json-comments "2.0.1" - supports-color "6.0.0" - which "1.3.1" - wide-align "1.1.3" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" - move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -4898,21 +3415,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" @@ -4968,14 +3475,6 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" -node-environment-flags@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" - integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== - dependencies: - object.getownpropertydescriptors "^2.0.3" - semver "^5.7.0" - node-fetch@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" @@ -5010,11 +3509,6 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-releases@^1.1.53: - version "1.1.58" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz#8ee20eef30fa60e52755fcc0942def5a734fe935" - integrity sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg== - normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -5025,7 +3519,7 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.0, normalize-path@^2.1.1: +normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= @@ -5050,11 +3544,6 @@ npm-conf@^1.1.3: config-chain "^1.1.11" pify "^3.0.0" -npm-install-package@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/npm-install-package/-/npm-install-package-2.1.0.tgz#d7efe3cfcd7ab00614b896ea53119dc9ab259125" - integrity sha1-1+/jz816sAYUuJbqUxGdyaslkSU= - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -5069,11 +3558,6 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -5105,7 +3589,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@4.1.0, object.assign@^4.1.0: +object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -5137,13 +3621,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - onetime@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" @@ -5151,14 +3628,6 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -optimist@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -5210,13 +3679,6 @@ p-is-promise@^2.0.0: resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -5224,13 +3686,6 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -5245,11 +3700,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -5364,11 +3814,6 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= - pbkdf2@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" @@ -5385,11 +3830,6 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" @@ -5412,13 +3852,6 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - png2icons@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" @@ -5515,11 +3948,6 @@ pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -5550,11 +3978,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -5602,7 +4025,7 @@ punycode@^1.2.4: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -5614,16 +4037,6 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" -q@~1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -5670,7 +4083,7 @@ read-config-file@6.0.0: json5 "^2.1.2" lazy-val "^1.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -5701,13 +4114,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz#c30c33352b12c96dfb4b895421a49fd5a9593839" - integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== - dependencies: - picomatch "^2.0.4" - readdirp@~3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" @@ -5715,36 +4121,6 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== - -regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== - dependencies: - "@babel/runtime" "^7.8.4" - private "^0.1.8" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -5758,18 +4134,6 @@ regexpp@^3.0.0, regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - registry-auth-token@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" @@ -5784,18 +4148,6 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -5827,32 +4179,6 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request@^2.83.0, request@^2.87.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - 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.3" - 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.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -5893,7 +4219,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.3.2: +resolve@^1.10.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -5907,14 +4233,6 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -5928,11 +4246,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rgb2hex@^0.1.9: - version "0.1.10" - resolved "https://registry.yarnpkg.com/rgb2hex/-/rgb2hex-0.1.10.tgz#4fdd432665273e2d5900434940ceba0a04c8a8a8" - integrity sha512-vKz+kzolWbL3rke/xeTE2+6vHmZnNxGyDnaVW4OckntAIcc7DcZzWkQSfxMDwqHS8vhgySnIFyBUH7lIk6PxvQ== - rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -5967,7 +4280,7 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" -run-async@^2.2.0, run-async@^2.4.0: +run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== @@ -5979,18 +4292,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= - rxjs@^6.5.3: version "6.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" @@ -6015,7 +4316,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -6041,7 +4342,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.5, schema-utils@^2.6.6: +schema-utils@^2.6.6: version "2.7.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== @@ -6062,16 +4363,11 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -6197,7 +4493,7 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: +source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== @@ -6221,7 +4517,7 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -6262,18 +4558,6 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== -spectron@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/spectron/-/spectron-11.0.0.tgz#79d785e6b8898638e77b5186711e3910ed4ca09b" - integrity sha512-YRiB0TTpJa8ofNML/k1fJShe+m7U/E2HnFZsdZK57ekWIzlTHF+Lq7ZvuKGxMbpooU/OZkLObZfitemxhBVH4w== - dependencies: - "@types/webdriverio" "^4.8.0" - dev-null "^0.1.1" - electron-chromedriver "^9.0.0" - request "^2.87.0" - split "^1.0.0" - webdriverio "^4.13.0" - split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -6281,13 +4565,6 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - sprintf-js@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" @@ -6298,21 +4575,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" @@ -6370,7 +4632,7 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0: +string-width@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -6477,16 +4739,16 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-json-comments@2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - strip-json-comments@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + style-loader@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" @@ -6502,13 +4764,6 @@ sumchecker@^3.0.1: dependencies: debug "^4.1.0" -supports-color@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" - integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== - dependencies: - has-flag "^3.0.0" - supports-color@6.1.0, supports-color@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" @@ -6535,13 +4790,6 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@~5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.0.1.tgz#1c5331f22250c84202805b2f17adf16699f3a39a" - integrity sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA== - dependencies: - has-flag "^2.0.0" - table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -6557,19 +4805,6 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" - integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - dependencies: - bl "^1.0.0" - buffer-alloc "^1.2.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.3.0" - to-buffer "^1.1.1" - xtend "^4.0.0" - temp-file@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.7.tgz#686885d635f872748e384e871855958470aeb18a" @@ -6620,7 +4855,7 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -through@2, through@^2.3.6: +through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -6644,16 +4879,6 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-buffer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" - integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -6691,14 +4916,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - truncate-utf8-bytes@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" @@ -6745,23 +4962,11 @@ tty-browserify@0.0.0: resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - tunnel@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -6769,11 +4974,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - type-fest@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" @@ -6806,29 +5006,6 @@ typescript@^3.9.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -6933,7 +5110,7 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -url@^0.11.0, url@~0.11.0: +url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= @@ -6983,11 +5160,6 @@ utila@^0.4.0, utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - v8-compile-cache@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" @@ -7006,15 +5178,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" @@ -7038,39 +5201,6 @@ watchpack@^1.6.1: chokidar "^3.4.0" watchpack-chokidar2 "^2.0.0" -wdio-dot-reporter@~0.0.8: - version "0.0.10" - resolved "https://registry.yarnpkg.com/wdio-dot-reporter/-/wdio-dot-reporter-0.0.10.tgz#facfb7c9c5984149951f59cbc3cd0752101cf0e0" - integrity sha512-A0TCk2JdZEn3M1DSG9YYbNRcGdx/YRw19lTiRpgwzH4qqWkO/oRDZRmi3Snn4L2j54KKTfPalBhlOtc8fojVgg== - -webdriverio@^4.13.0: - version "4.14.4" - resolved "https://registry.yarnpkg.com/webdriverio/-/webdriverio-4.14.4.tgz#f7a94e9a6530819796088f42b009833d83de0386" - integrity sha512-Knp2vzuzP5c5ybgLu+zTwy/l1Gh0bRP4zAr8NWcrStbuomm9Krn9oRF0rZucT6AyORpXinETzmeowFwIoo7mNA== - dependencies: - archiver "~2.1.0" - babel-runtime "^6.26.0" - css-parse "^2.0.0" - css-value "~0.0.1" - deepmerge "~2.0.1" - ejs "~2.5.6" - gaze "~1.1.2" - glob "~7.1.1" - grapheme-splitter "^1.0.2" - inquirer "~3.3.0" - json-stringify-safe "~5.0.1" - mkdirp "~0.5.1" - npm-install-package "~2.1.0" - optimist "~0.6.1" - q "~1.5.0" - request "^2.83.0" - rgb2hex "^0.1.9" - safe-buffer "~5.1.1" - supports-color "~5.0.0" - url "~0.11.0" - wdio-dot-reporter "~0.0.8" - wgxpath "~1.0.0" - webpack-cli@^3.3.11: version "3.3.11" resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.11.tgz#3bf21889bf597b5d82c38f215135a411edfdc631" @@ -7137,37 +5267,25 @@ webpack@^4.43.0: watchpack "^1.6.1" webpack-sources "^1.4.1" -wgxpath@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wgxpath/-/wgxpath-1.0.0.tgz#eef8a4b9d558cc495ad3a9a2b751597ecd9af690" - integrity sha1-7vikudVYzEla06mit1FZfs2a9pA= - which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1.3.1, which@^1.2.14, which@^1.2.9, which@^1.3.1: +which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" -which@^2.0.1, which@^2.0.2: +which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - widest-line@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" @@ -7180,11 +5298,6 @@ word-wrap@^1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -7252,7 +5365,7 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yargs-parser@13.1.2, yargs-parser@^13.1.0, yargs-parser@^13.1.2: +yargs-parser@^13.1.0: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== @@ -7268,15 +5381,6 @@ yargs-parser@^18.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-unparser@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" - integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== - dependencies: - flat "^4.1.0" - lodash "^4.17.15" - yargs "^13.3.0" - yargs@13.2.4: version "13.2.4" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" @@ -7294,22 +5398,6 @@ yargs@13.2.4: y18n "^4.0.0" yargs-parser "^13.1.0" -yargs@13.3.2, yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - 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.2" - yargs@^15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" @@ -7339,13 +5427,3 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -zip-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" - integrity sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ= - dependencies: - archiver-utils "^1.3.0" - compress-commons "^1.2.0" - lodash "^4.8.0" - readable-stream "^2.0.0" From 1bf7872be917b74360fa57ee5b851574274aa4a7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:31:41 -0400 Subject: [PATCH 051/385] Added some fields to package --- package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index cf77cf11..b5f89ada 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,11 @@ "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", "version": "3.1.0", - "author": "Kyle Rosenberg", + "author": { + "name": "Kyle Rosenberg", + "email": "kyle@ekrosenberg.com" + }, + "license" : "SEE LICENSE IN LISCENSE", "copyright": "Copyright 2020 Kyle Rosenberg", "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", "repository": { From 7d34429d471ec80c8abc1737b003234ef65a13b6 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 03:37:18 -0400 Subject: [PATCH 052/385] Cleaned up readme and removed large screenshots --- README.md | 82 +----------------- assets/screenshots/1.png | Bin 308769 -> 0 bytes assets/screenshots/mac.png | Bin 570335 -> 0 bytes assets/screenshots/mac_notification_badge.png | Bin 21527 -> 0 bytes assets/screenshots/windows.png | Bin 137317 -> 0 bytes assets/screenshots/windows_tray_icon.png | Bin 8719 -> 0 bytes 6 files changed, 2 insertions(+), 80 deletions(-) delete mode 100644 assets/screenshots/1.png delete mode 100644 assets/screenshots/mac.png delete mode 100644 assets/screenshots/mac_notification_badge.png delete mode 100644 assets/screenshots/windows.png delete mode 100644 assets/screenshots/windows_tray_icon.png diff --git a/README.md b/README.md index 490f3589..632ee296 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,7 @@ Run Android Messages as a desktop app, a la iMessage. For those of us that prefe **Not affiliated with Google in any way. Android is a trademark of Google LLC.** -Android Messages Desktop Windows screenshot -Android Messages Desktop macOS screenshot -Android Messages Desktop tray icon in Windows -Android Messages Desktop notification badge in macOS - -### Disclaimer: I have tested this with my Pixel on both macOS High Sierra and Windows 10. Normal functionality seems to work, but help testing and feedback is greatly appreciated! +### Disclaimer: I have tested this with my Pixel on Arch only. There is a lot of platform specific code that I ported without being able to test if there are problems please report them. Inspired by: @@ -22,83 +17,10 @@ Based on: # Download Head over to the [latest releases](https://github.com/chrisknepper/android-messages-desktop/releases/latest) page! -* For Mac, choose the **dmg** -* For Windows, choose the **exe** -* For Linux, choose either the **deb**, the **snap**, the **pacman**, or the **AppImage**. If you're using Arch or derivates of, it's also available in the [AUR](https://aur.archlinux.org/packages/android-messages-desktop/). **Important note:** The Windows app binary isn't signed. This doesn't seem to be a big problem, but please report any issues you run into on Windows that may be related to signing. -**Important note 2:** We currently have builds for Windows and macOS, and Linux. I test releases on macOS, Windows 10, and Ubuntu Linux. I would love help testing on additional distros of Linux and other versions of Windows. - -# Features -* System notifications when a text comes in -* Notification badges on macOS -* Spellchecking in ~50 languages -* Run in background on Windows / Linux / macOS -* Minimize to tray on Windows / Linux -* Menu bar support on macOS -* TBD... +**Important note 2:** We currently have builds for Windows and macOS, and Linux. I test releases on Arch Linux. I would love help testing in additional places. # Spellchecking Implemented via the amazing [`electron-hunspell`](https://github.com/kwonoj/electron-hunspell) library with dictionaries provided by the excellent [`dictionaries`](https://github.com/wooorm/dictionaries) project. Language files are downloaded when the app opens and the language used is based on the language set in your operating system. If you switch your system language and restart the app, the spellchecking should occur in the new language as long as it is in the [list of supported languages](https://github.com/wooorm/dictionaries#table-of-dictionaries). - -# TODOs / Roadmap (rough order of priority): -- [x] Make sure it actually works (definitely works as of v0.1.0, done via [8068ed2](../../commit/8068ed2)) -- [x] Release signed binaries for macOS (binaries are signed as of v0.0.2, done via [8492023](../../commit/8492023)) -- [x] Make an icon (done via [df625ba](../../commit/df625ba)) -- [x] Remove left-over code from electron-boilerplate (done via [4e7638a](../../commit/4e7638a)) -- [ ] Correct tests -- [x] Release packages for Linux (done via [41ed205](../../commit/41ed205)) -- [x] Handling updates (done via [625bf6d](../../commit/625bf6d)) -- [x] Platform-specific UX enhancements (i.e. badges in macOS dock) (this specific enhancement is in as of v0.1.0, done via [8068ed2](../../commit/8068ed2)) **UX enhancements and features are now being worked on with issues submitted by users** -- [ ] Release signed binaries for Windows -- [ ] Make a website? (if it gets popular enough) -- [ ] Support customization/custom options a la Google Play Music Desktop Player? - -# Development -Make sure you have [Node.js](https://nodejs.org) installed, then run the following in your terminal: - -``` -git clone https://github.com/chrisknepper/android-messages-desktop.git -cd android-messages-desktop -npm install -npm start -``` - -## Starting the app in development mode -``` -npm start -``` - -# Testing -Run all tests: -``` -npm test -``` - -## Unit -``` -npm run unit -``` -Using [electron-mocha](https://github.com/jprichardson/electron-mocha) test runner with the [Chai](http://chaijs.com/api/assert/) assertion library. You can put your spec files wherever you want within the `src` directory, just name them with the `.spec.js` extension. - -## End to end -``` -npm run e2e -``` -Using [Mocha](https://mochajs.org/) and [Spectron](http://electron.atom.io/spectron/). This task will run all files in `e2e` directory with `.e2e.js` extension. - -# Publishing a release: -1. Commit what you want to go in the release (including updates to README and CHANGELOG) -2. Run `npm version ` where `` is either `major`, `minor`, or `patch` depending on the extent of your changes (this command increments the version in package.json and creates a git tag for the new version) -3. Run `git push` -4. Run `git push --tags` -5. Run `npm run release` (for this step to succeed, you must have a GitHub Personal Access Token with write access to this repository in your `PATH` as `GH_TOKEN`) -6. Go to GitHub and publish the release (which should be there as a draft), taking care to make the release name match the tag name including the "v" - -Once the packaging process finished, the `dist` directory will contain your distributable file. - -We use [electron-builder](https://github.com/electron-userland/electron-builder) to handle the packaging process. It has a lot of [customization options](https://www.electron.build/configuration/configuration), which you can declare under `"build"` key in `package.json`. - -# The icons -We use [png2icons](https://www.npmjs.com/package/png2icons) to create Windows and Mac icons from the source PNG icon, which is located in [assets/android_messages_desktop_icon.png](assets/android_messages_desktop_icon.png). However, the Windows icon generated from this package seems to result in visual corruption on Windows 10, so I'm manually converting the PNG to a Windows icon with [icoconvert.com](http://icoconvert.com) for the time being. diff --git a/assets/screenshots/1.png b/assets/screenshots/1.png deleted file mode 100644 index f59a480f0e5d7e091d1f1f44a34b49a2bba0e7f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308769 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
_^rT#O8Opu3$LQFTsO2iZf?8Be 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

|7lViPcuCdE~JdgPd?RMFZPPB%wBYph$$ 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

Oj7#L~UO_+8 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 L`f6wu+pzxu$~I=g diff --git a/assets/screenshots/windows.png b/assets/screenshots/windows.png deleted file mode 100644 index cc8ef8e3132473072f4b91a92c20a85afc541bea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137317 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 diff --git a/assets/screenshots/windows_tray_icon.png b/assets/screenshots/windows_tray_icon.png deleted file mode 100644 index 9bb52ebfe62245725cc820a723aba461469b8c64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8719 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 Date: Sat, 6 Jun 2020 17:20:32 -0400 Subject: [PATCH 053/385] Created a more robust lookup that uses the name of the person typing instead of assumeing they are on top which is rarely the case. --- src/app.ts | 4 +-- src/background.ts | 91 ++++++++++++++++++++++++----------------------- src/index.d.ts | 2 +- 3 files changed, 49 insertions(+), 48 deletions(-) diff --git a/src/app.ts b/src/app.ts index 3ee4694a..536adb96 100644 --- a/src/app.ts +++ b/src/app.ts @@ -9,9 +9,9 @@ const androidMessagesWebview = document.getElementById( "androidMessagesWebview" ) as WebviewTag; -window.getUserImg = async (): Promise | undefined> => +window.getUserImg = async (name: string): Promise => await androidMessagesWebview.executeJavaScript( - `[document.querySelector("h3.name").textContent, document.querySelector("img").src]` + `Array.from(document.querySelectorAll("h3.name")).filter(e => "${name}" === e.textContent)[0].parentElement.parentElement.querySelector("img").src` ); androidMessagesWebview.addEventListener("dom-ready", () => { diff --git a/src/background.ts b/src/background.ts index 2960c362..e48bee27 100644 --- a/src/background.ts +++ b/src/background.ts @@ -239,58 +239,59 @@ if (!isFirstInstance) { } }); - ipcMain.on(EVENT_WEBVIEW_NOTIFICATION, async (event, msg) => { - if (msg.options) { - const userImgData = (await mainWindow.webContents.executeJavaScript( - `window.getUserImg()` - )) as Array | undefined; - - const notificationOpts: Electron.NotificationConstructorOptions = state.notificationContentHidden - ? { - title: "Android Messages Desktop", - body: "New Message", + ipcMain.on( + EVENT_WEBVIEW_NOTIFICATION, + async (event, msg: { title: string; options?: NotificationOptions }) => { + if (msg.options) { + const userImgData = (await mainWindow.webContents.executeJavaScript( + `window.getUserImg("${msg.title}")` + )) as string | undefined; + + const notificationOpts: Electron.NotificationConstructorOptions = state.notificationContentHidden + ? { + title: "Android Messages Desktop", + body: "New Message", + } + : { + title: msg.title, + /* + * This is what we call absolute shenanigans. Above we call a function in the render process + * That function calls another function in the webView retrieving the name of the message at the top and the respective image + * It could technically be done without polluting the window but it would have been ugly as hell (as if this is not) + * Bellow it makes sure everything is defined and checks if the author matches the title of the notification + * If something is undefined it falls back to a generic icon in the resources folder. + */ + icon: + userImgData != null + ? nativeImage.createFromDataURL(userImgData) + : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), + body: msg.options.body || "", + }; + notificationOpts.silent = !state.notificationSoundEnabled; + const customNotification = new Notification(notificationOpts); + + if (IS_MAC) { + if (!mainWindow.isFocused()) { + state.unreadNotificationCount += 1; + app.dock.setBadge("" + state.unreadNotificationCount); } - : { - title: msg.title, - /* - * This is what we call absolute shenanigans. Above we call a function in the render process - * That function calls another function in the webView retrieving the name of the message at the top and the respective image - * It could technically be done without polluting the window but it would have been ugly as hell (as if this is not) - * Bellow it makes sure everything is defined and checks if the author matches the title of the notification - * If something is undefined it falls back to a generic icon in the resources folder. - */ - icon: - userImgData != null && - userImgData[0] === msg.title && - userImgData[1] != null - ? nativeImage.createFromDataURL(userImgData[1]) - : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), - body: msg.options.body, - }; - notificationOpts.silent = !state.notificationSoundEnabled; - const customNotification = new Notification(notificationOpts); - - if (IS_MAC) { - if (!mainWindow.isFocused()) { - state.unreadNotificationCount += 1; - app.dock.setBadge("" + state.unreadNotificationCount); } - } - trayManager?.toggleOverlay(true); + trayManager?.toggleOverlay(true); - customNotification.once("click", () => { - mainWindow.show(); - }); + customNotification.once("click", () => { + mainWindow.show(); + }); - // Allows us to marry our custom notification and its behavior with the helpful behavior - // (conversation highlighting) that Google provides. See the webview bridge for details. - global.currentNotification = customNotification; - event.sender.send(EVENT_NOTIFICATION_REFLECT_READY, true); + // Allows us to marry our custom notification and its behavior with the helpful behavior + // (conversation highlighting) that Google provides. See the webview bridge for details. + global.currentNotification = customNotification; + event.sender.send(EVENT_NOTIFICATION_REFLECT_READY, true); - customNotification.show(); + customNotification.show(); + } } - }); + ); ipcMain.on(EVENT_BRIDGE_INIT, async (event) => { if (state.bridgeInitDone) { diff --git a/src/index.d.ts b/src/index.d.ts index 7b058877..4fcfa805 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -5,7 +5,7 @@ import { SpellCheckerProvider } from "electron-hunspell"; declare global { interface Window { spellCheckHandler?: SpellCheckerProvider; - getUserImg: () => Promise | undefine>; + getUserImg: (name: string) => Promise; } namespace Electron { From cb6e2fce9c8efd1c14360f73d76ceeb798a32caf Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 17:35:35 -0400 Subject: [PATCH 054/385] Moved the function to an actual function in app and told the ts compiler to ignore it as it should be javascript This was done in order to have a nicer dev experience. It should probalby be its own file --- src/app.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/app.ts b/src/app.ts index 536adb96..58a177b7 100644 --- a/src/app.ts +++ b/src/app.ts @@ -9,9 +9,29 @@ const androidMessagesWebview = document.getElementById( "androidMessagesWebview" ) as WebviewTag; +// Writing a JS Function that will be to stringed into the file for a nicer editor experience +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +function getUserImgWebview(name) { + const nodes = Array.from(document.querySelectorAll("h3.name")).filter( + (e) => name === e.textContent + ); + + if ( + nodes.length > 0 && + nodes[0].parentElement && + nodes[0].parentElement.parentElement + ) { + const img = nodes[0].parentElement.parentElement.querySelector("img"); + if (img) { + return img.src; + } + } +} + window.getUserImg = async (name: string): Promise => await androidMessagesWebview.executeJavaScript( - `Array.from(document.querySelectorAll("h3.name")).filter(e => "${name}" === e.textContent)[0].parentElement.parentElement.querySelector("img").src` + `(${getUserImgWebview.toString()})("${name}")` ); androidMessagesWebview.addEventListener("dom-ready", () => { From 122000acf75e3d8857118d52091c0dcbf220c7c6 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 19:06:23 -0400 Subject: [PATCH 055/385] Greatly simplified the code for fetching the image data I realized bridge ran in the webview context so I could just fetch it there before I forward the notification to electron instead of back progagating from the background process. --- package.json | 4 +++- src/app.ts | 25 ------------------------- src/background.ts | 8 ++------ src/bridge.ts | 33 ++++++++++++++++++++++++++++++++- yarn.lock | 12 ++++++++++++ 5 files changed, 49 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index b5f89ada..6f4a9e51 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" }, - "license" : "SEE LICENSE IN LISCENSE", + "license": "SEE LICENSE IN LISCENSE", "copyright": "Copyright 2020 Kyle Rosenberg", "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", "repository": { @@ -27,6 +27,7 @@ }, "dependencies": { "about-window": "1.13.4", + "dom-to-image": "^2.6.0", "electron-hunspell": "1.1.2", "electron-settings": "3.2.0", "electron-updater": "4.3.1", @@ -34,6 +35,7 @@ "node-fetch": "^2.6.0" }, "devDependencies": { + "@types/dom-to-image": "^2.6.1", "@types/electron-settings": "^3.1.1", "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "12", diff --git a/src/app.ts b/src/app.ts index 58a177b7..616325ec 100644 --- a/src/app.ts +++ b/src/app.ts @@ -9,31 +9,6 @@ const androidMessagesWebview = document.getElementById( "androidMessagesWebview" ) as WebviewTag; -// Writing a JS Function that will be to stringed into the file for a nicer editor experience -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -function getUserImgWebview(name) { - const nodes = Array.from(document.querySelectorAll("h3.name")).filter( - (e) => name === e.textContent - ); - - if ( - nodes.length > 0 && - nodes[0].parentElement && - nodes[0].parentElement.parentElement - ) { - const img = nodes[0].parentElement.parentElement.querySelector("img"); - if (img) { - return img.src; - } - } -} - -window.getUserImg = async (name: string): Promise => - await androidMessagesWebview.executeJavaScript( - `(${getUserImgWebview.toString()})("${name}")` - ); - androidMessagesWebview.addEventListener("dom-ready", () => { app.mainWindow?.on("focus", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs diff --git a/src/background.ts b/src/background.ts index e48bee27..e2bda2fa 100644 --- a/src/background.ts +++ b/src/background.ts @@ -243,10 +243,6 @@ if (!isFirstInstance) { EVENT_WEBVIEW_NOTIFICATION, async (event, msg: { title: string; options?: NotificationOptions }) => { if (msg.options) { - const userImgData = (await mainWindow.webContents.executeJavaScript( - `window.getUserImg("${msg.title}")` - )) as string | undefined; - const notificationOpts: Electron.NotificationConstructorOptions = state.notificationContentHidden ? { title: "Android Messages Desktop", @@ -262,8 +258,8 @@ if (!isFirstInstance) { * If something is undefined it falls back to a generic icon in the resources folder. */ icon: - userImgData != null - ? nativeImage.createFromDataURL(userImgData) + msg.options.image != null + ? nativeImage.createFromDataURL(msg.options.image) : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), body: msg.options.body || "", }; diff --git a/src/bridge.ts b/src/bridge.ts index 88cc6afe..229987fd 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -16,6 +16,9 @@ import { attachSpellCheckProvider, } from "electron-hunspell"; import { Dictionary } from "./helpers/dictionaryManager"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +//@ts-ignore +import domtoimg from "dom-to-image"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -98,6 +101,30 @@ ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { } }); +async function getImg(name: string): Promise { + const nodes = Array.from(document.querySelectorAll("h3.name")).filter((e) => + name.startsWith(e.textContent || "") + ); + + if ( + nodes.length > 0 && + nodes[0].parentElement && + nodes[0].parentElement.parentElement + ) { + const parent = nodes[0].parentElement.parentElement; + const img = parent.querySelector("img"); + if (img) { + return img.src; + } else { + const noImg = parent.querySelector("div.non-image-avatar"); + if (noImg && (window as any).domtoimg) { + return await (window as any).domtoimg.toPng(noImg); + } + } + } + return undefined; +} + const OriginalBrowserNotification = Notification; /* @@ -114,7 +141,10 @@ const OriginalBrowserNotification = Notification; // It hurts but this is so antipattern I am telling the ts compiler to screw itself // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore -Notification = function (title: string, options?: NotificationOptions) { +Notification = async function (title: string, options?: NotificationOptions) { + if (options) { + options.image = await getImg(title); + } const notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) /* @@ -182,3 +212,4 @@ Notification.prototype = OriginalBrowserNotification.prototype; // @ts-ignore Notification.permission = OriginalBrowserNotification.permission; Notification.requestPermission = OriginalBrowserNotification.requestPermission; +(window as any).domtoimg = domtoimg; diff --git a/yarn.lock b/yarn.lock index 117bd3dd..fba94e11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -79,6 +79,13 @@ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== +"@types/dom-to-image@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@types/dom-to-image/-/dom-to-image-2.6.1.tgz#2b30a7080448b3b9265683886ca429bc6ae6112f" + integrity sha512-pTaEZxf1sZVRE5FDji9kmdiZLr2a4JLR1IQvJtuIsDXmq0Tv+lLpZqxXf/7wzMMIicMImXrrAZUEgf1XJpzksg== + dependencies: + "@types/node" "*" + "@types/electron-settings@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@types/electron-settings/-/electron-settings-3.1.1.tgz#e3f8246ee1a8fc66b08203792d09589df355c776" @@ -1530,6 +1537,11 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" +dom-to-image@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/dom-to-image/-/dom-to-image-2.6.0.tgz#8a503608088c87b1c22f9034ae032e1898955867" + integrity sha1-ilA2CAiMh7HCL5A0rgMuGJiVWGc= + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" From bef3ee901fd7617c1c1b4c8aad4e3a1a43aa4547 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sat, 6 Jun 2020 23:28:57 -0400 Subject: [PATCH 056/385] changed readme --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 632ee296..50b7cecf 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,6 @@ Inspired by: * [Google Play Music Desktop Player](https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-) * [a Reddit post on r/Android](https://www.reddit.com/r/Android/comments/8shv6q/web_messages/e106a8r/) -Based on: - -* [electron-boilerplate](https://github.com/szwacz/electron-boilerplate) - # Download Head over to the [latest releases](https://github.com/chrisknepper/android-messages-desktop/releases/latest) page! From 30094c6f70081cf3de74d942b53ae2aa75d3cd70 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sun, 7 Jun 2020 01:48:13 -0400 Subject: [PATCH 057/385] When generating all the images it caused extreme ui lag. Decided to have a lazy evaluation approach for now where we cache all the ones with images and only generate the image to cache if you recieve a second message. --- src/background.ts | 15 ++++++----- src/bridge.ts | 68 ++++++++++++++++++++++++++++++----------------- 2 files changed, 52 insertions(+), 31 deletions(-) diff --git a/src/background.ts b/src/background.ts index e2bda2fa..e1671667 100644 --- a/src/background.ts +++ b/src/background.ts @@ -241,15 +241,18 @@ if (!isFirstInstance) { ipcMain.on( EVENT_WEBVIEW_NOTIFICATION, - async (event, msg: { title: string; options?: NotificationOptions }) => { - if (msg.options) { + ( + event, + { title, options }: { title: string; options?: NotificationOptions } + ) => { + if (options) { const notificationOpts: Electron.NotificationConstructorOptions = state.notificationContentHidden ? { title: "Android Messages Desktop", body: "New Message", } : { - title: msg.title, + title, /* * This is what we call absolute shenanigans. Above we call a function in the render process * That function calls another function in the webView retrieving the name of the message at the top and the respective image @@ -258,10 +261,10 @@ if (!isFirstInstance) { * If something is undefined it falls back to a generic icon in the resources folder. */ icon: - msg.options.image != null - ? nativeImage.createFromDataURL(msg.options.image) + options.image != null + ? nativeImage.createFromDataURL(options.image) : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), - body: msg.options.body || "", + body: options.body || "", }; notificationOpts.silent = !state.notificationSoundEnabled; const customNotification = new Notification(notificationOpts); diff --git a/src/bridge.ts b/src/bridge.ts index 229987fd..cc717e8b 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -16,14 +16,12 @@ import { attachSpellCheckProvider, } from "electron-hunspell"; import { Dictionary } from "./helpers/dictionaryManager"; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -//@ts-ignore import domtoimg from "dom-to-image"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); -window.onload = () => { +window.addEventListener("load", () => { // Conditionally let the main process know the page is (essentially) done loading. // This should defer spellchecker downloading in a way that avoids blocking the page UI :D @@ -48,7 +46,7 @@ window.onload = () => { childList: true, attributes: true, }); -}; +}); interface EventSpellingReadyParams { locale: string; @@ -101,28 +99,39 @@ ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { } }); -async function getImg(name: string): Promise { - const nodes = Array.from(document.querySelectorAll("h3.name")).filter((e) => - name.startsWith(e.textContent || "") - ); +const imgCache: { [key: string]: string | (() => Promise) } = {}; - if ( - nodes.length > 0 && - nodes[0].parentElement && - nodes[0].parentElement.parentElement - ) { - const parent = nodes[0].parentElement.parentElement; - const img = parent.querySelector("img"); - if (img) { - return img.src; - } else { - const noImg = parent.querySelector("div.non-image-avatar"); - if (noImg && (window as any).domtoimg) { - return await (window as any).domtoimg.toPng(noImg); +// This is geto and needs fixed +function getAllProfileImgs(): void { + const conversations = Array.from( + document.querySelectorAll("mws-conversation-list-item") + ); + conversations.forEach((conversation) => { + const name = conversation.querySelector("h3.name")?.textContent; + if (name != null) { + const imgTag = conversation.querySelector("img"); + let imgData: string | (() => Promise); + if (imgTag != null) { + imgData = imgTag.src; + } else { + const nonImgImg = conversation.querySelector("div.non-image-avatar"); + if (nonImgImg == null) { + return; + } + imgData = async () => { + imgCache[name] = await domtoimg.toPng(nonImgImg); + }; } + imgCache[name] = imgData; } + }); +} + +function getCacheKey(title: string): string { + if (title.includes(" •")) { + return title.split(" •")[0]; } - return undefined; + return title; } const OriginalBrowserNotification = Notification; @@ -141,9 +150,19 @@ const OriginalBrowserNotification = Notification; // It hurts but this is so antipattern I am telling the ts compiler to screw itself // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore -Notification = async function (title: string, options?: NotificationOptions) { +Notification = function (title: string, options?: NotificationOptions) { + if (Object.keys(imgCache).length === 0) { + getAllProfileImgs(); + } if (options) { - options.image = await getImg(title); + const cached = imgCache[getCacheKey(title)]; + if (cached) { + if (typeof cached === "string") { + options.image = cached; + } else { + cached(); + } + } } const notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) @@ -212,4 +231,3 @@ Notification.prototype = OriginalBrowserNotification.prototype; // @ts-ignore Notification.permission = OriginalBrowserNotification.permission; Notification.requestPermission = OriginalBrowserNotification.requestPermission; -(window as any).domtoimg = domtoimg; From 9b7469b32d30237fffa0dde286b02d4a2e85e3f4 Mon Sep 17 00:00:00 2001 From: Kyle Date: Sun, 7 Jun 2020 02:06:47 -0400 Subject: [PATCH 058/385] Cleaned up some comments there is more to do but got bored --- src/app.ts | 4 ---- src/background.ts | 36 ++++++++++++-------------------- src/bridge.ts | 4 ++-- src/helpers/dictionaryManager.ts | 15 ------------- src/menu/contextMenu.ts | 14 +------------ 5 files changed, 16 insertions(+), 57 deletions(-) diff --git a/src/app.ts b/src/app.ts index 616325ec..c3036e84 100644 --- a/src/app.ts +++ b/src/app.ts @@ -14,10 +14,6 @@ androidMessagesWebview.addEventListener("dom-ready", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs androidMessagesWebview.dispatchEvent(new Event("focus")); }); - - // Make the title centered so that it won't get weirdly covered by the traffic light on mac - // 10px should make it look roughly centered - // TODO: Use more sophisticated CSS which doesn't rely on Google's obfuscated class names to do this if (IS_MAC) { androidMessagesWebview.insertCSS( ".main-nav-header .logo {text-align:center; transform: translateX(10px)}" diff --git a/src/background.ts b/src/background.ts index e1671667..4f06ad4d 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,8 +1,3 @@ -// This is main process of Electron, started as first thing when your -// app starts. It runs through entire life of your application. -// It doesn't have any windows which you can see on screen, but we can open -// window from here. - import * as path from "path"; import { app, @@ -52,9 +47,11 @@ type CustomWords = Record; let mainWindow: CustomBrowserWindow; -// Prevent multiple instances of the app which causes many problems with an app like ours -// Without this, if an instance were minimized to the tray in Windows, clicking a shortcut would launch another instance, icky -// Adapted from https://github.com/electron/electron/blob/v4.0.4/docs/api/app.md#apprequestsingleinstancelock +/** + * Prevent multiple instances of the app which causes many problems with an app like ours + * Without this, if an instance were minimized to the tray in Windows, clicking a shortcut would launch another instance, icky + * Adapted from https://www.electronjs.org/docs/api/app#apprequestsingleinstancelock + */ const isFirstInstance = app.requestSingleInstanceLock(); if (!isFirstInstance) { @@ -79,18 +76,20 @@ if (!isFirstInstance) { Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); }; - // Save userData in separate folders for each environment. - // Thanks to this you can use production and development versions of the app - // on same machine like those are two separate apps. + /** + * Save userData in separate folders for each environment. + * Thanks to this you can use production and development versions of the app + * on same machine like those are two separate apps. + */ if (IS_DEV) { const userDataPath = app.getPath("userData"); - app.setPath("userData", `${userDataPath} (${process.env.name})`); + app.setPath("userData", `${userDataPath}-(${process.env.NODE_ENV})`); } if (IS_WINDOWS) { // Stupid, DUMB calls that have to be made to let notifications come through on Windows (only Windows 10?) // See: https://github.com/electron/electron/issues/10864#issuecomment-382519150 - app.setAppUserModelId("com.knepper.android-messages-desktop"); + app.setAppUserModelId("pw.kmr.android-messages-desktop"); app.setAsDefaultProtocolClient("android-messages-desktop"); } @@ -211,8 +210,6 @@ if (!isFirstInstance) { }; if (IS_LINUX) { - // Setting the icon in Linux tends to be finicky without explicitly setting it like this. - // See: https://github.com/electron/electron/issues/6205 mainWindowOptions.icon = path.resolve( RESOURCES_PATH, "icons", @@ -253,18 +250,11 @@ if (!isFirstInstance) { } : { title, - /* - * This is what we call absolute shenanigans. Above we call a function in the render process - * That function calls another function in the webView retrieving the name of the message at the top and the respective image - * It could technically be done without polluting the window but it would have been ugly as hell (as if this is not) - * Bellow it makes sure everything is defined and checks if the author matches the title of the notification - * If something is undefined it falls back to a generic icon in the resources folder. - */ + body: options.body || "", icon: options.image != null ? nativeImage.createFromDataURL(options.image) : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), - body: options.body || "", }; notificationOpts.silent = !state.notificationSoundEnabled; const customNotification = new Notification(notificationOpts); diff --git a/src/bridge.ts b/src/bridge.ts index cc717e8b..4ab3cf19 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -136,7 +136,7 @@ function getCacheKey(title: string): string { const OriginalBrowserNotification = Notification; -/* +/** * Override the webview's window's instance of the Notification class and forward their data to the * main process. This is Necessary to generate and send a custom notification via Electron instead * of just forwarding the webview (Google) ones. @@ -166,7 +166,7 @@ Notification = function (title: string, options?: NotificationOptions) { } const notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) - /* + /** * Google's own notifications have a click event listener which takes care of highlighting * the conversation a notification belongs to, but this click listener does not carry over * when we block Google's and create our own Electron notification. diff --git a/src/helpers/dictionaryManager.ts b/src/helpers/dictionaryManager.ts index 04e00d7a..8e944a01 100644 --- a/src/helpers/dictionaryManager.ts +++ b/src/helpers/dictionaryManager.ts @@ -23,21 +23,6 @@ async function getSupportedLanguages(): Promise { } async function getLanguageObject(locale: string): Promise { - /* - * It is possible for Electron to return a locale code for which there are multiple - * "close match" dictionaries but no exact match. For these special cases, we - * hardcode which dictionary should be used here. - * - * For a system returning just generic "English", load the Queen's English because its spellings - * are more common anywhere outside of USA, where en-US should always be returned. - * - * Electron returns "hy" for any dialect of Armenian but there are only dictionaries for Eastern - * Armenian and Western Armenian--no generic "Armenian." According to Wikipedia, Eastern Armenian - * is more widely spoken and acts as a superset of Western Armenian. Since there is no other - * reliable way to tell which dialect a user would prefer, we use Eastern Armenian because of the - * larger number of speakers of that language. - */ - if (locale === "en-US") { locale = "en"; } else if (locale === "de-DE") { diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index f82fdf6a..1e6c554e 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -79,23 +79,12 @@ export const popupContextMenu = async ( { label: `Save ${mediaType} As...`, click: () => { - // This call *would* do this in one line, but is only a thing in IE (???) - // document.execCommand('SaveAs', true, params.srcURL); const link = document.createElement("a"); link.href = params.srcURL; - /* - * Leaving the URL root results in the file extension being truncated. - * The resulting filename from this also appears to be consistent with - * saving the image via dragging or the Chrome context menu...winning! - * - * Since the URL change from messages.android.com, the URL root of the files - * is messages.google.com (note the lack of /web/ in the path) - */ link.download = params.srcURL.replace( "blob:https://messages.google.com/", "" ); - // Trigger save dialog by clicking the "link" document.body.appendChild(link); link.click(); document.body.removeChild(link); @@ -122,13 +111,12 @@ export const popupContextMenu = async ( label: `Add ${booboo} to Dictionary`, click: async () => { // Immediately clear red underline - (event as any).sender.replaceMisspelling(booboo); // Add new custom word to dictionary for the current session // Until I restructure all this ts demands a default const localeKey = (await window.spellCheckHandler?.getSelectedDictionaryLanguage()) || - "en-GB"; + "en"; window.spellCheckHandler?.addWord(localeKey, booboo); // Send new custom word to main process so it will be added to the dictionary at the start of future sessions ipcRenderer.send(EVENT_SPELL_ADD_CUSTOM_WORD, { From 3be24172b1a3bd491b3995f71a05dbdf326a07cb Mon Sep 17 00:00:00 2001 From: Kyle Date: Sun, 7 Jun 2020 02:20:44 -0400 Subject: [PATCH 059/385] fixed up some comments and got the page bridge a bit more understandable --- src/bridge.ts | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 4ab3cf19..e58c17e4 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -101,7 +101,13 @@ ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { const imgCache: { [key: string]: string | (() => Promise) } = {}; -// This is geto and needs fixed +/** + * + * This function initializes the imgCache + * It fills it with either the img data blob or a function to generate the blob + * TODO: Add check for already in cache allowing us to call this more than once if there is ever a cache miss + * + */ function getAllProfileImgs(): void { const conversations = Array.from( document.querySelectorAll("mws-conversation-list-item") @@ -119,6 +125,7 @@ function getAllProfileImgs(): void { return; } imgData = async () => { + delete imgCache[name]; imgCache[name] = await domtoimg.toPng(nonImgImg); }; } @@ -127,6 +134,15 @@ function getAllProfileImgs(): void { }); } +/** + * + * Attempts to split the title of the notification in a way that yeilds a cache hit + * The character it splits at is hard coded and relient on google not changing it + * I do not know a way around this for now so it will stay + * + * @param {string} title notification title to convert to cache key + * @returns {string} cache key for indexing + */ function getCacheKey(title: string): string { if (title.includes(" •")) { return title.split(" •")[0]; @@ -147,7 +163,6 @@ const OriginalBrowserNotification = Notification; * https://stackoverflow.com/questions/31231622/event-listener-for-web-notification * https://stackoverflow.com/questions/1421257/intercept-javascript-event */ -// It hurts but this is so antipattern I am telling the ts compiler to screw itself // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore Notification = function (title: string, options?: NotificationOptions) { @@ -160,6 +175,9 @@ Notification = function (title: string, options?: NotificationOptions) { if (typeof cached === "string") { options.image = cached; } else { + // Creating the image here reduces ui lag because we are not doing loads at once + // It is not gaurenteed to be done before the next message but this does not cause + // a bug because the first act of this function is to delete itself from the cache. cached(); } } @@ -182,6 +200,11 @@ Notification = function (title: string, options?: NotificationOptions) { * event listener. */ + /** + * I do not understand exactly what is going on here and will leave it for the time being + * TODO: understand what is going on and make it better + */ + type Type = "click" | "close" | "error" | "show"; type Listener = (ev: NotificationEventMap[Type]) => unknown; type Options = undefined | boolean | AddEventListenerOptions; @@ -208,6 +231,15 @@ Notification = function (title: string, options?: NotificationOptions) { } }; + /** + * + * This is ugly and I am not positive it is necessary + * In the future I aim to make it so we do not need to pass the notification around as a global variable + * I have ideas to do so which include but are not limited to listening for an event dispatched from the main process + * when the notification is clicked and calling the listener instead of adding it directly + * + */ + ipcRenderer.once(EVENT_NOTIFICATION_REFLECT_READY, () => { const theHookedUpNotification = remote.getGlobal("currentNotification"); if ( @@ -226,7 +258,6 @@ Notification = function (title: string, options?: NotificationOptions) { return notificationToSend; }; Notification.prototype = OriginalBrowserNotification.prototype; -// It hurts but this is so antipattern I am telling the ts compiler to screw itself // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore Notification.permission = OriginalBrowserNotification.permission; From ddbc1e603b6d4abc8bd5b949c372f55ddf54108c Mon Sep 17 00:00:00 2001 From: Kyle Date: Sun, 7 Jun 2020 03:00:39 -0400 Subject: [PATCH 060/385] Extracted settings and fixed up imports with alt+shift+o --- src/app.ts | 3 +- src/background.ts | 158 +++++++++++------------------- src/bridge.ts | 24 ++--- src/helpers/constants.ts | 10 +- src/helpers/dictionaryManager.ts | 6 +- src/helpers/settingsManager.ts | 66 +++++++++++++ src/helpers/trayManager.ts | 10 +- src/helpers/window.ts | 4 +- src/menu/baseMenu.ts | 6 +- src/menu/contextMenu.ts | 2 +- src/menu/helpMenu.ts | 2 +- src/menu/items/about.ts | 4 +- src/menu/items/checkForUpdates.ts | 2 +- src/menu/settingsMenu.ts | 10 +- webpack.config.ts | 4 +- 15 files changed, 171 insertions(+), 140 deletions(-) create mode 100644 src/helpers/settingsManager.ts diff --git a/src/app.ts b/src/app.ts index c3036e84..cdb41d70 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,7 +1,6 @@ -import "./stylesheets/main.css"; - import { ipcRenderer, remote, WebviewTag } from "electron"; import { EVENT_UPDATE_USER_SETTING, IS_MAC } from "./helpers/constants"; +import "./stylesheets/main.css"; const app = remote.app; diff --git a/src/background.ts b/src/background.ts index 4f06ad4d..05aa4844 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,46 +1,43 @@ -import * as path from "path"; import { app, - Menu, ipcMain, + Menu, + nativeImage, + nativeTheme, Notification, + NotificationConstructorOptions, shell, - nativeTheme, - MenuItemConstructorOptions, - BrowserWindowConstructorOptions, - nativeImage, } from "electron"; +import settings from "electron-settings"; import { autoUpdater } from "electron-updater"; -import { baseMenuTemplate } from "./menu/baseMenu"; -import { devMenuTemplate } from "./menu/devMenu"; -import { helpMenuTemplate } from "./menu/helpMenu"; -import { CustomBrowserWindow } from "./helpers/window"; -import { getDictionary } from "./helpers/dictionaryManager"; -import { TrayManager } from "./helpers/trayManager"; -import * as settings from "electron-settings"; +import path from "path"; import { - IS_MAC, - IS_WINDOWS, - IS_LINUX, - IS_DEV, - SETTING_TRAY_ENABLED, - SETTING_CUSTOM_WORDS, - EVENT_WEBVIEW_NOTIFICATION, - EVENT_NOTIFICATION_REFLECT_READY, + BASE_APP_PATH, EVENT_BRIDGE_INIT, - EVENT_SPELL_ADD_CUSTOM_WORD, + EVENT_NOTIFICATION_REFLECT_READY, EVENT_SPELLING_REFLECT_READY, + EVENT_SPELL_ADD_CUSTOM_WORD, EVENT_UPDATE_USER_SETTING, - BASE_APP_PATH, + EVENT_WEBVIEW_NOTIFICATION, + IS_DEV, + IS_LINUX, + IS_MAC, + IS_WINDOWS, RESOURCES_PATH, + SETTING_CUSTOM_WORDS, + SETTING_TRAY_ENABLED, } from "./helpers/constants"; +import { getDictionary } from "./helpers/dictionaryManager"; +import { SettingsManager } from "./helpers/settingsManager"; +import { TrayManager } from "./helpers/trayManager"; +import { CustomBrowserWindow } from "./helpers/window"; +import { baseMenuTemplate } from "./menu/baseMenu"; +import { devMenuTemplate } from "./menu/devMenu"; +import { helpMenuTemplate } from "./menu/helpMenu"; const state = { unreadNotificationCount: 0, - notificationSoundEnabled: true, - notificationContentHidden: false, bridgeInitDone: false, - useSystemDarkMode: true, }; type CustomWords = Record; @@ -65,10 +62,8 @@ if (!isFirstInstance) { } }); - let trayManager: TrayManager | null = null; - const setApplicationMenu = () => { - const menus: Array = baseMenuTemplate; + const menus = baseMenuTemplate; if (IS_DEV) { menus.push(devMenuTemplate); } @@ -93,43 +88,16 @@ if (!isFirstInstance) { app.setAsDefaultProtocolClient("android-messages-desktop"); } + let trayManager: TrayManager; + let settingsManager: SettingsManager; + app.on("ready", () => { trayManager = new TrayManager(); - - // TODO: Create a preference manager which handles all of these - const autoHideMenuBar = settings.get("autoHideMenuPref", false) as boolean; - const startInTray = settings.get("startInTrayPref", false) as boolean; - const notificationSoundEnabled = settings.get( - "notificationSoundEnabledPref", - true - ) as boolean; - const pressEnterToSendEnabled = settings.get( - "pressEnterToSendPref", - true - ) as boolean; - const hideNotificationContent = settings.get( - "hideNotificationContentPref", - false - ) as boolean; - const useSystemDarkMode = settings.get( - "useSystemDarkModePref", - true - ) as boolean; - settings.watch(SETTING_TRAY_ENABLED, trayManager.handleTrayEnabledToggle); - settings.watch("notificationSoundEnabledPref", (newValue) => { - state.notificationSoundEnabled = newValue; - }); - settings.watch("pressEnterToSendPref", (newValue) => { - mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { - enterToSend: newValue, - }); - }); - settings.watch("hideNotificationContentPref", (newValue) => { - state.notificationContentHidden = newValue; - }); - settings.watch("useSystemDarkModePref", (newValue) => { - state.useSystemDarkMode = newValue; - }); + settingsManager = new SettingsManager(); + settingsManager.addWatcher( + SETTING_TRAY_ENABLED, + trayManager.handleTrayEnabledToggle + ); setApplicationMenu(); const menuInstance = Menu.getApplicationMenu(); @@ -141,7 +109,7 @@ if (!isFirstInstance) { } nativeTheme.on("updated", () => { - if (state.useSystemDarkMode) { + if (settingsManager.systemDarkMode) { mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { useDarkMode: nativeTheme.shouldUseDarkColors, }); @@ -168,13 +136,12 @@ if (!isFirstInstance) { if (!IS_MAC) { // Sets checked status based on user prefs - menuInstance.getMenuItemById( - "autoHideMenuBarMenuItem" - ).checked = autoHideMenuBar; + menuInstance.getMenuItemById("autoHideMenuBarMenuItem").checked = + settingsManager.autoHideMenu; trayMenuItem.enabled = trayManager.enabled; } - trayMenuItem.checked = startInTray; + trayMenuItem.checked = settingsManager.startInTray; enableTrayIconMenuItem.checked = trayManager.enabled; if (IS_WINDOWS) { @@ -184,46 +151,37 @@ if (!isFirstInstance) { trayClickShortcutMenuItem.enabled = trayManager.enabled; } - notificationSoundEnabledMenuItem.checked = notificationSoundEnabled; - pressEnterToSendMenuItem.checked = pressEnterToSendEnabled; - hideNotificationContentMenuItem.checked = hideNotificationContent; - useSystemDarkModeMenuItem.checked = useSystemDarkMode; - - state.notificationSoundEnabled = notificationSoundEnabled; - state.notificationContentHidden = hideNotificationContent; - state.useSystemDarkMode = useSystemDarkMode; + notificationSoundEnabledMenuItem.checked = + settingsManager.notificationSound; + pressEnterToSendMenuItem.checked = settingsManager.enterToSend; + hideNotificationContentMenuItem.checked = + settingsManager.hideNotificationContent; + useSystemDarkModeMenuItem.checked = settingsManager.systemDarkMode; } autoUpdater.checkForUpdatesAndNotify(); - const mainWindowOptions: BrowserWindowConstructorOptions = { + mainWindow = new CustomBrowserWindow("main", { width: 1100, height: 800, - autoHideMenuBar: autoHideMenuBar, - show: !startInTray, //Starts in tray if set + autoHideMenuBar: settingsManager.autoHideMenu, + show: !settingsManager.startInTray, //Starts in tray if set titleBarStyle: IS_MAC ? "hiddenInset" : "default", //Turn on hidden frame on a Mac + icon: IS_LINUX + ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") + : undefined, webPreferences: { nodeIntegration: true, webviewTag: true, enableRemoteModule: true, }, - }; - - if (IS_LINUX) { - mainWindowOptions.icon = path.resolve( - RESOURCES_PATH, - "icons", - "128x128.png" - ); - } - - mainWindow = new CustomBrowserWindow("main", mainWindowOptions); - + }); mainWindow.loadFile(path.resolve(BASE_APP_PATH, "app", "index.html")); - trayManager.startIfEnabled(); + // Quick and dirty way for renderer process to access mainWindow for communication + app.mainWindow = mainWindow; - app.mainWindow = mainWindow; // Quick and dirty way for renderer process to access mainWindow for communication + trayManager.startIfEnabled(); mainWindow.on("focus", () => { if (IS_MAC) { @@ -243,7 +201,7 @@ if (!isFirstInstance) { { title, options }: { title: string; options?: NotificationOptions } ) => { if (options) { - const notificationOpts: Electron.NotificationConstructorOptions = state.notificationContentHidden + const notificationOpts: NotificationConstructorOptions = settingsManager.hideNotificationContent ? { title: "Android Messages Desktop", body: "New Message", @@ -256,13 +214,13 @@ if (!isFirstInstance) { ? nativeImage.createFromDataURL(options.image) : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), }; - notificationOpts.silent = !state.notificationSoundEnabled; + notificationOpts.silent = !settingsManager.notificationSound; const customNotification = new Notification(notificationOpts); if (IS_MAC) { if (!mainWindow.isFocused()) { state.unreadNotificationCount += 1; - app.dock.setBadge("" + state.unreadNotificationCount); + app.dock.setBadge(state.unreadNotificationCount.toString()); } } @@ -292,8 +250,10 @@ if (!isFirstInstance) { // via the renderer process. I'm not sure of a way to get a reference to the androidMessagesWebview inside the renderer from // here. There may be a legit way to do it, or we can do it a dirty way like how we pass this process to the renderer. mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { - enterToSend: pressEnterToSendEnabled, - useDarkMode: useSystemDarkMode ? nativeTheme.shouldUseDarkColors : null, + enterToSend: settingsManager.enterToSend, + useDarkMode: settingsManager.systemDarkMode + ? nativeTheme.shouldUseDarkColors + : null, }); const locale = app.getLocale(); diff --git a/src/bridge.ts b/src/bridge.ts index e58c17e4..2b19e7ec 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,22 +1,22 @@ // This script is injected into the webview. -import { popupContextMenu } from "./menu/contextMenu"; +import domtoimg from "dom-to-image"; +import { ipcRenderer, remote } from "electron"; +import { + attachSpellCheckProvider, + SpellCheckerProvider, +} from "electron-hunspell"; +import fs from "fs"; import { - EVENT_WEBVIEW_NOTIFICATION, - EVENT_NOTIFICATION_REFLECT_READY, EVENT_BRIDGE_INIT, + EVENT_NOTIFICATION_REFLECT_READY, EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, + EVENT_WEBVIEW_NOTIFICATION, } from "./helpers/constants"; -import { ipcRenderer, remote } from "electron"; -import { handleEnterPrefToggle } from "./helpers/inputManager"; -import fs from "fs"; -import { - SpellCheckerProvider, - attachSpellCheckProvider, -} from "electron-hunspell"; import { Dictionary } from "./helpers/dictionaryManager"; -import domtoimg from "dom-to-image"; +import { handleEnterPrefToggle } from "./helpers/inputManager"; +import { popupContextMenu } from "./menu/contextMenu"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -195,7 +195,7 @@ Notification = function (title: string, options?: NotificationOptions) { * However, Electron does not support sending functions or otherwise non-JSON data across IPC. * To solve this and be able to have both our click event listener (so we can show the app * window) and Google's (so the converstaion gets selected/highlighted), when the main process - * asyncronously receives the notification data, it asyncronously sends a message back at which + yncronously receives the notification data, it asyncronously sends a message back at which * time we can reliably get a reference to the Electron notification and attach Google's click * event listener. */ diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 3b48cefd..b0ca4a5d 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -1,5 +1,5 @@ -import * as process from "process"; -import * as path from "path"; +import process from "process"; +import path from "path"; import { app } from "electron"; export const osMap = { @@ -33,6 +33,12 @@ export const SPELLING_DICTIONARIES_PATH = (): string => // Settings export const SETTING_TRAY_ENABLED = "trayEnabledPref"; export const SETTING_CUSTOM_WORDS = "savedCustomDictionaryWords"; +export const SETTING_NOTIFICATION_SOUND = "notificationSoundEnabledPref"; +export const SETTING_ENTER_TO_SEND = "pressEnterToSendPref"; +export const SETTING_HIDE_NOTIFICATION = "hideNotificationContentPref"; +export const SETTING_SYSTEM_DARK_MODE = "useSystemDarkModePref"; +export const SETTING_START_IN_TRAY = "startInTrayPref"; +export const SETTING_AUTOHIDE_MENU = "autoHideMenuPref"; // Events export const EVENT_WEBVIEW_NOTIFICATION = "messages-webview-notification"; diff --git a/src/helpers/dictionaryManager.ts b/src/helpers/dictionaryManager.ts index 8e944a01..436ac37d 100644 --- a/src/helpers/dictionaryManager.ts +++ b/src/helpers/dictionaryManager.ts @@ -1,7 +1,7 @@ -import * as path from "path"; -import * as fsJetpack from "fs-jetpack"; -import { SPELLING_DICTIONARIES_PATH, RESOURCES_PATH } from "./constants"; +import fsJetpack from "fs-jetpack"; import fetch from "node-fetch"; +import path from "path"; +import { RESOURCES_PATH, SPELLING_DICTIONARIES_PATH } from "./constants"; interface GithubEntry { name: string; diff --git a/src/helpers/settingsManager.ts b/src/helpers/settingsManager.ts new file mode 100644 index 00000000..d9ed1674 --- /dev/null +++ b/src/helpers/settingsManager.ts @@ -0,0 +1,66 @@ +import settings from "electron-settings"; +import { + SETTING_AUTOHIDE_MENU, + SETTING_ENTER_TO_SEND, + SETTING_HIDE_NOTIFICATION, + SETTING_NOTIFICATION_SOUND, + SETTING_START_IN_TRAY, + SETTING_SYSTEM_DARK_MODE, +} from "./constants"; + +export class SettingsManager { + public startInTray = settings.get(SETTING_START_IN_TRAY, false) as boolean; + public autoHideMenu = settings.get(SETTING_AUTOHIDE_MENU, false) as boolean; + public enterToSend = settings.get(SETTING_ENTER_TO_SEND, true) as boolean; + + public notificationSound = settings.get( + SETTING_NOTIFICATION_SOUND, + true + ) as boolean; + public hideNotificationContent = settings.get( + SETTING_HIDE_NOTIFICATION, + false + ) as boolean; + public systemDarkMode = settings.get( + SETTING_SYSTEM_DARK_MODE, + true + ) as boolean; + + private watchers: Set = new Set(); + + constructor() { + this.addWatcher( + SETTING_START_IN_TRAY, + (newVal) => (this.startInTray = newVal) + ); + this.addWatcher( + SETTING_AUTOHIDE_MENU, + (newVal) => (this.autoHideMenu = newVal) + ); + this.addWatcher( + SETTING_ENTER_TO_SEND, + (newVal) => (this.enterToSend = newVal) + ); + this.addWatcher( + SETTING_NOTIFICATION_SOUND, + (newVal) => (this.notificationSound = newVal) + ); + this.addWatcher( + SETTING_HIDE_NOTIFICATION, + (newVal) => (this.hideNotificationContent = newVal) + ); + this.addWatcher( + SETTING_SYSTEM_DARK_MODE, + (newVal) => (this.systemDarkMode = newVal) + ); + } + + public addWatcher(name: string, callback: (newVal: T) => unknown): void { + settings.watch(name, callback); + this.watchers.add(name); + } + + public clearWatchers(): void { + this.watchers.forEach((name) => settings.removeAllListeners(name)); + } +} diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 3c3a03c5..3d096e90 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -1,14 +1,14 @@ -import * as path from "path"; -import { app, Tray, Menu } from "electron"; +import { app, Menu, Tray } from "electron"; +import settings from "electron-settings"; +import path from "path"; import { trayMenuTemplate } from "../menu/trayMenu"; import { - IS_MAC, IS_LINUX, + IS_MAC, IS_WINDOWS, - SETTING_TRAY_ENABLED, RESOURCES_PATH, + SETTING_TRAY_ENABLED, } from "./constants"; -import * as settings from "electron-settings"; export class TrayManager { public enabled = settings.get(SETTING_TRAY_ENABLED, !IS_LINUX) as boolean; diff --git a/src/helpers/window.ts b/src/helpers/window.ts index fccf2218..72d74b50 100644 --- a/src/helpers/window.ts +++ b/src/helpers/window.ts @@ -6,10 +6,10 @@ import { app, BrowserWindow, - screen, BrowserWindowConstructorOptions, + screen, } from "electron"; -import * as jetpack from "fs-jetpack"; +import jetpack from "fs-jetpack"; interface Size { width: number; diff --git a/src/menu/baseMenu.ts b/src/menu/baseMenu.ts index fcda56cc..0b161a3b 100644 --- a/src/menu/baseMenu.ts +++ b/src/menu/baseMenu.ts @@ -1,11 +1,11 @@ +import { MenuItemConstructorOptions } from "electron"; +import { IS_MAC } from "../helpers/constants"; import { appMenuTemplate } from "./appMenu"; -import { fileMenuTemplate } from "./fileMenu"; import { editMenuTemplate } from "./editMenu"; +import { fileMenuTemplate } from "./fileMenu"; import { settingsMenu } from "./settingsMenu"; import { viewMenuTemplate } from "./viewMenu"; import { windowMenuTemplate } from "./windowMenu"; -import { IS_MAC } from "../helpers/constants"; -import { MenuItemConstructorOptions } from "electron"; const baseMenuTemplate: MenuItemConstructorOptions[] = [ editMenuTemplate, diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index 1e6c554e..a43d010f 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -1,8 +1,8 @@ import { + ContextMenuParams, ipcRenderer, MenuItemConstructorOptions, remote, - ContextMenuParams, } from "electron"; import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../helpers/constants"; diff --git a/src/menu/helpMenu.ts b/src/menu/helpMenu.ts index e9ef058d..589a83eb 100644 --- a/src/menu/helpMenu.ts +++ b/src/menu/helpMenu.ts @@ -1,4 +1,4 @@ -import { shell, MenuItemConstructorOptions } from "electron"; +import { MenuItemConstructorOptions, shell } from "electron"; import { IS_MAC, IS_WINDOWS } from "../helpers/constants"; import { aboutMenuItem } from "./items/about"; import { checkForUpdatesMenuItem } from "./items/checkForUpdates"; diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index 8343906b..aacbe0fa 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -1,7 +1,7 @@ -import { IS_DEV, RESOURCES_PATH } from "../../helpers/constants"; import openAboutWindow from "about-window"; import { app, MenuItemConstructorOptions } from "electron"; -import * as path from "path"; +import path from "path"; +import { IS_DEV, RESOURCES_PATH } from "../../helpers/constants"; const productName = "Android Messages Desktop"; const localeStyle = diff --git a/src/menu/items/checkForUpdates.ts b/src/menu/items/checkForUpdates.ts index 90ff47ac..623ef450 100644 --- a/src/menu/items/checkForUpdates.ts +++ b/src/menu/items/checkForUpdates.ts @@ -1,5 +1,5 @@ -import { autoUpdater } from "electron-updater"; import { MenuItemConstructorOptions } from "electron"; +import { autoUpdater } from "electron-updater"; export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { label: "Check for Updates", diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 22951d76..8e2147bd 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -1,13 +1,13 @@ import { - dialog, - MenuItemConstructorOptions, - MenuItem, BrowserWindow, + dialog, Menu, + MenuItem, + MenuItemConstructorOptions, } from "electron"; -import * as settings from "electron-settings"; -import { separator } from "./items/separator"; +import settings from "electron-settings"; import { IS_LINUX, IS_MAC, SETTING_TRAY_ENABLED } from "../helpers/constants"; +import { separator } from "./items/separator"; export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "Preferences" : "Settings", diff --git a/webpack.config.ts b/webpack.config.ts index e72f3472..ac38ef36 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -2,8 +2,8 @@ import { Configuration } from "webpack"; import nodeExternals from "webpack-node-externals"; import FriendlyErrors from "friendly-errors-webpack-plugin"; import HTMLWebpackPlguin from "html-webpack-plugin"; -import * as process from "process"; -import * as path from "path"; +import process from "process"; +import path from "path"; import merge from "webpack-merge"; const base: Configuration = { From 0b74f1bd9ba7c46c963bcac9db4747174a13dc6b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 7 Jun 2020 03:09:38 -0400 Subject: [PATCH 061/385] Create dependabot.yml --- .github/dependabot.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..8abca405 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "npm" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "daily" From 424fbaadaca0d886e99a05a7a2364a96e686cf3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 7 Jun 2020 07:12:30 +0000 Subject: [PATCH 062/385] Bump eslint from 7.1.0 to 7.2.0 Bumps [eslint](https://github.com/eslint/eslint) from 7.1.0 to 7.2.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.1.0...v7.2.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 29 +++++++++++------------------ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 6f4a9e51..333cf0dc 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "css-loader": "^3.5.3", "electron": "9.0.2", "electron-builder": "22.7.0", - "eslint": "^7.1.0", + "eslint": "^7.2.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.3", "friendly-errors-webpack-plugin": "^1.6.1", diff --git a/yarn.lock b/yarn.lock index fba94e11..9407e88d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1391,14 +1391,7 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^4.2.0: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== @@ -1867,7 +1860,7 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0: +eslint-scope@^5.0.0, eslint-scope@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== @@ -1887,10 +1880,10 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.2.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa" integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ== -eslint@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.1.0.tgz#d9a1df25e5b7859b0a3d86bb05f0940ab676a851" - integrity sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA== +eslint@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.2.0.tgz#d41b2e47804b30dbabb093a967fb283d560082e6" + integrity sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -1898,10 +1891,10 @@ eslint@^7.1.0: cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" - eslint-scope "^5.0.0" + eslint-scope "^5.1.0" eslint-utils "^2.0.0" - eslint-visitor-keys "^1.1.0" - espree "^7.0.0" + eslint-visitor-keys "^1.2.0" + espree "^7.1.0" esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -1929,7 +1922,7 @@ eslint@^7.1.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.0.0: +espree@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c" integrity sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw== @@ -3427,7 +3420,7 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== From 59c06dd0f50ef1f1b219643100f5a0a557f12969 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 15:21:51 -0400 Subject: [PATCH 063/385] Massive refactor of the img system for notifications. Relies on a waterfall approach starting with memory cache -> dom -> disk -> generator --- src/app.ts | 8 ++- src/background.ts | 48 +++++++------ src/bridge.ts | 90 +++++++----------------- src/helpers/cacheManager.ts | 132 ++++++++++++++++++++++++++++++++++++ src/helpers/constants.ts | 5 +- 5 files changed, 196 insertions(+), 87 deletions(-) create mode 100644 src/helpers/cacheManager.ts diff --git a/src/app.ts b/src/app.ts index cdb41d70..50daaa15 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,5 +1,5 @@ import { ipcRenderer, remote, WebviewTag } from "electron"; -import { EVENT_UPDATE_USER_SETTING, IS_MAC } from "./helpers/constants"; +import { EVENT_UPDATE_USER_SETTING, IS_MAC, IS_DEV } from "./helpers/constants"; import "./stylesheets/main.css"; const app = remote.app; @@ -8,6 +8,12 @@ const androidMessagesWebview = document.getElementById( "androidMessagesWebview" ) as WebviewTag; +androidMessagesWebview.addEventListener("dom-ready", () => { + if (IS_DEV) { + androidMessagesWebview.openDevTools(); + } +}); + androidMessagesWebview.addEventListener("dom-ready", () => { app.mainWindow?.on("focus", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs diff --git a/src/background.ts b/src/background.ts index 05aa4844..1da460da 100644 --- a/src/background.ts +++ b/src/background.ts @@ -26,6 +26,8 @@ import { RESOURCES_PATH, SETTING_CUSTOM_WORDS, SETTING_TRAY_ENABLED, + IMG_CACHE_PATH, + EVENT_REFLECT_DISK_CACHE, } from "./helpers/constants"; import { getDictionary } from "./helpers/dictionaryManager"; import { SettingsManager } from "./helpers/settingsManager"; @@ -34,6 +36,7 @@ import { CustomBrowserWindow } from "./helpers/window"; import { baseMenuTemplate } from "./menu/baseMenu"; import { devMenuTemplate } from "./menu/devMenu"; import { helpMenuTemplate } from "./menu/helpMenu"; +import jetpack from "fs-jetpack"; const state = { unreadNotificationCount: 0, @@ -255,28 +258,33 @@ if (!isFirstInstance) { ? nativeTheme.shouldUseDarkColors : null, }); + const basePath = IMG_CACHE_PATH(); + const imgDir = jetpack.dir(IMG_CACHE_PATH()); + const contents = await imgDir.listAsync("."); + if (contents) { + const cache: Record = {}; + for (const file of contents) { + const key = file.substr(0, file.length - 4); + cache[key] = path.resolve(IMG_CACHE_PATH(), file); + } + event.sender.send(EVENT_REFLECT_DISK_CACHE, { cache, basePath }); + } + const locale = app.getLocale(); - try { - // Spellchecking is supported for the current language - const spellCheckFiles = await getDictionary(locale); - const customWords = settings.get( - SETTING_CUSTOM_WORDS, - {} - ) as CustomWords; - - // We send an event with the language key and array of custom words to the webview bridge which contains the - // instance of the spellchecker. Done this way because passing class instances (i.e. of the spellchecker) - // between electron processes is hacky at best and impossible at worst. - - event.sender.send(EVENT_SPELLING_REFLECT_READY, { - locale, - spellCheckFiles, - customWords, - }); - } catch (error) { - // TODO: Display this as an error message to the user? - } + // Spellchecking is supported for the current language + const spellCheckFiles = await getDictionary(locale); + const customWords = settings.get(SETTING_CUSTOM_WORDS, {}) as CustomWords; + + // We send an event with the language key and array of custom words to the webview bridge which contains the + // instance of the spellchecker. Done this way because passing class instances (i.e. of the spellchecker) + // between electron processes is hacky at best and impossible at worst. + + event.sender.send(EVENT_SPELLING_REFLECT_READY, { + locale, + spellCheckFiles, + customWords, + }); }); ipcMain.on(EVENT_SPELL_ADD_CUSTOM_WORD, (_event, msg) => { diff --git a/src/bridge.ts b/src/bridge.ts index 2b19e7ec..9bdbdb3c 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,6 +1,3 @@ -// This script is injected into the webview. - -import domtoimg from "dom-to-image"; import { ipcRenderer, remote } from "electron"; import { attachSpellCheckProvider, @@ -13,14 +10,18 @@ import { EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, EVENT_WEBVIEW_NOTIFICATION, + EVENT_REFLECT_DISK_CACHE, } from "./helpers/constants"; import { Dictionary } from "./helpers/dictionaryManager"; import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; +import { CacheManager } from "./helpers/cacheManager"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); +let cacheManager: CacheManager | undefined; + window.addEventListener("load", () => { // Conditionally let the main process know the page is (essentially) done loading. // This should defer spellchecker downloading in a way that avoids blocking the page UI :D @@ -29,7 +30,7 @@ window.addEventListener("load", () => { // (and only once) that the main part of the app (not the QR code screen) has loaded, which is // when we need to init the spellchecker const onMutation = ( - mutationsList: MutationRecord[], + _mutationsList: MutationRecord[], observer: MutationObserver ) => { if (document.querySelector("mw-main-nav")) { @@ -37,12 +38,11 @@ window.addEventListener("load", () => { ipcRenderer.send(EVENT_BRIDGE_INIT); observer.disconnect(); } - // // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here + // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here }; const observer = new MutationObserver(onMutation); - // There is always a body so TS is being dumb - observer.observe((document.querySelector("body") as unknown) as HTMLElement, { + observer.observe(document.body, { childList: true, attributes: true, }); @@ -84,7 +84,7 @@ ipcRenderer.once( } ); -ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { +ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { if ("useDarkMode" in settingsList && settingsList.useDarkMode !== null) { if (settingsList.useDarkMode) { // Props to Google for making the web app use dark mode entirely based on this class @@ -99,56 +99,22 @@ ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (event, settingsList) => { } }); -const imgCache: { [key: string]: string | (() => Promise) } = {}; - -/** - * - * This function initializes the imgCache - * It fills it with either the img data blob or a function to generate the blob - * TODO: Add check for already in cache allowing us to call this more than once if there is ever a cache miss - * - */ -function getAllProfileImgs(): void { - const conversations = Array.from( - document.querySelectorAll("mws-conversation-list-item") - ); - conversations.forEach((conversation) => { - const name = conversation.querySelector("h3.name")?.textContent; - if (name != null) { - const imgTag = conversation.querySelector("img"); - let imgData: string | (() => Promise); - if (imgTag != null) { - imgData = imgTag.src; - } else { - const nonImgImg = conversation.querySelector("div.non-image-avatar"); - if (nonImgImg == null) { - return; - } - imgData = async () => { - delete imgCache[name]; - imgCache[name] = await domtoimg.toPng(nonImgImg); - }; - } - imgCache[name] = imgData; - } - }); -} - /** * - * Attempts to split the title of the notification in a way that yeilds a cache hit - * The character it splits at is hard coded and relient on google not changing it - * I do not know a way around this for now so it will stay + * Recieves the paths for all the disk cahed images along with the base path for adding new files to the cache + * This is because this part of electron cannot use path.resolve and the constant relies on that in a function form due to + * reasons documented elsewhere * - * @param {string} title notification title to convert to cache key - * @returns {string} cache key for indexing */ -function getCacheKey(title: string): string { - if (title.includes(" •")) { - return title.split(" •")[0]; +ipcRenderer.once( + EVENT_REFLECT_DISK_CACHE, + ( + _event, + { cache, basePath }: { basePath: string; cache: Record } + ): void => { + cacheManager = new CacheManager(basePath, new Map(Object.entries(cache))); } - return title; -} +); const OriginalBrowserNotification = Notification; @@ -166,19 +132,13 @@ const OriginalBrowserNotification = Notification; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore Notification = function (title: string, options?: NotificationOptions) { - if (Object.keys(imgCache).length === 0) { - getAllProfileImgs(); - } - if (options) { - const cached = imgCache[getCacheKey(title)]; - if (cached) { - if (typeof cached === "string") { - options.image = cached; + if (options != null && cacheManager != null) { + const potentialImg = cacheManager.getProfileImg(title); + if (potentialImg != null) { + if (typeof potentialImg === "string") { + options.image = potentialImg; } else { - // Creating the image here reduces ui lag because we are not doing loads at once - // It is not gaurenteed to be done before the next message but this does not cause - // a bug because the first act of this function is to delete itself from the cache. - cached(); + potentialImg(); } } } diff --git a/src/helpers/cacheManager.ts b/src/helpers/cacheManager.ts new file mode 100644 index 00000000..4d65e658 --- /dev/null +++ b/src/helpers/cacheManager.ts @@ -0,0 +1,132 @@ +import domtoimg from "dom-to-image"; +import jetpack from "fs-jetpack"; +import path from "path"; + +type CachedImage = string | undefined | (() => Promise); + +export class CacheManager { + private imgCache: Map = new Map(); + constructor( + private basePath: string, + private diskCache: Map + ) {} + /** + * + * Attempts to split the title of the notification in a way that yeilds a cache hit + * The character it splits at is hard coded and relient on google not changing it + * I do not know a way around this for now so it will stay + * + * @param {string} title notification title to convert to cache key + * @returns {string} cache key for indexing + */ + private getCacheKey(title: string): string { + if (title.includes(" •")) { + return title.split(" •")[0]; + } + return title; + } + + /** + * + * Get the node of the listing for the message in the message list from the provided name. + * It only finds the first match so multiple people named exactly the same will yeild the Node on occasion. + * + * @param {string} name name of conversation to search for + * @returns {(HTMLElement | undefined)} the node for a conversation matching the name + */ + private getProfileNodeIfExists(name: string): HTMLElement | undefined { + const nodes = Array.from(document.querySelectorAll("h3.name")); + const firstMatch = nodes.find((header) => header.textContent === name); + return firstMatch?.parentElement?.parentElement || undefined; + } + + /** + * + * Looks for the existence of an image on the provided profile node returned from the getProfileNodeIfEvists private. + * + * @param {HTMLElement} profileNode the node to traverse the children of + * @returns {(HTMLImageElement | undefined)} the img tag of the node + */ + private getImgNodeIfExists( + profileNode: HTMLElement + ): HTMLImageElement | undefined { + return profileNode.querySelector("img") || undefined; + } + + /** + * + * Checks if there is a disk cache of the rendered img at the cache key provided and gets it. + * + * @param {string} cacheKey cache index to check + * @returns {(string | undefined)} the contents of the cache + */ + private getDiskCacheIfExists(cacheKey: string): string | undefined { + const cachePath = this.diskCache.get(cacheKey); + if (cachePath != null && jetpack.file(cachePath)) { + return jetpack.read(cachePath); + } + return undefined; + } + + /** + * + * Finds the node to render to generate an img on the provided profile node returned from the getProfileNodeIfEvists private. + * + * @param {HTMLElement} profileNode the node to traverse the children of + * @returns {(HTMLDivElement | undefined)} node to generate image of + */ + private getNodeToRenderIfExists( + profileNode: HTMLElement + ): HTMLDivElement | undefined { + return ( + profileNode.querySelector("div.non-image-avatar") || + undefined + ); + } + + /** + * + * Creates the private that will async render and save / cache the node + * + * @param {HTMLElement} nodeToRender node to render + * @param {string} cacheKey name in caches + * @returns {() => Promise} private that will do the rendering + */ + private createNodeRenderer( + nodeToRender: HTMLElement, + cacheKey: string + ): () => Promise { + return async () => { + const rendered = await domtoimg.toPng(nodeToRender); + const cachePath = path.join(this.basePath, `${cacheKey}.txt`); + await jetpack.writeAsync(cachePath, rendered); + + this.imgCache.set(cacheKey, rendered); + }; + } + + public getProfileImg(title: string): CachedImage { + const cacheKey = this.getCacheKey(title); + if (this.imgCache.has(cacheKey)) { + return this.imgCache.get(cacheKey); + } + const profileNode = this.getProfileNodeIfExists(cacheKey); + if (profileNode != null) { + const imgTag = this.getImgNodeIfExists(profileNode); + if (imgTag != null) { + this.imgCache.set(cacheKey, imgTag.src); + return imgTag.src; + } + const diskCache = this.getDiskCacheIfExists(cacheKey); + if (diskCache != null) { + this.imgCache.set(cacheKey, diskCache); + return diskCache; + } + const nodeToRender = this.getNodeToRenderIfExists(profileNode); + if (nodeToRender != null) { + return this.createNodeRenderer(nodeToRender, cacheKey); + } + } + return undefined; + } +} diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index b0ca4a5d..06014323 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -26,9 +26,11 @@ export const IS_LINUX = OS_NAME === "linux"; export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); -export const USER_DATA_PATH = (): string => app.getPath("userData"); // This has to be a function call because app.ready callback must be fired before this path can be used +export const USER_DATA_PATH = (): string => app.getPath("appData"); // This has to be a function call because app.ready callback must be fired before this path can be used export const SPELLING_DICTIONARIES_PATH = (): string => path.resolve(USER_DATA_PATH(), "dictionaries"); +export const IMG_CACHE_PATH = (): string => + path.resolve(USER_DATA_PATH(), "userimgs"); // Settings export const SETTING_TRAY_ENABLED = "trayEnabledPref"; @@ -48,3 +50,4 @@ export const EVENT_BRIDGE_INIT = "messages-bridge-init"; export const EVENT_SPELL_ADD_CUSTOM_WORD = "messages-spelling-add-custom-word"; export const EVENT_SPELLING_REFLECT_READY = "messages-spelling-reflect-ready"; export const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; +export const EVENT_REFLECT_DISK_CACHE = "reflext-disk-cache"; From fe288cb66ec4beeac03e436a2f2459f3a1f883c8 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 15:32:06 -0400 Subject: [PATCH 064/385] removed nonsensical todo --- src/menu/items/about.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index aacbe0fa..fbd965fa 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -23,7 +23,6 @@ export const aboutMenuItem: MenuItemConstructorOptions = { label: `About ${productName}`, click: () => { openAboutWindow({ - // TODO: Make this not sketchy as hell icon_path: path.resolve(RESOURCES_PATH, "icons", "512x512.png"), copyright: `

`, product_name: productName, From 155a397016ca46097cc61c6354366b86d7eeea17 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 18:10:02 -0400 Subject: [PATCH 065/385] added configuration for mac builds even if I cannot build dmg --- electron-builder.js | 4 ++++ resources/dictionaries/.gitignore | 10 ---------- 2 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 resources/dictionaries/.gitignore diff --git a/electron-builder.js b/electron-builder.js index f83ea273..c81ef298 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -24,6 +24,10 @@ module.exports = { }, ], }, + mac: { + category: "public.app-category.social-networking", + target: ["zip", "dmg"], + }, portable: { artifactName: "${productName}-portable-${version}.${ext}", }, diff --git a/resources/dictionaries/.gitignore b/resources/dictionaries/.gitignore deleted file mode 100644 index 03b8b843..00000000 --- a/resources/dictionaries/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore - -# This, along with the extraFiles electron-builder directive in package.json ensures that -# resources/dictionaries folder is included as an empty folder in production/user-facing builds. -# It must be done this way because some OSes install the app to a location from which the user does not -# have the permission to create a subdirectory unless they run the app as root. Namely, Ubuntu, via the .deb, -# installs the app to /opt/ and calling node mkdir only works as root from there. From 3d31e168c5e0b4b51a96de3052fca59b79b4b5ed Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 18:17:00 -0400 Subject: [PATCH 066/385] Bumped version to 4.0.0 as feature set is there even if code is not pretty rn. that is coming and will be minor version bumps github releases soon --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 333cf0dc..bc2e902a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "3.1.0", + "version": "4.0.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 798a33d4d630e2f94b7225ead781e48551a23bfd Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 19:30:32 -0400 Subject: [PATCH 067/385] Cleaned some imports --- src/bridge.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 9bdbdb3c..b888f2e6 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,21 +1,25 @@ -import { ipcRenderer, remote } from "electron"; +import { + ipcRenderer, + Notification as ElectronNotification, + remote, +} from "electron"; import { attachSpellCheckProvider, SpellCheckerProvider, } from "electron-hunspell"; import fs from "fs"; +import { CacheManager } from "./helpers/cacheManager"; import { EVENT_BRIDGE_INIT, EVENT_NOTIFICATION_REFLECT_READY, + EVENT_REFLECT_DISK_CACHE, EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, EVENT_WEBVIEW_NOTIFICATION, - EVENT_REFLECT_DISK_CACHE, } from "./helpers/constants"; import { Dictionary } from "./helpers/dictionaryManager"; import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; -import { CacheManager } from "./helpers/cacheManager"; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -168,7 +172,7 @@ Notification = function (title: string, options?: NotificationOptions) { type Type = "click" | "close" | "error" | "show"; type Listener = (ev: NotificationEventMap[Type]) => unknown; type Options = undefined | boolean | AddEventListenerOptions; - let originalClickListener: Listener | null = null; + let originalClickListener: Listener | undefined; const originalAddEventListener = notificationToSend.addEventListener; // Seems silly to have these be correct as there is no way to mess it up @@ -201,11 +205,10 @@ Notification = function (title: string, options?: NotificationOptions) { */ ipcRenderer.once(EVENT_NOTIFICATION_REFLECT_READY, () => { - const theHookedUpNotification = remote.getGlobal("currentNotification"); - if ( - typeof theHookedUpNotification === "object" && - typeof originalClickListener === "function" - ) { + const theHookedUpNotification: ElectronNotification = remote.getGlobal( + "currentNotification" + ); + if (originalClickListener != null) { theHookedUpNotification.once("click", originalClickListener); } }); From 5da57ab44508003ca08461e7a46b768844c949a0 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 19:32:02 -0400 Subject: [PATCH 068/385] cleaned imports again --- src/background.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/background.ts b/src/background.ts index 1da460da..06891406 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,5 +1,6 @@ import { app, + Event as ElectronEvent, ipcMain, Menu, nativeImage, @@ -10,15 +11,18 @@ import { } from "electron"; import settings from "electron-settings"; import { autoUpdater } from "electron-updater"; +import jetpack from "fs-jetpack"; import path from "path"; import { BASE_APP_PATH, EVENT_BRIDGE_INIT, EVENT_NOTIFICATION_REFLECT_READY, + EVENT_REFLECT_DISK_CACHE, EVENT_SPELLING_REFLECT_READY, EVENT_SPELL_ADD_CUSTOM_WORD, EVENT_UPDATE_USER_SETTING, EVENT_WEBVIEW_NOTIFICATION, + IMG_CACHE_PATH, IS_DEV, IS_LINUX, IS_MAC, @@ -26,8 +30,6 @@ import { RESOURCES_PATH, SETTING_CUSTOM_WORDS, SETTING_TRAY_ENABLED, - IMG_CACHE_PATH, - EVENT_REFLECT_DISK_CACHE, } from "./helpers/constants"; import { getDictionary } from "./helpers/dictionaryManager"; import { SettingsManager } from "./helpers/settingsManager"; @@ -36,7 +38,6 @@ import { CustomBrowserWindow } from "./helpers/window"; import { baseMenuTemplate } from "./menu/baseMenu"; import { devMenuTemplate } from "./menu/devMenu"; import { helpMenuTemplate } from "./menu/helpMenu"; -import jetpack from "fs-jetpack"; const state = { unreadNotificationCount: 0, @@ -324,7 +325,7 @@ if (!isFirstInstance) { } }; - mainWindow.on("close", (event: Electron.Event) => { + mainWindow.on("close", (event: ElectronEvent) => { if (!shouldExitOnMainWindowClosed()) { event.preventDefault(); mainWindow.hide(); From 5c4f34af93af5ac883006fae9dfe2214d0e837dd Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 19:54:39 -0400 Subject: [PATCH 069/385] Added some accelerators --- src/menu/devMenu.ts | 2 +- src/menu/editMenu.ts | 2 +- src/menu/fileMenu.ts | 2 +- src/menu/helpMenu.ts | 2 +- src/menu/settingsMenu.ts | 1 + src/menu/viewMenu.ts | 2 +- src/menu/windowMenu.ts | 2 +- 7 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/menu/devMenu.ts b/src/menu/devMenu.ts index 6462a98d..b36d597b 100644 --- a/src/menu/devMenu.ts +++ b/src/menu/devMenu.ts @@ -1,7 +1,7 @@ import { app } from "electron"; export const devMenuTemplate = { - label: "Development", + label: "&Development", submenu: [ { label: "Reload", diff --git a/src/menu/editMenu.ts b/src/menu/editMenu.ts index 2cee9cbd..844535cd 100644 --- a/src/menu/editMenu.ts +++ b/src/menu/editMenu.ts @@ -1,7 +1,7 @@ import { MenuItemConstructorOptions } from "electron"; export const editMenuTemplate: MenuItemConstructorOptions = { - label: "Edit", + label: "&Edit", submenu: [ { label: "Undo", accelerator: "CmdOrCtrl+Z", role: "undo" }, { label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", role: "redo" }, diff --git a/src/menu/fileMenu.ts b/src/menu/fileMenu.ts index eb95d75b..9ff9ac72 100644 --- a/src/menu/fileMenu.ts +++ b/src/menu/fileMenu.ts @@ -16,6 +16,6 @@ if (!IS_WINDOWS) { } export const fileMenuTemplate: MenuItemConstructorOptions = { - label: "File", + label: "&File", submenu, }; diff --git a/src/menu/helpMenu.ts b/src/menu/helpMenu.ts index 589a83eb..45896937 100644 --- a/src/menu/helpMenu.ts +++ b/src/menu/helpMenu.ts @@ -32,6 +32,6 @@ if (!IS_MAC) { } export const helpMenuTemplate: MenuItemConstructorOptions = { - label: "Help", + label: "&Help", submenu, }; diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 8e2147bd..ff10ed3c 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -11,6 +11,7 @@ import { separator } from "./items/separator"; export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "Preferences" : "Settings", + accelerator: "Alt+S", submenu: [ { // This option doesn't apply to Mac, so this hides it but keeps the order of menu items diff --git a/src/menu/viewMenu.ts b/src/menu/viewMenu.ts index b07e6b51..eab79320 100644 --- a/src/menu/viewMenu.ts +++ b/src/menu/viewMenu.ts @@ -1,7 +1,7 @@ import { MenuItemConstructorOptions } from "electron"; export const viewMenuTemplate: MenuItemConstructorOptions = { - label: "View", + label: "&View", submenu: [ { role: "togglefullscreen", diff --git a/src/menu/windowMenu.ts b/src/menu/windowMenu.ts index 6baea22a..a8a74e61 100644 --- a/src/menu/windowMenu.ts +++ b/src/menu/windowMenu.ts @@ -1,6 +1,6 @@ import { MenuItemConstructorOptions } from "electron"; export const windowMenuTemplate: MenuItemConstructorOptions = { - label: "Window", + label: "&Window", role: "windowMenu", }; From 03c34f259f6e7e8cfee8aa986204c297dea48b01 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 8 Jun 2020 23:10:33 -0400 Subject: [PATCH 070/385] Create main.yml --- .github/main.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/main.yml diff --git a/.github/main.yml b/.github/main.yml new file mode 100644 index 00000000..e7ee7f7a --- /dev/null +++ b/.github/main.yml @@ -0,0 +1,29 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + node-version: [12.x] + os: ["macos-latest", "ubuntu-latest"] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: yarn install --frozen-lockfile + - run: yarn dist -lw + env: + GH_TOKEN: ${{ secrents.GITHB_TOKEN }} From bb67c8f1390647fea0d9affd9166d62da4f416d7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:14:11 -0400 Subject: [PATCH 071/385] electron-builder force snap to publish to github --- electron-builder.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/electron-builder.js b/electron-builder.js index c81ef298..47239349 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -31,4 +31,7 @@ module.exports = { portable: { artifactName: "${productName}-portable-${version}.${ext}", }, + snap: { + publish: ["github"], + }, }; From e3aed48cc22b791e0349c499a0f8c4f847b2bf28 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 8 Jun 2020 23:17:50 -0400 Subject: [PATCH 072/385] Update main.yml --- .github/main.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/main.yml b/.github/main.yml index e7ee7f7a..e010fd90 100644 --- a/.github/main.yml +++ b/.github/main.yml @@ -1,4 +1,6 @@ -# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node + + node-version: ${{ matrix.node-version }} + - run: yarn install --frozen-lockfile# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: CI @@ -26,4 +28,4 @@ jobs: - run: yarn install --frozen-lockfile - run: yarn dist -lw env: - GH_TOKEN: ${{ secrents.GITHB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHB_TOKEN }} From f98e590744a37defbb82bfb634dbc84fbf71183f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 8 Jun 2020 23:18:08 -0400 Subject: [PATCH 073/385] Update main.yml --- .github/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/main.yml b/.github/main.yml index e010fd90..7e104ffe 100644 --- a/.github/main.yml +++ b/.github/main.yml @@ -1,8 +1,4 @@ - node-version: ${{ matrix.node-version }} - - run: yarn install --frozen-lockfile# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions - name: CI on: From cbcfb272d91f693788794a8f7eddc3bb3c5a2eb7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:18:49 -0400 Subject: [PATCH 074/385] fixing formatting --- .github/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/main.yml b/.github/main.yml index 7e104ffe..8c4b5965 100644 --- a/.github/main.yml +++ b/.github/main.yml @@ -15,7 +15,7 @@ jobs: node-version: [12.x] os: ["macos-latest", "ubuntu-latest"] - steps: + steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 From c9fae9ac5b40930aaa427176dd40191e4a04ec14 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:19:36 -0400 Subject: [PATCH 075/385] still trying to change formatting --- .github/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/main.yml b/.github/main.yml index 8c4b5965..7e104ffe 100644 --- a/.github/main.yml +++ b/.github/main.yml @@ -15,7 +15,7 @@ jobs: node-version: [12.x] os: ["macos-latest", "ubuntu-latest"] - steps: + steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 From 79ebf87e1e8b456fae1a34a192aded2c8dd730e8 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:21:18 -0400 Subject: [PATCH 076/385] remove action --- .github/main.yml | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 .github/main.yml diff --git a/.github/main.yml b/.github/main.yml deleted file mode 100644 index 7e104ffe..00000000 --- a/.github/main.yml +++ /dev/null @@ -1,27 +0,0 @@ - -name: CI - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - node-version: [12.x] - os: ["macos-latest", "ubuntu-latest"] - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: yarn install --frozen-lockfile - - run: yarn dist -lw - env: - GH_TOKEN: ${{ secrets.GITHB_TOKEN }} From 49a17a2d104f432846ecf883d31e6d33f96ac022 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:21:52 -0400 Subject: [PATCH 077/385] add back main.yml --- .github/main.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/main.yml diff --git a/.github/main.yml b/.github/main.yml new file mode 100644 index 00000000..0c0ad50f --- /dev/null +++ b/.github/main.yml @@ -0,0 +1,26 @@ +name: CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + node-version: [12.x] + os: ["macos-latest", "ubuntu-latest"] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: yarn install --frozen-lockfile + - run: yarn dist -lw + env: + GH_TOKEN: ${{ secrets.GITHB_TOKEN }} From 0dd471d10c00b2caa345b464513f25b9fa064fa7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:23:14 -0400 Subject: [PATCH 078/385] initial creation bugged it is apparently supposed to be in a folder --- .github/{ => workflows}/main.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{ => workflows}/main.yml (100%) diff --git a/.github/main.yml b/.github/workflows/main.yml similarity index 100% rename from .github/main.yml rename to .github/workflows/main.yml From c2018645096e97c60445abfdfc64f7e93aec5726 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:28:55 -0400 Subject: [PATCH 079/385] run the windows and linux on linux and mac on mac --- .github/workflows/main.yml | 5 +++++ src/helpers/menuManager.ts | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 src/helpers/menuManager.ts diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0c0ad50f..1adf3085 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,5 +22,10 @@ jobs: node-version: ${{ matrix.node-version }} - run: yarn install --frozen-lockfile - run: yarn dist -lw + if: (startsWith(matrix.os, "ubuntu")) + env: + GH_TOKEN: ${{ secrets.GITHB_TOKEN }} + - run: yarn dist -m + if: (!startsWith(matrix.os, "ubuntu")) env: GH_TOKEN: ${{ secrets.GITHB_TOKEN }} diff --git a/src/helpers/menuManager.ts b/src/helpers/menuManager.ts new file mode 100644 index 00000000..1b409705 --- /dev/null +++ b/src/helpers/menuManager.ts @@ -0,0 +1,18 @@ +import { Menu } from "electron"; +import { baseMenuTemplate } from "../menu/baseMenu"; +import { devMenuTemplate } from "../menu/devMenu"; +import { helpMenuTemplate } from "../menu/helpMenu"; +import { IS_DEV } from "./constants"; + +export class MenuManager { + private applicationMenu: null | Menu; + constructor() { + const menus = baseMenuTemplate; + if (IS_DEV) { + menus.push(devMenuTemplate); + } + menus.push(helpMenuTemplate); + Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); + this.applicationMenu = Menu.getApplicationMenu(); + } +} From c481c58da9402067e6b97bbd4048ffee9c588b8c Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:29:30 -0400 Subject: [PATCH 080/385] fix syntax --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1adf3085..23b4b4aa 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,10 +22,10 @@ jobs: node-version: ${{ matrix.node-version }} - run: yarn install --frozen-lockfile - run: yarn dist -lw - if: (startsWith(matrix.os, "ubuntu")) + if: (startsWith(matrix.os, 'ubuntu')) env: GH_TOKEN: ${{ secrets.GITHB_TOKEN }} - run: yarn dist -m - if: (!startsWith(matrix.os, "ubuntu")) + if: (!startsWith(matrix.os, 'ubuntu')) env: GH_TOKEN: ${{ secrets.GITHB_TOKEN }} From c73141a6bd4fb2425d699303bdfc3e349b4c413f Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:36:19 -0400 Subject: [PATCH 081/385] install wine --- .github/workflows/main.yml | 39 ++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 23b4b4aa..32f698ad 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,9 +2,9 @@ name: CI on: push: - branches: [ master ] + branches: [master] pull_request: - branches: [ master ] + branches: [master] jobs: build: @@ -15,17 +15,24 @@ jobs: os: ["macos-latest", "ubuntu-latest"] steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - run: yarn install --frozen-lockfile - - run: yarn dist -lw - if: (startsWith(matrix.os, 'ubuntu')) - env: - GH_TOKEN: ${{ secrets.GITHB_TOKEN }} - - run: yarn dist -m - if: (!startsWith(matrix.os, 'ubuntu')) - env: - GH_TOKEN: ${{ secrets.GITHB_TOKEN }} + - uses: actions/checkout@v2 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - run: sudo apt install wine64 + if: (startsWith(matrix.os, 'ubuntu')) + + - run: yarn install --frozen-lockfile + + - run: yarn dist -lw + if: (startsWith(matrix.os, 'ubuntu')) + env: + GH_TOKEN: ${{ secrets.GITHB_TOKEN }} + + - run: yarn dist -m + if: (!startsWith(matrix.os, 'ubuntu')) + env: + GH_TOKEN: ${{ secrets.GITHB_TOKEN }} From 3015d5ef4663acc0ebe328f18d89d9d081e28833 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:39:29 -0400 Subject: [PATCH 082/385] add wine32 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 32f698ad..26fc5896 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - - run: sudo apt install wine64 + - run: sudo apt install wine64 wine32 if: (startsWith(matrix.os, 'ubuntu')) - run: yarn install --frozen-lockfile From 2d0036a231800684a09ebc7e1dcbf832d424aa86 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:44:17 -0400 Subject: [PATCH 083/385] add wine32 for 32 bit build --- .github/workflows/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 26fc5896..86a47060 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,8 +22,13 @@ jobs: with: node-version: ${{ matrix.node-version }} - - run: sudo apt install wine64 wine32 + - name: Install Ubuntu Dependencies if: (startsWith(matrix.os, 'ubuntu')) + run: | + sudo apt-get install wine64 + sudo dpkg --add-architecture i386 + sudo apt-get update + sudo apt-get install wine32 - run: yarn install --frozen-lockfile From 4d2dcec473f5968dc26e96088ce417a4c0a66e40 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 8 Jun 2020 23:50:53 -0400 Subject: [PATCH 084/385] proper secret name --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 86a47060..0177037c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,9 +35,9 @@ jobs: - run: yarn dist -lw if: (startsWith(matrix.os, 'ubuntu')) env: - GH_TOKEN: ${{ secrets.GITHB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: yarn dist -m if: (!startsWith(matrix.os, 'ubuntu')) env: - GH_TOKEN: ${{ secrets.GITHB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} From f8a30ef48e286e73062a38ef3db05807b01e6bc8 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 00:06:18 -0400 Subject: [PATCH 085/385] Added changelog and node_modules caching --- .github/workflows/main.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0177037c..0ae41637 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,6 +22,14 @@ jobs: with: node-version: ${{ matrix.node-version }} + - name: Cache node_modules + uses: actions/cache@v2 + env: + cache-name: cache-node-modules + with: + path: ./node_modules + key: ${{ matrix.os }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + - name: Install Ubuntu Dependencies if: (startsWith(matrix.os, 'ubuntu')) run: | From 1ca69f74a9e77d8af4220338e1bc46a2b5e7f085 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 00:10:43 -0400 Subject: [PATCH 086/385] Updated changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c688095e..37863d1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [4.0.0] - 2020-08-30 +### Added +- Added the image of the message sender to the notification + +### Changed +- Possibly fixed many of the issues people were having with shortcuts +- Under the hood: switched to typescript +- Under the hood: refactored a lot of things +- Under the hood: updated all of the dependencies multiple major versions + ## [3.1.0] - 2019-11-26 ### Added - Setting to follow (sync) system dark mode setting, changing from dark to light and vice versa as the operating system does -- This overrides the Google-provided setting within the 3-dot menu From b446daf1d0399805c49afc9913708254ec2954e4 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 14:20:48 -0400 Subject: [PATCH 087/385] Fixed where latest releases pointed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 50b7cecf..454a5e9d 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Inspired by: * [a Reddit post on r/Android](https://www.reddit.com/r/Android/comments/8shv6q/web_messages/e106a8r/) # Download -Head over to the [latest releases](https://github.com/chrisknepper/android-messages-desktop/releases/latest) page! +Head over to the [latest releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) page! **Important note:** The Windows app binary isn't signed. This doesn't seem to be a big problem, but please report any issues you run into on Windows that may be related to signing. From c82108a307182a56e1e1746a710b7eb109aae55b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 14:34:44 -0400 Subject: [PATCH 088/385] Change how actions builds it --- .github/workflows/main.yml | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0ae41637..55955ccf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: node-version: [12.x] - os: ["macos-latest", "ubuntu-latest"] + os: ["macos-latest", "ubuntu-latest", "windows-latest"] steps: - uses: actions/checkout@v2 @@ -30,22 +30,8 @@ jobs: path: ./node_modules key: ${{ matrix.os }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - - name: Install Ubuntu Dependencies - if: (startsWith(matrix.os, 'ubuntu')) - run: | - sudo apt-get install wine64 - sudo dpkg --add-architecture i386 - sudo apt-get update - sudo apt-get install wine32 - - - run: yarn install --frozen-lockfile - - - run: yarn dist -lw - if: (startsWith(matrix.os, 'ubuntu')) - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - run: yarn dist -m - if: (!startsWith(matrix.os, 'ubuntu')) - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Electron Builder + uses: samuelmeuli/action-electron-builder@v1.5.1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + release: ${{ startsWith(github.ref, 'refs/tags/v') }} From 8904aabe872cb96ef6cfd48d7810a7dabf90371b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 14:50:03 -0400 Subject: [PATCH 089/385] bump version for future release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bc2e902a..dc8ef8b8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.0.0", + "version": "4.1.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 34448412b1a2aa285478e4edbee04f64c01403d3 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 14:57:01 -0400 Subject: [PATCH 090/385] Back to non action based operations --- .github/workflows/main.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 55955ccf..ef491610 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,9 +29,8 @@ jobs: with: path: ./node_modules key: ${{ matrix.os }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - - - name: Electron Builder - uses: samuelmeuli/action-electron-builder@v1.5.1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - release: ${{ startsWith(github.ref, 'refs/tags/v') }} + + - run: yarn install --frozen-lockfile + - run: yarn dist + env: + GH_TOKEN: ${{ secrets.github_token }} From 63c89681f6ebda67d302d3037466063e12147d6f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 15:33:09 -0400 Subject: [PATCH 091/385] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 00000000..b6a6365f --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,49 @@ +trigger: +- master + +strategy: + matrix: + linux: + imageName: 'ubuntu-latest' + mac: + imageName: 'macos-latest' + windows: + imageName: 'windows-latest' + +variables: + YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn + ELECTRON_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron + ELECTRON_BUILDER_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron-builder + GH_TOKEN: $(GH_TOKEN) + +pool: + vmImage: $(imageName) + +steps: +- task: NodeTool@0 + inputs: + versionSpec: '12.x' + displayName: 'Install Node.js' + +- task: Cache@2 + inputs: + key: 'yarn | "$(Agent.OS)" | yarn.lock' + path: $(YARN_CACHE_FOLDER) + displayName: Cache Yarn Packages + +- task: Cache@2 + inputs: + key: 'electron | "$(Agent.OS)" | yarn.lock' + path: $(ELECTRON_CACHE_FOLDER) + displayName: Cache Electron + +- task: Cache@2 + inputs: + key: 'electron-builder | "$(Agent.OS)" | yarn.lock' + path: $(ELECTRON_BUILDER_CACHE_FOLDER) + displayName: Cache Electron Builder + +- script: | + yarn install --frozen-lockfile + yarn dist + displayName: 'yarn install and build' From 32863bd17cde661676d512a99b8ac867afccdf1d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 15:34:53 -0400 Subject: [PATCH 092/385] Update azure-pipelines.yml for Azure Pipelines --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b6a6365f..1ceca1c5 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -14,7 +14,7 @@ variables: YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn ELECTRON_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron ELECTRON_BUILDER_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron-builder - GH_TOKEN: $(GH_TOKEN) + GH_TOKEN: $(github_token) pool: vmImage: $(imageName) From 967730a7d005cb0d250a9bebb48114a1821aab1b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 15:44:18 -0400 Subject: [PATCH 093/385] Removed cache --- azure-pipelines.yml | 56 +++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1ceca1c5..99d47364 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,11 +10,10 @@ strategy: windows: imageName: 'windows-latest' -variables: - YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn - ELECTRON_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron - ELECTRON_BUILDER_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron-builder - GH_TOKEN: $(github_token) +# variables: + # YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn + # ELECTRON_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron + # ELECTRON_BUILDER_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron-builder pool: vmImage: $(imageName) @@ -25,25 +24,28 @@ steps: versionSpec: '12.x' displayName: 'Install Node.js' -- task: Cache@2 - inputs: - key: 'yarn | "$(Agent.OS)" | yarn.lock' - path: $(YARN_CACHE_FOLDER) - displayName: Cache Yarn Packages - -- task: Cache@2 - inputs: - key: 'electron | "$(Agent.OS)" | yarn.lock' - path: $(ELECTRON_CACHE_FOLDER) - displayName: Cache Electron - -- task: Cache@2 - inputs: - key: 'electron-builder | "$(Agent.OS)" | yarn.lock' - path: $(ELECTRON_BUILDER_CACHE_FOLDER) - displayName: Cache Electron Builder - -- script: | - yarn install --frozen-lockfile - yarn dist - displayName: 'yarn install and build' +# - task: Cache@2 +# inputs: +# key: 'yarn | "$(Agent.OS)" | yarn.lock' +# path: $(YARN_CACHE_FOLDER) +# displayName: Cache Yarn Packages + +# - task: Cache@2 +# inputs: +# key: 'electron | "$(Agent.OS)" | yarn.lock' +# path: $(ELECTRON_CACHE_FOLDER) +# displayName: Cache Electron + +# - task: Cache@2 +# inputs: +# key: 'electron-builder | "$(Agent.OS)" | yarn.lock' +# path: $(ELECTRON_BUILDER_CACHE_FOLDER) +# displayName: Cache Electron Builder + +- script: yarn install --frozen-lockfile + displayName: 'yarn install' + +- script: yarn dist + displayName: 'yarn dist' + env: + GH_TOKEN: $(github_token) \ No newline at end of file From ffe6e3a6f282c1feddc9cc2576e85da003d6bb23 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 15:49:49 -0400 Subject: [PATCH 094/385] Remove some electron targets --- electron-builder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron-builder.js b/electron-builder.js index 47239349..0560637d 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -8,7 +8,7 @@ module.exports = { output: "dist", }, linux: { - target: ["AppImage", "snap", "pacman", "deb", "rpm", "freebsd", "zip"], + target: ["AppImage", "snap", "pacman", "deb", "zip"], executableName: "AndroidMessages", category: "Internet", }, From 9d0fe0fe8c941b461a6e588dc65c47798b221901 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 16:13:28 -0400 Subject: [PATCH 095/385] removed pacman --- electron-builder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron-builder.js b/electron-builder.js index 0560637d..0328238c 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -8,7 +8,7 @@ module.exports = { output: "dist", }, linux: { - target: ["AppImage", "snap", "pacman", "deb", "zip"], + target: ["AppImage", "snap", "deb", "zip"], executableName: "AndroidMessages", category: "Internet", }, From 2d876409a05dc415b5f998c419f4904f73bcdd70 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 17:17:32 -0400 Subject: [PATCH 096/385] Added dependencies needed for the other linux packages --- azure-pipelines.yml | 5 ++++- electron-builder.js | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 99d47364..f9aba442 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -42,10 +42,13 @@ steps: # path: $(ELECTRON_BUILDER_CACHE_FOLDER) # displayName: Cache Electron Builder +- script: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + condtion: startsWith($(imageName), 'ubuntu') + - script: yarn install --frozen-lockfile displayName: 'yarn install' - script: yarn dist displayName: 'yarn dist' env: - GH_TOKEN: $(github_token) \ No newline at end of file + GH_TOKEN: $(github_token) diff --git a/electron-builder.js b/electron-builder.js index 0328238c..5220f873 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -8,7 +8,7 @@ module.exports = { output: "dist", }, linux: { - target: ["AppImage", "snap", "deb", "zip"], + target: ["AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip"], executableName: "AndroidMessages", category: "Internet", }, From 3f6c9b05c70177138fb28f30df3994cafc76812b Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 17:18:32 -0400 Subject: [PATCH 097/385] fixing misspelling --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f9aba442..79638c3c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -43,7 +43,7 @@ steps: # displayName: Cache Electron Builder - script: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools - condtion: startsWith($(imageName), 'ubuntu') + condition: startsWith($(imageName), 'ubuntu') - script: yarn install --frozen-lockfile displayName: 'yarn install' From af1296dae8efe3584a50823b463eb8ba4389cf8e Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 17:20:25 -0400 Subject: [PATCH 098/385] changing syntax --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 79638c3c..1ad4bab6 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -43,7 +43,7 @@ steps: # displayName: Cache Electron Builder - script: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools - condition: startsWith($(imageName), 'ubuntu') + condition: startsWith(variables['imageName'], 'ubuntu') - script: yarn install --frozen-lockfile displayName: 'yarn install' From d58a86a880fcb59e71e008d98f7bc540f8ae5c27 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 17:21:47 -0400 Subject: [PATCH 099/385] named the new task --- azure-pipelines.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1ad4bab6..8b8cb0fa 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -43,6 +43,7 @@ steps: # displayName: Cache Electron Builder - script: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + displayName: 'Installing Linux Dependencies' condition: startsWith(variables['imageName'], 'ubuntu') - script: yarn install --frozen-lockfile From f2c6d058e81bd7157bd0ff1beb2ce33b95bffeaf Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 17:30:33 -0400 Subject: [PATCH 100/385] remove github actions for now --- .github/workflows/main.yml | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index ef491610..00000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: CI - -on: - push: - branches: [master] - pull_request: - branches: [master] - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - node-version: [12.x] - os: ["macos-latest", "ubuntu-latest", "windows-latest"] - - steps: - - uses: actions/checkout@v2 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Cache node_modules - uses: actions/cache@v2 - env: - cache-name: cache-node-modules - with: - path: ./node_modules - key: ${{ matrix.os }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - - - run: yarn install --frozen-lockfile - - run: yarn dist - env: - GH_TOKEN: ${{ secrets.github_token }} From e412994e035513d99d83eb718e9fe9a2b5d7f41e Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 17:45:39 -0400 Subject: [PATCH 101/385] Update azure-pipelines.yml for Azure Pipelines --- azure-pipelines.yml | 30 +++++------------------------- 1 file changed, 5 insertions(+), 25 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8b8cb0fa..bc1b396d 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -10,11 +10,6 @@ strategy: windows: imageName: 'windows-latest' -# variables: - # YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn - # ELECTRON_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron - # ELECTRON_BUILDER_CACHE_FOLDER: $(Pipeline.Workspace)/.cache/electron-builder - pool: vmImage: $(imageName) @@ -24,24 +19,6 @@ steps: versionSpec: '12.x' displayName: 'Install Node.js' -# - task: Cache@2 -# inputs: -# key: 'yarn | "$(Agent.OS)" | yarn.lock' -# path: $(YARN_CACHE_FOLDER) -# displayName: Cache Yarn Packages - -# - task: Cache@2 -# inputs: -# key: 'electron | "$(Agent.OS)" | yarn.lock' -# path: $(ELECTRON_CACHE_FOLDER) -# displayName: Cache Electron - -# - task: Cache@2 -# inputs: -# key: 'electron-builder | "$(Agent.OS)" | yarn.lock' -# path: $(ELECTRON_BUILDER_CACHE_FOLDER) -# displayName: Cache Electron Builder - - script: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools displayName: 'Installing Linux Dependencies' condition: startsWith(variables['imageName'], 'ubuntu') @@ -51,5 +28,8 @@ steps: - script: yarn dist displayName: 'yarn dist' - env: - GH_TOKEN: $(github_token) +- task: PublishBuildArtifacts@1 + inputs: + PathtoPublish: 'dist' + ArtifactName: '$(imageName)' + publishLocation: 'Container' From 5cef216750fe9194b29e6ee8d16b895ab13bcf0a Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 17:53:32 -0400 Subject: [PATCH 102/385] Turned off publishing --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index bc1b396d..b9e36967 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -26,7 +26,7 @@ steps: - script: yarn install --frozen-lockfile displayName: 'yarn install' -- script: yarn dist +- script: yarn dist --publish never displayName: 'yarn dist' - task: PublishBuildArtifacts@1 inputs: From f47ceaab570ac67118399384970f5715975b8d86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2020 22:06:48 +0000 Subject: [PATCH 103/385] Bump electron from 9.0.2 to 9.0.3 Bumps [electron](https://github.com/electron/electron) from 9.0.2 to 9.0.3. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v9.0.2...v9.0.3) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index dc8ef8b8..dab779f2 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/eslint-plugin": "^3.1.0", "@typescript-eslint/parser": "^3.1.0", "css-loader": "^3.5.3", - "electron": "9.0.2", + "electron": "9.0.3", "electron-builder": "22.7.0", "eslint": "^7.2.0", "eslint-config-prettier": "^6.11.0", diff --git a/yarn.lock b/yarn.lock index 9407e88d..de361d6a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1682,10 +1682,10 @@ electron-updater@4.3.1: lodash.isequal "^4.5.0" semver "^7.1.3" -electron@9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.2.tgz#361924ce833396f1a45ac2195f442b92eb4f8f5d" - integrity sha512-+a3KegLvQXVjC3b6yBWwZmtWp3tHf9ut27yORAWHO9JRFtKfNf88fi1UvTPJSW8R0sUH7ZEdzN6A95T22KGtlA== +electron@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.3.tgz#72a7ea08abadd494794735d90666d1b95fc90d28" + integrity sha512-rY59wy50z0oWp/q69zq0UIzvtcM5j2BJbLAwEoLfVNS3DLt9wDZqRqSIBvLEBl+xWbafCnRA9haEqi7ssM94GA== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From 9e7ed406418f4d793aa3659688f0de68b788ba7c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2020 22:07:23 +0000 Subject: [PATCH 104/385] Bump @typescript-eslint/parser from 3.1.0 to 3.2.0 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.2.0/packages/parser) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 35 +++++++++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index dc8ef8b8..91ceec8e 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^1.7.1", "@typescript-eslint/eslint-plugin": "^3.1.0", - "@typescript-eslint/parser": "^3.1.0", + "@typescript-eslint/parser": "^3.2.0", "css-loader": "^3.5.3", "electron": "9.0.2", "electron-builder": "22.7.0", diff --git a/yarn.lock b/yarn.lock index 9407e88d..0480bd29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -232,14 +232,24 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.1.0.tgz#9c02ba5d88ad2355672f39e6cd4176f172dd47f8" - integrity sha512-NcDSJK8qTA2tPfyGiPes9HtVKLbksmuYjlgGAUs7Ld2K0swdWibnCq9IJx9kJN8JJdgUJSorFiGaPHBgH81F/Q== +"@typescript-eslint/experimental-utils@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz#4dab8fc9f44f059ec073470a81bb4d7d7d51e6c5" + integrity sha512-UbJBsk+xO9dIFKtj16+m42EvUvsjZbbgQ2O5xSTSfVT1Z3yGkL90DVu0Hd3029FZ5/uBgl+F3Vo8FAcEcqc6aQ== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "3.2.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.2.0.tgz#d9d7867456b1b8ecae9e724269b0bc932f06cbca" + integrity sha512-Vhu+wwdevDLVDjK1lIcoD6ZbuOa93fzqszkaO3iCnmrScmKwyW/AGkzc2UvfE5TCoCXqq7Jyt6SOXjsIlpqF4A== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.1.0" - "@typescript-eslint/typescript-estree" "3.1.0" + "@typescript-eslint/experimental-utils" "3.2.0" + "@typescript-eslint/typescript-estree" "3.2.0" eslint-visitor-keys "^1.1.0" "@typescript-eslint/typescript-estree@3.1.0": @@ -255,6 +265,19 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz#c735f1ca6b4d3cd671f30de8c9bde30843e7ead8" + integrity sha512-uh+Y2QO7dxNrdLw7mVnjUqkwO/InxEqwN0wF+Za6eo3coxls9aH9kQ/5rSvW2GcNanebRTmsT5w1/92lAOb1bA== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" From b9d91fd3d10ade0cd7aa93d7a1feabe488e99b2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2020 22:59:02 +0000 Subject: [PATCH 105/385] Bump @typescript-eslint/eslint-plugin from 3.1.0 to 3.2.0 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.2.0/packages/eslint-plugin) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 33 +++++---------------------------- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 91ceec8e..3c1637f4 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/webpack": "^4.41.17", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^1.7.1", - "@typescript-eslint/eslint-plugin": "^3.1.0", + "@typescript-eslint/eslint-plugin": "^3.2.0", "@typescript-eslint/parser": "^3.2.0", "css-loader": "^3.5.3", "electron": "9.0.2", diff --git a/yarn.lock b/yarn.lock index 0480bd29..0407a1ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,27 +211,17 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.1.0.tgz#4ac00ecca3bbea740c577f1843bc54fa69c3def2" - integrity sha512-D52KwdgkjYc+fmTZKW7CZpH5ZBJREJKZXRrveMiRCmlzZ+Rw9wRVJ1JAmHQ9b/+Ehy1ZeaylofDB9wwXUt83wg== +"@typescript-eslint/eslint-plugin@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.2.0.tgz#7fb997f391af32ae6ca1dbe56bcefe4dd30bda14" + integrity sha512-t9RTk/GyYilIXt6BmZurhBzuMT9kLKw3fQoJtK9ayv0tXTlznXEAnx07sCLXdkN3/tZDep1s1CEV95CWuARYWA== dependencies: - "@typescript-eslint/experimental-utils" "3.1.0" + "@typescript-eslint/experimental-utils" "3.2.0" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.1.0.tgz#2d5dba7c2ac2a3da3bfa3f461ff64de38587a872" - integrity sha512-Zf8JVC2K1svqPIk1CB/ehCiWPaERJBBokbMfNTNRczCbQSlQXaXtO/7OfYz9wZaecNvdSvVADt6/XQuIxhC79w== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "3.1.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - "@typescript-eslint/experimental-utils@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz#4dab8fc9f44f059ec073470a81bb4d7d7d51e6c5" @@ -252,19 +242,6 @@ "@typescript-eslint/typescript-estree" "3.2.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.1.0.tgz#eaff52d31e615e05b894f8b9d2c3d8af152a5dd2" - integrity sha512-+4nfYauqeQvK55PgFrmBWFVYb6IskLyOosYEmhH3mSVhfBp9AIJnjExdgDmKWoOBHRcPM8Ihfm2BFpZf0euUZQ== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - "@typescript-eslint/typescript-estree@3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz#c735f1ca6b4d3cd671f30de8c9bde30843e7ead8" From beb9055e1d33f3b9987b06996837ca3386a05429 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 19:22:45 -0400 Subject: [PATCH 106/385] Changed up the readme --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 454a5e9d..b38aaeec 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ -# Android Messagesâ„¢ Desktop Android Messages Desktop logo +# Android Messagesâ„¢ Desktop Run Android Messages as a desktop app, a la iMessage. For those of us that prefer not to have a browser tab always open for this sort of thing. **Not affiliated with Google in any way. Android is a trademark of Google LLC.** -### Disclaimer: I have tested this with my Pixel on Arch only. There is a lot of platform specific code that I ported without being able to test if there are problems please report them. +| Platform | Status | +|-----------|-------------------------------------------------| +| Windows | ![Windows Build Status](https://bit.ly/3cJ0mo4) | +| Mac | ![Mac Build Status](https://bit.ly/3f69vIX) | +| Linux | ![Linux Build Status](https://bit.ly/2XQpwwZ) | Inspired by: @@ -14,9 +18,9 @@ Inspired by: # Download Head over to the [latest releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) page! -**Important note:** The Windows app binary isn't signed. This doesn't seem to be a big problem, but please report any issues you run into on Windows that may be related to signing. +**Important Note 1:** We currently have builds for Windows and macOS, and Linux. I test releases on Arch Linux. I would love help testing in additional places. -**Important note 2:** We currently have builds for Windows and macOS, and Linux. I test releases on Arch Linux. I would love help testing in additional places. +**Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. # Spellchecking Implemented via the amazing [`electron-hunspell`](https://github.com/kwonoj/electron-hunspell) library with dictionaries provided by the excellent [`dictionaries`](https://github.com/wooorm/dictionaries) project. Language files are downloaded when the app opens and the language used is based on the language set in your operating system. If you switch your system language and restart the app, the spellchecking should occur in the new language as long as it is in the [list of supported languages](https://github.com/wooorm/dictionaries#table-of-dictionaries). From 34728ef77ee7830766cd48fce32e50b9127aa7bf Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 19:42:01 -0400 Subject: [PATCH 107/385] Changed naming conventions --- electron-builder.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/electron-builder.js b/electron-builder.js index 5220f873..c30e27a9 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,5 +1,6 @@ module.exports = { appId: "pw.electron.android-messages", + artificatName: "${productName}-${version}.${ext}", productName: "AndroidMessages", copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], @@ -13,6 +14,7 @@ module.exports = { category: "Internet", }, win: { + artificatName: "${productName}-${version}-${arch}.${ext}", target: [ { target: "nsis", @@ -29,7 +31,7 @@ module.exports = { target: ["zip", "dmg"], }, portable: { - artifactName: "${productName}-portable-${version}.${ext}", + artifactName: "${productName}-portable-${version}-${arch}.${ext}", }, snap: { publish: ["github"], From 37b57f974bbcf19c984969d0aa1ff17df9c2085a Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 19:44:13 -0400 Subject: [PATCH 108/385] fixed typo --- electron-builder.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index c30e27a9..dea3d13f 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,6 +1,6 @@ module.exports = { appId: "pw.electron.android-messages", - artificatName: "${productName}-${version}.${ext}", + artifactName: "${productName}-${version}.${ext}", productName: "AndroidMessages", copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], @@ -14,7 +14,7 @@ module.exports = { category: "Internet", }, win: { - artificatName: "${productName}-${version}-${arch}.${ext}", + artifactName: "${productName}-${version}-${arch}.${ext}", target: [ { target: "nsis", From 5c7d0f7830b674628ed810c739752ba3749d29a7 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 19:56:55 -0400 Subject: [PATCH 109/385] simplified configuration --- azure-pipelines.yml | 1 + electron-builder.js | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index b9e36967..14aa8035 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -28,6 +28,7 @@ steps: - script: yarn dist --publish never displayName: 'yarn dist' + - task: PublishBuildArtifacts@1 inputs: PathtoPublish: 'dist' diff --git a/electron-builder.js b/electron-builder.js index dea3d13f..cefedf87 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,6 +1,6 @@ module.exports = { appId: "pw.electron.android-messages", - artifactName: "${productName}-${version}.${ext}", + artifactName: "${productName}-${version}-${arch}.${ext}", productName: "AndroidMessages", copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], @@ -14,7 +14,6 @@ module.exports = { category: "Internet", }, win: { - artifactName: "${productName}-${version}-${arch}.${ext}", target: [ { target: "nsis", From 1bcb79a21345b3295104e75bbbd8d754aa03f289 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 9 Jun 2020 20:02:28 -0400 Subject: [PATCH 110/385] cleaned the configuration a bit more --- electron-builder.js | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index cefedf87..44010f91 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,6 +1,6 @@ module.exports = { appId: "pw.electron.android-messages", - artifactName: "${productName}-${version}-${arch}.${ext}", + artifactName: "${productName}-${version}.${ext}", productName: "AndroidMessages", copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], @@ -14,23 +14,14 @@ module.exports = { category: "Internet", }, win: { - target: [ - { - target: "nsis", - arch: ["x64", "ia32"], - }, - { - target: "portable", - arch: ["x64", "ia32"], - }, - ], + target: ["nsis", "portable"], }, mac: { category: "public.app-category.social-networking", target: ["zip", "dmg"], }, portable: { - artifactName: "${productName}-portable-${version}-${arch}.${ext}", + artifactName: "${productName}-portable-${version}.${ext}", }, snap: { publish: ["github"], From 61fce3847e42ba25b7642e9e157913b17de7d2d1 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Jun 2020 20:09:06 -0400 Subject: [PATCH 111/385] removed url shortener --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b38aaeec..3eb36564 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ Run Android Messages as a desktop app, a la iMessage. For those of us that prefe | Platform | Status | |-----------|-------------------------------------------------| -| Windows | ![Windows Build Status](https://bit.ly/3cJ0mo4) | -| Mac | ![Mac Build Status](https://bit.ly/3f69vIX) | -| Linux | ![Linux Build Status](https://bit.ly/2XQpwwZ) | +| Windows | ![Windows Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20windows) | +| Mac | ![Mac Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20mac) | +| Linux | ![Linux Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20linux) | Inspired by: From 1ecdee07a892ecd21c849756b690faae2171dac8 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 12 Jun 2020 14:58:54 -0400 Subject: [PATCH 112/385] Changed env variables to be cross platform --- package.json | 3 ++- yarn.lock | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 269f6289..1872e18d 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ }, "main": "app/background.js", "scripts": { - "start": "yarn build:dev && NODE_ENV=development electron ./app/background.js", + "start": "yarn build:dev && cross-env NODE_ENV=development electron ./app/background.js", "dist": "yarn build && electron-builder --config electron-builder.js", "build": "webpack --config-name app --mode=production", "build:dev": "webpack --config-name app --mode=development", @@ -45,6 +45,7 @@ "@types/webpack-node-externals": "^1.7.1", "@typescript-eslint/eslint-plugin": "^3.2.0", "@typescript-eslint/parser": "^3.2.0", + "cross-env": "^7.0.2", "css-loader": "^3.5.3", "electron": "9.0.3", "electron-builder": "22.7.0", diff --git a/yarn.lock b/yarn.lock index b49f5c22..74f02e67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1298,6 +1298,13 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +cross-env@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" + integrity sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== + dependencies: + cross-spawn "^7.0.1" + cross-spawn@6.0.5, cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -1309,7 +1316,7 @@ cross-spawn@6.0.5, cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: +cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== From e7b928998f3e5f4830be2a682820ea9051ad3fc0 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 12 Jun 2020 15:06:06 -0400 Subject: [PATCH 113/385] Removed last remanents of uinnecessary menu that I did not notice while porting --- src/background.ts | 7 ------- src/helpers/trayManager.ts | 9 --------- 2 files changed, 16 deletions(-) diff --git a/src/background.ts b/src/background.ts index 06891406..17472a4d 100644 --- a/src/background.ts +++ b/src/background.ts @@ -148,13 +148,6 @@ if (!isFirstInstance) { trayMenuItem.checked = settingsManager.startInTray; enableTrayIconMenuItem.checked = trayManager.enabled; - if (IS_WINDOWS) { - const trayClickShortcutMenuItem = menuInstance.getMenuItemById( - "trayClickShortcutMenuItem" - ); - trayClickShortcutMenuItem.enabled = trayManager.enabled; - } - notificationSoundEnabledMenuItem.checked = settingsManager.notificationSound; pressEnterToSendMenuItem.checked = settingsManager.enterToSend; diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 3d096e90..f7dd27d5 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -99,18 +99,12 @@ export class TrayManager { const liveStartInTrayMenuItemRef = Menu.getApplicationMenu()?.getMenuItemById( "startInTrayMenuItem" ); - const livetrayClickShortcutMenuItemRef = Menu.getApplicationMenu()?.getMenuItemById( - "trayClickShortcutMenuItem" - ); if (newValue) { if (!IS_MAC && liveStartInTrayMenuItemRef != null) { // Must get a live reference to the menu item when updating their properties from outside of them. liveStartInTrayMenuItemRef.enabled = true; } - if (IS_WINDOWS && livetrayClickShortcutMenuItemRef != null) { - livetrayClickShortcutMenuItemRef.enabled = true; - } if (!this.tray) { this.startIfEnabled(); } @@ -131,9 +125,6 @@ export class TrayManager { liveStartInTrayMenuItemRef.enabled = false; liveStartInTrayMenuItemRef.checked = false; } - if (IS_WINDOWS && livetrayClickShortcutMenuItemRef != null) { - livetrayClickShortcutMenuItemRef.enabled = false; - } if (IS_LINUX) { // On Linux, the call to tray.destroy doesn't seem to work, causing multiple instances of the tray icon. // Work around this by quickly restarting the app. From 235b0aeee9ed95e09a52584bb10e0a32e47ce79c Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 12 Jun 2020 16:19:27 -0400 Subject: [PATCH 114/385] Changed help menu to point to this repo --- src/menu/helpMenu.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/menu/helpMenu.ts b/src/menu/helpMenu.ts index 45896937..6a08f49a 100644 --- a/src/menu/helpMenu.ts +++ b/src/menu/helpMenu.ts @@ -9,14 +9,14 @@ const submenu: MenuItemConstructorOptions[] = [ label: "Learn More", click: async (): Promise => await shell.openExternal( - "https://github.com/chrisknepper/android-messages-desktop/" + "https://github.com/orangedrangon/android-messages-desktop/" ), }, { label: "Changelog", click: async (): Promise => await shell.openExternal( - "https://github.com/chrisknepper/android-messages-desktop/blob/master/CHANGELOG.md" + "https://github.com/orangedrangon/android-messages-desktop/blob/master/CHANGELOG.md" ), }, ]; From fcbc25ed266d61ea0736dc34e033a79c846aa619 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 12 Jun 2020 16:25:36 -0400 Subject: [PATCH 115/385] 4.1.0 changelog --- CHANGELOG.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37863d1d..d9e7b84c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,19 @@ # Changelog -## [4.0.0] - 2020-08-30 +## [4.1.0] - 2020-06-12 + +This should probably be a path instead of a minor version. There are no breaking changes just a small bug fix. + +### Added +- Behind the Scenes: Added CI + +### Changed +- Under the hood: Bumped electron to 9.0.3 + +### Fixed +- Bug preventing Windows Launch + +## [4.0.0] - 2020-06-07 ### Added - Added the image of the message sender to the notification From b1edb559a586e4578c1de9b1df2dbfb095229bf8 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 12 Jun 2020 16:26:02 -0400 Subject: [PATCH 116/385] typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9e7b84c..ba8af3ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## [4.1.0] - 2020-06-12 -This should probably be a path instead of a minor version. There are no breaking changes just a small bug fix. +This should probably be a patch instead of a minor version. There are no breaking changes just a small bug fix. ### Added - Behind the Scenes: Added CI From c9643a780feb406e280eefb9038e055c57b0190e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2020 05:24:06 +0000 Subject: [PATCH 117/385] Bump electron from 9.0.3 to 9.0.4 Bumps [electron](https://github.com/electron/electron) from 9.0.3 to 9.0.4. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v9.0.3...v9.0.4) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1872e18d..57284ea6 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@typescript-eslint/parser": "^3.2.0", "cross-env": "^7.0.2", "css-loader": "^3.5.3", - "electron": "9.0.3", + "electron": "9.0.4", "electron-builder": "22.7.0", "eslint": "^7.2.0", "eslint-config-prettier": "^6.11.0", diff --git a/yarn.lock b/yarn.lock index 74f02e67..12318bb3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1689,10 +1689,10 @@ electron-updater@4.3.1: lodash.isequal "^4.5.0" semver "^7.1.3" -electron@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.3.tgz#72a7ea08abadd494794735d90666d1b95fc90d28" - integrity sha512-rY59wy50z0oWp/q69zq0UIzvtcM5j2BJbLAwEoLfVNS3DLt9wDZqRqSIBvLEBl+xWbafCnRA9haEqi7ssM94GA== +electron@9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.4.tgz#5aa72c1576c82c19f6e087311ffe1d7b74358d25" + integrity sha512-QzkeZNAiNB7KxcdoQKSoaiVT/GQdB4Vt0/ZZOuU8tIKABAsni2I7ztiAbUzxcsnQsqEBSfChuPuDQ5A4VbbzPg== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From cbf50ecc1793448aec00c3d4f8f05946bc2fdc83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2020 05:24:15 +0000 Subject: [PATCH 118/385] Bump eslint-plugin-prettier from 3.1.3 to 3.1.4 Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 3.1.3 to 3.1.4. - [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases) - [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v3.1.3...v3.1.4) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1872e18d..208849ac 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "electron-builder": "22.7.0", "eslint": "^7.2.0", "eslint-config-prettier": "^6.11.0", - "eslint-plugin-prettier": "^3.1.3", + "eslint-plugin-prettier": "^3.1.4", "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^4.3.0", "png2icons": "^2.0.1", diff --git a/yarn.lock b/yarn.lock index 74f02e67..17cf6459 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1852,10 +1852,10 @@ eslint-config-prettier@^6.11.0: dependencies: get-stdin "^6.0.0" -eslint-plugin-prettier@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz#ae116a0fc0e598fdae48743a4430903de5b4e6ca" - integrity sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ== +eslint-plugin-prettier@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2" + integrity sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg== dependencies: prettier-linter-helpers "^1.0.0" From d9c1039a0bd11bd450a7c5f48ea963fe1e52c58f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2020 05:26:38 +0000 Subject: [PATCH 119/385] Bump @typescript-eslint/parser from 3.2.0 to 3.3.0 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.3.0/packages/parser) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 35 +++++++++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 1872e18d..058a670c 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^1.7.1", "@typescript-eslint/eslint-plugin": "^3.2.0", - "@typescript-eslint/parser": "^3.2.0", + "@typescript-eslint/parser": "^3.3.0", "cross-env": "^7.0.2", "css-loader": "^3.5.3", "electron": "9.0.3", diff --git a/yarn.lock b/yarn.lock index 74f02e67..2b2d9f97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -232,14 +232,24 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.2.0.tgz#d9d7867456b1b8ecae9e724269b0bc932f06cbca" - integrity sha512-Vhu+wwdevDLVDjK1lIcoD6ZbuOa93fzqszkaO3iCnmrScmKwyW/AGkzc2UvfE5TCoCXqq7Jyt6SOXjsIlpqF4A== +"@typescript-eslint/experimental-utils@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.3.0.tgz#d72a946e056a83d4edf97f3411cceb639b0b8c87" + integrity sha512-d4pGIAbu/tYsrPrdHCQ5xfadJGvlkUxbeBB56nO/VGmEDi/sKmfa5fGty5t5veL1OyJBrUmSiRn1R1qfVDydrg== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "3.3.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.3.0.tgz#fcae40012ded822aa8b2739a1a03a4e3c5bbb7bb" + integrity sha512-a7S0Sqn/+RpOOWTcaLw6RD4obsharzxmgMfdK24l364VxuBODXjuJM7ImCkSXEN7oz52aiZbXSbc76+2EsE91w== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.2.0" - "@typescript-eslint/typescript-estree" "3.2.0" + "@typescript-eslint/experimental-utils" "3.3.0" + "@typescript-eslint/typescript-estree" "3.3.0" eslint-visitor-keys "^1.1.0" "@typescript-eslint/typescript-estree@3.2.0": @@ -255,6 +265,19 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.3.0.tgz#841ffed25c29b0049ebffb4c2071268a34558a2a" + integrity sha512-3SqxylENltEvJsjjMSDCUx/edZNSC7wAqifUU1Ywp//0OWEZwMZJfecJud9XxJ/40rAKEbJMKBOQzeOjrLJFzQ== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" From 09c264b22ae9ff6c355c337b6efdfcefd7e07dcf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2020 02:50:51 +0000 Subject: [PATCH 120/385] Bump css-loader from 3.5.3 to 3.6.0 Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.5.3 to 3.6.0. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.5.3...v3.6.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 071aaf72..9da63ab3 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/eslint-plugin": "^3.2.0", "@typescript-eslint/parser": "^3.3.0", "cross-env": "^7.0.2", - "css-loader": "^3.5.3", + "css-loader": "^3.6.0", "electron": "9.0.4", "electron-builder": "22.7.0", "eslint": "^7.2.0", diff --git a/yarn.lock b/yarn.lock index 779e3bae..2aa6ede1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1370,23 +1370,23 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-loader@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.3.tgz#95ac16468e1adcd95c844729e0bb167639eb0bcf" - integrity sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw== +css-loader@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" + integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== dependencies: camelcase "^5.3.1" cssesc "^3.0.0" icss-utils "^4.1.1" loader-utils "^1.2.3" normalize-path "^3.0.0" - postcss "^7.0.27" + postcss "^7.0.32" postcss-modules-extract-imports "^2.0.0" postcss-modules-local-by-default "^3.0.2" postcss-modules-scope "^2.2.0" postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.3" - schema-utils "^2.6.6" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.0" semver "^6.3.0" css-select@^1.1.0: @@ -3939,12 +3939,12 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.3: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== @@ -4377,7 +4377,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.6: +schema-utils@^2.6.6, schema-utils@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== From e37d9df6ebbb575c6e9b6eab4cd87dec11f8a9d1 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Jun 2020 02:56:23 +0000 Subject: [PATCH 121/385] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 31 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 +++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..c616fa35 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,31 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..11fc491e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From 08956d32252acd31f4e5530dbe335659e4173b60 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2020 03:04:48 +0000 Subject: [PATCH 122/385] Bump @typescript-eslint/eslint-plugin from 3.2.0 to 3.3.0 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.2.0 to 3.3.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.3.0/packages/eslint-plugin) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 33 +++++---------------------------- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 9da63ab3..495f79f5 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/webpack": "^4.41.17", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^1.7.1", - "@typescript-eslint/eslint-plugin": "^3.2.0", + "@typescript-eslint/eslint-plugin": "^3.3.0", "@typescript-eslint/parser": "^3.3.0", "cross-env": "^7.0.2", "css-loader": "^3.6.0", diff --git a/yarn.lock b/yarn.lock index 2aa6ede1..d509c1b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,27 +211,17 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.2.0.tgz#7fb997f391af32ae6ca1dbe56bcefe4dd30bda14" - integrity sha512-t9RTk/GyYilIXt6BmZurhBzuMT9kLKw3fQoJtK9ayv0tXTlznXEAnx07sCLXdkN3/tZDep1s1CEV95CWuARYWA== +"@typescript-eslint/eslint-plugin@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.3.0.tgz#89518e5c5209a349bde161c3489b0ec187ae5d37" + integrity sha512-Ybx/wU75Tazz6nU2d7nN6ll0B98odoiYLXwcuwS5WSttGzK46t0n7TPRQ4ozwcTv82UY6TQoIvI+sJfTzqK9dQ== dependencies: - "@typescript-eslint/experimental-utils" "3.2.0" + "@typescript-eslint/experimental-utils" "3.3.0" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz#4dab8fc9f44f059ec073470a81bb4d7d7d51e6c5" - integrity sha512-UbJBsk+xO9dIFKtj16+m42EvUvsjZbbgQ2O5xSTSfVT1Z3yGkL90DVu0Hd3029FZ5/uBgl+F3Vo8FAcEcqc6aQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "3.2.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - "@typescript-eslint/experimental-utils@3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.3.0.tgz#d72a946e056a83d4edf97f3411cceb639b0b8c87" @@ -252,19 +242,6 @@ "@typescript-eslint/typescript-estree" "3.3.0" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/typescript-estree@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz#c735f1ca6b4d3cd671f30de8c9bde30843e7ead8" - integrity sha512-uh+Y2QO7dxNrdLw7mVnjUqkwO/InxEqwN0wF+Za6eo3coxls9aH9kQ/5rSvW2GcNanebRTmsT5w1/92lAOb1bA== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - "@typescript-eslint/typescript-estree@3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.3.0.tgz#841ffed25c29b0049ebffb4c2071268a34558a2a" From 25fc4b65fab28a86fa1a84cd676f9a7da42799c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2020 05:18:53 +0000 Subject: [PATCH 123/385] Bump webpack-cli from 3.3.11 to 3.3.12 Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.11 to 3.3.12. - [Release notes](https://github.com/webpack/webpack-cli/releases) - [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.12/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.11...v3.3.12) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 237 ++++++++++++++------------------------------------- 2 files changed, 64 insertions(+), 175 deletions(-) diff --git a/package.json b/package.json index 495f79f5..a4c8612e 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "ts-node": "^8.10.2", "typescript": "^3.9.5", "webpack": "^4.43.0", - "webpack-cli": "^3.3.11", + "webpack-cli": "^3.3.12", "webpack-merge": "^4.2.2", "webpack-node-externals": "^1.6.0" } diff --git a/yarn.lock b/yarn.lock index d509c1b7..e4cf30a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -967,15 +967,6 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -chalk@2.4.2, chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -987,6 +978,15 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" @@ -1305,7 +1305,7 @@ cross-env@^7.0.2: dependencies: cross-spawn "^7.0.1" -cross-spawn@6.0.5, cross-spawn@^6.0.0: +cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -1721,11 +1721,6 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -1752,19 +1747,10 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d" + integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" @@ -1985,19 +1971,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -2165,7 +2138,7 @@ find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -findup-sync@3.0.0: +findup-sync@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== @@ -2310,7 +2283,7 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stream@^4.0.0, get-stream@^4.1.0: +get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== @@ -2383,13 +2356,6 @@ global-dirs@^2.0.1: dependencies: ini "^1.3.5" -global-modules@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -2399,6 +2365,13 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" @@ -2687,7 +2660,7 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= -import-local@2.0.0: +import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== @@ -2757,15 +2730,10 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" -interpret@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== +interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== is-accessor-descriptor@^0.1.6: version "0.1.6" @@ -2939,11 +2907,6 @@ is-regex@^1.0.5: dependencies: has-symbols "^1.0.1" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -3119,13 +3082,6 @@ lazy-val@^1.0.4: resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -3139,16 +3095,7 @@ loader-runner@^2.4.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -loader-utils@^1.0.2, loader-utils@^1.2.3: +loader-utils@^1.0.2, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -3235,13 +3182,6 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -3270,16 +3210,7 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memory-fs@^0.4.0, memory-fs@^0.4.1: +memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -3347,7 +3278,7 @@ mime@^2.4.5: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== -mimic-fn@^2.0.0, mimic-fn@^2.1.0: +mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== @@ -3556,13 +3487,6 @@ npm-conf@^1.1.3: config-chain "^1.1.11" pify "^3.0.0" -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -3657,15 +3581,6 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -os-locale@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -3676,21 +3591,6 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -3811,7 +3711,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.0, path-key@^2.0.1: +path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= @@ -4456,7 +4356,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== @@ -4746,11 +4646,6 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - strip-json-comments@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" @@ -4776,13 +4671,6 @@ sumchecker@^3.0.1: dependencies: debug "^4.1.0" -supports-color@6.1.0, supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -4795,6 +4683,13 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" @@ -5172,12 +5067,7 @@ utila@^0.4.0, utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -v8-compile-cache@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" - integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== - -v8-compile-cache@^2.0.3: +v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== @@ -5213,22 +5103,22 @@ watchpack@^1.6.1: chokidar "^3.4.0" watchpack-chokidar2 "^2.0.0" -webpack-cli@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.11.tgz#3bf21889bf597b5d82c38f215135a411edfdc631" - integrity sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g== - dependencies: - chalk "2.4.2" - cross-spawn "6.0.5" - enhanced-resolve "4.1.0" - findup-sync "3.0.0" - global-modules "2.0.0" - import-local "2.0.0" - interpret "1.2.0" - loader-utils "1.2.3" - supports-color "6.1.0" - v8-compile-cache "2.0.3" - yargs "13.2.4" +webpack-cli@^3.3.12: + version "3.3.12" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" + integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== + dependencies: + chalk "^2.4.2" + cross-spawn "^6.0.5" + enhanced-resolve "^4.1.1" + findup-sync "^3.0.0" + global-modules "^2.0.0" + import-local "^2.0.0" + interpret "^1.4.0" + loader-utils "^1.4.0" + supports-color "^6.1.0" + v8-compile-cache "^2.1.1" + yargs "^13.3.2" webpack-merge@^4.2.2: version "4.2.2" @@ -5377,7 +5267,7 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yargs-parser@^13.1.0: +yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== @@ -5393,22 +5283,21 @@ yargs-parser@^18.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@13.2.4: - version "13.2.4" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" - integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== dependencies: cliui "^5.0.0" find-up "^3.0.0" get-caller-file "^2.0.1" - os-locale "^3.1.0" 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.0" + yargs-parser "^13.1.2" yargs@^15.3.1: version "15.3.1" From 86e1e060d1f868c427f1c188421ce3f0a8588ab9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2020 01:06:18 +0000 Subject: [PATCH 124/385] Bump lodash from 4.17.15 to 4.17.19 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index e4cf30a1..63577135 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3134,9 +3134,9 @@ lodash.isequal@^4.5.0: integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== lower-case@^2.0.1: version "2.0.1" From 9404094066c27128f87fbb4489b9aadc5625b7e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 2 Aug 2020 02:52:01 +0000 Subject: [PATCH 125/385] Bump elliptic from 6.5.2 to 6.5.3 Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3) Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index e4cf30a1..d675d239 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1699,9 +1699,9 @@ electron@9.0.4: extract-zip "^1.0.3" elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" - integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== + version "6.5.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== dependencies: bn.js "^4.4.0" brorand "^1.0.1" From 71c76bc7f74ab871e27addf5cf4b34046304f432 Mon Sep 17 00:00:00 2001 From: Matthew E Date: Mon, 10 Aug 2020 14:45:20 -0700 Subject: [PATCH 126/385] Set urgency hint on window when new messages are recieved --- src/background.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/background.ts b/src/background.ts index 17472a4d..7b42a12f 100644 --- a/src/background.ts +++ b/src/background.ts @@ -221,6 +221,12 @@ if (!isFirstInstance) { } } + if (IS_LINUX) { + if (!mainWindow.isFocused()) { + mainWindow.flashFrame(true); + } + } + trayManager?.toggleOverlay(true); customNotification.once("click", () => { From bc75c6bc20c71096595c953b4cd12abf5e2e4c7e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 05:20:56 +0000 Subject: [PATCH 127/385] Bump @typescript-eslint/parser from 3.3.0 to 3.9.0 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 3.3.0 to 3.9.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.9.0/packages/parser) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 45 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index a4c8612e..bccc0214 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^1.7.1", "@typescript-eslint/eslint-plugin": "^3.3.0", - "@typescript-eslint/parser": "^3.3.0", + "@typescript-eslint/parser": "^3.9.0", "cross-env": "^7.0.2", "css-loader": "^3.6.0", "electron": "9.0.4", diff --git a/yarn.lock b/yarn.lock index e4cf30a1..e786f3af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -232,16 +232,33 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.3.0.tgz#fcae40012ded822aa8b2739a1a03a4e3c5bbb7bb" - integrity sha512-a7S0Sqn/+RpOOWTcaLw6RD4obsharzxmgMfdK24l364VxuBODXjuJM7ImCkSXEN7oz52aiZbXSbc76+2EsE91w== +"@typescript-eslint/experimental-utils@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.0.tgz#3171d8ddba0bf02a8c2034188593630914fcf5ee" + integrity sha512-/vSHUDYizSOhrOJdjYxPNGfb4a3ibO8zd4nUKo/QBFOmxosT3cVUV7KIg8Dwi6TXlr667G7YPqFK9+VSZOorNA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/types" "3.9.0" + "@typescript-eslint/typescript-estree" "3.9.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.9.0.tgz#344978a265d9a5c7c8f13e62c78172a4374dabea" + integrity sha512-rDHOKb6uW2jZkHQniUQVZkixQrfsZGUCNWWbKWep4A5hGhN5dLHMUCNAWnC4tXRlHedXkTDptIpxs6e4Pz8UfA== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.3.0" - "@typescript-eslint/typescript-estree" "3.3.0" + "@typescript-eslint/experimental-utils" "3.9.0" + "@typescript-eslint/types" "3.9.0" + "@typescript-eslint/typescript-estree" "3.9.0" eslint-visitor-keys "^1.1.0" +"@typescript-eslint/types@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.0.tgz#be9d0aa451e1bf3ce99f2e6920659e5b2e6bfe18" + integrity sha512-rb6LDr+dk9RVVXO/NJE8dT1pGlso3voNdEIN8ugm4CWM5w5GimbThCMiMl4da1t5u3YwPWEwOnKAULCZgBtBHg== + "@typescript-eslint/typescript-estree@3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.3.0.tgz#841ffed25c29b0049ebffb4c2071268a34558a2a" @@ -255,6 +272,27 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.0.tgz#c6abbb50fa0d715cab46fef67ca6378bf2eaca13" + integrity sha512-N+158NKgN4rOmWVfvKOMoMFV5n8XxAliaKkArm/sOypzQ0bUL8MSnOEBW3VFIeffb/K5ce/cAV0yYhR7U4ALAA== + dependencies: + "@typescript-eslint/types" "3.9.0" + "@typescript-eslint/visitor-keys" "3.9.0" + debug "^4.1.1" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.0.tgz#44de8e1b1df67adaf3b94d6b60b80f8faebc8dd3" + integrity sha512-O1qeoGqDbu0EZUC/MZ6F1WHTIzcBVhGqDj3LhTnj65WUA548RXVxUHbYhAW9bZWfb2rnX9QsbbP5nmeJ5Z4+ng== + dependencies: + eslint-visitor-keys "^1.1.0" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" From b2fa77d0a88d9527748104f3d7ae1fed9cab4fae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 17:20:39 +0000 Subject: [PATCH 128/385] Bump eslint from 7.2.0 to 7.6.0 Bumps [eslint](https://github.com/eslint/eslint) from 7.2.0 to 7.6.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.2.0...v7.6.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 191 +++++++++++---------------------------------------- 2 files changed, 40 insertions(+), 153 deletions(-) diff --git a/package.json b/package.json index a4c8612e..2ae06da8 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "css-loader": "^3.6.0", "electron": "9.0.4", "electron-builder": "22.7.0", - "eslint": "^7.2.0", + "eslint": "^7.6.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", "friendly-errors-webpack-plugin": "^1.6.1", diff --git a/yarn.lock b/yarn.lock index 83ded16f..9e60a1bc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -425,10 +425,10 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== -acorn@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" - integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== +acorn@^7.3.1: + version "7.4.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" + integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== ajv-errors@^1.0.0: version "1.0.1" @@ -457,12 +457,10 @@ ansi-align@^3.0.0: dependencies: string-width "^3.0.0" -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-regex@^2.0.0: version "2.1.1" @@ -1003,11 +1001,6 @@ chalk@^4.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -1094,18 +1087,6 @@ cli-boxes@^2.2.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -1756,6 +1737,13 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: memory-fs "^0.5.0" tapable "^1.0.0" +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + entities@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" @@ -1861,22 +1849,22 @@ eslint-scope@^5.0.0, eslint-scope@^5.1.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd" - integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa" - integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ== +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.2.0.tgz#d41b2e47804b30dbabb093a967fb283d560082e6" - integrity sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ== +eslint@^7.6.0: + version "7.6.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.6.0.tgz#522d67cfaea09724d96949c70e7a0550614d64d6" + integrity sha512-QlAManNtqr7sozWm5TF4wIH9gmUm2hE3vNRUvyoYAa4y1l5/jxD/PQStEjBMQtCqZmSep8UxrcecI60hOpe61w== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" @@ -1884,10 +1872,11 @@ eslint@^7.2.0: cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" + enquirer "^2.3.5" eslint-scope "^5.1.0" - eslint-utils "^2.0.0" - eslint-visitor-keys "^1.2.0" - espree "^7.1.0" + eslint-utils "^2.1.0" + eslint-visitor-keys "^1.3.0" + espree "^7.2.0" esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -1897,12 +1886,11 @@ eslint@^7.2.0: ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^7.0.0" is-glob "^4.0.0" js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.14" + lodash "^4.17.19" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -1915,14 +1903,14 @@ eslint@^7.2.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz#a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c" - integrity sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw== +espree@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" + integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== dependencies: - acorn "^7.2.0" + acorn "^7.3.1" acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.2.0" + eslint-visitor-keys "^1.3.0" esprima@^4.0.0: version "4.0.1" @@ -2006,15 +1994,6 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2071,13 +2050,6 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -2611,13 +2583,6 @@ hunspell-asm@^4.0.2: emscripten-wasm-loader "^3.0.3" nanoid "^2.1.5" -iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - iconv-lite@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.1.tgz#b2425d3c7b18f7219f2ca663d103bddb91718d64" @@ -2711,25 +2676,6 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" - integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== - dependencies: - ansi-escapes "^4.2.1" - chalk "^3.0.0" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.5.3" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - interpret@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -3133,7 +3079,7 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15: +lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: version "4.17.19" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== @@ -3278,11 +3224,6 @@ mime@^2.4.5: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -3363,11 +3304,6 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - nan@^2.12.1: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" @@ -3557,13 +3493,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -3581,11 +3510,6 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" @@ -4145,14 +4069,6 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -4192,11 +4108,6 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -4204,13 +4115,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== - dependencies: - tslib "^1.9.0" - safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -4762,11 +4666,6 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -4774,13 +4673,6 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -4881,11 +4773,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - type-fest@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" From d5c82d5164dd5ccd3623425a7294be748bce4fd6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 17:21:52 +0000 Subject: [PATCH 129/385] Bump @typescript-eslint/eslint-plugin from 3.3.0 to 3.9.0 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.3.0 to 3.9.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.9.0/packages/eslint-plugin) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 34 ++++++---------------------------- 2 files changed, 7 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index bccc0214..21a971ad 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/webpack": "^4.41.17", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^1.7.1", - "@typescript-eslint/eslint-plugin": "^3.3.0", + "@typescript-eslint/eslint-plugin": "^3.9.0", "@typescript-eslint/parser": "^3.9.0", "cross-env": "^7.0.2", "css-loader": "^3.6.0", diff --git a/yarn.lock b/yarn.lock index d3a3a7c3..f2a11e9b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,27 +211,18 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.3.0.tgz#89518e5c5209a349bde161c3489b0ec187ae5d37" - integrity sha512-Ybx/wU75Tazz6nU2d7nN6ll0B98odoiYLXwcuwS5WSttGzK46t0n7TPRQ4ozwcTv82UY6TQoIvI+sJfTzqK9dQ== +"@typescript-eslint/eslint-plugin@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.9.0.tgz#0fe529b33d63c9a94f7503ca2bb12c84b9477ff3" + integrity sha512-UD6b4p0/hSe1xdTvRCENSx7iQ+KR6ourlZFfYuPC7FlXEzdHuLPrEmuxZ23b2zW96KJX9Z3w05GE/wNOiEzrVg== dependencies: - "@typescript-eslint/experimental-utils" "3.3.0" + "@typescript-eslint/experimental-utils" "3.9.0" + debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.3.0.tgz#d72a946e056a83d4edf97f3411cceb639b0b8c87" - integrity sha512-d4pGIAbu/tYsrPrdHCQ5xfadJGvlkUxbeBB56nO/VGmEDi/sKmfa5fGty5t5veL1OyJBrUmSiRn1R1qfVDydrg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "3.3.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - "@typescript-eslint/experimental-utils@3.9.0": version "3.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.0.tgz#3171d8ddba0bf02a8c2034188593630914fcf5ee" @@ -259,19 +250,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.0.tgz#be9d0aa451e1bf3ce99f2e6920659e5b2e6bfe18" integrity sha512-rb6LDr+dk9RVVXO/NJE8dT1pGlso3voNdEIN8ugm4CWM5w5GimbThCMiMl4da1t5u3YwPWEwOnKAULCZgBtBHg== -"@typescript-eslint/typescript-estree@3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.3.0.tgz#841ffed25c29b0049ebffb4c2071268a34558a2a" - integrity sha512-3SqxylENltEvJsjjMSDCUx/edZNSC7wAqifUU1Ywp//0OWEZwMZJfecJud9XxJ/40rAKEbJMKBOQzeOjrLJFzQ== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - "@typescript-eslint/typescript-estree@3.9.0": version "3.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.0.tgz#c6abbb50fa0d715cab46fef67ca6378bf2eaca13" From d16fbf772501355237410dc68396d81882101bdd Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 13:48:56 -0400 Subject: [PATCH 130/385] Small formatting problem --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 7b42a12f..8b03f4c7 100644 --- a/src/background.ts +++ b/src/background.ts @@ -221,7 +221,7 @@ if (!isFirstInstance) { } } - if (IS_LINUX) { + if (IS_LINUX) { if (!mainWindow.isFocused()) { mainWindow.flashFrame(true); } From 281ddfd7f75982f14c27c3d6adb0b4aeb96744a1 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 11 Aug 2020 22:20:42 +0000 Subject: [PATCH 131/385] 40 bugfix notification duplication (#75) * Deduplication of notifications This was a fundamental rework of how notifications work and means that there is no chance for two notifications to be issued. Previously the code was essentially creating two notification objects which in theory had the chance of showing two notifications in strange circumstances. --- src/background.ts | 63 ------------------- src/bridge.ts | 128 ++++++++++++++------------------------- src/helpers/constants.ts | 3 - 3 files changed, 47 insertions(+), 147 deletions(-) diff --git a/src/background.ts b/src/background.ts index 8b03f4c7..e970ffaf 100644 --- a/src/background.ts +++ b/src/background.ts @@ -3,10 +3,7 @@ import { Event as ElectronEvent, ipcMain, Menu, - nativeImage, nativeTheme, - Notification, - NotificationConstructorOptions, shell, } from "electron"; import settings from "electron-settings"; @@ -16,12 +13,10 @@ import path from "path"; import { BASE_APP_PATH, EVENT_BRIDGE_INIT, - EVENT_NOTIFICATION_REFLECT_READY, EVENT_REFLECT_DISK_CACHE, EVENT_SPELLING_REFLECT_READY, EVENT_SPELL_ADD_CUSTOM_WORD, EVENT_UPDATE_USER_SETTING, - EVENT_WEBVIEW_NOTIFICATION, IMG_CACHE_PATH, IS_DEV, IS_LINUX, @@ -40,7 +35,6 @@ import { devMenuTemplate } from "./menu/devMenu"; import { helpMenuTemplate } from "./menu/helpMenu"; const state = { - unreadNotificationCount: 0, bridgeInitDone: false, }; @@ -181,68 +175,11 @@ if (!isFirstInstance) { trayManager.startIfEnabled(); mainWindow.on("focus", () => { - if (IS_MAC) { - state.unreadNotificationCount = 0; - app.dock.setBadge(""); - } - if (IS_WINDOWS && trayManager?.overlayVisible) { trayManager.toggleOverlay(false); } }); - ipcMain.on( - EVENT_WEBVIEW_NOTIFICATION, - ( - event, - { title, options }: { title: string; options?: NotificationOptions } - ) => { - if (options) { - const notificationOpts: NotificationConstructorOptions = settingsManager.hideNotificationContent - ? { - title: "Android Messages Desktop", - body: "New Message", - } - : { - title, - body: options.body || "", - icon: - options.image != null - ? nativeImage.createFromDataURL(options.image) - : path.resolve(RESOURCES_PATH, "icons", "64x64.png"), - }; - notificationOpts.silent = !settingsManager.notificationSound; - const customNotification = new Notification(notificationOpts); - - if (IS_MAC) { - if (!mainWindow.isFocused()) { - state.unreadNotificationCount += 1; - app.dock.setBadge(state.unreadNotificationCount.toString()); - } - } - - if (IS_LINUX) { - if (!mainWindow.isFocused()) { - mainWindow.flashFrame(true); - } - } - - trayManager?.toggleOverlay(true); - - customNotification.once("click", () => { - mainWindow.show(); - }); - - // Allows us to marry our custom notification and its behavior with the helpful behavior - // (conversation highlighting) that Google provides. See the webview bridge for details. - global.currentNotification = customNotification; - event.sender.send(EVENT_NOTIFICATION_REFLECT_READY, true); - - customNotification.show(); - } - } - ); - ipcMain.on(EVENT_BRIDGE_INIT, async (event) => { if (state.bridgeInitDone) { return; diff --git a/src/bridge.ts b/src/bridge.ts index b888f2e6..8747fd74 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,25 +1,31 @@ import { ipcRenderer, - Notification as ElectronNotification, remote, + NativeImage, + NotificationConstructorOptions, } from "electron"; import { attachSpellCheckProvider, SpellCheckerProvider, } from "electron-hunspell"; import fs from "fs"; +import path from "path"; import { CacheManager } from "./helpers/cacheManager"; import { EVENT_BRIDGE_INIT, - EVENT_NOTIFICATION_REFLECT_READY, EVENT_REFLECT_DISK_CACHE, EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, - EVENT_WEBVIEW_NOTIFICATION, + SETTING_HIDE_NOTIFICATION, + RESOURCES_PATH, + SETTING_NOTIFICATION_SOUND, } from "./helpers/constants"; import { Dictionary } from "./helpers/dictionaryManager"; import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; +import settings from "electron-settings"; + +const { Notification: ElectronNotification, app, nativeImage } = remote; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -120,8 +126,6 @@ ipcRenderer.once( } ); -const OriginalBrowserNotification = Notification; - /** * Override the webview's window's instance of the Notification class and forward their data to the * main process. This is Necessary to generate and send a custom notification via Electron instead @@ -135,93 +139,55 @@ const OriginalBrowserNotification = Notification; */ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore -Notification = function (title: string, options?: NotificationOptions) { - if (options != null && cacheManager != null) { +window.Notification = function (title: string, options: NotificationOptions) { + let icon: NativeImage | undefined; + if (cacheManager != null) { const potentialImg = cacheManager.getProfileImg(title); if (potentialImg != null) { if (typeof potentialImg === "string") { - options.image = potentialImg; + icon = nativeImage.createFromDataURL(potentialImg); } else { potentialImg(); } } } - const notificationToSend = new OriginalBrowserNotification(title, options); // Still send the webview notification event so the rest of this code runs (and the ipc event fires) - - /** - * Google's own notifications have a click event listener which takes care of highlighting - * the conversation a notification belongs to, but this click listener does not carry over - * when we block Google's and create our own Electron notification. - * - * What I would like to do here is just pass the listener function over IPC and call it in - * the main process. - * - * However, Electron does not support sending functions or otherwise non-JSON data across IPC. - * To solve this and be able to have both our click event listener (so we can show the app - * window) and Google's (so the converstaion gets selected/highlighted), when the main process - yncronously receives the notification data, it asyncronously sends a message back at which - * time we can reliably get a reference to the Electron notification and attach Google's click - * event listener. - */ - - /** - * I do not understand exactly what is going on here and will leave it for the time being - * TODO: understand what is going on and make it better - */ - - type Type = "click" | "close" | "error" | "show"; - type Listener = (ev: NotificationEventMap[Type]) => unknown; - type Options = undefined | boolean | AddEventListenerOptions; - let originalClickListener: Listener | undefined; - - const originalAddEventListener = notificationToSend.addEventListener; - // Seems silly to have these be correct as there is no way to mess it up - notificationToSend.addEventListener = ( - type: Type, - listener: Listener, - options?: Options - ) => { - if (type === "click") { - originalClickListener = listener; - } else { - // Let all other event listeners be called, though they shouldn't have any effect - // because the original notification is blocked in the renderer process. - originalAddEventListener.call( - notificationToSend, - type, - listener, - options - ); - } - }; - /** - * - * This is ugly and I am not positive it is necessary - * In the future I aim to make it so we do not need to pass the notification around as a global variable - * I have ideas to do so which include but are not limited to listening for an event dispatched from the main process - * when the notification is clicked and calling the listener instead of adding it directly - * - */ - - ipcRenderer.once(EVENT_NOTIFICATION_REFLECT_READY, () => { - const theHookedUpNotification: ElectronNotification = remote.getGlobal( - "currentNotification" - ); - if (originalClickListener != null) { - theHookedUpNotification.once("click", originalClickListener); - } - }); + const hideContent = settings.get(SETTING_HIDE_NOTIFICATION, false) as boolean; - ipcRenderer.send(EVENT_WEBVIEW_NOTIFICATION, { - title, - options, + const notificationOpts: NotificationConstructorOptions = hideContent + ? { + title: "New Message", + body: "Click to open", + icon: path.resolve(RESOURCES_PATH, "icons", "64x64.png"), + } + : { + title, + icon, + body: options.body || "", + }; + + notificationOpts.silent = settings.get( + SETTING_NOTIFICATION_SOUND, + true + ) as boolean; + + const notification = new ElectronNotification(notificationOpts); + notification.addListener("click", () => { + app.mainWindow?.show(); + document.dispatchEvent(new Event("focus")); }); - - return notificationToSend; + // Mock the api for adding event listeners for a normal Browser notification + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + notification.addEventListener = notification.addListener; + notification.show(); + if (!app.mainWindow?.isFocused()) { + app.mainWindow?.flashFrame(true); + } + return notification; }; -Notification.prototype = OriginalBrowserNotification.prototype; +// THIS IS NEEDED FOR GOOGLE TO ISSUE NOTIFICATIONS // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore -Notification.permission = OriginalBrowserNotification.permission; -Notification.requestPermission = OriginalBrowserNotification.requestPermission; +Notification.permission = "granted"; +Notification.requestPermission = async () => "granted"; diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 06014323..4632d99e 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -43,9 +43,6 @@ export const SETTING_START_IN_TRAY = "startInTrayPref"; export const SETTING_AUTOHIDE_MENU = "autoHideMenuPref"; // Events -export const EVENT_WEBVIEW_NOTIFICATION = "messages-webview-notification"; -export const EVENT_NOTIFICATION_REFLECT_READY = - "messages-webview-reflect-ready"; export const EVENT_BRIDGE_INIT = "messages-bridge-init"; export const EVENT_SPELL_ADD_CUSTOM_WORD = "messages-spelling-add-custom-word"; export const EVENT_SPELLING_REFLECT_READY = "messages-spelling-reflect-ready"; From b8b2d357389be1c2da3f74fc30d50634b33af438 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 18:43:49 -0400 Subject: [PATCH 132/385] General project cleanup --- electron-builder.js | 8 ++++++-- resources/tray/icon@2x.png | Bin 1031 -> 0 bytes resources/tray/icon_macTemplate@2x.png | Bin 631 -> 0 bytes resources/tray/tray_with_badge.ico | Bin 33820 -> 0 bytes 4 files changed, 6 insertions(+), 2 deletions(-) delete mode 100644 resources/tray/icon@2x.png delete mode 100644 resources/tray/icon_macTemplate@2x.png delete mode 100644 resources/tray/tray_with_badge.ico diff --git a/electron-builder.js b/electron-builder.js index 44010f91..2ffc3e8c 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,6 +1,6 @@ module.exports = { appId: "pw.electron.android-messages", - artifactName: "${productName}-${version}.${ext}", + artifactName: "${productName}v${version}-${os}-${arch}.${ext}", productName: "AndroidMessages", copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], @@ -21,9 +21,13 @@ module.exports = { target: ["zip", "dmg"], }, portable: { - artifactName: "${productName}-portable-${version}.${ext}", + artifactName: "${productName}v${version}-${os}-${arch}.portable.${ext}", }, snap: { publish: ["github"], }, + nsis: { + allowToChangeInstallationDirectory: true, + oneClick: false, + }, }; diff --git a/resources/tray/icon@2x.png b/resources/tray/icon@2x.png deleted file mode 100644 index 5381433e41147041eefad9612403f526d4540fdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+0817l2pPlzi}fmHDe+M(^| z-`{!q;pXEH+s?fYn)0f7`K^y1KfZhaF>Kmv>C7t!&Od$m=F^VzUmraGwBpDssp98W zrDtBgdH?#|$44(d-F^D$j;|!_(JaJbwA<(*4i3pM1Lc`16$qpU>a@ z{PfkQi+A3fzW(z1!_OD)et!M-` znLOgbf%ckloI|LW5Mw1D9&UlQaO3=HPn)i*xeUSqKS&tHy7lcmqgJm9=w zl(Y6D*G0pd>ufnD$O4rzCV9KN6gzU-o&$2&OFVsD*`Khn@=02nv;5ivl&@bV_#p>@R?Rk{X3o0}yRL0bXzl2d3N%=ez*zl$@9+Qecbv2q*j3DbcBalcy*zE* z*>C)tRu@^!mJl!4Y3tWM&6pu>o8*c|5$i=iY%MsT(f55O!$JNvpSal+1X#9mv6(1{ zuzeNbTgkxxs(U??;5x!bW*W^sazKPJ%J9I1f-1H{XWrb|qoRKzl0|2dPBY^~yGqVO zF;1uSwO1bEVhZyNI>K z%-Hjdo1yIDTQ4Pj@27ifS!7=9?+AJz@b}S*5FMG*>XIyTUeyY`&^UK4@Yf?Fcj?kn zUn|KAX^m2a#nt8UR}VkFyxESsbe8`5{P&@?HFc89f4;W6k<4qR_3imwmuT7bmi^pn z@hugr^^?NVx6Yg+x^k=Bw`I#?Sr+X+{OIibue=fm(!YjpVq5`?8`Tomh?11Vl2ohY zqEsNoU}Ruqple{JYhW5;Xkuk#YGrDuZD3$!VDPNg#|cG4ZhlH;S|x4`(-pq_18QLK MboFyt=akR{011@xS^xk5 diff --git a/resources/tray/icon_macTemplate@2x.png b/resources/tray/icon_macTemplate@2x.png deleted file mode 100644 index 9ae6ae7c917320f2247ea00dacf1da42b20dc5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 631 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-G$+Qd;gjJKpuOE zr>`sf6E;>pNlSBZNCuj3+D=zV-m?La@N#zEPg0h z!|cs{{+O6W+(VOnN9P(IR1OqgeDMZ{dom;2x=8N6yQ(_Ro6eL>|GodsnR9=*muWl- zQeSesL(tag)ee!3TW#rcbxaR+!FBmb))G6<=~bJ|HT)a zKlABLH1oZuMQb@Kf*byMHH3#c?GSq4YPxYH7R(J{1rmzwS!<LC(ywy9y=xp^ZwZLQP86y8LoZ7o^=JUN?%^fXMrnGdh zg?|40kNZ&Lj^*#ZZ;S!Pj%tZ(L`h0wNvc(HQ7VvPFfuSQ&^0jAH82e^G_f)=wK6r- oHZZUZc%2P!1z;z@H#%F_ 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 Q^7X(`duO{2l7Gto0f`?C`Tzg` From 21725ce5047770ad061c2922f4baa5b45a9c8ed3 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 18:46:23 -0400 Subject: [PATCH 133/385] remove unused key --- electron-builder.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index 2ffc3e8c..836a738f 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -23,9 +23,6 @@ module.exports = { portable: { artifactName: "${productName}v${version}-${os}-${arch}.portable.${ext}", }, - snap: { - publish: ["github"], - }, nsis: { allowToChangeInstallationDirectory: true, oneClick: false, From 6e24337ffb2a8bb3346926934a9240303eae8e02 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 22:50:31 +0000 Subject: [PATCH 134/385] Bump electron from 9.0.4 to 9.2.0 Bumps [electron](https://github.com/electron/electron) from 9.0.4 to 9.2.0. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v9.0.4...v9.2.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e14dd565..904a0227 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@typescript-eslint/parser": "^3.9.0", "cross-env": "^7.0.2", "css-loader": "^3.6.0", - "electron": "9.0.4", + "electron": "9.2.0", "electron-builder": "22.7.0", "eslint": "^7.6.0", "eslint-config-prettier": "^6.11.0", diff --git a/yarn.lock b/yarn.lock index 85254c25..43cd0747 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1686,10 +1686,10 @@ electron-updater@4.3.1: lodash.isequal "^4.5.0" semver "^7.1.3" -electron@9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.4.tgz#5aa72c1576c82c19f6e087311ffe1d7b74358d25" - integrity sha512-QzkeZNAiNB7KxcdoQKSoaiVT/GQdB4Vt0/ZZOuU8tIKABAsni2I7ztiAbUzxcsnQsqEBSfChuPuDQ5A4VbbzPg== +electron@9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-9.2.0.tgz#d9fc8c8c9e5109669c366bd7b9ba83b06095d7a4" + integrity sha512-4ecZ3rcGg//Gk4fAK3Jo61T+uh36JhU6HHR/PTujQqQiBw1g4tNPd4R2hGGth2d+7FkRIs5GdRNef7h64fQEMw== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From 00620fa680f1f3bece6e5f94b8b9b9d7325085e8 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 19:03:26 -0400 Subject: [PATCH 135/385] Small typing problem from the update --- src/menu/settingsMenu.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index ff10ed3c..5853a3c6 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -20,11 +20,11 @@ export const settingsMenu: MenuItemConstructorOptions = { id: "autoHideMenuBarMenuItem", label: "Auto Hide Menu Bar", type: "checkbox", - click: (item: MenuItem, window: BrowserWindow): void => { + click: (item: MenuItem, window?: BrowserWindow): void => { const autoHideMenuPref = !settings.get("autoHideMenuPref"); settings.set("autoHideMenuPref", autoHideMenuPref); item.checked = autoHideMenuPref; - window.setAutoHideMenuBar(autoHideMenuPref); + window?.setAutoHideMenuBar(autoHideMenuPref); }, }, { From 5bdb47539f59d3da100ac0068bc414daa3fbd106 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:12:04 +0000 Subject: [PATCH 136/385] Bump ts-loader from 7.0.5 to 8.0.2 Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 7.0.5 to 8.0.2. - [Release notes](https://github.com/TypeStrong/ts-loader/releases) - [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/TypeStrong/ts-loader/compare/v7.0.5...v8.0.2) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e14dd565..03ec5299 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "prettier": "^2.0.5", "source-map-support": "^0.5.19", "style-loader": "^1.2.1", - "ts-loader": "^7.0.5", + "ts-loader": "^8.0.2", "ts-node": "^8.10.2", "typescript": "^3.9.5", "webpack": "^4.43.0", diff --git a/yarn.lock b/yarn.lock index 85254c25..8d0e8f03 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4738,10 +4738,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-7.0.5.tgz#789338fb01cb5dc0a33c54e50558b34a73c9c4c5" - integrity sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig== +ts-loader@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.2.tgz#ee73ca9350f745799396fff8578ba29b1e95616b" + integrity sha512-oYT7wOTUawYXQ8XIDsRhziyW0KUEV38jISYlE+9adP6tDtG+O5GkRe4QKQXrHVH4mJJ88DysvEtvGP65wMLlhg== dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" From e01e1458334ca9d4ea63169faa60c209a787b169 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:12:09 +0000 Subject: [PATCH 137/385] Bump @types/webpack-node-externals from 1.7.1 to 2.5.0 Bumps [@types/webpack-node-externals](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack-node-externals) from 1.7.1 to 2.5.0. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack-node-externals) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e14dd565..19b92827 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/node-fetch": "^2.5.7", "@types/webpack": "^4.41.17", "@types/webpack-merge": "^4.1.5", - "@types/webpack-node-externals": "^1.7.1", + "@types/webpack-node-externals": "^2.5.0", "@typescript-eslint/eslint-plugin": "^3.9.0", "@typescript-eslint/parser": "^3.9.0", "cross-env": "^7.0.2", diff --git a/yarn.lock b/yarn.lock index 85254c25..a7ff9337 100644 --- a/yarn.lock +++ b/yarn.lock @@ -171,10 +171,10 @@ dependencies: "@types/webpack" "*" -"@types/webpack-node-externals@^1.7.1": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@types/webpack-node-externals/-/webpack-node-externals-1.7.1.tgz#73d0d7ae0e98cfbd69b7443388302cd69217494a" - integrity sha512-kbO2gYPKvMb5j1KOgnIuUH52CKul9Ud4b10J5n+JX8oHmgu86hYpBVfrV4bMDe5lhCaO64h8QrKz7WnRZzqkbA== +"@types/webpack-node-externals@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@types/webpack-node-externals/-/webpack-node-externals-2.5.0.tgz#bcd161af84a4960416e5850e06931b35321c6654" + integrity sha512-KaWfhUQlpWknM/CMBKhV7i0vxX/N2xEy3WeaE500s4ZNxC4nLnKB+0F3gD3Fg+5octPq0nn8ZlfFR/P3dSkXpw== dependencies: "@types/webpack" "*" From 9558ab6892f10bc3598512c5269424ec7dd62643 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:15:34 +0000 Subject: [PATCH 138/385] Bump electron-builder from 22.7.0 to 22.8.0 Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 22.7.0 to 22.8.0. - [Release notes](https://github.com/electron-userland/electron-builder/releases) - [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/electron-userland/electron-builder/compare/v22.7.0...v22.8.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 148 ++++++++++++++++++++++++++++----------------------- 2 files changed, 81 insertions(+), 69 deletions(-) diff --git a/package.json b/package.json index 904a0227..098aa3c7 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "cross-env": "^7.0.2", "css-loader": "^3.6.0", "electron": "9.2.0", - "electron-builder": "22.7.0", + "electron-builder": "22.8.0", "eslint": "^7.6.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", diff --git a/yarn.lock b/yarn.lock index 43cd0747..8f2121b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -539,23 +539,23 @@ app-builder-bin@3.5.9: resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.9.tgz#a3ac0c25286bac68357321cb2eaf7128b0bc0a4f" integrity sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg== -app-builder-lib@22.7.0: - version "22.7.0" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.7.0.tgz#ccd3e7ece2d46bc209423a77aa142f74aaf65db0" - integrity sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g== +app-builder-lib@22.8.0: + version "22.8.0" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.8.0.tgz#342a8976f50ae35cfd07412dbfd4f6c895b32eac" + integrity sha512-RGaIRjCUrqkmh6QOGsyekQPEOaVynHfmeh8JZuyUymFYUOFdzBbPamkA2nhBVBTkkgfjRHsxK7LhedFKPzvWEQ== dependencies: "7zip-bin" "~5.0.3" "@develar/schema-utils" "~2.6.5" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.7.0" - builder-util-runtime "8.7.1" + builder-util "22.8.0" + builder-util-runtime "8.7.2" chromium-pickle-js "^0.2.0" - debug "^4.2.0" + debug "^4.1.1" ejs "^3.1.3" - electron-publish "22.7.0" - fs-extra "^9.0.0" - hosted-git-info "^3.0.4" + electron-publish "22.8.0" + fs-extra "^9.0.1" + hosted-git-info "^3.0.5" is-ci "^2.0.0" isbinaryfile "^4.0.6" js-yaml "^3.14.0" @@ -881,28 +881,28 @@ builder-util-runtime@8.7.0: debug "^4.1.1" sax "^1.2.4" -builder-util-runtime@8.7.1: - version "8.7.1" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz#23c808cddd650d4376a7a1518ec1e80e85c10f00" - integrity sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg== +builder-util-runtime@8.7.2: + version "8.7.2" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz#d93afc71428a12789b437e13850e1fa7da956d72" + integrity sha512-xBqv+8bg6cfnzAQK1k3OGpfaHg+QkPgIgpEkXNhouZ0WiUkyZCftuRc2LYzQrLucFywpa14Xbc6+hTbpq83yRA== dependencies: - debug "^4.2.0" + debug "^4.1.1" sax "^1.2.4" -builder-util@22.7.0: - version "22.7.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.7.0.tgz#0776a66e6d6e408a78bed7f17a7ad22516d9e7f0" - integrity sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg== +builder-util@22.8.0: + version "22.8.0" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.8.0.tgz#01684085d1f2370b1bd182f69cbd007426f63f64" + integrity sha512-H80P1JzVy3TGpi63x81epQDK24XalL034+jAZlrPb5IhLtYmnNNdxCCAVJvg3VjSISd73Y71O+uhqCxWpqbPHw== dependencies: "7zip-bin" "~5.0.3" "@types/debug" "^4.1.5" "@types/fs-extra" "^9.0.1" app-builder-bin "3.5.9" bluebird-lst "^1.0.9" - builder-util-runtime "8.7.1" - chalk "^4.0.0" - debug "^4.2.0" - fs-extra "^9.0.0" + builder-util-runtime "8.7.2" + chalk "^4.1.0" + debug "^4.1.1" + fs-extra "^9.0.1" is-ci "^2.0.0" js-yaml "^3.14.0" source-map-support "^0.5.19" @@ -1009,10 +1009,10 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" - integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -1395,7 +1395,7 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== @@ -1500,15 +1500,15 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dmg-builder@22.7.0: - version "22.7.0" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.7.0.tgz#ead7e7c046cbdc52d29d302a4455f6668cdf7d45" - integrity sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg== +dmg-builder@22.8.0: + version "22.8.0" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.8.0.tgz#2b17127837ed444db3086317eda5cf8912f6e6a9" + integrity sha512-orePWjcrl97SYLA8F/6UUtbXJSoZCYu5KOP1lVqD4LOomr8bjGDyEVYZmZYcg5WqKmXucdmO6OpqgzH/aRMMuA== dependencies: - app-builder-lib "22.7.0" - builder-util "22.7.0" - fs-extra "^9.0.0" - iconv-lite "^0.5.1" + app-builder-lib "22.8.0" + builder-util "22.8.0" + fs-extra "^9.0.1" + iconv-lite "^0.6.2" js-yaml "^3.14.0" sanitize-filename "^1.6.3" @@ -1624,19 +1624,19 @@ ejs@^3.1.3: dependencies: jake "^10.6.1" -electron-builder@22.7.0: - version "22.7.0" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.7.0.tgz#a42d08a1654ffc2f7d9e2860829d3cc55d4a0c81" - integrity sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ== +electron-builder@22.8.0: + version "22.8.0" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.8.0.tgz#d2c9fc5438c834e41fd794a271fca200165a3bad" + integrity sha512-dUv4F3srJouqxhWivtKqSoQP4Df6vYgjooGdzms+iYMTFi9f0b4LlEbr7kgsPvte8zAglee7VOGOODkCRJDkUQ== dependencies: "@types/yargs" "^15.0.5" - app-builder-lib "22.7.0" + app-builder-lib "22.8.0" bluebird-lst "^1.0.9" - builder-util "22.7.0" - builder-util-runtime "8.7.1" - chalk "^4.0.0" - dmg-builder "22.7.0" - fs-extra "^9.0.0" + builder-util "22.8.0" + builder-util-runtime "8.7.2" + chalk "^4.1.0" + dmg-builder "22.8.0" + fs-extra "^9.0.1" is-ci "^2.0.0" lazy-val "^1.0.4" read-config-file "6.0.0" @@ -1651,19 +1651,19 @@ electron-hunspell@1.1.2: dependencies: hunspell-asm "^4.0.2" -electron-publish@22.7.0: - version "22.7.0" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.7.0.tgz#d92ba7c4007c9ac1dd070593e48028184fb2dc19" - integrity sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg== +electron-publish@22.8.0: + version "22.8.0" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.8.0.tgz#7f410fe043abc5d3d896c4ee9eea7a43ea352c7d" + integrity sha512-uM0Zdi9hUqqGOrPj478v7toTvV1Kgto1w11rIiI168batiXAJvNLD8VZRfehOrZT0ibUyZlw8FtxoGCrjyHUOw== dependencies: "@types/fs-extra" "^9.0.1" bluebird-lst "^1.0.9" - builder-util "22.7.0" - builder-util-runtime "8.7.1" - chalk "^4.0.0" - fs-extra "^9.0.0" + builder-util "22.8.0" + builder-util-runtime "8.7.2" + chalk "^4.1.0" + fs-extra "^9.0.1" lazy-val "^1.0.4" - mime "^2.4.5" + mime "^2.4.6" electron-settings@3.2.0: version "3.2.0" @@ -2205,7 +2205,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: +fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== @@ -2534,12 +2534,12 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== -hosted-git-info@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.4.tgz#be4973eb1fd2737b11c9c7c19380739bb249f60d" - integrity sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ== +hosted-git-info@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.5.tgz#bea87905ef7317442e8df3087faa3c842397df03" + integrity sha512-i4dpK6xj9BIpVOTboXIlKG9+8HMKggcrMX7WA24xZtKwX0TPelq/rbaS5rCKeNX8sJXZJGdSxpnEGtta+wismQ== dependencies: - lru-cache "^5.1.1" + lru-cache "^6.0.0" html-minifier-terser@^5.0.1: version "5.1.1" @@ -2599,12 +2599,12 @@ hunspell-asm@^4.0.2: emscripten-wasm-loader "^3.0.3" nanoid "^2.1.5" -iconv-lite@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.1.tgz#b2425d3c7b18f7219f2ca663d103bddb91718d64" - integrity sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q== +iconv-lite@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" + integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== dependencies: - safer-buffer ">= 2.1.2 < 3" + safer-buffer ">= 2.1.2 < 3.0.0" icss-utils@^4.0.0, icss-utils@^4.1.1: version "4.1.1" @@ -3124,6 +3124,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -3235,7 +3242,7 @@ mime-types@^2.1.12: dependencies: mime-db "1.44.0" -mime@^2.4.5: +mime@^2.4.6: version "2.4.6" resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== @@ -4148,7 +4155,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -5170,6 +5177,11 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" From 6b48029f7e5271bbd8cd7bad9d307c796c27bf7b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:16:17 +0000 Subject: [PATCH 139/385] Bump typescript from 3.9.5 to 3.9.7 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.5 to 3.9.7. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.5...v3.9.7) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 904a0227..24955a79 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "style-loader": "^1.2.1", "ts-loader": "^7.0.5", "ts-node": "^8.10.2", - "typescript": "^3.9.5", + "typescript": "^3.9.7", "webpack": "^4.43.0", "webpack-cli": "^3.3.12", "webpack-merge": "^4.2.2", diff --git a/yarn.lock b/yarn.lock index 43cd0747..095b72ca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4811,10 +4811,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.9.5: - version "3.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36" - integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ== +typescript@^3.9.7: + version "3.9.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== union-value@^1.0.0: version "1.0.1" From aa67c1915b43d5612f56127ba888de5950b4424e Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 19:18:42 -0400 Subject: [PATCH 140/385] Increase limit to version bump pull requests --- .github/dependabot.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8abca405..dc6a5c7b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -9,3 +9,4 @@ updates: directory: "/" # Location of package manifests schedule: interval: "daily" + open-pull-requests-limit: 10 From a516f910169a9a41e51ab2974bf4865985f86303 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:21:36 +0000 Subject: [PATCH 141/385] Bump fs-jetpack from 2.4.0 to 3.1.0 Bumps [fs-jetpack](https://github.com/szwacz/fs-jetpack) from 2.4.0 to 3.1.0. - [Release notes](https://github.com/szwacz/fs-jetpack/releases) - [Changelog](https://github.com/szwacz/fs-jetpack/blob/master/CHANGELOG.md) - [Commits](https://github.com/szwacz/fs-jetpack/compare/2.4.0...3.1.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 904a0227..ac2f8d60 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "electron-hunspell": "1.1.2", "electron-settings": "3.2.0", "electron-updater": "4.3.1", - "fs-jetpack": "^2.4.0", + "fs-jetpack": "^3.1.0", "node-fetch": "^2.6.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 43cd0747..c29f6b28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2215,10 +2215,10 @@ fs-extra@^9.0.0: jsonfile "^6.0.1" universalify "^1.0.0" -fs-jetpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-2.4.0.tgz#6080c4ab464a019d37a404baeb47f32af8835026" - integrity sha512-S/o9Dd7K9A7gicVU32eT8G0kHcmSu0rCVdP79P0MWInKFb8XpTc8Syhoo66k9no+HDshtlh4pUJTws8X+8fdFQ== +fs-jetpack@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-3.1.0.tgz#0fed50641fefbb8cd74fd09351300aad059e66fb" + integrity sha512-PZFMZKhW1AfTUHwWrSfn5rAW4a82d9a9UnfOT0pbJilm+6PWww/YAZkgBiELFaNLxxLe+NG72oqGge1RHCgIKA== dependencies: minimatch "^3.0.2" rimraf "^2.6.3" From b667ada8c28996badea82453f48c8cd9ad38d36b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:21:53 +0000 Subject: [PATCH 142/385] Bump @types/webpack from 4.41.17 to 4.41.21 Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.17 to 4.41.21. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 904a0227..fc8e2776 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "12", "@types/node-fetch": "^2.5.7", - "@types/webpack": "^4.41.17", + "@types/webpack": "^4.41.21", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^1.7.1", "@typescript-eslint/eslint-plugin": "^3.9.0", diff --git a/yarn.lock b/yarn.lock index 43cd0747..fde7038d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -187,10 +187,10 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.17", "@types/webpack@^4.41.8": - version "4.41.17" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.17.tgz#0a69005e644d657c85b7d6ec1c826a71bebd1c93" - integrity sha512-6FfeCidTSHozwKI67gIVQQ5Mp0g4X96c2IXxX75hYEQJwST/i6NyZexP//zzMOBb+wG9jJ7oO8fk9yObP2HWAw== +"@types/webpack@*", "@types/webpack@^4.41.21", "@types/webpack@^4.41.8": + version "4.41.21" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee" + integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA== dependencies: "@types/anymatch" "*" "@types/node" "*" From 3f47a0ec84282051ee21a45c16a2c559b02132f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:31:17 +0000 Subject: [PATCH 143/385] Bump css-loader from 3.6.0 to 4.2.1 Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 3.6.0 to 4.2.1. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.6.0...v4.2.1) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 37 +++++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index aa76b4e9..a33a0033 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/eslint-plugin": "^3.9.0", "@typescript-eslint/parser": "^3.9.0", "cross-env": "^7.0.2", - "css-loader": "^3.6.0", + "css-loader": "^4.2.1", "electron": "9.2.0", "electron-builder": "22.8.0", "eslint": "^7.6.0", diff --git a/yarn.lock b/yarn.lock index c9e64dbb..e59065d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -981,6 +981,11 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" + integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== + chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1344,24 +1349,24 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-loader@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" - integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== +css-loader@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.2.1.tgz#9f48fd7eae1219d629a3f085ba9a9102ca1141a7" + integrity sha512-MoqmF1if7Z0pZIEXA4ZF9PgtCXxWbfzfJM+3p+OYfhcrwcqhaCRb74DSnfzRl7e024xEiCRn5hCvfUbTf2sgFA== dependencies: - camelcase "^5.3.1" + camelcase "^6.0.0" cssesc "^3.0.0" icss-utils "^4.1.1" - loader-utils "^1.2.3" + loader-utils "^2.0.0" normalize-path "^3.0.0" postcss "^7.0.32" postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" + postcss-modules-local-by-default "^3.0.3" postcss-modules-scope "^2.2.0" postcss-modules-values "^3.0.0" postcss-value-parser "^4.1.0" schema-utils "^2.7.0" - semver "^6.3.0" + semver "^7.3.2" css-select@^1.1.0: version "1.2.0" @@ -3728,15 +3733,15 @@ postcss-modules-extract-imports@^2.0.0: dependencies: postcss "^7.0.5" -postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== +postcss-modules-local-by-default@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== dependencies: icss-utils "^4.1.1" - postcss "^7.0.16" + postcss "^7.0.32" postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" + postcss-value-parser "^4.1.0" postcss-modules-scope@^2.2.0: version "2.2.0" @@ -3763,12 +3768,12 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0: +postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.32" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== From 41be60bce94680d8c873defd12210fec49604deb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:35:11 +0000 Subject: [PATCH 144/385] Bump electron-updater from 4.3.1 to 4.3.4 Bumps [electron-updater](https://github.com/electron-userland/electron-builder) from 4.3.1 to 4.3.4. - [Release notes](https://github.com/electron-userland/electron-builder/releases) - [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/electron-userland/electron-builder/commits) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 38 +++++++++++++++----------------------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index e5ea7ebc..6be8069a 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dom-to-image": "^2.6.0", "electron-hunspell": "1.1.2", "electron-settings": "3.2.0", - "electron-updater": "4.3.1", + "electron-updater": "4.3.4", "fs-jetpack": "^3.1.0", "node-fetch": "^2.6.0" }, diff --git a/yarn.lock b/yarn.lock index 44c0753e..d1a79590 100644 --- a/yarn.lock +++ b/yarn.lock @@ -140,10 +140,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.44.tgz#0d400a1453adcb359b133acceae4dd8bb0e0a159" integrity sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg== -"@types/semver@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.2.0.tgz#0d72066965e910531e1db4621c15d0ca36b8d83b" - integrity sha512-TbB0A8ACUWZt3Y6bQPstW9QNbhNeebdgLX4T/ZfkrswAfUzRiXrgd9seol+X379Wa589Pu4UEx9Uok0D4RjRCQ== +"@types/semver@^7.3.1": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.1.tgz#7a9a5d595b6d873f338c867dcef64df289468cfa" + integrity sha512-ooD/FJ8EuwlDKOI6D9HWxgIgJjMg2cuziXm/42npDC8y4NjxplBUn9loewZiBNCt44450lHAU0OSb51/UqXeag== dependencies: "@types/node" "*" @@ -873,14 +873,6 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -builder-util-runtime@8.7.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.0.tgz#e48ad004835c8284662e8eaf47a53468c66e8e8d" - integrity sha512-G1AqqVM2vYTrSFR982c1NNzwXKrGLQjVjaZaWQdn4O6Z3YKjdMDofw88aD9jpyK9ZXkrCxR0tI3Qe9wNbyTlXg== - dependencies: - debug "^4.1.1" - sax "^1.2.4" - builder-util-runtime@8.7.2: version "8.7.2" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz#d93afc71428a12789b437e13850e1fa7da956d72" @@ -1673,18 +1665,18 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" -electron-updater@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.1.tgz#9d485b6262bc56fcf7ee62b1dc1b3b105a3e96a7" - integrity sha512-UDC5AHCgeiHJYDYWZG/rsl1vdAFKqI/Lm7whN57LKAk8EfhTewhcEHzheRcncLgikMcQL8gFo1KeX51tf5a5Wg== +electron-updater@4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.4.tgz#6003f88be9004d7834e4dd757167033d0fc2d29a" + integrity sha512-ekpgxDrYl+Wi24ktO4qfj2CtCABxrmK1C/oekp0tai6q4VR4ZdPkit4CX8+GenvKMme7uMmfPFnLp/vwhP/ThQ== dependencies: - "@types/semver" "^7.1.0" - builder-util-runtime "8.7.0" - fs-extra "^9.0.0" - js-yaml "^3.13.1" + "@types/semver" "^7.3.1" + builder-util-runtime "8.7.2" + fs-extra "^9.0.1" + js-yaml "^3.14.0" lazy-val "^1.0.4" lodash.isequal "^4.5.0" - semver "^7.1.3" + semver "^7.3.2" electron@9.2.0: version "9.2.0" @@ -2205,7 +2197,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.0.1: +fs-extra@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== @@ -4212,7 +4204,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.3, semver@^7.2.1, semver@^7.3.2: +semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== From 2cce47520614313d074e0f389473e76ad0ee7b49 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:38:34 +0000 Subject: [PATCH 145/385] Bump webpack from 4.43.0 to 4.44.1 Bumps [webpack](https://github.com/webpack/webpack) from 4.43.0 to 4.44.1. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v4.43.0...v4.44.1) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 38 +++++++++++++++++++------------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 58028945..9002dbdc 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "ts-loader": "^8.0.2", "ts-node": "^8.10.2", "typescript": "^3.9.7", - "webpack": "^4.43.0", + "webpack": "^4.44.1", "webpack-cli": "^3.3.12", "webpack-merge": "^4.2.2", "webpack-node-externals": "^1.6.0" diff --git a/yarn.lock b/yarn.lock index deddec34..1b6864f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1036,10 +1036,10 @@ chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" - integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== +chokidar@^3.4.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" + integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== dependencies: anymatch "~3.1.1" braces "~3.0.2" @@ -1744,10 +1744,10 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0, enhanced-resolve@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz#5d43bda4a0fd447cb0ebbe71bef8deff8805ad0d" - integrity sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ== +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" @@ -5002,15 +5002,15 @@ watchpack-chokidar2@^2.0.0: dependencies: chokidar "^2.1.8" -watchpack@^1.6.1: - version "1.7.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz#c02e4d4d49913c3e7e122c3325365af9d331e9aa" - integrity sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g== +watchpack@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: - chokidar "^3.4.0" + chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" webpack-cli@^3.3.12: @@ -5050,10 +5050,10 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.43.0: - version "4.43.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" - integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== +webpack@^4.44.1: + version "4.44.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.1.tgz#17e69fff9f321b8f117d1fda714edfc0b939cc21" + integrity sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" @@ -5063,7 +5063,7 @@ webpack@^4.43.0: ajv "^6.10.2" ajv-keywords "^3.4.1" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" + enhanced-resolve "^4.3.0" eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" loader-runner "^2.4.0" @@ -5076,7 +5076,7 @@ webpack@^4.43.0: schema-utils "^1.0.0" tapable "^1.1.3" terser-webpack-plugin "^1.4.3" - watchpack "^1.6.1" + watchpack "^1.7.4" webpack-sources "^1.4.1" which-module@^2.0.0: From 6ade46752adf007870ac4a9c3f65be1d2078016a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:39:02 +0000 Subject: [PATCH 146/385] Bump webpack-merge from 4.2.2 to 5.1.1 Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 4.2.2 to 5.1.1. - [Release notes](https://github.com/survivejs/webpack-merge/releases) - [Changelog](https://github.com/survivejs/webpack-merge/blob/master/CHANGELOG.md) - [Commits](https://github.com/survivejs/webpack-merge/compare/v4.2.2...v5.1.1) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 32 +++++++++++++++++++++++++++----- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 58028945..19f87edf 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "typescript": "^3.9.7", "webpack": "^4.43.0", "webpack-cli": "^3.3.12", - "webpack-merge": "^4.2.2", + "webpack-merge": "^5.1.1", "webpack-node-externals": "^1.6.0" } } diff --git a/yarn.lock b/yarn.lock index deddec34..2f7064e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1121,6 +1121,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -4259,6 +4268,13 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -5030,12 +5046,13 @@ webpack-cli@^3.3.12: v8-compile-cache "^2.1.1" yargs "^13.3.2" -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== +webpack-merge@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.1.1.tgz#c79f36b4ad39a597c3bb780f809b514d65d85d01" + integrity sha512-UhIkHAVqeG9EqFfYo7dRELrVfH6HYaOTYM7ssKCwfIIHYnWepGVOFp1E166GwgPGFqV6M68UgRiKOERjVOKIXA== dependencies: - lodash "^4.17.15" + clone-deep "^4.0.1" + wildcard "^2.0.0" webpack-node-externals@^1.6.0: version "1.7.2" @@ -5105,6 +5122,11 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" From d7728bd3084570b18e6c77b64a168779c10bd36e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2020 23:55:30 +0000 Subject: [PATCH 147/385] Bump webpack-node-externals from 1.7.2 to 2.5.1 Bumps [webpack-node-externals](https://github.com/liady/webpack-node-externals) from 1.7.2 to 2.5.1. - [Release notes](https://github.com/liady/webpack-node-externals/releases) - [Commits](https://github.com/liady/webpack-node-externals/commits) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d6d928ce..ff7907f9 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,6 @@ "webpack": "^4.44.1", "webpack-cli": "^3.3.12", "webpack-merge": "^5.1.1", - "webpack-node-externals": "^1.6.0" + "webpack-node-externals": "^2.5.1" } } diff --git a/yarn.lock b/yarn.lock index 9b91024c..aaccdcbc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5051,10 +5051,10 @@ webpack-merge@^5.1.1: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-node-externals@^1.6.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz#6e1ee79ac67c070402ba700ef033a9b8d52ac4e3" - integrity sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg== +webpack-node-externals@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-2.5.1.tgz#4718ec08aafa8babe246dbfd477e725c94032ef3" + integrity sha512-RWxKGibUU5kuJT6JDYmXGa3QsZskqIaiBvZ2wBxHlJzWVJPOyBMnroXf23uxEHnj1rYS8jNdyUfrNAXJ2bANNw== webpack-sources@^1.4.0, webpack-sources@^1.4.1: version "1.4.3" From c72e3e25d3b8f4868fecb1b2f4539d126a81d3e5 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 20:54:25 -0400 Subject: [PATCH 148/385] Removes electron-hunspell and uses the built in electron spellchecker --- README.md | 3 - package.json | 1 - resources/supportedLanguages.json | 1442 ----------------------------- src/background.ts | 42 - src/bridge.ts | 43 - src/helpers/constants.ts | 4 - src/helpers/dictionaryManager.ts | 98 -- src/index.d.ts | 9 - src/menu/contextMenu.ts | 65 +- src/menu/items/about.ts | 3 +- yarn.lock | 45 +- 11 files changed, 16 insertions(+), 1739 deletions(-) delete mode 100644 resources/supportedLanguages.json delete mode 100644 src/helpers/dictionaryManager.ts diff --git a/README.md b/README.md index 3eb36564..0a10ad86 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,3 @@ Head over to the [latest releases](https://github.com/OrangeDrangon/android-mess **Important Note 1:** We currently have builds for Windows and macOS, and Linux. I test releases on Arch Linux. I would love help testing in additional places. **Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. - -# Spellchecking -Implemented via the amazing [`electron-hunspell`](https://github.com/kwonoj/electron-hunspell) library with dictionaries provided by the excellent [`dictionaries`](https://github.com/wooorm/dictionaries) project. Language files are downloaded when the app opens and the language used is based on the language set in your operating system. If you switch your system language and restart the app, the spellchecking should occur in the new language as long as it is in the [list of supported languages](https://github.com/wooorm/dictionaries#table-of-dictionaries). diff --git a/package.json b/package.json index ff7907f9..d454e51d 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "dependencies": { "about-window": "1.13.4", "dom-to-image": "^2.6.0", - "electron-hunspell": "1.1.2", "electron-settings": "3.2.0", "electron-updater": "4.3.4", "fs-jetpack": "^3.1.0", diff --git a/resources/supportedLanguages.json b/resources/supportedLanguages.json deleted file mode 100644 index 87c82946..00000000 --- a/resources/supportedLanguages.json +++ /dev/null @@ -1,1442 +0,0 @@ -[ - { - "name": "bg", - "path": "dictionaries/bg", - "sha": "9ea3af7e6b911e7e55aa92f7a9f8cc5e6e9a8012", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/bg?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/bg", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9ea3af7e6b911e7e55aa92f7a9f8cc5e6e9a8012", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/bg?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9ea3af7e6b911e7e55aa92f7a9f8cc5e6e9a8012", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/bg" - } - }, - { - "name": "br", - "path": "dictionaries/br", - "sha": "4c43bc1da7455bd0e236cad1b382bb343fdd25ea", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/br?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/br", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4c43bc1da7455bd0e236cad1b382bb343fdd25ea", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/br?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4c43bc1da7455bd0e236cad1b382bb343fdd25ea", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/br" - } - }, - { - "name": "ca-valencia", - "path": "dictionaries/ca-valencia", - "sha": "82f183087de4e783f0fce183ff1b3e19d977c49f", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca-valencia?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca-valencia", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/82f183087de4e783f0fce183ff1b3e19d977c49f", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca-valencia?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/82f183087de4e783f0fce183ff1b3e19d977c49f", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca-valencia" - } - }, - { - "name": "ca", - "path": "dictionaries/ca", - "sha": "70991d5949d011e0c5b13246be84129e8f7cebac", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/70991d5949d011e0c5b13246be84129e8f7cebac", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ca?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/70991d5949d011e0c5b13246be84129e8f7cebac", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ca" - } - }, - { - "name": "cs", - "path": "dictionaries/cs", - "sha": "fe48ea4393fb97842aeeae5c1e4493168fab507b", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/cs?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/cs", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/fe48ea4393fb97842aeeae5c1e4493168fab507b", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/cs?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/fe48ea4393fb97842aeeae5c1e4493168fab507b", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/cs" - } - }, - { - "name": "da", - "path": "dictionaries/da", - "sha": "bfe6f241edf7bcb8c2043595fda321c764f142a5", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/da?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/da", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bfe6f241edf7bcb8c2043595fda321c764f142a5", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/da?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bfe6f241edf7bcb8c2043595fda321c764f142a5", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/da" - } - }, - { - "name": "de-AT", - "path": "dictionaries/de-AT", - "sha": "18c6e94058dda316322fdcfd76f289d6af7c3e60", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-AT?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-AT", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/18c6e94058dda316322fdcfd76f289d6af7c3e60", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-AT?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/18c6e94058dda316322fdcfd76f289d6af7c3e60", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-AT" - } - }, - { - "name": "de-CH", - "path": "dictionaries/de-CH", - "sha": "9012713c0a63973e592590326bb9e4dc746948d0", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-CH?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-CH", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9012713c0a63973e592590326bb9e4dc746948d0", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de-CH?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9012713c0a63973e592590326bb9e4dc746948d0", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de-CH" - } - }, - { - "name": "de", - "path": "dictionaries/de", - "sha": "0f9ce71ce376154497d7a667b25557eb951e52e7", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0f9ce71ce376154497d7a667b25557eb951e52e7", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/de?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0f9ce71ce376154497d7a667b25557eb951e52e7", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/de" - } - }, - { - "name": "el-polyton", - "path": "dictionaries/el-polyton", - "sha": "e43a234751f97b55ef2c83ee3cb753bbe51f8736", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el-polyton?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el-polyton", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e43a234751f97b55ef2c83ee3cb753bbe51f8736", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el-polyton?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e43a234751f97b55ef2c83ee3cb753bbe51f8736", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el-polyton" - } - }, - { - "name": "el", - "path": "dictionaries/el", - "sha": "34e4bb855d14ac196e236b5a0c5fbf6eb1bcaf96", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/34e4bb855d14ac196e236b5a0c5fbf6eb1bcaf96", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/el?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/34e4bb855d14ac196e236b5a0c5fbf6eb1bcaf96", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/el" - } - }, - { - "name": "en-AU", - "path": "dictionaries/en-AU", - "sha": "e0320bf5809616be5bc82b08b182761678ba90c8", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-AU?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-AU", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e0320bf5809616be5bc82b08b182761678ba90c8", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-AU?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e0320bf5809616be5bc82b08b182761678ba90c8", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-AU" - } - }, - { - "name": "en-CA", - "path": "dictionaries/en-CA", - "sha": "a33f3d5c9adae76fc00e7dd767dee9511134d5f0", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-CA?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-CA", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/a33f3d5c9adae76fc00e7dd767dee9511134d5f0", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-CA?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/a33f3d5c9adae76fc00e7dd767dee9511134d5f0", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-CA" - } - }, - { - "name": "en-GB", - "path": "dictionaries/en-GB", - "sha": "59ba4306168b77731e82f5321a0f0a782ffea72e", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-GB?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-GB", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/59ba4306168b77731e82f5321a0f0a782ffea72e", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-GB?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/59ba4306168b77731e82f5321a0f0a782ffea72e", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-GB" - } - }, - { - "name": "en-ZA", - "path": "dictionaries/en-ZA", - "sha": "5a8e43dcd32375ff193e3e63bbe30dc903b02b6f", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-ZA?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-ZA", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5a8e43dcd32375ff193e3e63bbe30dc903b02b6f", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en-ZA?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5a8e43dcd32375ff193e3e63bbe30dc903b02b6f", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en-ZA" - } - }, - { - "name": "en", - "path": "dictionaries/en", - "sha": "9d8d328de1ac8aad258c8344b3903ac9e29c19c4", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9d8d328de1ac8aad258c8344b3903ac9e29c19c4", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/en?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9d8d328de1ac8aad258c8344b3903ac9e29c19c4", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/en" - } - }, - { - "name": "eo", - "path": "dictionaries/eo", - "sha": "96e455a3f2507323c8f3ba5bcaab2833ceda3157", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eo?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eo", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/96e455a3f2507323c8f3ba5bcaab2833ceda3157", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eo?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/96e455a3f2507323c8f3ba5bcaab2833ceda3157", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eo" - } - }, - { - "name": "es-AR", - "path": "dictionaries/es-AR", - "sha": "15b56730587631b80979e08993bba41afb4d0479", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-AR?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-AR", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/15b56730587631b80979e08993bba41afb4d0479", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-AR?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/15b56730587631b80979e08993bba41afb4d0479", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-AR" - } - }, - { - "name": "es-BO", - "path": "dictionaries/es-BO", - "sha": "68a02118287e7dbc3072733609fc3bb58bc58a68", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-BO?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-BO", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/68a02118287e7dbc3072733609fc3bb58bc58a68", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-BO?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/68a02118287e7dbc3072733609fc3bb58bc58a68", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-BO" - } - }, - { - "name": "es-CL", - "path": "dictionaries/es-CL", - "sha": "50775af8ec8e95d3ac6e9ff31b2785faf8e0385c", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CL?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CL", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50775af8ec8e95d3ac6e9ff31b2785faf8e0385c", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CL?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50775af8ec8e95d3ac6e9ff31b2785faf8e0385c", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CL" - } - }, - { - "name": "es-CO", - "path": "dictionaries/es-CO", - "sha": "b7f394b6937b422f67d4c46b99bc372ddc0ae82f", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CO?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CO", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b7f394b6937b422f67d4c46b99bc372ddc0ae82f", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CO?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b7f394b6937b422f67d4c46b99bc372ddc0ae82f", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CO" - } - }, - { - "name": "es-CR", - "path": "dictionaries/es-CR", - "sha": "3b44fc70205e6a5c5cb63e3ec67e49c21281f312", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CR?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CR", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3b44fc70205e6a5c5cb63e3ec67e49c21281f312", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CR?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3b44fc70205e6a5c5cb63e3ec67e49c21281f312", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CR" - } - }, - { - "name": "es-CU", - "path": "dictionaries/es-CU", - "sha": "7aa3ca18ebe3d9a7888785bc8c70614259a5c002", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CU?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CU", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7aa3ca18ebe3d9a7888785bc8c70614259a5c002", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-CU?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7aa3ca18ebe3d9a7888785bc8c70614259a5c002", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-CU" - } - }, - { - "name": "es-DO", - "path": "dictionaries/es-DO", - "sha": "d5fb7ffb9116047ad4b2c90aa05d255d81792711", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-DO?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-DO", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d5fb7ffb9116047ad4b2c90aa05d255d81792711", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-DO?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d5fb7ffb9116047ad4b2c90aa05d255d81792711", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-DO" - } - }, - { - "name": "es-EC", - "path": "dictionaries/es-EC", - "sha": "69979f8c0b5f0134a72ae8beaa6f19ed75cea3cc", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-EC?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-EC", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/69979f8c0b5f0134a72ae8beaa6f19ed75cea3cc", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-EC?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/69979f8c0b5f0134a72ae8beaa6f19ed75cea3cc", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-EC" - } - }, - { - "name": "es-GT", - "path": "dictionaries/es-GT", - "sha": "8d644a6e6b15e49fbecd87d73b4903018dd78db9", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-GT?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-GT", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/8d644a6e6b15e49fbecd87d73b4903018dd78db9", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-GT?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/8d644a6e6b15e49fbecd87d73b4903018dd78db9", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-GT" - } - }, - { - "name": "es-HN", - "path": "dictionaries/es-HN", - "sha": "9f19dca8885b7c9400a3c1718a2c56b034c0f1ed", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-HN?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-HN", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9f19dca8885b7c9400a3c1718a2c56b034c0f1ed", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-HN?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9f19dca8885b7c9400a3c1718a2c56b034c0f1ed", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-HN" - } - }, - { - "name": "es-MX", - "path": "dictionaries/es-MX", - "sha": "c5ced813ce9c2291de93aa9d3e57d035d73a8641", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-MX?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-MX", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c5ced813ce9c2291de93aa9d3e57d035d73a8641", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-MX?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c5ced813ce9c2291de93aa9d3e57d035d73a8641", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-MX" - } - }, - { - "name": "es-NI", - "path": "dictionaries/es-NI", - "sha": "6dd542b8f36b5e96f1c41ea31327f619186ed488", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-NI?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-NI", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6dd542b8f36b5e96f1c41ea31327f619186ed488", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-NI?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6dd542b8f36b5e96f1c41ea31327f619186ed488", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-NI" - } - }, - { - "name": "es-PA", - "path": "dictionaries/es-PA", - "sha": "50aa056b30465a2e911841cd307aa8187f0ce73e", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PA?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PA", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50aa056b30465a2e911841cd307aa8187f0ce73e", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PA?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/50aa056b30465a2e911841cd307aa8187f0ce73e", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PA" - } - }, - { - "name": "es-PE", - "path": "dictionaries/es-PE", - "sha": "098a48ba5ff0be67fb4b98cc31ad115e2f0a1948", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PE?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PE", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/098a48ba5ff0be67fb4b98cc31ad115e2f0a1948", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PE?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/098a48ba5ff0be67fb4b98cc31ad115e2f0a1948", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PE" - } - }, - { - "name": "es-PH", - "path": "dictionaries/es-PH", - "sha": "198f30c7ac0a0c5754ca14e9c9459a9649c44dd0", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PH?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PH", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/198f30c7ac0a0c5754ca14e9c9459a9649c44dd0", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PH?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/198f30c7ac0a0c5754ca14e9c9459a9649c44dd0", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PH" - } - }, - { - "name": "es-PR", - "path": "dictionaries/es-PR", - "sha": "81c84d390956ab937f42f4e44f01ee69a2cbf2c6", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PR?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PR", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/81c84d390956ab937f42f4e44f01ee69a2cbf2c6", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PR?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/81c84d390956ab937f42f4e44f01ee69a2cbf2c6", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PR" - } - }, - { - "name": "es-PY", - "path": "dictionaries/es-PY", - "sha": "1a45513085b66d2853720fc422b8fc92b39b95ef", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PY?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PY", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1a45513085b66d2853720fc422b8fc92b39b95ef", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-PY?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1a45513085b66d2853720fc422b8fc92b39b95ef", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-PY" - } - }, - { - "name": "es-SV", - "path": "dictionaries/es-SV", - "sha": "3d271166e6f9a9e46945b8d4b49c798871c317e2", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-SV?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-SV", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3d271166e6f9a9e46945b8d4b49c798871c317e2", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-SV?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3d271166e6f9a9e46945b8d4b49c798871c317e2", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-SV" - } - }, - { - "name": "es-US", - "path": "dictionaries/es-US", - "sha": "43baf7b01eeb820b3387bc2fd8b1afc685fd21fe", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-US?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-US", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/43baf7b01eeb820b3387bc2fd8b1afc685fd21fe", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-US?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/43baf7b01eeb820b3387bc2fd8b1afc685fd21fe", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-US" - } - }, - { - "name": "es-UY", - "path": "dictionaries/es-UY", - "sha": "7b7935dc60c3b2af9c4b038715251ccd6a813364", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-UY?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-UY", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7b7935dc60c3b2af9c4b038715251ccd6a813364", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-UY?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/7b7935dc60c3b2af9c4b038715251ccd6a813364", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-UY" - } - }, - { - "name": "es-VE", - "path": "dictionaries/es-VE", - "sha": "d7c2c380577eb60899f1de0820c90d89aef9ab25", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-VE?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-VE", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d7c2c380577eb60899f1de0820c90d89aef9ab25", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es-VE?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d7c2c380577eb60899f1de0820c90d89aef9ab25", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es-VE" - } - }, - { - "name": "es", - "path": "dictionaries/es", - "sha": "e7af388027f2a1bc055c1d45e3d196a877ff2e1d", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e7af388027f2a1bc055c1d45e3d196a877ff2e1d", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/es?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e7af388027f2a1bc055c1d45e3d196a877ff2e1d", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/es" - } - }, - { - "name": "et", - "path": "dictionaries/et", - "sha": "5f2346ff745f6897ed220247ae4b8590de9ca2b9", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/et?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/et", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5f2346ff745f6897ed220247ae4b8590de9ca2b9", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/et?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5f2346ff745f6897ed220247ae4b8590de9ca2b9", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/et" - } - }, - { - "name": "eu", - "path": "dictionaries/eu", - "sha": "377130dc65dc9997567bee92e57a66a0e1ce5a06", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eu?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eu", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/377130dc65dc9997567bee92e57a66a0e1ce5a06", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/eu?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/377130dc65dc9997567bee92e57a66a0e1ce5a06", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/eu" - } - }, - { - "name": "fa", - "path": "dictionaries/fa", - "sha": "4163c4f231151a0b341403be3a787c9f448b4c33", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fa?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fa", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4163c4f231151a0b341403be3a787c9f448b4c33", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fa?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4163c4f231151a0b341403be3a787c9f448b4c33", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fa" - } - }, - { - "name": "fo", - "path": "dictionaries/fo", - "sha": "b3862da076b3ca591219e901c831fa17ab208cbd", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fo?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fo", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b3862da076b3ca591219e901c831fa17ab208cbd", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fo?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b3862da076b3ca591219e901c831fa17ab208cbd", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fo" - } - }, - { - "name": "fr", - "path": "dictionaries/fr", - "sha": "e998015c933dd0849f9635d961a359f14034e7bf", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fr?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fr", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e998015c933dd0849f9635d961a359f14034e7bf", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fr?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/e998015c933dd0849f9635d961a359f14034e7bf", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fr" - } - }, - { - "name": "fur", - "path": "dictionaries/fur", - "sha": "6931f97695621d323212421ce1800e9fca4142cf", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fur?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fur", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6931f97695621d323212421ce1800e9fca4142cf", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fur?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6931f97695621d323212421ce1800e9fca4142cf", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fur" - } - }, - { - "name": "fy", - "path": "dictionaries/fy", - "sha": "c2f61145e531c08755b5809f5b3ad02c51ef7b29", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fy?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fy", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c2f61145e531c08755b5809f5b3ad02c51ef7b29", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/fy?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c2f61145e531c08755b5809f5b3ad02c51ef7b29", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/fy" - } - }, - { - "name": "ga", - "path": "dictionaries/ga", - "sha": "47b380e48afd57983ac80a96fe2ebbaf5e4ce252", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ga?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ga", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/47b380e48afd57983ac80a96fe2ebbaf5e4ce252", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ga?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/47b380e48afd57983ac80a96fe2ebbaf5e4ce252", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ga" - } - }, - { - "name": "gd", - "path": "dictionaries/gd", - "sha": "c102c79615cc4cfb55c6fb2f556a449da4e57e3a", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gd?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gd", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c102c79615cc4cfb55c6fb2f556a449da4e57e3a", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gd?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c102c79615cc4cfb55c6fb2f556a449da4e57e3a", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gd" - } - }, - { - "name": "gl", - "path": "dictionaries/gl", - "sha": "bc159604b58d4ce47900006ce92ded0e1f3c919e", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gl?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gl", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bc159604b58d4ce47900006ce92ded0e1f3c919e", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/gl?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/bc159604b58d4ce47900006ce92ded0e1f3c919e", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/gl" - } - }, - { - "name": "he", - "path": "dictionaries/he", - "sha": "d0d171b1f6d33f00a735e576bf18994482170d67", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/he?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/he", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d0d171b1f6d33f00a735e576bf18994482170d67", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/he?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d0d171b1f6d33f00a735e576bf18994482170d67", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/he" - } - }, - { - "name": "hr", - "path": "dictionaries/hr", - "sha": "6c4e5ad444ef303ba6b690370976bfa7ee9f426f", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hr?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hr", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6c4e5ad444ef303ba6b690370976bfa7ee9f426f", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hr?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6c4e5ad444ef303ba6b690370976bfa7ee9f426f", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hr" - } - }, - { - "name": "hu", - "path": "dictionaries/hu", - "sha": "3fcc749d5383055ca746aae9dd8f897ca96b4995", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hu?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hu", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3fcc749d5383055ca746aae9dd8f897ca96b4995", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hu?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/3fcc749d5383055ca746aae9dd8f897ca96b4995", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hu" - } - }, - { - "name": "hy", - "path": "dictionaries/hy", - "sha": "290888ba575658824f8e33637cfcbb61de2c27e7", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hy?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hy", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/290888ba575658824f8e33637cfcbb61de2c27e7", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hy?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/290888ba575658824f8e33637cfcbb61de2c27e7", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hy" - } - }, - { - "name": "hyw", - "path": "dictionaries/hyw", - "sha": "87e39e1ae91dbd78e3f39c47fdd1ba4191c0bd4a", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hyw?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hyw", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/87e39e1ae91dbd78e3f39c47fdd1ba4191c0bd4a", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/hyw?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/87e39e1ae91dbd78e3f39c47fdd1ba4191c0bd4a", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/hyw" - } - }, - { - "name": "ia", - "path": "dictionaries/ia", - "sha": "92d890f920e9df3bd2a9b562ef8b09f3613aa870", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ia?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ia", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/92d890f920e9df3bd2a9b562ef8b09f3613aa870", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ia?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/92d890f920e9df3bd2a9b562ef8b09f3613aa870", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ia" - } - }, - { - "name": "ie", - "path": "dictionaries/ie", - "sha": "2781dbf612e45f61da41b52fdc1cb15c54234704", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ie?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ie", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2781dbf612e45f61da41b52fdc1cb15c54234704", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ie?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2781dbf612e45f61da41b52fdc1cb15c54234704", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ie" - } - }, - { - "name": "is", - "path": "dictionaries/is", - "sha": "35ee286a6cdc8b0265aa162cfcb58c3143a23dc6", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/is?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/is", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/35ee286a6cdc8b0265aa162cfcb58c3143a23dc6", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/is?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/35ee286a6cdc8b0265aa162cfcb58c3143a23dc6", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/is" - } - }, - { - "name": "it", - "path": "dictionaries/it", - "sha": "f54e14a55fa4de6106cd9400c7338b43511020e1", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/it?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/it", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f54e14a55fa4de6106cd9400c7338b43511020e1", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/it?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f54e14a55fa4de6106cd9400c7338b43511020e1", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/it" - } - }, - { - "name": "ka", - "path": "dictionaries/ka", - "sha": "ad63fcf4282b3c1b7f45a948908b46977dd00d61", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ka?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ka", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ad63fcf4282b3c1b7f45a948908b46977dd00d61", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ka?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ad63fcf4282b3c1b7f45a948908b46977dd00d61", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ka" - } - }, - { - "name": "ko", - "path": "dictionaries/ko", - "sha": "387d19955b935937f97c25ecb26259c9d41fcc9b", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ko?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ko", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/387d19955b935937f97c25ecb26259c9d41fcc9b", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ko?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/387d19955b935937f97c25ecb26259c9d41fcc9b", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ko" - } - }, - { - "name": "la", - "path": "dictionaries/la", - "sha": "b5ecc51edd0cfe4677ccd2bc033d3cfbde6180ee", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/la?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/la", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ecc51edd0cfe4677ccd2bc033d3cfbde6180ee", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/la?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ecc51edd0cfe4677ccd2bc033d3cfbde6180ee", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/la" - } - }, - { - "name": "lb", - "path": "dictionaries/lb", - "sha": "963262fecd3bcf0c941737cc7a8c0c5925f9ac9d", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lb?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lb", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/963262fecd3bcf0c941737cc7a8c0c5925f9ac9d", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lb?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/963262fecd3bcf0c941737cc7a8c0c5925f9ac9d", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lb" - } - }, - { - "name": "lt", - "path": "dictionaries/lt", - "sha": "470b31aa4479a4eebf28b24a0485b5c72deb8a8a", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lt?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lt", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/470b31aa4479a4eebf28b24a0485b5c72deb8a8a", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lt?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/470b31aa4479a4eebf28b24a0485b5c72deb8a8a", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lt" - } - }, - { - "name": "ltg", - "path": "dictionaries/ltg", - "sha": "9e48e7351bfcbf73575d1f330a80c7a9a06686b4", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ltg?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ltg", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9e48e7351bfcbf73575d1f330a80c7a9a06686b4", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ltg?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9e48e7351bfcbf73575d1f330a80c7a9a06686b4", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ltg" - } - }, - { - "name": "lv", - "path": "dictionaries/lv", - "sha": "4ab724cb276746018bf4a772b981781c0f5052e2", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lv?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lv", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4ab724cb276746018bf4a772b981781c0f5052e2", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/lv?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4ab724cb276746018bf4a772b981781c0f5052e2", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/lv" - } - }, - { - "name": "mk", - "path": "dictionaries/mk", - "sha": "f7b98874b39567c7c8ead355d7c2797cf995c4c1", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mk?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mk", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f7b98874b39567c7c8ead355d7c2797cf995c4c1", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mk?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f7b98874b39567c7c8ead355d7c2797cf995c4c1", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mk" - } - }, - { - "name": "mn", - "path": "dictionaries/mn", - "sha": "ae8a0bbc90ae0f43745feeb7cae4e7e311501dd8", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mn?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mn", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ae8a0bbc90ae0f43745feeb7cae4e7e311501dd8", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/mn?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/ae8a0bbc90ae0f43745feeb7cae4e7e311501dd8", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/mn" - } - }, - { - "name": "nb", - "path": "dictionaries/nb", - "sha": "0a5aed4235d6549ee3c1e16bc9ff07063cdb77c3", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nb?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nb", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a5aed4235d6549ee3c1e16bc9ff07063cdb77c3", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nb?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a5aed4235d6549ee3c1e16bc9ff07063cdb77c3", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nb" - } - }, - { - "name": "nds", - "path": "dictionaries/nds", - "sha": "adec5f523e84e60a6353df6543b419be99bfca22", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nds?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nds", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/adec5f523e84e60a6353df6543b419be99bfca22", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nds?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/adec5f523e84e60a6353df6543b419be99bfca22", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nds" - } - }, - { - "name": "ne", - "path": "dictionaries/ne", - "sha": "1e8ba92f2694565ea39975eaf10ff525396560c8", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ne?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ne", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1e8ba92f2694565ea39975eaf10ff525396560c8", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ne?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1e8ba92f2694565ea39975eaf10ff525396560c8", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ne" - } - }, - { - "name": "nl", - "path": "dictionaries/nl", - "sha": "4cb32dc344b5f7e07addf3d3171f8349544ded49", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nl?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nl", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4cb32dc344b5f7e07addf3d3171f8349544ded49", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nl?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4cb32dc344b5f7e07addf3d3171f8349544ded49", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nl" - } - }, - { - "name": "nn", - "path": "dictionaries/nn", - "sha": "25a6dd94f3b4183be11dbcef2b4af0e2c8dc60bf", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nn?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nn", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/25a6dd94f3b4183be11dbcef2b4af0e2c8dc60bf", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/nn?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/25a6dd94f3b4183be11dbcef2b4af0e2c8dc60bf", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/nn" - } - }, - { - "name": "pl", - "path": "dictionaries/pl", - "sha": "44fb35a14ab07e8684a34fe91994ae92986f4b48", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pl?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pl", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/44fb35a14ab07e8684a34fe91994ae92986f4b48", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pl?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/44fb35a14ab07e8684a34fe91994ae92986f4b48", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pl" - } - }, - { - "name": "pt-PT", - "path": "dictionaries/pt-PT", - "sha": "9899d1e859c55940a2d4652c0082f82d883f5109", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt-PT?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt-PT", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9899d1e859c55940a2d4652c0082f82d883f5109", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt-PT?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/9899d1e859c55940a2d4652c0082f82d883f5109", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt-PT" - } - }, - { - "name": "pt", - "path": "dictionaries/pt", - "sha": "c8800b62608062321b7da2419f3891d59c5a88d1", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c8800b62608062321b7da2419f3891d59c5a88d1", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/pt?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c8800b62608062321b7da2419f3891d59c5a88d1", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/pt" - } - }, - { - "name": "ro", - "path": "dictionaries/ro", - "sha": "2bba13386751f4ea31f4ddc9b83df594c8dca037", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ro?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ro", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2bba13386751f4ea31f4ddc9b83df594c8dca037", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ro?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2bba13386751f4ea31f4ddc9b83df594c8dca037", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ro" - } - }, - { - "name": "ru", - "path": "dictionaries/ru", - "sha": "1ed8d8e822c0fc74b9208e8d9ab5508dd90e5f4c", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ru?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ru", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1ed8d8e822c0fc74b9208e8d9ab5508dd90e5f4c", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/ru?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1ed8d8e822c0fc74b9208e8d9ab5508dd90e5f4c", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/ru" - } - }, - { - "name": "rw", - "path": "dictionaries/rw", - "sha": "f0921e1eb4ecc3018c8a083daaeb1f8c5cb7d8ed", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/rw?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/rw", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f0921e1eb4ecc3018c8a083daaeb1f8c5cb7d8ed", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/rw?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/f0921e1eb4ecc3018c8a083daaeb1f8c5cb7d8ed", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/rw" - } - }, - { - "name": "sk", - "path": "dictionaries/sk", - "sha": "4b9bec6ab86788822bc1bb5fdb1eb23d1648a71b", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sk?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sk", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4b9bec6ab86788822bc1bb5fdb1eb23d1648a71b", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sk?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/4b9bec6ab86788822bc1bb5fdb1eb23d1648a71b", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sk" - } - }, - { - "name": "sl", - "path": "dictionaries/sl", - "sha": "5b389e84989ffc7cb24a2d021068dff01a0e9f45", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sl?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sl", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5b389e84989ffc7cb24a2d021068dff01a0e9f45", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sl?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/5b389e84989ffc7cb24a2d021068dff01a0e9f45", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sl" - } - }, - { - "name": "sr-Latn", - "path": "dictionaries/sr-Latn", - "sha": "75e7a8c5c484bbffd1bbbec4e48ab6b6246d59cf", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr-Latn?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr-Latn", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/75e7a8c5c484bbffd1bbbec4e48ab6b6246d59cf", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr-Latn?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/75e7a8c5c484bbffd1bbbec4e48ab6b6246d59cf", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr-Latn" - } - }, - { - "name": "sr", - "path": "dictionaries/sr", - "sha": "33fa568539a04fcfccb838b3e630a246d460f30b", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/33fa568539a04fcfccb838b3e630a246d460f30b", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sr?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/33fa568539a04fcfccb838b3e630a246d460f30b", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sr" - } - }, - { - "name": "sv-FI", - "path": "dictionaries/sv-FI", - "sha": "1283e4aa320aa83ad03b5d1c3bd2f2e76a4b522e", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv-FI?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv-FI", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1283e4aa320aa83ad03b5d1c3bd2f2e76a4b522e", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv-FI?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/1283e4aa320aa83ad03b5d1c3bd2f2e76a4b522e", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv-FI" - } - }, - { - "name": "sv", - "path": "dictionaries/sv", - "sha": "d2aa21f5aaa2f0b44f0b7cb3c7a390790b718c08", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d2aa21f5aaa2f0b44f0b7cb3c7a390790b718c08", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/sv?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/d2aa21f5aaa2f0b44f0b7cb3c7a390790b718c08", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/sv" - } - }, - { - "name": "tk", - "path": "dictionaries/tk", - "sha": "b00f1948af7c7cf2d14a9d5ed099e918f3b8718b", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tk?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tk", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b00f1948af7c7cf2d14a9d5ed099e918f3b8718b", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tk?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b00f1948af7c7cf2d14a9d5ed099e918f3b8718b", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tk" - } - }, - { - "name": "tlh-Latn", - "path": "dictionaries/tlh-Latn", - "sha": "c04930c1fd26450c39b87a7fd2028a208cf7ca2d", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh-Latn?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh-Latn", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c04930c1fd26450c39b87a7fd2028a208cf7ca2d", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh-Latn?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/c04930c1fd26450c39b87a7fd2028a208cf7ca2d", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh-Latn" - } - }, - { - "name": "tlh", - "path": "dictionaries/tlh", - "sha": "2514f9156ef63ed8ceff84db6a647143c3a18e5f", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2514f9156ef63ed8ceff84db6a647143c3a18e5f", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tlh?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/2514f9156ef63ed8ceff84db6a647143c3a18e5f", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tlh" - } - }, - { - "name": "tr", - "path": "dictionaries/tr", - "sha": "b5ac59e8b7bfc32367d1639923ad7176d359b5d8", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tr?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tr", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ac59e8b7bfc32367d1639923ad7176d359b5d8", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/tr?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/b5ac59e8b7bfc32367d1639923ad7176d359b5d8", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/tr" - } - }, - { - "name": "uk", - "path": "dictionaries/uk", - "sha": "6f4b7fa9200f665f6a977180abbe4ee701845bd7", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/uk?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/uk", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6f4b7fa9200f665f6a977180abbe4ee701845bd7", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/uk?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/6f4b7fa9200f665f6a977180abbe4ee701845bd7", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/uk" - } - }, - { - "name": "vi", - "path": "dictionaries/vi", - "sha": "0a00aeed64e7f9c2bad2d92248bb6e9f3355662c", - "size": 0, - "url": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/vi?ref=5ede45b", - "html_url": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/vi", - "git_url": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a00aeed64e7f9c2bad2d92248bb6e9f3355662c", - "download_url": null, - "type": "dir", - "_links": { - "self": "https://api.github.com/repos/wooorm/dictionaries/contents/dictionaries/vi?ref=5ede45b", - "git": "https://api.github.com/repos/wooorm/dictionaries/git/trees/0a00aeed64e7f9c2bad2d92248bb6e9f3355662c", - "html": "https://github.com/wooorm/dictionaries/tree/5ede45b/dictionaries/vi" - } - } -] diff --git a/src/background.ts b/src/background.ts index e970ffaf..c6e337bb 100644 --- a/src/background.ts +++ b/src/background.ts @@ -6,7 +6,6 @@ import { nativeTheme, shell, } from "electron"; -import settings from "electron-settings"; import { autoUpdater } from "electron-updater"; import jetpack from "fs-jetpack"; import path from "path"; @@ -14,8 +13,6 @@ import { BASE_APP_PATH, EVENT_BRIDGE_INIT, EVENT_REFLECT_DISK_CACHE, - EVENT_SPELLING_REFLECT_READY, - EVENT_SPELL_ADD_CUSTOM_WORD, EVENT_UPDATE_USER_SETTING, IMG_CACHE_PATH, IS_DEV, @@ -23,10 +20,8 @@ import { IS_MAC, IS_WINDOWS, RESOURCES_PATH, - SETTING_CUSTOM_WORDS, SETTING_TRAY_ENABLED, } from "./helpers/constants"; -import { getDictionary } from "./helpers/dictionaryManager"; import { SettingsManager } from "./helpers/settingsManager"; import { TrayManager } from "./helpers/trayManager"; import { CustomBrowserWindow } from "./helpers/window"; @@ -206,43 +201,6 @@ if (!isFirstInstance) { } event.sender.send(EVENT_REFLECT_DISK_CACHE, { cache, basePath }); } - - const locale = app.getLocale(); - - // Spellchecking is supported for the current language - const spellCheckFiles = await getDictionary(locale); - const customWords = settings.get(SETTING_CUSTOM_WORDS, {}) as CustomWords; - - // We send an event with the language key and array of custom words to the webview bridge which contains the - // instance of the spellchecker. Done this way because passing class instances (i.e. of the spellchecker) - // between electron processes is hacky at best and impossible at worst. - - event.sender.send(EVENT_SPELLING_REFLECT_READY, { - locale, - spellCheckFiles, - customWords, - }); - }); - - ipcMain.on(EVENT_SPELL_ADD_CUSTOM_WORD, (_event, msg) => { - // Add custom words picked by the user to a persistent data store because they must be added to - // the instance of Hunspell on each launch of the app/loading of the dictionary. - const { newCustomWord } = msg; - const currentLanguage = app.getLocale(); - const existingCustomWords = settings.get( - SETTING_CUSTOM_WORDS, - {} - ) as CustomWords; - if (!(currentLanguage in existingCustomWords)) { - existingCustomWords[currentLanguage] = []; - } - if ( - newCustomWord && - !existingCustomWords[currentLanguage].includes(newCustomWord) - ) { - existingCustomWords[currentLanguage].push(newCustomWord); - settings.set(SETTING_CUSTOM_WORDS, existingCustomWords); - } }); let quitViaContext = false; diff --git a/src/bridge.ts b/src/bridge.ts index 8747fd74..1359648b 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -4,23 +4,16 @@ import { NativeImage, NotificationConstructorOptions, } from "electron"; -import { - attachSpellCheckProvider, - SpellCheckerProvider, -} from "electron-hunspell"; -import fs from "fs"; import path from "path"; import { CacheManager } from "./helpers/cacheManager"; import { EVENT_BRIDGE_INIT, EVENT_REFLECT_DISK_CACHE, - EVENT_SPELLING_REFLECT_READY, EVENT_UPDATE_USER_SETTING, SETTING_HIDE_NOTIFICATION, RESOURCES_PATH, SETTING_NOTIFICATION_SOUND, } from "./helpers/constants"; -import { Dictionary } from "./helpers/dictionaryManager"; import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; import settings from "electron-settings"; @@ -58,42 +51,6 @@ window.addEventListener("load", () => { }); }); -interface EventSpellingReadyParams { - locale: string; - spellCheckFiles: Dictionary; - customWords: Record; -} - -// The main process, once receiving EVENT_BRIDGE_INIT, determines whether the user's current language allows for spellchecking -// and if so, (down)loads the necessary files, then sends an event to which the following listener responds and -// loads the spellchecker, if needed. -ipcRenderer.once( - EVENT_SPELLING_REFLECT_READY, - async ( - _event, - { locale, spellCheckFiles, customWords }: EventSpellingReadyParams - ) => { - const provider = new SpellCheckerProvider(); - window.spellCheckHandler = provider; - await provider.initialize(); - - await provider.loadDictionary( - locale, - fs.readFileSync(spellCheckFiles.dic), - fs.readFileSync(spellCheckFiles.aff) - ); - - const attached = await attachSpellCheckProvider(provider); - attached.switchLanguage(locale); - - if (locale in customWords) { - for (const word of customWords[locale]) { - window.spellCheckHandler.addWord(locale, word); - } - } - } -); - ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { if ("useDarkMode" in settingsList && settingsList.useDarkMode !== null) { if (settingsList.useDarkMode) { diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 4632d99e..040b8e98 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -27,8 +27,6 @@ export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); export const USER_DATA_PATH = (): string => app.getPath("appData"); // This has to be a function call because app.ready callback must be fired before this path can be used -export const SPELLING_DICTIONARIES_PATH = (): string => - path.resolve(USER_DATA_PATH(), "dictionaries"); export const IMG_CACHE_PATH = (): string => path.resolve(USER_DATA_PATH(), "userimgs"); @@ -44,7 +42,5 @@ export const SETTING_AUTOHIDE_MENU = "autoHideMenuPref"; // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; -export const EVENT_SPELL_ADD_CUSTOM_WORD = "messages-spelling-add-custom-word"; -export const EVENT_SPELLING_REFLECT_READY = "messages-spelling-reflect-ready"; export const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; export const EVENT_REFLECT_DISK_CACHE = "reflext-disk-cache"; diff --git a/src/helpers/dictionaryManager.ts b/src/helpers/dictionaryManager.ts deleted file mode 100644 index 436ac37d..00000000 --- a/src/helpers/dictionaryManager.ts +++ /dev/null @@ -1,98 +0,0 @@ -import fsJetpack from "fs-jetpack"; -import fetch from "node-fetch"; -import path from "path"; -import { RESOURCES_PATH, SPELLING_DICTIONARIES_PATH } from "./constants"; - -interface GithubEntry { - name: string; - path: string; - sha: string; - size: number; - url: string; - html_url: string; - git_url: string; - download_url: string | null; - type: string; -} - -async function getSupportedLanguages(): Promise { - const fileData = (await fsJetpack.readAsync( - path.resolve(RESOURCES_PATH, "supportedLanguages.json") - )) as string; - return JSON.parse(fileData); -} - -async function getLanguageObject(locale: string): Promise { - if (locale === "en-US") { - locale = "en"; - } else if (locale === "de-DE") { - locale = "de"; - } - - let language: GithubEntry; - - // Every locale code for which a dictionary exists, as an array - const supportedLanguages = (await getSupportedLanguages()).filter( - (language) => language.type === "dir" - ); - const names = supportedLanguages.map((language) => language.name); - if (names.includes(locale)) { - language = supportedLanguages[names.indexOf(locale)]; - } else { - // language may be supported, we'll try to find the closest match available (i.e. another dialect of the same language) - const indexOfClosestMatch = names - .map((language) => language.substr(0, 2)) - .indexOf(locale.substr(0, 2)); - if (indexOfClosestMatch) { - language = supportedLanguages[indexOfClosestMatch]; - } else { - throw new Error("Locale not supported"); - } - } - return language; -} - -export interface Dictionary { - aff: string; - dic: string; -} - -export async function getDictionary(locale: string): Promise { - const language = await getLanguageObject(locale); - const dirPath = path.resolve(SPELLING_DICTIONARIES_PATH(), language.name); - const fileRoot = path.resolve(dirPath, "index"); - - // creates dir - const langDir = await fsJetpack.dirAsync(dirPath); - // if both files dont exist - const contents = await langDir.listAsync(); - - if ( - !contents?.includes(fileRoot + ".aff") || - !contents?.includes(fileRoot + ".dic") - ) { - const downloadEntries = (await ( - await fetch(language.url) - ).json()) as GithubEntry[]; - const downloads = downloadEntries.filter((download) => - ["aff", "dic"].includes(download.name.split(".")[1]) - ); - await Promise.all( - downloads.map(async (download) => { - if (download.download_url) { - const content = await (await fetch(download.download_url)).text(); - return await fsJetpack.writeAsync( - fileRoot + "." + download.name.split(".")[1], - content - ); - } else { - throw new Error("Download not found"); - } - }) - ); - } - return { - aff: fileRoot + ".aff", - dic: fileRoot + ".dic", - }; -} diff --git a/src/index.d.ts b/src/index.d.ts index 4fcfa805..ae4e1279 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -1,10 +1,7 @@ import { CustomBrowserWindow } from "./helpers/window"; -import { Notification } from "electron"; -import { SpellCheckerProvider } from "electron-hunspell"; declare global { interface Window { - spellCheckHandler?: SpellCheckerProvider; getUserImg: (name: string) => Promise; } @@ -13,10 +10,4 @@ declare global { mainWindow?: CustomBrowserWindow; } } - - namespace NodeJS { - interface Global { - currentNotification?: Notification; - } - } } diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index a43d010f..97403f62 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -1,10 +1,8 @@ import { ContextMenuParams, - ipcRenderer, MenuItemConstructorOptions, remote, } from "electron"; -import { EVENT_SPELL_ADD_CUSTOM_WORD } from "../helpers/constants"; const { Menu, app } = remote; @@ -63,12 +61,6 @@ export const popupContextMenu = async ( event: Electron.Event, params: ContextMenuParams ): Promise => { - // As of Electron 4, Menu.popup no longer accepts being called with the signature popup(remote.getCurrentWindow()) - // It must be passed as an object with the window key. Is this change silly? Yes. Will we know why it was done? No. - const menuPopupArgs = { - window: app.mainWindow, - }; - switch (params.mediaType) { case "video": case "image": @@ -102,59 +94,30 @@ export const popupContextMenu = async ( default: if (params.isEditable) { const textMenuTemplateCopy = [...textMenuTemplate]; - if (window.spellCheckHandler && params.misspelledWord) { - const booboo = params.selectionText; - textMenuTemplateCopy.unshift({ - type: "separator", - }); + if (params.misspelledWord) { + textMenuTemplateCopy.unshift({ type: "separator" }); textMenuTemplateCopy.unshift({ - label: `Add ${booboo} to Dictionary`, - click: async () => { - // Immediately clear red underline - (event as any).sender.replaceMisspelling(booboo); - // Add new custom word to dictionary for the current session - // Until I restructure all this ts demands a default - const localeKey = - (await window.spellCheckHandler?.getSelectedDictionaryLanguage()) || - "en"; - window.spellCheckHandler?.addWord(localeKey, booboo); - // Send new custom word to main process so it will be added to the dictionary at the start of future sessions - ipcRenderer.send(EVENT_SPELL_ADD_CUSTOM_WORD, { - newCustomWord: booboo, - }); - }, + label: "Add to Dictionary", + click: () => + app.mainWindow?.webContents.session.addWordToSpellCheckerDictionary( + params.misspelledWord + ), }); - - const suggestions = (await window.spellCheckHandler.getSuggestion( - params.misspelledWord - )) as string[]; - if (suggestions && suggestions.length) { + textMenuTemplateCopy.unshift({ type: "separator" }); + for (const suggestion of params.dictionarySuggestions.reverse()) { textMenuTemplateCopy.unshift({ - type: "separator", + label: suggestion, + click: () => + remote.getCurrentWebContents().replaceMisspelling(suggestion), }); - - // Hunspell always seems to return the best choices at the end of the array, so reverse it, then limit to 8 suggestions - suggestions - .reverse() - .slice(0, 8) - .map((correction) => { - const item = { - label: correction, - click: () => { - return (event as any).sender.replaceMisspelling(correction); - }, - }; - - textMenuTemplateCopy.unshift(item); - }); } } const textInputMenu = Menu.buildFromTemplate(textMenuTemplateCopy); - textInputMenu.popup(menuPopupArgs); + textInputMenu.popup(); } else { // Omit options pertaining to input fields if this isn't one const standardInputMenu = Menu.buildFromTemplate(standardMenuTemplate); - standardInputMenu.popup(menuPopupArgs); + standardInputMenu.popup(); } } }; diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index fbd965fa..c95aaf23 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -9,7 +9,6 @@ const localeStyle = const disclaimerText = "

Not affiliated with Google in any way.
Android is a trademark of Google LLC."; const licenseText = `

${productName} is released under the MIT License.`; -const dictionaryLicenseText = `

Spelling dictionaries are released under various licenses including MIT, BSD, and GNU GPL. See dictionary license details.`; let languageCode = ""; let descriptionWithLocale = ""; @@ -24,7 +23,7 @@ export const aboutMenuItem: MenuItemConstructorOptions = { click: () => { openAboutWindow({ icon_path: path.resolve(RESOURCES_PATH, "icons", "512x512.png"), - copyright: `
Copyright (c) 2020 Kyle Rosenberg${disclaimerText}${licenseText}${dictionaryLicenseText}
`, + copyright: `
Copyright (c) 2020 Kyle Rosenberg${disclaimerText}${licenseText}
`, product_name: productName, description: descriptionWithLocale, open_devtools: IS_DEV, diff --git a/yarn.lock b/yarn.lock index aaccdcbc..297be9f9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1650,13 +1650,6 @@ electron-builder@22.8.0: update-notifier "^4.1.0" yargs "^15.3.1" -electron-hunspell@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/electron-hunspell/-/electron-hunspell-1.1.2.tgz#58b64fc09ad3d8e99ea74846f333c4efedc4fa03" - integrity sha512-Wrue7/aOlOEabhMm4GQSfvGADKHzCDkuYIEOINSEwMjHrvwTj7e1gI1kIO5wc+JdSL1uhFjwROfrqiLmnxqIKg== - dependencies: - hunspell-asm "^4.0.2" - electron-publish@22.8.0: version "22.8.0" resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.8.0.tgz#7f410fe043abc5d3d896c4ee9eea7a43ea352c7d" @@ -1729,15 +1722,6 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -emscripten-wasm-loader@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/emscripten-wasm-loader/-/emscripten-wasm-loader-3.0.3.tgz#60d4f33dd62fc41cf6d98fbca94b24bc246f133b" - integrity sha512-fyq2maBt5LOou27LEBlL5H6G04BxgSamXkvmMsAuIT6rd8ioH4BxNQhuyl6jVPeODh6U8Wk1BoFZxzHpg3o8wA== - dependencies: - getroot "^1.0.0" - nanoid "^2.0.3" - unixify "^1.0.0" - encodeurl@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -2296,13 +2280,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -getroot@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/getroot/-/getroot-1.0.0.tgz#ac4635c5fa4037741d6ead61ccc16367439efcbe" - integrity sha512-W9Q31kOv921dQuZBeAbK4R/dAPbC0WkhZD3alLcdVwjSkEtS1aX8twrzG3I5yo0sQ88M/d4JOqVbRiCuI/XPNA== - dependencies: - tslib "^1.7.1" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -2597,14 +2574,6 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -hunspell-asm@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hunspell-asm/-/hunspell-asm-4.0.2.tgz#20c50ea50a52467534a809b3095a064231e7171e" - integrity sha512-u3ZuEYKGYnLZlIs+k5S+KdY+Q57mYD46fTwZJCiSXdES+fhxcLNF5mJ0nxjqrPAgE/8Kow6XLxRdRd/HDUPQZg== - dependencies: - emscripten-wasm-loader "^3.0.3" - nanoid "^2.1.5" - iconv-lite@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" @@ -3338,11 +3307,6 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== -nanoid@^2.0.3, nanoid@^2.1.5: - version "2.1.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" - integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -4780,7 +4744,7 @@ ts-node@^8.10.2: source-map-support "^0.5.17" yn "3.1.1" -tslib@^1.10.0, tslib@^1.7.1, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== @@ -4882,13 +4846,6 @@ universalify@^1.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== -unixify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unixify/-/unixify-1.0.0.tgz#3a641c8c2ffbce4da683a5c70f03a462940c2090" - integrity sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA= - dependencies: - normalize-path "^2.1.1" - unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" From 5bc79ba0732c5c83d10eef95f0bfd03ea7904e2c Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Wed, 12 Aug 2020 00:54:51 +0000 Subject: [PATCH 149/385] Restyled by prettier-markdown --- README.md | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0a10ad86..010d57d7 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,30 @@ # Android Messages™ Desktop -Run Android Messages as a desktop app, a la iMessage. For those of us that prefer not to have a browser tab always open for this sort of thing. +Run Android Messages as a desktop app, a la iMessage. For those of us that +prefer not to have a browser tab always open for this sort of thing. **Not affiliated with Google in any way. Android is a trademark of Google LLC.** -| Platform | Status | -|-----------|-------------------------------------------------| -| Windows | ![Windows Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20windows) | -| Mac | ![Mac Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20mac) | -| Linux | ![Linux Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20linux) | +| Platform | Status | +| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Windows | ![Windows Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20windows) | +| Mac | ![Mac Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20mac) | +| Linux | ![Linux Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20linux) | Inspired by: -* [Google Play Music Desktop Player](https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-) -* [a Reddit post on r/Android](https://www.reddit.com/r/Android/comments/8shv6q/web_messages/e106a8r/) +- [Google Play Music Desktop Player](https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-) +- [a Reddit post on r/Android](https://www.reddit.com/r/Android/comments/8shv6q/web_messages/e106a8r/) # Download -Head over to the [latest releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) page! -**Important Note 1:** We currently have builds for Windows and macOS, and Linux. I test releases on Arch Linux. I would love help testing in additional places. +Head over to the +[latest releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) +page! -**Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. +**Important Note 1:** We currently have builds for Windows and macOS, and Linux. +I test releases on Arch Linux. I would love help testing in additional places. + +**Important Note 2:** Neither the MacOS nor the Windows binaries are signed +right now. I am willing to add this but I do not have the certificates required +at this time. From 2811e5bf731b723a12b196326cab05215a751c35 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 21:47:53 -0400 Subject: [PATCH 150/385] Add the unread_icon.png --- resources/tray/unread_icon.png | Bin 0 -> 2248 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/tray/unread_icon.png diff --git a/resources/tray/unread_icon.png b/resources/tray/unread_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b6214de6913625319d1ba9ba2f5e1c6f95442409 GIT binary patch literal 2248 zcmV;(2sihMP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U-_bk|ZY#{O1%t0+IlU3)G2#Lp^ zU1ZbE3_4a&F4wSxSMf#U^?Ea2^Tjtv-hJ~GZ=*~MRi>jroeE7FSK6onV&K7wl(|8c zRcE4{xj`|4MtEtmN|p`HBRnx4+#DYaj zre>C{WX^&Z7<0;+E$3VcyMl=dY!&n`sHt3~h8kAJVqZ(gIt$un}4Yf}7 zW`b5YiAysm#(|)?E(PGwyfpJhA@EXeY34JpK*j(Wmo~1`QVbG?K^!ODwR=c}>m*aOUegVH_2 zjN2Y;;q(b3?1pIyCB45I?KyQPBdv`+0M0r6kedewpQ=555LGo+kp zmoqLDDDrVFVhK z-164hy8o3wA}$<40^DgPJKh%BEK6gzMLvWu?YVH4+J@SFLeRTfTNsFCa~o(=hJ`6@ z7cID1aO>QYjVi_ZZ7Oujatv!N+9D0#Z@UqZd$dzRS8YyT5lLglGmP?FL3U%bTqy1p zbZaebNf1UjTo8&+VGm5kwBtbVr{6LQjyJ;t=U#dez*#$9l1HBKnlCuXRM zTw$d9z_+?XeMo9_%))hBwkJ_>i{0vL!O7-6xWgyj(2q|wT#a!Tn`bLp8p~td<6%BT*gQ9Up*6CA7}G4LAVNMD-B)y zvd%l(uly-)*cG1bC-*Zt0}sykUFre%kFVo(;g1}(yygGKVgEm(|01HEX>4Tx0C=2zkv&MmP!xqvQ>8^J4t5Z6$WX<>f~bh2 zR-p(LLaorMgUL((ph-iL;^HW{799LptU9+0Yt2!cN#PL58BE>hxsNufoI7as59 zyn7Ds-3JJb3e&8vaX`~;Go4I`+1#oadPNu!1TYH7%rfRADFxs9x~ER6yExDC@B6cQ z)x5=kfJi*c4AUmwAfDc|4bJ<-QC5;w;&b9LlP*a7$aTfzH_kz@3Dk-WaL%yn8rNMaF7kRU=q4P{hdBTl=bb z^8^S!16O+6Uu^(0pQP8@TI>ku+XgPK+nTZmTpB9{V$EL00006VoOIv0RI30 z001*5eDeSR010qNS#tmY3ljhU3ljkVnw%H_000McNlirul8-iC` zhu$8{cogwc!j}DHlS`}*jok=0!UNFdDId>;usRH$%Yup&ghPtAs=&|{j+7)MZ0ufek;pd|2W9+UBX~P<)pdqK1@`tAfqqZrR_uA$)sq>W%V` zl>uTJKt63b?k?Q_k$exN@@dQQB9Kp8mp}r@{zA?I3Ag{(-xzgATyQOK0b8zP06qXu W9FPcDQ@r&60000 Date: Tue, 11 Aug 2020 22:34:59 -0400 Subject: [PATCH 151/385] Added the neccessary icons to have unread indicators on windows and linux along with the supporting code --- resources/tray/icon.png | Bin 609 -> 1031 bytes resources/tray/unread_icon.ico | Bin 0 -> 33820 bytes resources/tray/unread_icon.png | Bin 2248 -> 1372 bytes src/background.ts | 7 +------ src/bridge.ts | 33 +++++++++++++++++++++++++-------- src/helpers/trayManager.ts | 15 +++++---------- src/index.d.ts | 2 ++ 7 files changed, 33 insertions(+), 24 deletions(-) create mode 100644 resources/tray/unread_icon.ico diff --git a/resources/tray/icon.png b/resources/tray/icon.png index 0759edc5e6cefea77e0f28aa6f68187e3a8ffa44..81ff9937defdfe970810f3d981cf79724e797488 100644 GIT binary patch delta 787 zcmV+u1MK|a1cwMAiBL{Q4GJ0x0000DNk~Le0000W0000W2m=5B07RsU#*raD0s&l+ zVLFk38Fn?8?(yR2^4;a~$=dYXGIOw^V{U|+2ixn;PcPj z^X2OD(cJ9I*Xh^c^U&S%>+SLH@bTyC^4H??)!*&Sf86ul=JMg_^4#O^>h1Bu)%3vB z^xEU|+T`=r;q&e9@xsyP#Mbo1*Yw%q?wq*b=!+Vs`n^Qyw)I(pOO=F(p`?zG0@N`A>2Zr>Vj;u&Mj7+t~`T)-Gz!5L!88gAbI z|NkeJe^4p_0019!QchC<02*zp*znt|Ft7am2$GW<&m7+*!axv(DTWe* z3EhCY*0o@Th>99fFsNVwd+)vb{~z2!Dxf}if1l>eemiG(X0FZl53;LrIGY$3aJfBB zhn6z{UbY#i;#jX0@U?KjD314;0KpHe@(Tta5CpXf1~ecP2K5vUsQ?e^i?0F^t^vSB zD8Qn)v&*RNo?b$*1Q2k6K4@0|04X70Ad17mA$pJ)9-+Y~DG|kh2S;P$6DXTZL1{9b zf5gBP0a`J@kZ^hi!p!X4yd*EkSp+PSEQ0}&K6wekTtdn(E2+W?0#->{=QY zm6BXUz&g#ED{O2+xTQ#Cr~#t>1`JfTU|LCD9+AN`rps|H4K^zF=bc1b9j`f$3npKLc&jgBR%f-DoE53H9`>fET?C@L!{W`K R^$i%nXZ2UI0jQJn0dCmUqU-HT+v4om;q2k(^4sL|;^^|( zPL1Nn)#}UH z>rjs3|NsAuNerq0000qmQchC<00LRE>LP#4>C0NT>*o0*<#MM!X8-^I0b)x>L^a;F z*=qm*00(qQO+^Rf1_cfoIX49QyZ`_IpGibPR2b7`kLM18KoErYC`S{{5%p9o2q^ac z{?F!>SQ6&fW-`08A5lk)F~{|M_@3*iSsOfnRltqGLwpo+WjGOjiX5UC801F75fEAv zCBRt9$#hoC7eGSPQ^}=VmFud`fs{zEHgZ#J+g2HwO*C>>@2k=#)D0Zu@pQgiZ{~(- s!Tq6Io-fnV`GbkSPlaI-Ulw8EG;Kdiy;#$}0sK%7oljqZpOcvbZWxx(wg3PC diff --git a/resources/tray/unread_icon.ico b/resources/tray/unread_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..bdb8004de86d6135bb9813f53d3f7eef15b6f364 GIT binary patch literal 33820 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 Q^7X(`duO{2l7Gto0f`?C`Tzg` literal 0 HcmV?d00001 diff --git a/resources/tray/unread_icon.png b/resources/tray/unread_icon.png index b6214de6913625319d1ba9ba2f5e1c6f95442409..5c8454ffd58daa76c44ba2b6031a351f7f2045d2 100644 GIT binary patch literal 1372 zcmV-i1*7_jP)7%G(}yvTZ=?2 zoJ)D$pcXOfzx-fv0s-JI;O_j`1hfL768AJP3j7LuoXw^_J9zx*jZw$lp+q(bIKYs> zzL_)T6+vcJAAG+ufdFt6co29LxE4^=WXvGBjqww`dj|J5)#7#9;@25t?XxSEF57it z_-uK=0C+d>4)8Ltp;~YNF&XFf#Ift@$d!TvghXUp@5s5%kkZ9L1K>9R?*aD#ZneO9 zc-&l)Rp}7~JD*dRAXhmeI2FLx0&f5}{XO70^AM(S7Z8|Dr;V2sDNpMX;Dvtz4wjsb z@I%ejq)}xg1jrimW6$LHxxT45x@7i`0FML8S}+#u6%3T-ys9Ibj?tZq5yGIbSYRCY z?8W5NlbbtNoxbhRM{^|rRs!1r$68q0AgpSus!bHn-@@n=oK@}YW;4IVk8*RWpBn3N zD$>EB=!U72k*@xT%`lwWjRa=@1h5OhGjPvFcz#O+k%dVJlu0d~v>Z6@@!Fv*6Vn;A zmqrQXbOh0^r~HY&4Rac($8RzKC`*o$E*L9}&nQ9~B7t}9QDNIH z4)@>apmhidN3o$OTDvIFz!o4JBybJ>S})A%a=L~+U(GNaOH-PJ*`L#C=#MFe;tC4| zKVv~FxMQ8BK0?0wMR~d&zoi!lbOX&n53LoyUy88r$Yc?CDk}_(D+XeUumj7R4VR~c zGnW+?6N0gGT4=6?TDL-tU@887QXsG#KQ%?>sWAPCFviS97)c2AVT)G&vl2^3qd^N~ za>B%n6fz-LROMzAp3T7QDrlNlWU82#5{M@SN5QgY3l>BysjQ$&y2>K@Z472$ehUN< zfsg}@!2 zK>`WjKqUeLan0^8Vq6$Yp#-!NloGfLCb)HtOKU?}z~bl@&Rop!bsvnGCX_Cd)iGc*FgUcc zy=XW56L<^%JW#wm-5O3#h3Gkw0_)8SKD#klRfi5mP`WJlS>Sbi(HFiUkcAffqu8DE zLsVn)uKaz#LqK9^XS-kK5{EJ18GMn<6S$gD(T)H+$glrdD-f7vln39AU#ox1e#*x@ zRf1KVfxwHy`1gU&@f*~YS`OF`Y{kE@6oCVaUQAl>YxXeynW0({7<^H`3cL$UR03zQ zfO#SUtOD)@?!vzzEup+^dq500j=#?L1O0%l1Y8w?3K?n0lUa+upEu_JpTO^Iz4%>q eYQ7o&@9Zztq3)2LBDV1W0000 zaB^>EX>4U6ba`-PAZ2)IW&i+q+U-_bk|ZY#{O1%t0+IlU3)G2#Lp^ zU1ZbE3_4a&F4wSxSMf#U^?Ea2^Tjtv-hJ~GZ=*~MRi>jroeE7FSK6onV&K7wl(|8c zRcE4{xj`|4MtEtmN|p`HBRnx4+#DYaj zre>C{WX^&Z7<0;+E$3VcyMl=dY!&n`sHt3~h8kAJVqZ(gIt$un}4Yf}7 zW`b5YiAysm#(|)?E(PGwyfpJhA@EXeY34JpK*j(Wmo~1`QVbG?K^!ODwR=c}>m*aOUegVH_2 zjN2Y;;q(b3?1pIyCB45I?KyQPBdv`+0M0r6kedewpQ=555LGo+kp zmoqLDDDrVFVhK z-164hy8o3wA}$<40^DgPJKh%BEK6gzMLvWu?YVH4+J@SFLeRTfTNsFCa~o(=hJ`6@ z7cID1aO>QYjVi_ZZ7Oujatv!N+9D0#Z@UqZd$dzRS8YyT5lLglGmP?FL3U%bTqy1p zbZaebNf1UjTo8&+VGm5kwBtbVr{6LQjyJ;t=U#dez*#$9l1HBKnlCuXRM zTw$d9z_+?XeMo9_%))hBwkJ_>i{0vL!O7-6xWgyj(2q|wT#a!Tn`bLp8p~td<6%BT*gQ9Up*6CA7}G4LAVNMD-B)y zvd%l(uly-)*cG1bC-*Zt0}sykUFre%kFVo(;g1}(yygGKVgEm(|01HEX>4Tx0C=2zkv&MmP!xqvQ>8^J4t5Z6$WX<>f~bh2 zR-p(LLaorMgUL((ph-iL;^HW{799LptU9+0Yt2!cN#PL58BE>hxsNufoI7as59 zyn7Ds-3JJb3e&8vaX`~;Go4I`+1#oadPNu!1TYH7%rfRADFxs9x~ER6yExDC@B6cQ z)x5=kfJi*c4AUmwAfDc|4bJ<-QC5;w;&b9LlP*a7$aTfzH_kz@3Dk-WaL%yn8rNMaF7kRU=q4P{hdBTl=bb z^8^S!16O+6Uu^(0pQP8@TI>ku+XgPK+nTZmTpB9{V$EL00006VoOIv0RI30 z001*5eDeSR010qNS#tmY3ljhU3ljkVnw%H_000McNlirul8-iC` zhu$8{cogwc!j}DHlS`}*jok=0!UNFdDId>;usRH$%Yup&ghPtAs=&|{j+7)MZ0ufek;pd|2W9+UBX~P<)pdqK1@`tAfqqZrR_uA$)sq>W%V` zl>uTJKt63b?k?Q_k$exN@@dQQB9Kp8mp}r@{zA?I3Ag{(-xzgATyQOK0b8zP06qXu W9FPcDQ@r&60000 { - if (IS_WINDOWS && trayManager?.overlayVisible) { - trayManager.toggleOverlay(false); - } - }); - ipcMain.on(EVENT_BRIDGE_INIT, async (event) => { if (state.bridgeInitDone) { return; diff --git a/src/bridge.ts b/src/bridge.ts index 1359648b..d7abe78e 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -25,26 +25,43 @@ remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); let cacheManager: CacheManager | undefined; -window.addEventListener("load", () => { - // Conditionally let the main process know the page is (essentially) done loading. - // This should defer spellchecker downloading in a way that avoids blocking the page UI :D +function createUnreadListener() { + const unreadObserver = ( + _mutationList: MutationRecord[], + _observer: MutationObserver + ) => { + if (document.querySelector(".unread") != null) { + app.trayManager?.setUnreadIcon(true); + } else { + app.trayManager?.setUnreadIcon(false); + } + }; + const observer = new MutationObserver(unreadObserver); + const node = document.querySelector("mws-conversations-list"); + if (node) { + observer.observe(node, { + subtree: true, + attributes: true, + attributeFilter: ["class"], + }); + } +} - // Without observing the DOM, we don't have a reliable way to let the main process know once - // (and only once) that the main part of the app (not the QR code screen) has loaded, which is - // when we need to init the spellchecker - const onMutation = ( +window.addEventListener("load", () => { + const onInit = ( _mutationsList: MutationRecord[], observer: MutationObserver ) => { if (document.querySelector("mw-main-nav")) { // we're definitely logged-in if this is in the DOM ipcRenderer.send(EVENT_BRIDGE_INIT); + createUnreadListener(); observer.disconnect(); } // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here }; - const observer = new MutationObserver(onMutation); + const observer = new MutationObserver(onInit); observer.observe(document.body, { childList: true, attributes: true, diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index f7dd27d5..af5e3742 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -14,7 +14,6 @@ export class TrayManager { public enabled = settings.get(SETTING_TRAY_ENABLED, !IS_LINUX) as boolean; public iconPath = this.getIconPath(); public overlayIconPath = this.getOverlayIconPath(); - public overlayVisible = false; public tray: Tray | null = null; @@ -37,7 +36,9 @@ export class TrayManager { private getOverlayIconPath(): string | null { if (IS_WINDOWS) { - return path.resolve(RESOURCES_PATH, "tray", "tray_with_badge.ico"); + return path.resolve(RESOURCES_PATH, "tray", "unread_icon.ico"); + } else if (IS_LINUX) { + return path.resolve(RESOURCES_PATH, "tray", "unread_icon.png"); } return null; } @@ -134,19 +135,13 @@ export class TrayManager { } } - public toggleOverlay(toggle: boolean): void { - if ( - IS_WINDOWS && - this.tray && - toggle !== this.overlayVisible && - this.overlayIconPath != null - ) { + public setUnreadIcon(toggle: boolean): void { + if (this.tray && this.overlayIconPath != null) { if (toggle) { this.tray.setImage(this.overlayIconPath); } else { this.tray.setImage(this.iconPath); } - this.overlayVisible = toggle; } } } diff --git a/src/index.d.ts b/src/index.d.ts index ae4e1279..6725583f 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -1,4 +1,5 @@ import { CustomBrowserWindow } from "./helpers/window"; +import { TrayManager } from "./helpers/trayManager"; declare global { interface Window { @@ -8,6 +9,7 @@ declare global { namespace Electron { interface App { mainWindow?: CustomBrowserWindow; + trayManager?: TrayManager; } } } From e24f3c322fa6af41116a3d13601c567947bb25c0 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 22:45:50 -0400 Subject: [PATCH 152/385] v4.2.0 --- CHANGELOG.md | 11 +++++++++++ package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba8af3ff..508ef80b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [4.2.0] - 2020-08-11 + +Era of polish. Unless good ideas come in this application is essentially feature complete. Only refinements are needed from here on out. + +### Added +- Unread notification indicator on both linux and windows that actually works +- Window goes flashy when a notification comes in (open to making this a setting if requested) + +### Fixed +- Bug causing duplicating notifications + ## [4.1.0] - 2020-06-12 This should probably be a patch instead of a minor version. There are no breaking changes just a small bug fix. diff --git a/package.json b/package.json index d454e51d..749332d4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.1.0", + "version": "4.2.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 080152c4c4f8041dc34ed01e99341b49dfa4a3a9 Mon Sep 17 00:00:00 2001 From: Kyle Date: Tue, 11 Aug 2020 23:00:22 -0400 Subject: [PATCH 153/385] changing up the naming format --- electron-builder.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index 836a738f..149d7c15 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,6 +1,6 @@ module.exports = { appId: "pw.electron.android-messages", - artifactName: "${productName}v${version}-${os}-${arch}.${ext}", + artifactName: "${productName}-v${version}-${os}-${arch}.${ext}", productName: "AndroidMessages", copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], @@ -21,7 +21,7 @@ module.exports = { target: ["zip", "dmg"], }, portable: { - artifactName: "${productName}v${version}-${os}-${arch}.portable.${ext}", + artifactName: "${productName}-v${version}-${os}-${arch}.portable.${ext}", }, nsis: { allowToChangeInstallationDirectory: true, From 843f3f81efb570db667fee8ec149c3325af9fe0d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Aug 2020 05:18:59 +0000 Subject: [PATCH 154/385] Bump eslint from 7.6.0 to 7.7.0 Bumps [eslint](https://github.com/eslint/eslint) from 7.6.0 to 7.7.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.6.0...v7.7.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 749332d4..64f88f68 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "css-loader": "^4.2.1", "electron": "9.2.0", "electron-builder": "22.8.0", - "eslint": "^7.6.0", + "eslint": "^7.7.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", "friendly-errors-webpack-plugin": "^1.6.1", diff --git a/yarn.lock b/yarn.lock index 297be9f9..cec8926a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1867,10 +1867,10 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.6.0.tgz#522d67cfaea09724d96949c70e7a0550614d64d6" - integrity sha512-QlAManNtqr7sozWm5TF4wIH9gmUm2hE3vNRUvyoYAa4y1l5/jxD/PQStEjBMQtCqZmSep8UxrcecI60hOpe61w== +eslint@^7.7.0: + version "7.7.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" + integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.10.0" From 4cf11995d6b0f48897b7acc784b9c28389efb5e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Aug 2020 05:05:29 +0000 Subject: [PATCH 155/385] Bump @typescript-eslint/eslint-plugin from 3.9.0 to 3.9.1 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.9.0 to 3.9.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.9.1/packages/eslint-plugin) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 47 ++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 64f88f68..8f880d63 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/webpack": "^4.41.21", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^3.9.0", + "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.0", "cross-env": "^7.0.2", "css-loader": "^4.2.1", diff --git a/yarn.lock b/yarn.lock index cec8926a..be1c9b10 100644 --- a/yarn.lock +++ b/yarn.lock @@ -211,12 +211,12 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.9.0.tgz#0fe529b33d63c9a94f7503ca2bb12c84b9477ff3" - integrity sha512-UD6b4p0/hSe1xdTvRCENSx7iQ+KR6ourlZFfYuPC7FlXEzdHuLPrEmuxZ23b2zW96KJX9Z3w05GE/wNOiEzrVg== +"@typescript-eslint/eslint-plugin@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.9.1.tgz#8cf27b6227d12d66dd8dc1f1a4b04d1daad51c2e" + integrity sha512-XIr+Mfv7i4paEdBf0JFdIl9/tVxyj+rlilWIfZ97Be0lZ7hPvUbS5iHt9Glc8kRI53dsr0PcAEudbf8rO2wGgg== dependencies: - "@typescript-eslint/experimental-utils" "3.9.0" + "@typescript-eslint/experimental-utils" "3.9.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" @@ -234,6 +234,17 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" +"@typescript-eslint/experimental-utils@3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.1.tgz#b140b2dc7a7554a44f8a86fb6fe7cbfe57ca059e" + integrity sha512-lkiZ8iBBaYoyEKhCkkw4SAeatXyBq9Ece5bZXdLe1LWBUwTszGbmbiqmQbwWA8cSYDnjWXp9eDbXpf9Sn0hLAg== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/types" "3.9.1" + "@typescript-eslint/typescript-estree" "3.9.1" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + "@typescript-eslint/parser@^3.9.0": version "3.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.9.0.tgz#344978a265d9a5c7c8f13e62c78172a4374dabea" @@ -250,6 +261,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.0.tgz#be9d0aa451e1bf3ce99f2e6920659e5b2e6bfe18" integrity sha512-rb6LDr+dk9RVVXO/NJE8dT1pGlso3voNdEIN8ugm4CWM5w5GimbThCMiMl4da1t5u3YwPWEwOnKAULCZgBtBHg== +"@typescript-eslint/types@3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.1.tgz#b2a6eaac843cf2f2777b3f2464fb1fbce5111416" + integrity sha512-15JcTlNQE1BsYy5NBhctnEhEoctjXOjOK+Q+rk8ugC+WXU9rAcS2BYhoh6X4rOaXJEpIYDl+p7ix+A5U0BqPTw== + "@typescript-eslint/typescript-estree@3.9.0": version "3.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.0.tgz#c6abbb50fa0d715cab46fef67ca6378bf2eaca13" @@ -264,6 +280,20 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.1.tgz#fd81cada74bc8a7f3a2345b00897acb087935779" + integrity sha512-IqM0gfGxOmIKPhiHW/iyAEXwSVqMmR2wJ9uXHNdFpqVvPaQ3dWg302vW127sBpAiqM9SfHhyS40NKLsoMpN2KA== + dependencies: + "@typescript-eslint/types" "3.9.1" + "@typescript-eslint/visitor-keys" "3.9.1" + debug "^4.1.1" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/visitor-keys@3.9.0": version "3.9.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.0.tgz#44de8e1b1df67adaf3b94d6b60b80f8faebc8dd3" @@ -271,6 +301,13 @@ dependencies: eslint-visitor-keys "^1.1.0" +"@typescript-eslint/visitor-keys@3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.1.tgz#92af3747cdb71509199a8f7a4f00b41d636551d1" + integrity sha512-zxdtUjeoSh+prCpogswMwVUJfEFmCOjdzK9rpNjNBfm6EyPt99x3RrJoBOGZO23FCt0WPKUCOL5mb/9D5LjdwQ== + dependencies: + eslint-visitor-keys "^1.1.0" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" From adf3c3509478f92578a8130a2f0c13d01b1dbda0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Aug 2020 19:10:46 +0000 Subject: [PATCH 156/385] Bump @typescript-eslint/parser from 3.9.0 to 3.9.1 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 3.9.0 to 3.9.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.9.1/packages/parser) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 51 +++++++-------------------------------------------- 2 files changed, 8 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index 8f880d63..de2820cb 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", "@typescript-eslint/eslint-plugin": "^3.9.1", - "@typescript-eslint/parser": "^3.9.0", + "@typescript-eslint/parser": "^3.9.1", "cross-env": "^7.0.2", "css-loader": "^4.2.1", "electron": "9.2.0", diff --git a/yarn.lock b/yarn.lock index be1c9b10..ffc99235 100644 --- a/yarn.lock +++ b/yarn.lock @@ -223,17 +223,6 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.0.tgz#3171d8ddba0bf02a8c2034188593630914fcf5ee" - integrity sha512-/vSHUDYizSOhrOJdjYxPNGfb4a3ibO8zd4nUKo/QBFOmxosT3cVUV7KIg8Dwi6TXlr667G7YPqFK9+VSZOorNA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.9.0" - "@typescript-eslint/typescript-estree" "3.9.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - "@typescript-eslint/experimental-utils@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.1.tgz#b140b2dc7a7554a44f8a86fb6fe7cbfe57ca059e" @@ -245,41 +234,22 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.9.0.tgz#344978a265d9a5c7c8f13e62c78172a4374dabea" - integrity sha512-rDHOKb6uW2jZkHQniUQVZkixQrfsZGUCNWWbKWep4A5hGhN5dLHMUCNAWnC4tXRlHedXkTDptIpxs6e4Pz8UfA== +"@typescript-eslint/parser@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.9.1.tgz#ab7983abaea0ae138ff5671c7c7739d8a191b181" + integrity sha512-y5QvPFUn4Vl4qM40lI+pNWhTcOWtpZAJ8pOEQ21fTTW4xTJkRplMjMRje7LYTXqVKKX9GJhcyweMz2+W1J5bMg== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.9.0" - "@typescript-eslint/types" "3.9.0" - "@typescript-eslint/typescript-estree" "3.9.0" + "@typescript-eslint/experimental-utils" "3.9.1" + "@typescript-eslint/types" "3.9.1" + "@typescript-eslint/typescript-estree" "3.9.1" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/types@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.0.tgz#be9d0aa451e1bf3ce99f2e6920659e5b2e6bfe18" - integrity sha512-rb6LDr+dk9RVVXO/NJE8dT1pGlso3voNdEIN8ugm4CWM5w5GimbThCMiMl4da1t5u3YwPWEwOnKAULCZgBtBHg== - "@typescript-eslint/types@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.1.tgz#b2a6eaac843cf2f2777b3f2464fb1fbce5111416" integrity sha512-15JcTlNQE1BsYy5NBhctnEhEoctjXOjOK+Q+rk8ugC+WXU9rAcS2BYhoh6X4rOaXJEpIYDl+p7ix+A5U0BqPTw== -"@typescript-eslint/typescript-estree@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.0.tgz#c6abbb50fa0d715cab46fef67ca6378bf2eaca13" - integrity sha512-N+158NKgN4rOmWVfvKOMoMFV5n8XxAliaKkArm/sOypzQ0bUL8MSnOEBW3VFIeffb/K5ce/cAV0yYhR7U4ALAA== - dependencies: - "@typescript-eslint/types" "3.9.0" - "@typescript-eslint/visitor-keys" "3.9.0" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - "@typescript-eslint/typescript-estree@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.1.tgz#fd81cada74bc8a7f3a2345b00897acb087935779" @@ -294,13 +264,6 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.0.tgz#44de8e1b1df67adaf3b94d6b60b80f8faebc8dd3" - integrity sha512-O1qeoGqDbu0EZUC/MZ6F1WHTIzcBVhGqDj3LhTnj65WUA548RXVxUHbYhAW9bZWfb2rnX9QsbbP5nmeJ5Z4+ng== - dependencies: - eslint-visitor-keys "^1.1.0" - "@typescript-eslint/visitor-keys@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.1.tgz#92af3747cdb71509199a8f7a4f00b41d636551d1" From 1046e2fb0b59b1538033926d3dc0937fc151034c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2020 05:18:09 +0000 Subject: [PATCH 157/385] Bump electron from 9.2.0 to 9.2.1 Bumps [electron](https://github.com/electron/electron) from 9.2.0 to 9.2.1. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v9.2.0...v9.2.1) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index de2820cb..24bb515c 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/parser": "^3.9.1", "cross-env": "^7.0.2", "css-loader": "^4.2.1", - "electron": "9.2.0", + "electron": "9.2.1", "electron-builder": "22.8.0", "eslint": "^7.7.0", "eslint-config-prettier": "^6.11.0", diff --git a/yarn.lock b/yarn.lock index ffc99235..b5217ae9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1685,10 +1685,10 @@ electron-updater@4.3.4: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-9.2.0.tgz#d9fc8c8c9e5109669c366bd7b9ba83b06095d7a4" - integrity sha512-4ecZ3rcGg//Gk4fAK3Jo61T+uh36JhU6HHR/PTujQqQiBw1g4tNPd4R2hGGth2d+7FkRIs5GdRNef7h64fQEMw== +electron@9.2.1: + version "9.2.1" + resolved "https://registry.yarnpkg.com/electron/-/electron-9.2.1.tgz#54ef574e1af4ae967b5efa94312f1b6458d44a02" + integrity sha512-ZsetaQjXB8+9/EFW1FnfK4ukpkwXCxMEaiKiUZhZ0ZLFlLnFCpe0Bg4vdDf7e4boWGcnlgN1jAJpBw7w0eXuqA== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From 59ee34ce0e9dd24496ae486a9663e5792943c6b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Aug 2020 05:18:25 +0000 Subject: [PATCH 158/385] Bump webpack-merge from 5.1.1 to 5.1.2 Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.1.1 to 5.1.2. - [Release notes](https://github.com/survivejs/webpack-merge/releases) - [Changelog](https://github.com/survivejs/webpack-merge/blob/master/CHANGELOG.md) - [Commits](https://github.com/survivejs/webpack-merge/compare/v5.1.1...v5.1.2) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index de2820cb..87fb3a55 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "typescript": "^3.9.7", "webpack": "^4.44.1", "webpack-cli": "^3.3.12", - "webpack-merge": "^5.1.1", + "webpack-merge": "^5.1.2", "webpack-node-externals": "^2.5.1" } } diff --git a/yarn.lock b/yarn.lock index ffc99235..212f3ba7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5000,10 +5000,10 @@ webpack-cli@^3.3.12: v8-compile-cache "^2.1.1" yargs "^13.3.2" -webpack-merge@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.1.1.tgz#c79f36b4ad39a597c3bb780f809b514d65d85d01" - integrity sha512-UhIkHAVqeG9EqFfYo7dRELrVfH6HYaOTYM7ssKCwfIIHYnWepGVOFp1E166GwgPGFqV6M68UgRiKOERjVOKIXA== +webpack-merge@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.1.2.tgz#21dc1ed0e860c305cf5a07a48750f53a99750855" + integrity sha512-/slG0Kh0OKTf0zxdFJlhQHzv8bU9gUYVK5DkBjB3i/yoc1Xx4ADG0KITGO5S/6cqn2Ug43+8VR6Sz8daA/c+5g== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" From 6efd2718e1a2b8f59c0d8d681912d7a9ded96f15 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2020 05:20:15 +0000 Subject: [PATCH 159/385] Bump typescript from 3.9.7 to 4.0.2 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.7 to 4.0.2. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.7...v4.0.2) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index de2820cb..a18d6860 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "style-loader": "^1.2.1", "ts-loader": "^8.0.2", "ts-node": "^8.10.2", - "typescript": "^3.9.7", + "typescript": "^4.0.2", "webpack": "^4.44.1", "webpack-cli": "^3.3.12", "webpack-merge": "^5.1.1", diff --git a/yarn.lock b/yarn.lock index ffc99235..00a73fd9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4795,10 +4795,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^3.9.7: - version "3.9.7" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== +typescript@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2" + integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ== union-value@^1.0.0: version "1.0.1" From 7709292ecc6e32d4418d9e0581b6e6ab622f4760 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2020 05:22:36 +0000 Subject: [PATCH 160/385] Bump @types/dom-to-image from 2.6.1 to 2.6.2 Bumps [@types/dom-to-image](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dom-to-image) from 2.6.1 to 2.6.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dom-to-image) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index de2820cb..a1c9d654 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "node-fetch": "^2.6.0" }, "devDependencies": { - "@types/dom-to-image": "^2.6.1", + "@types/dom-to-image": "^2.6.2", "@types/electron-settings": "^3.1.1", "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "12", diff --git a/yarn.lock b/yarn.lock index ffc99235..0a6dc5d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -79,12 +79,10 @@ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== -"@types/dom-to-image@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@types/dom-to-image/-/dom-to-image-2.6.1.tgz#2b30a7080448b3b9265683886ca429bc6ae6112f" - integrity sha512-pTaEZxf1sZVRE5FDji9kmdiZLr2a4JLR1IQvJtuIsDXmq0Tv+lLpZqxXf/7wzMMIicMImXrrAZUEgf1XJpzksg== - dependencies: - "@types/node" "*" +"@types/dom-to-image@^2.6.2": + version "2.6.2" + resolved "https://registry.yarnpkg.com/@types/dom-to-image/-/dom-to-image-2.6.2.tgz#f6cc93cd5e84565a3666851fa5472fe8779b49d2" + integrity sha512-Yxbwmz/glNwRIXfBI8efG2bgIxrFAKV1MdfpqbUDq25ULMot7U7FYXPiso5G8DlBExSP+AakuG0mNus9yw4RZQ== "@types/electron-settings@^3.1.1": version "3.1.1" From af9d801557c848d31537cddaf1b28f9228c825dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2020 16:09:07 +0000 Subject: [PATCH 161/385] Bump ts-node from 8.10.2 to 9.0.0 Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 8.10.2 to 9.0.0. - [Release notes](https://github.com/TypeStrong/ts-node/releases) - [Commits](https://github.com/TypeStrong/ts-node/compare/v8.10.2...v9.0.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 950280d6..7b3e74e1 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "source-map-support": "^0.5.19", "style-loader": "^1.2.1", "ts-loader": "^8.0.2", - "ts-node": "^8.10.2", + "ts-node": "^9.0.0", "typescript": "^4.0.2", "webpack": "^4.44.1", "webpack-cli": "^3.3.12", diff --git a/yarn.lock b/yarn.lock index f08e508a..44a47066 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4733,10 +4733,10 @@ ts-loader@^8.0.2: micromatch "^4.0.0" semver "^6.0.0" -ts-node@^8.10.2: - version "8.10.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" - integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== +ts-node@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.0.0.tgz#e7699d2a110cc8c0d3b831715e417688683460b3" + integrity sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg== dependencies: arg "^4.1.0" diff "^4.0.1" From 078f93e009160187cf6a2a3c2ef309d9951f4e58 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 05:24:53 +0000 Subject: [PATCH 162/385] Bump ts-loader from 8.0.2 to 8.0.3 Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.2 to 8.0.3. - [Release notes](https://github.com/TypeStrong/ts-loader/releases) - [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.2...v8.0.3) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2b68b239..58ba7cd0 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "prettier": "^2.0.5", "source-map-support": "^0.5.19", "style-loader": "^1.2.1", - "ts-loader": "^8.0.2", + "ts-loader": "^8.0.3", "ts-node": "^9.0.0", "typescript": "^4.0.2", "webpack": "^4.44.1", diff --git a/yarn.lock b/yarn.lock index b6ee605e..15c796e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4720,10 +4720,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.2.tgz#ee73ca9350f745799396fff8578ba29b1e95616b" - integrity sha512-oYT7wOTUawYXQ8XIDsRhziyW0KUEV38jISYlE+9adP6tDtG+O5GkRe4QKQXrHVH4mJJ88DysvEtvGP65wMLlhg== +ts-loader@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.3.tgz#56858f4296edf1ed55e01f8520552984d3f0911c" + integrity sha512-wsqfnVdB7xQiqhqbz2ZPLGHLPZbHVV5Qn/MNFZkCFxRU1miDyxKORucDGxKtsQJ63Rfza0udiUxWF5nHY6bpdQ== dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" From d5bec1421c53c91b913609959252109ea5fcd9c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 05:25:45 +0000 Subject: [PATCH 163/385] Bump @typescript-eslint/eslint-plugin from 3.9.1 to 3.10.0 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.9.1 to 3.10.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.10.0/packages/eslint-plugin) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 47 ++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 2b68b239..ad678a87 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/webpack": "^4.41.21", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^3.9.1", + "@typescript-eslint/eslint-plugin": "^3.10.0", "@typescript-eslint/parser": "^3.9.1", "cross-env": "^7.0.2", "css-loader": "^4.2.1", diff --git a/yarn.lock b/yarn.lock index b6ee605e..d13b38f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -209,18 +209,29 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.9.1.tgz#8cf27b6227d12d66dd8dc1f1a4b04d1daad51c2e" - integrity sha512-XIr+Mfv7i4paEdBf0JFdIl9/tVxyj+rlilWIfZ97Be0lZ7hPvUbS5iHt9Glc8kRI53dsr0PcAEudbf8rO2wGgg== +"@typescript-eslint/eslint-plugin@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.0.tgz#40fd53e81639c0d1a515b44e5fdf4c03dfd3cd39" + integrity sha512-Bbeg9JAnSzZ85Y0gpInZscSpifA6SbEgRryaKdP5ZlUjhTKsvZS4GUIE6xAZCjhNTrf4zXXsySo83ZdHL7it0w== dependencies: - "@typescript-eslint/experimental-utils" "3.9.1" + "@typescript-eslint/experimental-utils" "3.10.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/experimental-utils@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.0.tgz#f97a669a84a78319ab324cd51169d0c52853a360" + integrity sha512-e5ZLSTuXgqC/Gq3QzK2orjlhTZVXzwxDujQmTBOM1NIVBZgW3wiIZjaXuVutk9R4UltFlwC9UD2+bdxsA7yyNg== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/types" "3.10.0" + "@typescript-eslint/typescript-estree" "3.10.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + "@typescript-eslint/experimental-utils@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.1.tgz#b140b2dc7a7554a44f8a86fb6fe7cbfe57ca059e" @@ -243,11 +254,30 @@ "@typescript-eslint/typescript-estree" "3.9.1" eslint-visitor-keys "^1.1.0" +"@typescript-eslint/types@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.0.tgz#b81906674eca94a884345ba0bc1aaf6cd4da912a" + integrity sha512-ktUWSa75heQNwH85GRM7qP/UUrXqx9d6yIdw0iLO9/uE1LILW+i+3+B64dUodUS2WFWLzKTlwfi9giqrODibWg== + "@typescript-eslint/types@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.1.tgz#b2a6eaac843cf2f2777b3f2464fb1fbce5111416" integrity sha512-15JcTlNQE1BsYy5NBhctnEhEoctjXOjOK+Q+rk8ugC+WXU9rAcS2BYhoh6X4rOaXJEpIYDl+p7ix+A5U0BqPTw== +"@typescript-eslint/typescript-estree@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.0.tgz#65df13579a5e53c12afb4f1c5309589e3855a5de" + integrity sha512-yjuY6rmVHRhcUKgXaSPNVloRueGWpFNhxR5EQLzxXfiFSl1U/+FBqHhbaGwtPPEgCSt61QNhZgiFjWT27bgAyw== + dependencies: + "@typescript-eslint/types" "3.10.0" + "@typescript-eslint/visitor-keys" "3.10.0" + debug "^4.1.1" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/typescript-estree@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.1.tgz#fd81cada74bc8a7f3a2345b00897acb087935779" @@ -262,6 +292,13 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/visitor-keys@3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.0.tgz#6c0cac867e705a42e2c71b359bf6a10a88a28985" + integrity sha512-g4qftk8lWb/rHZe9uEp8oZSvsJhUvR2cfp7F7qE6DyUD2SsovEs8JDQTRP1xHzsD+pERsEpYNqkDgQXW6+ob5A== + dependencies: + eslint-visitor-keys "^1.1.0" + "@typescript-eslint/visitor-keys@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.1.tgz#92af3747cdb71509199a8f7a4f00b41d636551d1" From d002b13bcef4a290573cc690a0b416aabca55cbc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 05:26:20 +0000 Subject: [PATCH 164/385] Bump css-loader from 4.2.1 to 4.2.2 Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.1 to 4.2.2. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.1...v4.2.2) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 2b68b239..fb561685 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", "cross-env": "^7.0.2", - "css-loader": "^4.2.1", + "css-loader": "^4.2.2", "electron": "9.2.1", "electron-builder": "22.8.0", "eslint": "^7.7.0", diff --git a/yarn.lock b/yarn.lock index b6ee605e..1b72d117 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1348,16 +1348,15 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-loader@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.2.1.tgz#9f48fd7eae1219d629a3f085ba9a9102ca1141a7" - integrity sha512-MoqmF1if7Z0pZIEXA4ZF9PgtCXxWbfzfJM+3p+OYfhcrwcqhaCRb74DSnfzRl7e024xEiCRn5hCvfUbTf2sgFA== +css-loader@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.2.2.tgz#b668b3488d566dc22ebcf9425c5f254a05808c89" + integrity sha512-omVGsTkZPVwVRpckeUnLshPp12KsmMSLqYxs12+RzM9jRR5Y+Idn/tBffjXRvOE+qW7if24cuceFJqYR5FmGBg== dependencies: camelcase "^6.0.0" cssesc "^3.0.0" icss-utils "^4.1.1" loader-utils "^2.0.0" - normalize-path "^3.0.0" postcss "^7.0.32" postcss-modules-extract-imports "^2.0.0" postcss-modules-local-by-default "^3.0.3" From a96883698a5e261b50571ae1022fc32e8a17c875 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 05:26:39 +0000 Subject: [PATCH 165/385] Bump webpack-node-externals from 2.5.1 to 2.5.2 Bumps [webpack-node-externals](https://github.com/liady/webpack-node-externals) from 2.5.1 to 2.5.2. - [Release notes](https://github.com/liady/webpack-node-externals/releases) - [Commits](https://github.com/liady/webpack-node-externals/compare/v2.5.1...v2.5.2) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2b68b239..381523ec 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,6 @@ "webpack": "^4.44.1", "webpack-cli": "^3.3.12", "webpack-merge": "^5.1.2", - "webpack-node-externals": "^2.5.1" + "webpack-node-externals": "^2.5.2" } } diff --git a/yarn.lock b/yarn.lock index b6ee605e..ade951e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5006,10 +5006,10 @@ webpack-merge@^5.1.2: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-node-externals@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-2.5.1.tgz#4718ec08aafa8babe246dbfd477e725c94032ef3" - integrity sha512-RWxKGibUU5kuJT6JDYmXGa3QsZskqIaiBvZ2wBxHlJzWVJPOyBMnroXf23uxEHnj1rYS8jNdyUfrNAXJ2bANNw== +webpack-node-externals@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz#178e017a24fec6015bc9e672c77958a6afac861d" + integrity sha512-aHdl/y2N7PW2Sx7K+r3AxpJO+aDMcYzMQd60Qxefq3+EwhewSbTBqNumOsCE1JsCUNoyfGj5465N0sSf6hc/5w== webpack-sources@^1.4.0, webpack-sources@^1.4.1: version "1.4.3" From ca779c3186492d12232aa9f48f49b0838d956bca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 15:44:06 +0000 Subject: [PATCH 166/385] Bump electron from 9.2.1 to 10.0.0 Bumps [electron](https://github.com/electron/electron) from 9.2.1 to 10.0.0. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v9.2.1...v10.0.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9e38fcae..4cc71276 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/parser": "^3.9.1", "cross-env": "^7.0.2", "css-loader": "^4.2.2", - "electron": "9.2.1", + "electron": "10.0.0", "electron-builder": "22.8.0", "eslint": "^7.7.0", "eslint-config-prettier": "^6.11.0", diff --git a/yarn.lock b/yarn.lock index aba05546..dc4569d7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1719,10 +1719,10 @@ electron-updater@4.3.4: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@9.2.1: - version "9.2.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-9.2.1.tgz#54ef574e1af4ae967b5efa94312f1b6458d44a02" - integrity sha512-ZsetaQjXB8+9/EFW1FnfK4ukpkwXCxMEaiKiUZhZ0ZLFlLnFCpe0Bg4vdDf7e4boWGcnlgN1jAJpBw7w0eXuqA== +electron@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-10.0.0.tgz#4e777612ead76b39bc7241c7749bf6b0ece47889" + integrity sha512-0XX/LqYAHHCSbfLjUk9VRDPOeYjDPEzA9i7F50AqpEpFIWR2bp++0S0beRANUpPdkvtBDp+0R6vHV3iXPvuKyA== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From aa864304ae1e576842d8f0c054755a5dcf7ead86 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 15:44:10 +0000 Subject: [PATCH 167/385] Bump @typescript-eslint/eslint-plugin from 3.10.0 to 3.10.1 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.10.0 to 3.10.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.10.1/packages/eslint-plugin) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 50 +++++++++++++++++++++++++------------------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 9e38fcae..484c8a14 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/webpack": "^4.41.21", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^3.10.0", + "@typescript-eslint/eslint-plugin": "^3.10.1", "@typescript-eslint/parser": "^3.9.1", "cross-env": "^7.0.2", "css-loader": "^4.2.2", diff --git a/yarn.lock b/yarn.lock index aba05546..9d1d8338 100644 --- a/yarn.lock +++ b/yarn.lock @@ -209,26 +209,26 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.0.tgz#40fd53e81639c0d1a515b44e5fdf4c03dfd3cd39" - integrity sha512-Bbeg9JAnSzZ85Y0gpInZscSpifA6SbEgRryaKdP5ZlUjhTKsvZS4GUIE6xAZCjhNTrf4zXXsySo83ZdHL7it0w== +"@typescript-eslint/eslint-plugin@^3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz#7e061338a1383f59edc204c605899f93dc2e2c8f" + integrity sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ== dependencies: - "@typescript-eslint/experimental-utils" "3.10.0" + "@typescript-eslint/experimental-utils" "3.10.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.0.tgz#f97a669a84a78319ab324cd51169d0c52853a360" - integrity sha512-e5ZLSTuXgqC/Gq3QzK2orjlhTZVXzwxDujQmTBOM1NIVBZgW3wiIZjaXuVutk9R4UltFlwC9UD2+bdxsA7yyNg== +"@typescript-eslint/experimental-utils@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" + integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.10.0" - "@typescript-eslint/typescript-estree" "3.10.0" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" @@ -254,23 +254,23 @@ "@typescript-eslint/typescript-estree" "3.9.1" eslint-visitor-keys "^1.1.0" -"@typescript-eslint/types@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.0.tgz#b81906674eca94a884345ba0bc1aaf6cd4da912a" - integrity sha512-ktUWSa75heQNwH85GRM7qP/UUrXqx9d6yIdw0iLO9/uE1LILW+i+3+B64dUodUS2WFWLzKTlwfi9giqrODibWg== +"@typescript-eslint/types@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" + integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== "@typescript-eslint/types@3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.1.tgz#b2a6eaac843cf2f2777b3f2464fb1fbce5111416" integrity sha512-15JcTlNQE1BsYy5NBhctnEhEoctjXOjOK+Q+rk8ugC+WXU9rAcS2BYhoh6X4rOaXJEpIYDl+p7ix+A5U0BqPTw== -"@typescript-eslint/typescript-estree@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.0.tgz#65df13579a5e53c12afb4f1c5309589e3855a5de" - integrity sha512-yjuY6rmVHRhcUKgXaSPNVloRueGWpFNhxR5EQLzxXfiFSl1U/+FBqHhbaGwtPPEgCSt61QNhZgiFjWT27bgAyw== +"@typescript-eslint/typescript-estree@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" + integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== dependencies: - "@typescript-eslint/types" "3.10.0" - "@typescript-eslint/visitor-keys" "3.10.0" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/visitor-keys" "3.10.1" debug "^4.1.1" glob "^7.1.6" is-glob "^4.0.1" @@ -292,10 +292,10 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@3.10.0": - version "3.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.0.tgz#6c0cac867e705a42e2c71b359bf6a10a88a28985" - integrity sha512-g4qftk8lWb/rHZe9uEp8oZSvsJhUvR2cfp7F7qE6DyUD2SsovEs8JDQTRP1xHzsD+pERsEpYNqkDgQXW6+ob5A== +"@typescript-eslint/visitor-keys@3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" + integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== dependencies: eslint-visitor-keys "^1.1.0" From d49a9b4456797c1ccea691d859bb0bee05214228 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 15:59:04 +0000 Subject: [PATCH 168/385] Bump prettier from 2.0.5 to 2.1.0 Bumps [prettier](https://github.com/prettier/prettier) from 2.0.5 to 2.1.0. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.0.5...2.1.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4f414870..038acfcd 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^4.3.0", "png2icons": "^2.0.1", - "prettier": "^2.0.5", + "prettier": "^2.1.0", "source-map-support": "^0.5.19", "style-loader": "^1.2.1", "ts-loader": "^8.0.3", diff --git a/yarn.lock b/yarn.lock index 5a623ae2..e2d4e6b5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3798,10 +3798,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" - integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== +prettier@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.0.tgz#5a9789f767a243118c60f3e56d95cb6544914fbb" + integrity sha512-lz28cCbA1cDFHVuY8vvj6QuqOwIpyIfPUYkSl8AZ/vxH8qBXMMjE2knfLHCrZCmUsK/H1bg1P0tOo0dJkTJHvw== pretty-error@^2.1.1: version "2.1.1" From e6e904c546db44a5aa12f2b71df79437bcc1339c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Aug 2020 16:15:13 +0000 Subject: [PATCH 169/385] Bump @typescript-eslint/parser from 3.9.1 to 3.10.1 Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 3.9.1 to 3.10.1. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v3.10.1/packages/parser) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 51 +++++++-------------------------------------------- 2 files changed, 8 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index c23acb8c..83ab587d 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", "@typescript-eslint/eslint-plugin": "^3.10.1", - "@typescript-eslint/parser": "^3.9.1", + "@typescript-eslint/parser": "^3.10.1", "cross-env": "^7.0.2", "css-loader": "^4.2.2", "electron": "10.0.0", diff --git a/yarn.lock b/yarn.lock index 9c295650..7cf618a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -232,26 +232,15 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/experimental-utils@3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.9.1.tgz#b140b2dc7a7554a44f8a86fb6fe7cbfe57ca059e" - integrity sha512-lkiZ8iBBaYoyEKhCkkw4SAeatXyBq9Ece5bZXdLe1LWBUwTszGbmbiqmQbwWA8cSYDnjWXp9eDbXpf9Sn0hLAg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.9.1" - "@typescript-eslint/typescript-estree" "3.9.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.9.1.tgz#ab7983abaea0ae138ff5671c7c7739d8a191b181" - integrity sha512-y5QvPFUn4Vl4qM40lI+pNWhTcOWtpZAJ8pOEQ21fTTW4xTJkRplMjMRje7LYTXqVKKX9GJhcyweMz2+W1J5bMg== +"@typescript-eslint/parser@^3.10.1": + version "3.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.1.tgz#1883858e83e8b442627e1ac6f408925211155467" + integrity sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw== dependencies: "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.9.1" - "@typescript-eslint/types" "3.9.1" - "@typescript-eslint/typescript-estree" "3.9.1" + "@typescript-eslint/experimental-utils" "3.10.1" + "@typescript-eslint/types" "3.10.1" + "@typescript-eslint/typescript-estree" "3.10.1" eslint-visitor-keys "^1.1.0" "@typescript-eslint/types@3.10.1": @@ -259,11 +248,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== -"@typescript-eslint/types@3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.9.1.tgz#b2a6eaac843cf2f2777b3f2464fb1fbce5111416" - integrity sha512-15JcTlNQE1BsYy5NBhctnEhEoctjXOjOK+Q+rk8ugC+WXU9rAcS2BYhoh6X4rOaXJEpIYDl+p7ix+A5U0BqPTw== - "@typescript-eslint/typescript-estree@3.10.1": version "3.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" @@ -278,20 +262,6 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.9.1.tgz#fd81cada74bc8a7f3a2345b00897acb087935779" - integrity sha512-IqM0gfGxOmIKPhiHW/iyAEXwSVqMmR2wJ9uXHNdFpqVvPaQ3dWg302vW127sBpAiqM9SfHhyS40NKLsoMpN2KA== - dependencies: - "@typescript-eslint/types" "3.9.1" - "@typescript-eslint/visitor-keys" "3.9.1" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - "@typescript-eslint/visitor-keys@3.10.1": version "3.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" @@ -299,13 +269,6 @@ dependencies: eslint-visitor-keys "^1.1.0" -"@typescript-eslint/visitor-keys@3.9.1": - version "3.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.9.1.tgz#92af3747cdb71509199a8f7a4f00b41d636551d1" - integrity sha512-zxdtUjeoSh+prCpogswMwVUJfEFmCOjdzK9rpNjNBfm6EyPt99x3RrJoBOGZO23FCt0WPKUCOL5mb/9D5LjdwQ== - dependencies: - eslint-visitor-keys "^1.1.0" - "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" From 9bc8c209a0038527552e93c2fd9942c0ed6c07b8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Sep 2020 05:20:32 +0000 Subject: [PATCH 170/385] Bump @typescript-eslint/eslint-plugin from 3.10.1 to 4.0.0 Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.10.1 to 4.0.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.0.0/packages/eslint-plugin) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 161 ++++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 155 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 83ab587d..d24da20e 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/webpack": "^4.41.21", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^3.10.1", + "@typescript-eslint/eslint-plugin": "^4.0.0", "@typescript-eslint/parser": "^3.10.1", "cross-env": "^7.0.2", "css-loader": "^4.2.2", diff --git a/yarn.lock b/yarn.lock index 7cf618a9..ab0339c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,6 +52,27 @@ global-agent "^2.0.2" global-tunnel-ng "^2.7.1" +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -209,12 +230,13 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz#7e061338a1383f59edc204c605899f93dc2e2c8f" - integrity sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ== +"@typescript-eslint/eslint-plugin@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.0.tgz#99349a501447fed91de18346705c0c65cf603bee" + integrity sha512-5e6q1TR7gS2P+8W2xndCu7gBh3BzmYEo70OyIdsmCmknHha/yNbz2vdevl+tP1uoaMOcrzg4gyrAijuV3DDBHA== dependencies: - "@typescript-eslint/experimental-utils" "3.10.1" + "@typescript-eslint/experimental-utils" "4.0.0" + "@typescript-eslint/scope-manager" "4.0.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" @@ -232,6 +254,18 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" +"@typescript-eslint/experimental-utils@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.0.tgz#fbec21a3b5ab59127edb6ce2e139ed378cc50eb5" + integrity sha512-hbX6zR+a/vcpFVNJYN/Nbd7gmaMosDTxHEKcvmhWeWcq/0UDifrqmCfkkodbAKL46Fn4ekSBMTyq2zlNDzcQxw== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.0.0" + "@typescript-eslint/types" "4.0.0" + "@typescript-eslint/typescript-estree" "4.0.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + "@typescript-eslint/parser@^3.10.1": version "3.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.1.tgz#1883858e83e8b442627e1ac6f408925211155467" @@ -243,11 +277,24 @@ "@typescript-eslint/typescript-estree" "3.10.1" eslint-visitor-keys "^1.1.0" +"@typescript-eslint/scope-manager@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.0.0.tgz#8c9e3b3b8cdf5a1fbe671d9fad73ff67bc027ea8" + integrity sha512-9gcWUPoWo7gk/+ZQPg7L1ySRmR5HLIy3Vu6/LfhQbuzIkGm6v2CGIjpVRISoDLFRovNRDImd4aP/sa8O4yIEBg== + dependencies: + "@typescript-eslint/types" "4.0.0" + "@typescript-eslint/visitor-keys" "4.0.0" + "@typescript-eslint/types@3.10.1": version "3.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== +"@typescript-eslint/types@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.0.0.tgz#ec1f9fc06b8558a1d5afa6e337182d08beece7f5" + integrity sha512-bK+c2VLzznX2fUWLK6pFDv3cXGTp7nHIuBMq1B9klA+QCsqLHOOqe5TQReAQDl7DN2RfH+neweo0oC5hYlG7Rg== + "@typescript-eslint/typescript-estree@3.10.1": version "3.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" @@ -262,6 +309,20 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.0.tgz#2244c63de2f2190bc5718eb0fb3fd2c437d42097" + integrity sha512-ewFMPi2pMLDNIXGMPdf8r7El2oPSZw9PEYB0j+WcpKd7AX2ARmajGa7RUHTukllWX2bj4vWX6JLE1Oih2BMokA== + dependencies: + "@typescript-eslint/types" "4.0.0" + "@typescript-eslint/visitor-keys" "4.0.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + "@typescript-eslint/visitor-keys@3.10.1": version "3.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" @@ -269,6 +330,14 @@ dependencies: eslint-visitor-keys "^1.1.0" +"@typescript-eslint/visitor-keys@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.0.tgz#e2bbb69d98076d6a3f06abcb2048225a74362c33" + integrity sha512-sTouJbv6rjVJeTE4lpSBVYXq/u5K3gbB6LKt7ccFEZPTZB/VeQ0ssUz9q5Hx++sCqBbdF8PzrrgvEnicXAR6NQ== + dependencies: + "@typescript-eslint/types" "4.0.0" + eslint-visitor-keys "^2.0.0" + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -597,6 +666,11 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -1503,6 +1577,13 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + dmg-builder@22.8.0: version "22.8.0" resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.8.0.tgz#2b17127837ed444db3086317eda5cf8912f6e6a9" @@ -1864,6 +1945,11 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + eslint@^7.7.0: version "7.7.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" @@ -2031,6 +2117,18 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-glob@^3.1.1: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@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" + picomatch "^2.2.1" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -2041,6 +2139,13 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" + integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + dependencies: + reusify "^1.0.4" + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -2285,7 +2390,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== @@ -2384,6 +2489,18 @@ globalthis@^1.0.1: dependencies: define-properties "^1.1.3" +globby@^11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -2600,6 +2717,11 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + import-fresh@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" @@ -3167,6 +3289,11 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -3186,7 +3313,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.0: +micromatch@^4.0.0, micromatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== @@ -3640,6 +3767,11 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + pbkdf2@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" @@ -4064,6 +4196,11 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -4098,6 +4235,11 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" +run-parallel@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -4262,6 +4404,11 @@ signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" From 86b1d9d9bb27fb76c339ab476362e1be63cec1b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2020 05:11:24 +0000 Subject: [PATCH 171/385] Bump @types/webpack from 4.41.21 to 4.41.22 Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.21 to 4.41.22. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83ab587d..6815a28f 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "12", "@types/node-fetch": "^2.5.7", - "@types/webpack": "^4.41.21", + "@types/webpack": "^4.41.22", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", "@typescript-eslint/eslint-plugin": "^3.10.1", diff --git a/yarn.lock b/yarn.lock index 7cf618a9..e3451506 100644 --- a/yarn.lock +++ b/yarn.lock @@ -185,10 +185,10 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.21", "@types/webpack@^4.41.8": - version "4.41.21" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee" - integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA== +"@types/webpack@*", "@types/webpack@^4.41.22", "@types/webpack@^4.41.8": + version "4.41.22" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.22.tgz#ff9758a17c6bd499e459b91e78539848c32d0731" + integrity sha512-JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ== dependencies: "@types/anymatch" "*" "@types/node" "*" From cb5e85150611b0a1c876ce0c0f22548402cb95bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Sep 2020 05:06:57 +0000 Subject: [PATCH 172/385] Bump node-fetch from 2.6.0 to 2.6.1 Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1. - [Release notes](https://github.com/bitinn/node-fetch/releases) - [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md) - [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83ab587d..763d525c 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "electron-settings": "3.2.0", "electron-updater": "4.3.4", "fs-jetpack": "^3.1.0", - "node-fetch": "^2.6.0" + "node-fetch": "^2.6.1" }, "devDependencies": { "@types/dom-to-image": "^2.6.2", diff --git a/yarn.lock b/yarn.lock index 7cf618a9..b4374b29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3344,10 +3344,10 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" -node-fetch@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== +node-fetch@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== node-libs-browser@^2.2.1: version "2.2.1" From bcb06e81ebeae54e8e03f12893cb716554cb2596 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 16 Sep 2020 05:10:34 +0000 Subject: [PATCH 173/385] Bump prettier from 2.1.0 to 2.1.2 Bumps [prettier](https://github.com/prettier/prettier) from 2.1.0 to 2.1.2. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.1.0...2.1.2) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83ab587d..5e8f324f 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^4.3.0", "png2icons": "^2.0.1", - "prettier": "^2.1.0", + "prettier": "^2.1.2", "source-map-support": "^0.5.19", "style-loader": "^1.2.1", "ts-loader": "^8.0.3", diff --git a/yarn.lock b/yarn.lock index 7cf618a9..314a4682 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3761,10 +3761,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.0.tgz#5a9789f767a243118c60f3e56d95cb6544914fbb" - integrity sha512-lz28cCbA1cDFHVuY8vvj6QuqOwIpyIfPUYkSl8AZ/vxH8qBXMMjE2knfLHCrZCmUsK/H1bg1P0tOo0dJkTJHvw== +prettier@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" + integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== pretty-error@^2.1.1: version "2.1.1" From 25d1cfd3ceecb9218596b970739d58f8dddd2ba5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Sep 2020 05:07:28 +0000 Subject: [PATCH 174/385] Bump webpack from 4.44.1 to 4.44.2 Bumps [webpack](https://github.com/webpack/webpack) from 4.44.1 to 4.44.2. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v4.44.1...v4.44.2) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83ab587d..eb352fa2 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "ts-loader": "^8.0.3", "ts-node": "^9.0.0", "typescript": "^4.0.2", - "webpack": "^4.44.1", + "webpack": "^4.44.2", "webpack-cli": "^3.3.12", "webpack-merge": "^5.1.2", "webpack-node-externals": "^2.5.2" diff --git a/yarn.lock b/yarn.lock index 7cf618a9..f0685ba1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5018,10 +5018,10 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.44.1: - version "4.44.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.1.tgz#17e69fff9f321b8f117d1fda714edfc0b939cc21" - integrity sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ== +webpack@^4.44.2: + version "4.44.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" + integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" From 6913183612c43ffa71ba54dd07a87f54331b20ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Sep 2020 05:23:26 +0000 Subject: [PATCH 175/385] Bump html-webpack-plugin from 4.3.0 to 4.5.0 Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 4.3.0 to 4.5.0. - [Release notes](https://github.com/jantimon/html-webpack-plugin/releases) - [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/master/CHANGELOG.md) - [Commits](https://github.com/jantimon/html-webpack-plugin/compare/v4.3.0...v4.5.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83ab587d..721bff9e 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", "friendly-errors-webpack-plugin": "^1.6.1", - "html-webpack-plugin": "^4.3.0", + "html-webpack-plugin": "^4.5.0", "png2icons": "^2.0.1", "prettier": "^2.1.0", "source-map-support": "^0.5.19", diff --git a/yarn.lock b/yarn.lock index 7cf618a9..9b9642af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2534,10 +2534,10 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-webpack-plugin@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz#53bf8f6d696c4637d5b656d3d9863d89ce8174fd" - integrity sha512-C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w== +html-webpack-plugin@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" + integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw== dependencies: "@types/html-minifier-terser" "^5.0.0" "@types/tapable" "^1.0.5" From 3425a3a7129f33da8e8e4629db6e0210d1818ba8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Oct 2020 05:23:14 +0000 Subject: [PATCH 176/385] Bump webpack-merge from 5.1.2 to 5.2.0 Bumps [webpack-merge](https://github.com/survivejs/webpack-merge) from 5.1.2 to 5.2.0. - [Release notes](https://github.com/survivejs/webpack-merge/releases) - [Changelog](https://github.com/survivejs/webpack-merge/blob/master/CHANGELOG.md) - [Commits](https://github.com/survivejs/webpack-merge/compare/v5.1.2...v5.2.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83ab587d..a144756b 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "typescript": "^4.0.2", "webpack": "^4.44.1", "webpack-cli": "^3.3.12", - "webpack-merge": "^5.1.2", + "webpack-merge": "^5.2.0", "webpack-node-externals": "^2.5.2" } } diff --git a/yarn.lock b/yarn.lock index 7cf618a9..04526d8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4997,10 +4997,10 @@ webpack-cli@^3.3.12: v8-compile-cache "^2.1.1" yargs "^13.3.2" -webpack-merge@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.1.2.tgz#21dc1ed0e860c305cf5a07a48750f53a99750855" - integrity sha512-/slG0Kh0OKTf0zxdFJlhQHzv8bU9gUYVK5DkBjB3i/yoc1Xx4ADG0KITGO5S/6cqn2Ug43+8VR6Sz8daA/c+5g== +webpack-merge@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.2.0.tgz#31cbcc954f8f89cd4b06ca8d97a38549f7f3f0c9" + integrity sha512-QBglJBg5+lItm3/Lopv8KDDK01+hjdg2azEwi/4vKJ8ZmGPdtJsTpjtNNOW3a4WiqzXdCATtTudOZJngE7RKkA== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" From 0c19bd2b1de1d80ce5832bacb20d038b0858d1a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2020 05:28:49 +0000 Subject: [PATCH 177/385] Bump css-loader from 4.2.2 to 5.0.0 Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 4.2.2 to 5.0.0. - [Release notes](https://github.com/webpack-contrib/css-loader/releases) - [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/css-loader/compare/v4.2.2...v5.0.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 161 +++++++++++++++++++++++++++++++++------------------ 2 files changed, 107 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index 83ab587d..3addc326 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@typescript-eslint/eslint-plugin": "^3.10.1", "@typescript-eslint/parser": "^3.10.1", "cross-env": "^7.0.2", - "css-loader": "^4.2.2", + "css-loader": "^5.0.0", "electron": "10.0.0", "electron-builder": "22.8.0", "eslint": "^7.7.0", diff --git a/yarn.lock b/yarn.lock index 7cf618a9..abe26e27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -120,6 +120,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== +"@types/json-schema@^7.0.6": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + "@types/node-fetch@^2.5.7": version "2.5.7" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" @@ -454,6 +459,11 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2: version "6.12.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" @@ -464,6 +474,16 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -971,10 +991,10 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" - integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== +camelcase@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" + integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== chalk@^1.1.3: version "1.1.3" @@ -1169,6 +1189,11 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -1348,22 +1373,22 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-loader@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.2.2.tgz#b668b3488d566dc22ebcf9425c5f254a05808c89" - integrity sha512-omVGsTkZPVwVRpckeUnLshPp12KsmMSLqYxs12+RzM9jRR5Y+Idn/tBffjXRvOE+qW7if24cuceFJqYR5FmGBg== +css-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.0.tgz#f0a48dfacc3ab9936a05ee16a09e7f313872e117" + integrity sha512-9g35eXRBgjvswyJWoqq/seWp+BOxvUl8IinVNTsUBFFxtwfEYvlmEn6ciyn0liXGbGh5HyJjPGCuobDSfqMIVg== dependencies: - camelcase "^6.0.0" + camelcase "^6.1.0" cssesc "^3.0.0" - icss-utils "^4.1.1" + icss-utils "^5.0.0" loader-utils "^2.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.3" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" + postcss "^8.1.1" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" + schema-utils "^3.0.0" semver "^7.3.2" css-select@^1.1.0: @@ -2578,12 +2603,10 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" +icss-utils@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.0.0.tgz#03ed56c3accd32f9caaf1752ebf64ef12347bb84" + integrity sha512-aF2Cf/CkEZrI/vsu5WI/I+akFgdbwQHVE9YRZxATrhH4PVIe6a3BIjwjEcW+z+jP/hNh+YvM3lAAn1wJQ6opSg== ieee754@^1.1.4: version "1.1.13" @@ -3024,6 +3047,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +line-column@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" + integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI= + dependencies: + isarray "^1.0.0" + isobject "^2.0.0" + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -3304,6 +3335,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== +nanoid@^3.1.12: + version "3.1.12" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" + integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -3688,40 +3724,35 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -postcss-modules-local-by-default@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" + icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" postcss-value-parser "^4.1.0" -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" + postcss-selector-parser "^6.0.4" -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" + icss-utils "^5.0.0" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: +postcss-selector-parser@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== @@ -3730,19 +3761,30 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-selector-parser@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + util-deprecate "^1.0.2" + postcss-value-parser@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== +postcss@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.1.tgz#c3a287dd10e4f6c84cb3791052b96a5d859c9389" + integrity sha512-9DGLSsjooH3kSNjTZUOt2eIj2ZTW0VI2PZ/3My+8TC7KIbH2OKwUlISfDsf63EP4aiRUt3XkEWMWvyJHvJelEg== dependencies: - chalk "^2.4.2" + colorette "^1.2.1" + line-column "^1.0.2" + nanoid "^3.1.12" source-map "^0.6.1" - supports-color "^6.1.0" prelude-ls@^1.2.1: version "1.2.1" @@ -4148,7 +4190,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.6, schema-utils@^2.7.0: +schema-utils@^2.6.6: version "2.7.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== @@ -4157,6 +4199,15 @@ schema-utils@^2.6.6, schema-utils@^2.7.0: ajv "^6.12.2" ajv-keywords "^3.4.1" +schema-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" + integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + dependencies: + "@types/json-schema" "^7.0.6" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -4912,7 +4963,7 @@ utf8-byte-length@^1.0.1: resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= From aa8a51dea20aafb9c66fc534b8c57d726f77c456 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:19:17 +0000 Subject: [PATCH 178/385] Bump electron from 10.0.0 to 10.1.3 Bumps [electron](https://github.com/electron/electron) from 10.0.0 to 10.1.3. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v10.0.0...v10.1.3) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2243b654..52a5d4b1 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/parser": "^3.10.1", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "10.0.0", + "electron": "10.1.2", "electron-builder": "22.8.0", "eslint": "^7.7.0", "eslint-config-prettier": "^6.11.0", diff --git a/yarn.lock b/yarn.lock index 69bdab96..7b386e30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1788,10 +1788,10 @@ electron-updater@4.3.4: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-10.0.0.tgz#4e777612ead76b39bc7241c7749bf6b0ece47889" - integrity sha512-0XX/LqYAHHCSbfLjUk9VRDPOeYjDPEzA9i7F50AqpEpFIWR2bp++0S0beRANUpPdkvtBDp+0R6vHV3iXPvuKyA== +electron@10.1.2: + version "10.1.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.2.tgz#30b6fd7669f8daf08c56219a61dfa053fa2b0c70" + integrity sha512-SvN8DcKCmPZ0UcQSNAJBfaUu+LGACqtRhUn1rW0UBLHgdbbDM76L0GU5/XGQEllH5pu5bwlCZwax3srzIl+Aeg== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From c1bc95bd4350b073b55273a93cea2d48ae10d5db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:20:47 +0000 Subject: [PATCH 179/385] Bump eslint from 7.7.0 to 7.11.0 Bumps [eslint](https://github.com/eslint/eslint) from 7.7.0 to 7.11.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v7.7.0...v7.11.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 93 +++++++++++++++++++++++++++++++--------------------- 2 files changed, 57 insertions(+), 38 deletions(-) diff --git a/package.json b/package.json index 2243b654..391c4da4 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "css-loader": "^5.0.0", "electron": "10.0.0", "electron-builder": "22.8.0", - "eslint": "^7.7.0", + "eslint": "^7.11.0", "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", "friendly-errors-webpack-plugin": "^1.6.1", diff --git a/yarn.lock b/yarn.lock index 69bdab96..215f3cab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,6 +52,22 @@ global-agent "^2.0.2" global-tunnel-ng "^2.7.1" +"@eslint/eslintrc@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" + integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -513,10 +529,10 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== -acorn@^7.3.1: - version "7.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== ajv-errors@^1.0.0: version "1.0.1" @@ -533,17 +549,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1950,12 +1956,12 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0, eslint-scope@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - esrecurse "^4.1.0" + esrecurse "^4.3.0" estraverse "^4.1.1" eslint-utils@^2.0.0, eslint-utils@^2.1.0: @@ -1975,22 +1981,23 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.7.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.7.0.tgz#18beba51411927c4b64da0a8ceadefe4030d6073" - integrity sha512-1KUxLzos0ZVsyL81PnRN335nDtQ8/vZUD6uMtWbF+5zDtjKcsklIi78XoE0MVL93QvWTu+E5y44VyyCsOMBrIg== +eslint@^7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.11.0.tgz#aaf2d23a0b5f1d652a08edacea0c19f7fadc0b3b" + integrity sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw== dependencies: "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.1.3" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" - eslint-scope "^5.1.0" + eslint-scope "^5.1.1" eslint-utils "^2.1.0" - eslint-visitor-keys "^1.3.0" - espree "^7.2.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.0" esquery "^1.2.0" esutils "^2.0.2" file-entry-cache "^5.0.1" @@ -2017,12 +2024,12 @@ eslint@^7.7.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69" - integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g== +espree@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" + integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== dependencies: - acorn "^7.3.1" + acorn "^7.4.0" acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" @@ -2045,6 +2052,13 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + estraverse@^4.1.0, estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" @@ -2055,6 +2069,11 @@ estraverse@^5.1.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -2745,7 +2764,7 @@ ignore@^5.1.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== -import-fresh@^3.0.0: +import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== @@ -4745,10 +4764,10 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-json-comments@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" - integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: version "2.0.1" From 77a4d9749f74ce415f295e9d6b18c2c694193b6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:33:11 +0000 Subject: [PATCH 180/385] Bump fs-jetpack from 3.1.0 to 3.2.0 Bumps [fs-jetpack](https://github.com/szwacz/fs-jetpack) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/szwacz/fs-jetpack/releases) - [Changelog](https://github.com/szwacz/fs-jetpack/blob/master/CHANGELOG.md) - [Commits](https://github.com/szwacz/fs-jetpack/compare/3.1.0...3.2.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a21341ad..5d5983aa 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "dom-to-image": "^2.6.0", "electron-settings": "3.2.0", "electron-updater": "4.3.4", - "fs-jetpack": "^3.1.0", + "fs-jetpack": "^3.2.0", "node-fetch": "^2.6.1" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 77a2c0a2..0c63721a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2351,10 +2351,10 @@ fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" -fs-jetpack@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-3.1.0.tgz#0fed50641fefbb8cd74fd09351300aad059e66fb" - integrity sha512-PZFMZKhW1AfTUHwWrSfn5rAW4a82d9a9UnfOT0pbJilm+6PWww/YAZkgBiELFaNLxxLe+NG72oqGge1RHCgIKA== +fs-jetpack@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-3.2.0.tgz#4b7f375718cfe36594c9a1b5158b753c9c66122d" + integrity sha512-LMUQxf85b3y/IuQZM9gz7bPMH60Y+NpulmHdhv8nHvgu6daYd7DiSZJSgiHKk1h6vfv1VCOqpdJcR+ThO7sFVA== dependencies: minimatch "^3.0.2" rimraf "^2.6.3" From 96d52d793323d046a55c4c0268fecf2b448c23ea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:34:20 +0000 Subject: [PATCH 181/385] Bump typescript from 4.0.2 to 4.0.3 Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.0.2 to 4.0.3. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.0.2...v4.0.3) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a21341ad..ea51f3be 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "style-loader": "^1.2.1", "ts-loader": "^8.0.3", "ts-node": "^9.0.0", - "typescript": "^4.0.2", + "typescript": "^4.0.3", "webpack": "^4.44.2", "webpack-cli": "^3.3.12", "webpack-merge": "^5.2.0", diff --git a/yarn.lock b/yarn.lock index 77a2c0a2..4f768bd2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5009,10 +5009,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.2.tgz#7ea7c88777c723c681e33bf7988be5d008d05ac2" - integrity sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ== +typescript@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" + integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== union-value@^1.0.0: version "1.0.1" From 544acafae61b35406a2d0c76f1374271f6ee4bd4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:34:37 +0000 Subject: [PATCH 182/385] Bump eslint-config-prettier from 6.11.0 to 6.13.0 Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.11.0 to 6.13.0. - [Release notes](https://github.com/prettier/eslint-config-prettier/releases) - [Changelog](https://github.com/prettier/eslint-config-prettier/blob/master/CHANGELOG.md) - [Commits](https://github.com/prettier/eslint-config-prettier/compare/v6.11.0...v6.13.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a21341ad..de6826b5 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "electron": "10.1.2", "electron-builder": "22.8.0", "eslint": "^7.11.0", - "eslint-config-prettier": "^6.11.0", + "eslint-config-prettier": "^6.13.0", "eslint-plugin-prettier": "^3.1.4", "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^4.5.0", diff --git a/yarn.lock b/yarn.lock index 77a2c0a2..adf6d9c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1934,10 +1934,10 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" - integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA== +eslint-config-prettier@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.13.0.tgz#207d88796b5624e5bb815bbbdfc5891ceb9ebffa" + integrity sha512-LcT0i0LSmnzqK2t764pyIt7kKH2AuuqKRTtJTdddWxOiUja9HdG5GXBVF2gmCTvVYWVsTu8J2MhJLVGRh+pj8w== dependencies: get-stdin "^6.0.0" From 33d151609057ea5d3ebaf768b079a7672db1f560 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:48:31 +0000 Subject: [PATCH 183/385] Bump electron-updater from 4.3.4 to 4.3.5 Bumps [electron-updater](https://github.com/electron-userland/electron-builder) from 4.3.4 to 4.3.5. - [Release notes](https://github.com/electron-userland/electron-builder/releases) - [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/electron-userland/electron-builder/commits) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 5d5983aa..decef426 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "about-window": "1.13.4", "dom-to-image": "^2.6.0", "electron-settings": "3.2.0", - "electron-updater": "4.3.4", + "electron-updater": "4.3.5", "fs-jetpack": "^3.2.0", "node-fetch": "^2.6.1" }, diff --git a/yarn.lock b/yarn.lock index 0c63721a..0ea99e68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1781,10 +1781,10 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" -electron-updater@4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.4.tgz#6003f88be9004d7834e4dd757167033d0fc2d29a" - integrity sha512-ekpgxDrYl+Wi24ktO4qfj2CtCABxrmK1C/oekp0tai6q4VR4ZdPkit4CX8+GenvKMme7uMmfPFnLp/vwhP/ThQ== +electron-updater@4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.5.tgz#4fb36f593a031c87ea07ee141c9f064d5deffb15" + integrity sha512-5jjN7ebvfj1cLI0VZMdCnJk6aC4bP+dy7ryBf21vArR0JzpRVk0OZHA2QBD+H5rm6ZSeDYHOY6+8PrMEqJ4wlQ== dependencies: "@types/semver" "^7.3.1" builder-util-runtime "8.7.2" From c3f888354b261386571f7b835d8da3094eb31c94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:52:57 +0000 Subject: [PATCH 184/385] Bump ts-loader from 8.0.3 to 8.0.5 Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.3 to 8.0.5. - [Release notes](https://github.com/TypeStrong/ts-loader/releases) - [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.3...v8.0.5) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 2a42aedb..7f67c655 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "prettier": "^2.1.2", "source-map-support": "^0.5.19", "style-loader": "^1.2.1", - "ts-loader": "^8.0.3", + "ts-loader": "^8.0.5", "ts-node": "^9.0.0", "typescript": "^4.0.3", "webpack": "^4.44.2", diff --git a/yarn.lock b/yarn.lock index 0c3f6d3d..ad73ab8d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4936,10 +4936,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.3.tgz#56858f4296edf1ed55e01f8520552984d3f0911c" - integrity sha512-wsqfnVdB7xQiqhqbz2ZPLGHLPZbHVV5Qn/MNFZkCFxRU1miDyxKORucDGxKtsQJ63Rfza0udiUxWF5nHY6bpdQ== +ts-loader@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.5.tgz#fa42b9305247eb964843df1ecb0e589b1bff0f77" + integrity sha512-MvLXmjDxl2Mhv17nvkrB6BrpC8FTwSb7K38oIgdUI6BMx4XgVbljmcoOzlrYn4wyjNTFQ3utd7s2TyigJyR3YA== dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" From 24597dfea7ef8cd509551e46eb4aa0d623ba81dd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 20:54:25 +0000 Subject: [PATCH 185/385] Bump electron-builder from 22.8.0 to 22.9.1 Bumps [electron-builder](https://github.com/electron-userland/electron-builder) from 22.8.0 to 22.9.1. - [Release notes](https://github.com/electron-userland/electron-builder/releases) - [Changelog](https://github.com/electron-userland/electron-builder/blob/master/CHANGELOG.md) - [Commits](https://github.com/electron-userland/electron-builder/compare/v22.8.0...v22.9.1) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 191 +++++++++++++++++++++++---------------------------- 2 files changed, 88 insertions(+), 105 deletions(-) diff --git a/package.json b/package.json index 2a42aedb..30fdd949 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "cross-env": "^7.0.2", "css-loader": "^5.0.0", "electron": "10.1.2", - "electron-builder": "22.8.0", + "electron-builder": "22.9.1", "eslint": "^7.11.0", "eslint-config-prettier": "^6.13.0", "eslint-plugin-prettier": "^3.1.4", diff --git a/yarn.lock b/yarn.lock index 0c3f6d3d..88a06240 100644 --- a/yarn.lock +++ b/yarn.lock @@ -627,26 +627,26 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -app-builder-bin@3.5.9: - version "3.5.9" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.9.tgz#a3ac0c25286bac68357321cb2eaf7128b0bc0a4f" - integrity sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg== +app-builder-bin@3.5.10: + version "3.5.10" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.10.tgz#4a7f9999fccc0c435b6284ae1366bc76a17c4a7d" + integrity sha512-Jd+GW68lR0NeetgZDo47PdWBEPdnD+p0jEa7XaxjRC8u6Oo/wgJsfKUkORRgr2NpkD19IFKN50P6JYy04XHFLQ== -app-builder-lib@22.8.0: - version "22.8.0" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.8.0.tgz#342a8976f50ae35cfd07412dbfd4f6c895b32eac" - integrity sha512-RGaIRjCUrqkmh6QOGsyekQPEOaVynHfmeh8JZuyUymFYUOFdzBbPamkA2nhBVBTkkgfjRHsxK7LhedFKPzvWEQ== +app-builder-lib@22.9.1: + version "22.9.1" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.9.1.tgz#ccb8f1a02b628514a5dfab9401fa2a976689415c" + integrity sha512-KfXim/fiNwFW2SKffsjEMdAU7RbbEXn62x5YyXle1b4j9X/wEHW9iwox8De6y0hJdR+/kCC/49lI+VgNwLhV7A== dependencies: "7zip-bin" "~5.0.3" "@develar/schema-utils" "~2.6.5" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.8.0" + builder-util "22.9.1" builder-util-runtime "8.7.2" chromium-pickle-js "^0.2.0" - debug "^4.1.1" - ejs "^3.1.3" - electron-publish "22.8.0" + debug "^4.3.0" + ejs "^3.1.5" + electron-publish "22.9.1" fs-extra "^9.0.1" hosted-git-info "^3.0.5" is-ci "^2.0.0" @@ -979,19 +979,19 @@ builder-util-runtime@8.7.2: debug "^4.1.1" sax "^1.2.4" -builder-util@22.8.0: - version "22.8.0" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.8.0.tgz#01684085d1f2370b1bd182f69cbd007426f63f64" - integrity sha512-H80P1JzVy3TGpi63x81epQDK24XalL034+jAZlrPb5IhLtYmnNNdxCCAVJvg3VjSISd73Y71O+uhqCxWpqbPHw== +builder-util@22.9.1: + version "22.9.1" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.9.1.tgz#b7087a5cde477f90d718ca5d7fafb6ae261b16af" + integrity sha512-5hN/XOaYu4ZQUS6F+5CXE6jTo+NAnVqAxDuKGSaHWb9bejfv/rluChTLoY3/nJh7RFjkoyVjvFJv7zQDB1QmHw== dependencies: "7zip-bin" "~5.0.3" "@types/debug" "^4.1.5" "@types/fs-extra" "^9.0.1" - app-builder-bin "3.5.9" + app-builder-bin "3.5.10" bluebird-lst "^1.0.9" builder-util-runtime "8.7.2" chalk "^4.1.0" - debug "^4.1.1" + debug "^4.3.0" fs-extra "^9.0.1" is-ci "^2.0.0" js-yaml "^3.14.0" @@ -1207,14 +1207,14 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cliui@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.3.tgz#ef180f26c8d9bff3927ee52428bfec2090427981" + integrity sha512-Gj3QHTkVMPKqwP3f7B4KPkBZRMR9r4rfi5bXFpg1a+Svvj8l7q5CnkBkVQzfxT5DFSsGk2+PascOgL0JYkL2kw== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + wrap-ansi "^7.0.0" clone-deep@^4.0.1: version "4.0.1" @@ -1510,6 +1510,13 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" +debug@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.0.tgz#efa41cbf14fc9448075367fdaaddf82376da211e" + integrity sha512-jjO6JD2rKfiZQnBoRzhRTbXjHLGLfH+UtGkWLc/UXAh/rzZMyjbgn0NcfFpqT8nd1kTtFnDiJcrIFkq4UKeJVg== + dependencies: + ms "2.1.2" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -1615,13 +1622,13 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@22.8.0: - version "22.8.0" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.8.0.tgz#2b17127837ed444db3086317eda5cf8912f6e6a9" - integrity sha512-orePWjcrl97SYLA8F/6UUtbXJSoZCYu5KOP1lVqD4LOomr8bjGDyEVYZmZYcg5WqKmXucdmO6OpqgzH/aRMMuA== +dmg-builder@22.9.1: + version "22.9.1" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.9.1.tgz#64647224f37ee47fc9bd01947c21cc010a30511f" + integrity sha512-jc+DAirqmQrNT6KbDHdfEp8D1kD0DBTnsLhwUR3MX+hMBun5bT134LQzpdK0GKvd22GqF8L1Cz/NOgaVjscAXQ== dependencies: - app-builder-lib "22.8.0" - builder-util "22.8.0" + app-builder-lib "22.9.1" + builder-util "22.9.1" fs-extra "^9.0.1" iconv-lite "^0.6.2" js-yaml "^3.14.0" @@ -1732,41 +1739,41 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ejs@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.3.tgz#514d967a8894084d18d3d47bd169a1c0560f093d" - integrity sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg== +ejs@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" + integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== dependencies: jake "^10.6.1" -electron-builder@22.8.0: - version "22.8.0" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.8.0.tgz#d2c9fc5438c834e41fd794a271fca200165a3bad" - integrity sha512-dUv4F3srJouqxhWivtKqSoQP4Df6vYgjooGdzms+iYMTFi9f0b4LlEbr7kgsPvte8zAglee7VOGOODkCRJDkUQ== +electron-builder@22.9.1: + version "22.9.1" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.9.1.tgz#a2962db6f2757bc01d02489f38fafe0809f68f60" + integrity sha512-GXPt8l5Mxwm1QKYopUM6/Tdh9W3695G6Ax+IFyj5pQ51G4SD5L1uq4/RkPSsOgs3rP7jNSV6g6OfDzdtVufPdA== dependencies: "@types/yargs" "^15.0.5" - app-builder-lib "22.8.0" + app-builder-lib "22.9.1" bluebird-lst "^1.0.9" - builder-util "22.8.0" + builder-util "22.9.1" builder-util-runtime "8.7.2" chalk "^4.1.0" - dmg-builder "22.8.0" + dmg-builder "22.9.1" fs-extra "^9.0.1" is-ci "^2.0.0" lazy-val "^1.0.4" read-config-file "6.0.0" sanitize-filename "^1.6.3" - update-notifier "^4.1.0" - yargs "^15.3.1" + update-notifier "^4.1.1" + yargs "^16.0.3" -electron-publish@22.8.0: - version "22.8.0" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.8.0.tgz#7f410fe043abc5d3d896c4ee9eea7a43ea352c7d" - integrity sha512-uM0Zdi9hUqqGOrPj478v7toTvV1Kgto1w11rIiI168batiXAJvNLD8VZRfehOrZT0ibUyZlw8FtxoGCrjyHUOw== +electron-publish@22.9.1: + version "22.9.1" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.9.1.tgz#7cc76ac4cc53efd29ee31c1e5facb9724329068e" + integrity sha512-ducLjRJLEeU87FaTCWaUyDjCoLXHkawkltP2zqS/n2PyGke54ZIql0tBuUheht4EpR8AhFbVJ11spSn1gy8r6w== dependencies: "@types/fs-extra" "^9.0.1" bluebird-lst "^1.0.9" - builder-util "22.8.0" + builder-util "22.9.1" builder-util-runtime "8.7.2" chalk "^4.1.0" fs-extra "^9.0.1" @@ -1919,6 +1926,11 @@ es6-error@^4.1.1: resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-goat@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" @@ -2254,14 +2266,6 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - findup-sync@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" @@ -2397,7 +2401,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -3227,13 +3231,6 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -3687,7 +3684,7 @@ p-cancelable@^1.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -3701,13 +3698,6 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -3797,11 +3787,6 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -5073,10 +5058,10 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-notifier@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" - integrity sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew== +update-notifier@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" + integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== dependencies: boxen "^4.2.0" chalk "^3.0.0" @@ -5316,10 +5301,10 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" string-width "^4.1.0" @@ -5362,6 +5347,11 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.2: + version "5.0.4" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.4.tgz#0ab2db89dd5873b5ec4682d8e703e833373ea897" + integrity sha512-deLOfD+RvFgrpAmSZgfGdWYE+OKyHcVHaRQ7NphG/63scpRvTHHeQMAxGGvaLVGJ+HYVcCXlzcTK0ZehFf+eHQ== + yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -5380,13 +5370,10 @@ yargs-parser@^13.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^18.1.1: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@^20.2.2: + version "20.2.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz#92419ba867b858c868acf8bae9bf74af0dd0ce26" + integrity sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww== yargs@^13.3.2: version "13.3.2" @@ -5404,22 +5391,18 @@ yargs@^13.3.2: y18n "^4.0.0" yargs-parser "^13.1.2" -yargs@^15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" - integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== +yargs@^16.0.3: + version "16.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.0.tgz#fc333fe4791660eace5a894b39d42f851cd48f2a" + integrity sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g== dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.1" + y18n "^5.0.2" + yargs-parser "^20.2.2" yauzl@^2.10.0: version "2.10.0" From 649848d668cc80d91bcc5b30389b55c5707afb98 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 21:10:44 +0000 Subject: [PATCH 186/385] Bump style-loader from 1.2.1 to 2.0.0 Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.2.1 to 2.0.0. - [Release notes](https://github.com/webpack-contrib/style-loader/releases) - [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.2.1...v2.0.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 23 +++++++---------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 11aa07e2..947188b4 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", - "style-loader": "^1.2.1", + "style-loader": "^2.0.0", "ts-loader": "^8.0.5", "ts-node": "^9.0.0", "typescript": "^4.0.3", diff --git a/yarn.lock b/yarn.lock index 8f760efb..2cc5c938 100644 --- a/yarn.lock +++ b/yarn.lock @@ -152,7 +152,7 @@ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": +"@types/json-schema@^7.0.3": version "7.0.4" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== @@ -549,7 +549,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -4351,15 +4351,6 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.6: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - schema-utils@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" @@ -4774,13 +4765,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" - integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg== +style-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" + integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== dependencies: loader-utils "^2.0.0" - schema-utils "^2.6.6" + schema-utils "^3.0.0" sumchecker@^3.0.1: version "3.0.1" From a97d91d7626dce025c896de76d03e3fef46953de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 21:14:46 +0000 Subject: [PATCH 187/385] Bump electron from 10.1.2 to 10.1.3 Bumps [electron](https://github.com/electron/electron) from 10.1.2 to 10.1.3. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v10.1.2...v10.1.3) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a8405c27..18593375 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/parser": "^3.10.1", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "10.1.2", + "electron": "10.1.3", "electron-builder": "22.9.1", "eslint": "^7.11.0", "eslint-config-prettier": "^6.13.0", diff --git a/yarn.lock b/yarn.lock index 1d8d5576..1c5f3de6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1801,10 +1801,10 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@10.1.2: - version "10.1.2" - resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.2.tgz#30b6fd7669f8daf08c56219a61dfa053fa2b0c70" - integrity sha512-SvN8DcKCmPZ0UcQSNAJBfaUu+LGACqtRhUn1rW0UBLHgdbbDM76L0GU5/XGQEllH5pu5bwlCZwax3srzIl+Aeg== +electron@10.1.3: + version "10.1.3" + resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.3.tgz#7e276e373bf30078bd4cb1184850a91268dc0e6c" + integrity sha512-CR8LrlG47MdAp317SQ3vGYa2o2cIMdMSMPYH46OVitFLk35dwE9fn3VqvhUIXhCHYcNWIAPzMhkVHpkoFdKWuw== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From 7cbe8872994e270e6b2911baed7c2412665a42f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 18 Oct 2020 21:34:16 +0000 Subject: [PATCH 188/385] Bump webpack-cli from 3.3.12 to 4.0.0 Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.12 to 4.0.0. - [Release notes](https://github.com/webpack/webpack-cli/releases) - [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.12...webpack-cli@4.0.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 2855 +++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 2706 insertions(+), 151 deletions(-) diff --git a/package.json b/package.json index c0ef1768..489f20b7 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "ts-node": "^9.0.0", "typescript": "^4.0.3", "webpack": "^4.44.2", - "webpack-cli": "^3.3.12", + "webpack-cli": "^4.0.0", "webpack-merge": "^5.2.0", "webpack-node-externals": "^2.5.2" } diff --git a/yarn.lock b/yarn.lock index d6ee74a3..3b281754 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,11 +14,255 @@ dependencies: "@babel/highlight" "^7.10.1" +"@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" + integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== + +"@babel/core@^7.1.6": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" + integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.1" + "@babel/parser" "^7.12.3" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" + integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== + dependencies: + "@babel/types" "^7.12.1" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-compilation-targets@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" + integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== + dependencies: + "@babel/compat-data" "^7.12.1" + "@babel/helper-validator-option" "^7.12.1" + browserslist "^4.12.0" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" + integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" + integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.1" + +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" + integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" + integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-module-imports@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" + integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-module-transforms@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" + integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-simple-access" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + +"@babel/helper-regex@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" + integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== + dependencies: + lodash "^4.17.19" + +"@babel/helper-remap-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" + integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/types" "^7.12.1" + +"@babel/helper-replace-supers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" + integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.1" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + +"@babel/helper-simple-access@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" + integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" + integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + dependencies: + "@babel/types" "^7.12.1" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + "@babel/helper-validator-identifier@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/helper-validator-option@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + +"@babel/helper-wrap-function@^7.10.4": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" + integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helpers@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" + integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.1" + "@babel/types" "^7.12.1" + "@babel/highlight@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.1.tgz#841d098ba613ba1a427a2b383d79e35552c38ae0" @@ -28,6 +272,642 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.6", "@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3": + version "7.12.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" + integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== + +"@babel/plugin-proposal-async-generator-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" + integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-dynamic-import@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-export-namespace-from@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.12.1" + +"@babel/plugin-proposal-optional-catch-binding@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" + integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-private-methods@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" + integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" + integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz#a77670d9abe6d63e8acadf4c31bb1eb5a506bbdd" + integrity sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-typescript@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz#460ba9d77077653803c3dd2e673f76d66b4029e5" + integrity sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-async-to-generator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" + integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.12.1" + +"@babel/plugin-transform-block-scoped-functions@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoping@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-classes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" + integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + "@babel/helper-split-export-declaration" "^7.10.4" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-destructuring@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" + integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-duplicate-keys@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-exponentiation-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-flow-strip-types@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" + integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-flow" "^7.12.1" + +"@babel/plugin-transform-for-of@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-function-name@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-modules-amd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" + integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== + dependencies: + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" + integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== + dependencies: + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.12.1" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" + integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== + dependencies: + "@babel/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-identifier" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" + integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== + dependencies: + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" + integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + +"@babel/plugin-transform-new-target@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-object-super@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" + integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.1" + +"@babel/plugin-transform-parameters@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-property-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" + integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" + integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-shorthand-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" + integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-spread@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" + integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + +"@babel/plugin-transform-sticky-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" + integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + +"@babel/plugin-transform-template-literals@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" + integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typeof-symbol@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" + integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typescript@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4" + integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-typescript" "^7.12.1" + +"@babel/plugin-transform-unicode-escapes@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" + integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" + integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/preset-env@^7.1.6": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" + integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== + dependencies: + "@babel/compat-data" "^7.12.1" + "@babel/helper-compilation-targets" "^7.12.1" + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.1" + "@babel/plugin-proposal-async-generator-functions" "^7.12.1" + "@babel/plugin-proposal-class-properties" "^7.12.1" + "@babel/plugin-proposal-dynamic-import" "^7.12.1" + "@babel/plugin-proposal-export-namespace-from" "^7.12.1" + "@babel/plugin-proposal-json-strings" "^7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" + "@babel/plugin-proposal-numeric-separator" "^7.12.1" + "@babel/plugin-proposal-object-rest-spread" "^7.12.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" + "@babel/plugin-proposal-optional-chaining" "^7.12.1" + "@babel/plugin-proposal-private-methods" "^7.12.1" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.1" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.12.1" + "@babel/plugin-transform-arrow-functions" "^7.12.1" + "@babel/plugin-transform-async-to-generator" "^7.12.1" + "@babel/plugin-transform-block-scoped-functions" "^7.12.1" + "@babel/plugin-transform-block-scoping" "^7.12.1" + "@babel/plugin-transform-classes" "^7.12.1" + "@babel/plugin-transform-computed-properties" "^7.12.1" + "@babel/plugin-transform-destructuring" "^7.12.1" + "@babel/plugin-transform-dotall-regex" "^7.12.1" + "@babel/plugin-transform-duplicate-keys" "^7.12.1" + "@babel/plugin-transform-exponentiation-operator" "^7.12.1" + "@babel/plugin-transform-for-of" "^7.12.1" + "@babel/plugin-transform-function-name" "^7.12.1" + "@babel/plugin-transform-literals" "^7.12.1" + "@babel/plugin-transform-member-expression-literals" "^7.12.1" + "@babel/plugin-transform-modules-amd" "^7.12.1" + "@babel/plugin-transform-modules-commonjs" "^7.12.1" + "@babel/plugin-transform-modules-systemjs" "^7.12.1" + "@babel/plugin-transform-modules-umd" "^7.12.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" + "@babel/plugin-transform-new-target" "^7.12.1" + "@babel/plugin-transform-object-super" "^7.12.1" + "@babel/plugin-transform-parameters" "^7.12.1" + "@babel/plugin-transform-property-literals" "^7.12.1" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/plugin-transform-reserved-words" "^7.12.1" + "@babel/plugin-transform-shorthand-properties" "^7.12.1" + "@babel/plugin-transform-spread" "^7.12.1" + "@babel/plugin-transform-sticky-regex" "^7.12.1" + "@babel/plugin-transform-template-literals" "^7.12.1" + "@babel/plugin-transform-typeof-symbol" "^7.12.1" + "@babel/plugin-transform-unicode-escapes" "^7.12.1" + "@babel/plugin-transform-unicode-regex" "^7.12.1" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.1" + core-js-compat "^3.6.2" + semver "^5.5.0" + +"@babel/preset-flow@^7.0.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.12.1.tgz#1a81d376c5a9549e75352a3888f8c273455ae940" + integrity sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-flow-strip-types" "^7.12.1" + +"@babel/preset-modules@^0.1.3": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-typescript@^7.1.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" + integrity sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-typescript" "^7.12.1" + +"@babel/register@^7.0.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" + integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== + dependencies: + find-cache-dir "^2.0.0" + lodash "^4.17.19" + make-dir "^2.1.0" + pirates "^4.0.0" + source-map-support "^0.5.16" + +"@babel/runtime@^7.8.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" + integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" + integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.1" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.1" + "@babel/types" "^7.12.1" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" + integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@develar/schema-utils@~2.6.5": version "2.6.5" resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" @@ -68,6 +948,14 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -81,6 +969,11 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + "@nodelib/fs.walk@^1.2.3": version "1.2.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" @@ -94,6 +987,11 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== +"@sindresorhus/is@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" + integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== + "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -101,11 +999,28 @@ dependencies: defer-to-connect "^1.0.1" +"@szmarczak/http-timer@^4.0.0": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" + integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== + dependencies: + defer-to-connect "^2.0.0" + "@types/anymatch@*": version "1.3.1" resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== +"@types/cacheable-request@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" + integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -147,11 +1062,24 @@ dependencies: "@types/node" "*" +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + "@types/html-minifier-terser@^5.0.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== +"@types/http-cache-semantics@*": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" + integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== + "@types/json-schema@^7.0.3": version "7.0.4" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" @@ -162,6 +1090,18 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== +"@types/keyv@*", "@types/keyv@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" + integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== + dependencies: + "@types/node" "*" + +"@types/minimatch@*", "@types/minimatch@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + "@types/node-fetch@^2.5.7": version "2.5.7" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" @@ -180,6 +1120,18 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.44.tgz#0d400a1453adcb359b133acceae4dd8bb0e0a159" integrity sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg== +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/responselike@*": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + "@types/semver@^7.3.1": version "7.3.1" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.1.tgz#7a9a5d595b6d873f338c867dcef64df289468cfa" @@ -504,6 +1456,65 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" +"@webpack-cli/generators@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/generators/-/generators-1.0.1.tgz#3475689d1f8610923ae3d0180457d26409ac0a1e" + integrity sha512-MPaOezICviBfgYc+r8WBTkyM8gOe3qBR5t32roPqyhL4SJmN4f82ZYvVomLEx+YFBQ5uksCauSHAGoJNXinymg== + dependencies: + "@webpack-cli/utils" "^1.0.1" + "@webpack-cli/webpack-scaffold" "^1.0.1" + colorette "^1.2.1" + log-symbols "^4.0.0" + mkdirp "^1.0.4" + yeoman-generator "^4.12.0" + +"@webpack-cli/info@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.0.1.tgz#9e0fe0163637b7f95583669a39aec30c566bdd7c" + integrity sha512-C6OJTxTLgTjBuNKLlseQ2HHjgEGTcgIFcrJd67K3pM2LcYJNWT6VFaPzk9Go0yTZ9km9awm8sq2hW3Hm32NBeQ== + dependencies: + colorette "^1.2.1" + envinfo "^7.5.0" + prettyjson "^1.2.1" + +"@webpack-cli/init@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/init/-/init-1.0.1.tgz#c09da90b6d7cf57d3c5ce96d4a622696f15771e2" + integrity sha512-OmhDC1jjhhX13mNt+emTPR7u18nrAWKOk/nIAg8XRFdZU2VUBPJbOK3/6xmqXnWKByZVJClvaeUjvgVQBnQmZw== + dependencies: + "@webpack-cli/generators" "^1.0.1" + "@webpack-cli/utils" "^1.0.1" + +"@webpack-cli/serve@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.0.1.tgz#28abe7dcb18224ccd4b4e2d37f70e5be66c3d6a9" + integrity sha512-WGMaTMTK6NOe29Hw1WBEok9vGLfKg5C6jWzNOS/6HH1YadR+RL+TRWRcSyc81Dzulljhk/Ree9mrDM4Np9GGOQ== + +"@webpack-cli/utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/utils/-/utils-1.0.1.tgz#f5512693ea490e946aaed9e91f9502df7f4d4ede" + integrity sha512-G8UKA+B85/5X+pM85P0Knx43vwFS1W9WDseeif/15jbtDTib8jaNC+rD9SBvFcllmnqdfFXpkcrmWMW4A744dg== + dependencies: + colorette "^1.2.1" + cross-spawn "^7.0.3" + enquirer "^2.3.6" + execa "^4.0.0" + findup-sync "^4.0.0" + global-modules "^2.0.0" + got "^10.7.0" + jscodeshift "^0.7.0" + p-each-series "^2.1.0" + yeoman-environment "^2.8.1" + yeoman-generator "^4.7.2" + +"@webpack-cli/webpack-scaffold@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/webpack-scaffold/-/webpack-scaffold-1.0.1.tgz#6aed6a762433eb3888f0fd63ddf8d5d6b1ff18e5" + integrity sha512-AfnpwDJv2hxwpaM6Ljz0eNa7ayHVviPNWN/76RjlFxMGfT0K7O6IWw2oDvikqko227DClV4xO/5CL1/tz0LGhw== + dependencies: + jscodeshift "^0.7.0" + yeoman-generator "^4.7.2" + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -514,6 +1525,14 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +JSONStream@^1.2.1, JSONStream@^1.3.5: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + about-window@1.13.4: version "1.13.4" resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.13.4.tgz#cedfd0153c4b8b54832acae6dae695e06f27f4b4" @@ -549,7 +1568,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -571,6 +1590,13 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -692,16 +1718,48 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-back@^4.0.0, array-back@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" + integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== + +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" @@ -711,6 +1769,18 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + assert@^1.1.1: version "1.5.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" @@ -724,6 +1794,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +ast-types@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" + integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== + astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" @@ -744,6 +1819,13 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -759,6 +1841,36 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" + integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + +axios@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" + integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== + dependencies: + follow-redirects "1.5.10" + is-buffer "^2.0.2" + +babel-core@^7.0.0-bridge.0: + version "7.0.0-bridge.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -782,6 +1894,13 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -797,6 +1916,11 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== +binaryextensions@^2.1.2: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" + integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -947,6 +2071,16 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" +browserslist@^4.12.0, browserslist@^4.8.5: + version "4.14.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" + integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA== + dependencies: + caniuse-lite "^1.0.30001135" + electron-to-chromium "^1.3.571" + escalade "^3.1.0" + node-releases "^1.1.61" + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -1040,6 +2174,14 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +cacheable-lookup@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz#87be64a18b925234875e10a9bb1ebca4adce6b38" + integrity sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg== + dependencies: + "@types/keyv" "^3.1.1" + keyv "^4.0.0" + cacheable-request@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" @@ -1053,6 +2195,24 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" +cacheable-request@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" + integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^2.0.0" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -1066,7 +2226,7 @@ camel-case@^4.1.1: pascal-case "^3.1.1" tslib "^1.10.0" -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -1076,6 +2236,21 @@ camelcase@^6.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== +caniuse-lite@^1.0.30001135: + version "1.0.30001148" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz#dc97c7ed918ab33bf8706ddd5e387287e015d637" + integrity sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw== + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1087,7 +2262,7 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1112,6 +2287,11 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -1198,14 +2378,24 @@ cli-boxes@^2.2.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" + colors "1.0.3" + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== cliui@^7.0.2: version "7.0.3" @@ -1216,6 +2406,11 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -1232,11 +2427,25 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= +cloneable-readable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" + integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -1274,13 +2483,33 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -combined-stream@^1.0.8: +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" +command-line-usage@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.0.tgz#f28376a3da3361ff3d36cfd31c3c22c9a64c7cb6" + integrity sha512-Ew1clU4pkUeo6AFVDFxCbnN7GIZfXl48HIOQeFQnkO3oOqvpI7wdqtLRwv9iOCZ/7A+z4csVZeiDdEcj8g6Wiw== + dependencies: + array-back "^4.0.0" + chalk "^2.4.2" + table-layout "^1.0.0" + typical "^5.2.0" + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -1291,6 +2520,11 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" + integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1346,6 +2580,13 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -1363,12 +2604,20 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +core-js-compat@^3.6.2: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + core-js@^3.6.5: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== -core-util-is@~1.0.0: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= @@ -1381,6 +2630,13 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -1422,7 +2678,7 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.1, cross-spawn@^7.0.2: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1491,10 +2747,34 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +dargs@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-6.1.0.tgz#1f3b9b56393ecf8caa7cbfd6c31496ffcfb9b272" + integrity sha512-5dVBvpBLBnPwSsYXqfybFyehMmC/EenKEcf23AhCTgTf48JFBbmJKqoZBsERDnjL0FyiVTYWdFsRfTLHxLyKdQ== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +dateformat@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" @@ -1503,6 +2783,13 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" @@ -1517,11 +2804,6 @@ debug@^4.3.0: dependencies: ms "2.1.2" -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -1534,7 +2816,14 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -deep-extend@^0.6.0: +decompress-response@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-5.0.0.tgz#7849396e80e3d1eba8cb2f75ef4930f76461cb0f" + integrity sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw== + dependencies: + mimic-response "^2.0.0" + +deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== @@ -1549,6 +2838,11 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== +defer-to-connect@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" + integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -1601,6 +2895,11 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== +diff@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -1615,6 +2914,21 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -1724,6 +3038,15 @@ dotenv@^8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +download-stats@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/download-stats/-/download-stats-0.3.4.tgz#67ea0c32f14acd9f639da704eef509684ba2dae7" + integrity sha512-ic2BigbyUWx7/CBbsfGjf71zUNZB4edBGC3oRliSzsoNmvyVx3Ycfp1w3vp2Y78Ee0eIIkjIEO5KzW0zThDGaA== + dependencies: + JSONStream "^1.2.1" + lazy-cache "^2.0.1" + moment "^2.15.1" + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -1739,7 +3062,28 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ejs@^3.1.5: +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +editions@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/editions/-/editions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" + integrity sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA== + dependencies: + errlop "^2.0.0" + semver "^6.3.0" + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + +ejs@^3.0.1, ejs@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== @@ -1788,6 +3132,11 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" +electron-to-chromium@^1.3.571: + version "1.3.582" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz#1adfac5affce84d85b3d7b3dfbc4ade293a6ffc4" + integrity sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww== + electron-updater@4.3.5: version "4.3.5" resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.5.tgz#4fb36f593a031c87ea07ee141c9f064d5deffb15" @@ -1850,7 +3199,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: +enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== @@ -1859,7 +3208,7 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: memory-fs "^0.5.0" tapable "^1.0.0" -enquirer@^2.3.5: +enquirer@^2.3.4, enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -1881,6 +3230,16 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== +envinfo@^7.5.0: + version "7.7.3" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" + integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== + +errlop@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" + integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== + errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -1888,6 +3247,13 @@ errno@^0.1.3, errno@~0.1.7: dependencies: prr "~1.0.1" +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + error-stack-parser@^2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" @@ -1895,6 +3261,13 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.1.1" +error@^7.0.2: + version "7.2.1" + resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" + integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== + dependencies: + string-template "~0.2.1" + es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: version "1.17.5" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" @@ -1926,7 +3299,7 @@ es6-error@^4.1.1: resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -escalade@^3.1.1: +escalade@^3.1.0, escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -2045,7 +3418,7 @@ espree@^7.3.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" -esprima@^4.0.0: +esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -2104,6 +3477,21 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" + integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -2139,6 +3527,20 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2163,6 +3565,16 @@ extract-zip@^1.0.3: mkdirp "^0.5.4" yauzl "^2.10.0" +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + fast-deep-equal@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" @@ -2173,6 +3585,18 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-glob@^2.0.2, fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@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" + fast-glob@^3.1.1: version "3.2.4" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" @@ -2214,6 +3638,13 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -2250,7 +3681,7 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-cache-dir@^2.1.0: +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -2266,16 +3697,31 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -findup-sync@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +findup-sync@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" + integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== dependencies: detect-file "^1.0.0" is-glob "^4.0.0" - micromatch "^3.0.4" + micromatch "^4.0.2" resolve-dir "^1.0.1" +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= + dependencies: + readable-stream "^2.0.2" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -2290,6 +3736,11 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flow-parser@0.*: + version "0.136.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.136.0.tgz#95e09bde3ba7f63f55c2c015cdd7cfd36ef8e652" + integrity sha512-PB2vYAqmz+dRikpx8TpNgRtBsyemP+7oQa0BcPZWnGABlJlB2WgJc/Lx0HeEPOUxDO/TxBbPaIHsffEIL9M6BQ== + flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -2298,11 +3749,23 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + dependencies: + debug "=3.1.0" + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + form-data@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" @@ -2312,6 +3775,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -2401,7 +3873,12 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -2411,6 +3888,11 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -2418,6 +3900,13 @@ get-stream@^4.1.0: dependencies: pump "^3.0.0" +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + get-stream@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" @@ -2430,6 +3919,28 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +gh-got@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-5.0.0.tgz#ee95be37106fd8748a96f8d1db4baea89e1bfa8a" + integrity sha1-7pW+NxBv2HSKlvjR20uuqJ4b+oo= + dependencies: + got "^6.2.0" + is-plain-obj "^1.1.0" + +github-username@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/github-username/-/github-username-3.0.0.tgz#0a772219b3130743429f2456d0bdd3db55dce7b1" + integrity sha1-CnciGbMTB0NCnyRW0L3T21Xc57E= + dependencies: + gh-got "^5.0.0" + glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -2445,7 +3956,12 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -2523,6 +4039,11 @@ global-tunnel-ng@^2.7.1: npm-conf "^1.1.3" tunnel "^0.0.6" +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + globals@^12.1.0: version "12.4.0" resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" @@ -2549,6 +4070,71 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" +globby@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +got@^10.7.0: + version "10.7.0" + resolved "https://registry.yarnpkg.com/got/-/got-10.7.0.tgz#62889dbcd6cca32cd6a154cc2d0c6895121d091f" + integrity sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg== + dependencies: + "@sindresorhus/is" "^2.0.0" + "@szmarczak/http-timer" "^4.0.0" + "@types/cacheable-request" "^6.0.1" + cacheable-lookup "^2.0.0" + cacheable-request "^7.0.1" + decompress-response "^5.0.0" + duplexer3 "^0.1.4" + get-stream "^5.0.0" + lowercase-keys "^2.0.0" + mimic-response "^2.1.0" + p-cancelable "^2.0.0" + p-event "^4.0.0" + responselike "^2.0.0" + to-readable-stream "^2.0.0" + type-fest "^0.10.0" + +got@^6.2.0: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -2571,6 +4157,26 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +grouped-queue@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-1.1.0.tgz#63e3f9ca90af952269d1d40879e41221eacc74cb" + integrity sha512-rZOFKfCqLhsu5VqjBjEWiwrYqJR07KxIkH4mLZlNlGDfntbb4FbMyGFP14TlvRPrU9S3Hnn/sgxbC5ZeN0no3Q== + dependencies: + lodash "^4.17.15" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -2731,11 +4337,32 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + iconv-lite@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" @@ -2758,7 +4385,12 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore@^4.0.6: +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== @@ -2781,13 +4413,13 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" imurmurhash@^0.1.4: version "0.1.4" @@ -2832,11 +4464,35 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -interpret@^1.4.0: +inquirer@^7.1.0: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== +interpret@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -2851,6 +4507,11 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -2870,6 +4531,11 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-buffer@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== + is-callable@^1.1.4, is-callable@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" @@ -2995,6 +4661,11 @@ is-path-inside@^3.0.1: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -3002,6 +4673,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + is-regex@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" @@ -3009,6 +4685,28 @@ is-regex@^1.0.5: dependencies: has-symbols "^1.0.1" +is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-scoped@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" + integrity sha1-RJypgpnnEwOCViieyytUDcQ3yzA= + dependencies: + scoped-regex "^1.0.0" + +is-stream@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" @@ -3016,11 +4714,16 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.1" -is-typedarray@^1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -3041,7 +4744,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isbinaryfile@^4.0.6: +isbinaryfile@^4.0.0, isbinaryfile@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== @@ -3063,6 +4766,20 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istextorbinary@^2.5.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" + integrity sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA== + dependencies: + binaryextensions "^2.1.2" + editions "^2.2.0" + textextensions "^2.5.0" + jake@^10.6.1: version "10.8.1" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.1.tgz#0f6f5ef13ebe014104527fb4b1b24f44cd1f04d6" @@ -3086,27 +4803,81 @@ js-yaml@^3.13.1, js-yaml@^3.14.0: argparse "^1.0.7" esprima "^4.0.0" +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jscodeshift@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.7.1.tgz#0236ad475d6f0770ca998a0160925d62b57d2507" + integrity sha512-YMkZSyoc8zg5woZL23cmWlnFLPH/mHilonGA7Qbzs7H6M4v4PH0Qsn4jeDyw+CHhVoAnm9UxQyB0Yw1OT+mktA== + dependencies: + "@babel/core" "^7.1.6" + "@babel/parser" "^7.1.6" + "@babel/plugin-proposal-class-properties" "^7.1.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/preset-env" "^7.1.6" + "@babel/preset-flow" "^7.0.0" + "@babel/preset-typescript" "^7.1.0" + "@babel/register" "^7.0.0" + babel-core "^7.0.0-bridge.0" + colors "^1.1.2" + flow-parser "0.*" + graceful-fs "^4.1.11" + micromatch "^3.1.10" + neo-async "^2.5.0" + node-dir "^0.1.17" + recast "^0.18.1" + temp "^0.8.1" + write-file-atomic "^2.3.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + json-buffer@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@^5.0.1: +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -3141,6 +4912,21 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -3148,6 +4934,13 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" +keyv@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" + integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== + dependencies: + json-buffer "3.0.1" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -3179,6 +4972,13 @@ latest-version@^5.0.0: dependencies: package-json "^6.3.0" +lazy-cache@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" + integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= + dependencies: + set-getter "^0.1.0" + lazy-val@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" @@ -3200,12 +5000,17 @@ line-column@^1.0.2: isarray "^1.0.0" isobject "^2.0.0" +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@^1.0.2, loader-utils@^1.2.3, loader-utils@^1.4.0: +loader-utils@^1.0.2, loader-utils@^1.2.3: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -3231,6 +5036,13 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -3241,6 +5053,25 @@ lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.11: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +log-symbols@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + lower-case@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" @@ -3272,7 +5103,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^2.0.0: +make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -3320,6 +5151,49 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mem-fs-editor@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-6.0.0.tgz#d63607cf0a52fe6963fc376c6a7aa52db3edabab" + integrity sha512-e0WfJAMm8Gv1mP5fEq/Blzy6Lt1VbLg7gNnZmZak7nhrBTibs+c6nQ4SKs/ZyJYHS1mFgDJeopsLAv7Ow0FMFg== + dependencies: + commondir "^1.0.1" + deep-extend "^0.6.0" + ejs "^2.6.1" + glob "^7.1.4" + globby "^9.2.0" + isbinaryfile "^4.0.0" + mkdirp "^0.5.0" + multimatch "^4.0.0" + rimraf "^2.6.3" + through2 "^3.0.1" + vinyl "^2.2.0" + +mem-fs-editor@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-7.0.1.tgz#e0797802b7797acf43ef3c511f3d3ad5ea765783" + integrity sha512-eD8r4/d2ayp9HHIgBPHB6Ds0ggA8F9cf9HxcNtbqrwqJXfIDrOSMG5K4fV3+Ib3B+HIdrWqkeDDDvrO7i9EbvQ== + dependencies: + commondir "^1.0.1" + deep-extend "^0.6.0" + ejs "^3.0.1" + glob "^7.1.4" + globby "^9.2.0" + isbinaryfile "^4.0.0" + mkdirp "^1.0.0" + multimatch "^4.0.0" + rimraf "^3.0.0" + through2 "^3.0.1" + vinyl "^2.2.0" + +mem-fs@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.2.0.tgz#5f29b2d02a5875cd14cd836c388385892d556cde" + integrity sha512-b8g0jWKdl8pM0LqAPdK9i8ERL7nYrzmJfRhxMiWH2uYdfYnb7uXnmwVb0ZGe7xyEl4lj+nLIU3yf4zPUT+XsVQ== + dependencies: + through2 "^3.0.0" + vinyl "^2.0.1" + vinyl-file "^3.0.0" + memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -3336,12 +5210,17 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" -merge2@^1.3.0: +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3, merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -3381,7 +5260,7 @@ mime-db@1.44.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== -mime-types@^2.1.12: +mime-types@^2.1.12, mime-types@~2.1.19: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== @@ -3393,11 +5272,21 @@ mime@^2.4.6: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +mimic-response@^2.0.0, mimic-response@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" + integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -3444,13 +5333,23 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" +mkdirp@^1.0.0, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment@^2.15.1, moment@^2.24.0: + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -3468,11 +5367,27 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.2: +ms@2.1.2, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +multimatch@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" + integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + nan@^2.12.1: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" @@ -3523,6 +5438,13 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" +node-dir@^0.1.17: + version "0.1.17" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= + dependencies: + minimatch "^3.0.2" + node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" @@ -3557,6 +5479,16 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-releases@^1.1.61: + version "1.1.63" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.63.tgz#db6dbb388544c31e888216304e8fd170efee3ff5" + integrity sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg== + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -3584,6 +5516,18 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== +npm-api@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/npm-api/-/npm-api-1.0.0.tgz#6033c283bb04ddb0185344c1ad07ed4f67c77989" + integrity sha512-gtJhIhGq07g9H5sIAB9TZzTySW8MYtcYqg+e+J+5q1GmDsDLLVfyvVBL1VklzjtRsElph11GUtLBS191RDOJxQ== + dependencies: + JSONStream "^1.3.5" + clone-deep "^4.0.1" + download-stats "^0.3.4" + moment "^2.24.0" + paged-request "^2.0.1" + request "^2.88.0" + npm-conf@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" @@ -3592,6 +5536,13 @@ npm-conf@^1.1.3: config-chain "^1.1.11" pify "^3.0.0" +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -3599,6 +5550,11 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -3662,6 +5618,13 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -3679,12 +5642,39 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-limit@^2.0.0: +p-cancelable@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" + integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== + +p-each-series@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" + integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== + +p-event@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" + integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== + dependencies: + p-timeout "^3.1.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -3698,7 +5688,21 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-try@^2.0.0: +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-timeout@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + +p-try@^2.0.0, p-try@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== @@ -3713,6 +5717,13 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +paged-request@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/paged-request/-/paged-request-2.0.1.tgz#91164f042231feb68643542d2530476a518ff4de" + integrity sha512-C0bB/PFk9rQskD1YEiz7uuchzqKDQGgdsEHN1ahify0UUWzgmMK4NDG9fhlQg2waogmNFwEvEeHfMRvJySpdVw== + dependencies: + axios "^0.18.0" + pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -3754,6 +5765,16 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" @@ -3787,6 +5808,11 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -3797,7 +5823,7 @@ path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -3807,6 +5833,13 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -3828,11 +5861,21 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -3843,6 +5886,13 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pirates@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -3850,6 +5900,13 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + png2icons@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" @@ -3927,6 +5984,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" @@ -3944,6 +6006,11 @@ prettier@^2.1.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== +pretty-bytes@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" + integrity sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA== + pretty-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -3952,7 +6019,20 @@ pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -process-nextick-args@~2.0.0: +prettyjson@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" + integrity sha1-/P+rQdGcq0365eV15kJGYZsS0ok= + dependencies: + colors "^1.1.2" + minimist "^1.2.0" + +private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== @@ -3982,6 +6062,11 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -4029,7 +6114,7 @@ punycode@^1.2.4: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -4041,6 +6126,11 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -4076,6 +6166,14 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" +read-chunk@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-3.2.0.tgz#2984afe78ca9bfbbdb74b19387bf9e86289c16ca" + integrity sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ== + dependencies: + pify "^4.0.1" + with-open-file "^0.1.6" + read-config-file@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299" @@ -4087,7 +6185,25 @@ read-config-file@6.0.0: json5 "^2.1.2" lazy-val "^1.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +read-pkg-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" + integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== + dependencies: + find-up "^3.0.0" + read-pkg "^5.0.0" + +read-pkg@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -4100,7 +6216,7 @@ read-config-file@6.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -4125,6 +6241,59 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" +recast@^0.18.1: + version "0.18.10" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.18.10.tgz#605ebbe621511eb89b6356a7e224bff66ed91478" + integrity sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ== + dependencies: + ast-types "0.13.3" + esprima "~4.0.0" + private "^0.1.8" + source-map "~0.6.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +rechoir@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" + integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + dependencies: + resolve "^1.9.0" + +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" + integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -4138,6 +6307,18 @@ regexpp@^3.0.0, regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + registry-auth-token@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" @@ -4152,6 +6333,18 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -4183,22 +6376,48 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + 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.3" + 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.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: - resolve-from "^3.0.0" + resolve-from "^5.0.0" resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" @@ -4208,22 +6427,22 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1: expand-tilde "^2.0.0" global-modules "^1.0.0" -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.9.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -4237,6 +6456,21 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" +responselike@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -4247,7 +6481,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2.6.3: +rimraf@2.6.3, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -4261,6 +6495,13 @@ rimraf@^2.5.4, rimraf@^2.6.3: dependencies: glob "^7.1.3" +rimraf@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -4281,6 +6522,11 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" +run-async@^2.0.0, run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" @@ -4293,6 +6539,13 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rxjs@^6.6.0: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -4310,7 +6563,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -4345,6 +6598,11 @@ schema-utils@^3.0.0: ajv "^6.12.5" ajv-keywords "^3.5.2" +scoped-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" + integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -4357,17 +6615,22 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2: +semver@^7.1.3, semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -4386,10 +6649,12 @@ serialize-javascript@^3.1.0: dependencies: randombytes "^2.1.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +set-getter@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" + integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= + dependencies: + to-object-path "^0.3.0" set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" @@ -4445,11 +6710,30 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +shelljs@^0.8.3: + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -4510,7 +6794,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12: +source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -4523,7 +6807,7 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -4581,6 +6865,21 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" @@ -4638,6 +6937,11 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +string-template@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" + integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= + string-width@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -4646,7 +6950,7 @@ string-width@^2.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0, string-width@^3.1.0: +string-width@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -4726,7 +7030,7 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: +strip-ansi@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -4740,6 +7044,33 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-bom-buf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" + integrity sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI= + dependencies: + is-utf8 "^0.2.1" + +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" + integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -4777,13 +7108,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" @@ -4791,6 +7115,16 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +table-layout@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.1.tgz#8411181ee951278ad0638aea2f779a9ce42894f9" + integrity sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -4814,6 +7148,13 @@ temp-file@^3.3.7: async-exit-hook "^2.0.1" fs-extra "^8.1.0" +temp@^0.8.1: + version "0.8.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" + integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== + dependencies: + rimraf "~2.6.2" + term-size@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" @@ -4848,6 +7189,11 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +textextensions@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" + integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -4856,6 +7202,24 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" +through2@^3.0.0, through2@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + +"through@>=2.2.7 <3", through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -4863,11 +7227,23 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -4880,6 +7256,11 @@ to-readable-stream@^1.0.0: resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== +to-readable-stream@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-2.1.0.tgz#82880316121bea662cdc226adb30addb50cb06e8" + integrity sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w== + to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" @@ -4905,6 +7286,14 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + truncate-utf8-bytes@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" @@ -4951,11 +7340,23 @@ tty-browserify@0.0.0: resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + tunnel@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -4963,11 +7364,26 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-fest@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.10.0.tgz#7f06b2b9fbfc581068d1341ffabd0349ceafc642" + integrity sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw== + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + type-fest@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -4990,6 +7406,34 @@ typescript@^4.0.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== +typical@^5.0.0, typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -5044,6 +7488,16 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +untildify@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" + integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA== + +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + upath@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -5080,6 +7534,13 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -5137,7 +7598,12 @@ utila@^0.4.0, utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.1: +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== @@ -5150,6 +7616,38 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vinyl-file@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-3.0.0.tgz#b104d9e4409ffa325faadd520642d0a3b488b365" + integrity sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U= + dependencies: + graceful-fs "^4.1.2" + pify "^2.3.0" + strip-bom-buf "^1.0.0" + strip-bom-stream "^2.0.0" + vinyl "^2.0.1" + +vinyl@^2.0.1, vinyl@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" @@ -5173,22 +7671,32 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" -webpack-cli@^3.3.12: - version "3.3.12" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" - integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== +webpack-cli@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.0.0.tgz#77ded6f871145439d87797cd39a65f9f782d4f93" + integrity sha512-c5NOm8jDp3qWa+Q4pDZTcT5IwPcPXdjU1ejN9e7LojHQN02sjNr4tzLrt5pwkY+zN8pQL40m14JsbC2Dh+ZJ/w== dependencies: - chalk "^2.4.2" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.1" - findup-sync "^3.0.0" - global-modules "^2.0.0" - import-local "^2.0.0" - interpret "^1.4.0" - loader-utils "^1.4.0" - supports-color "^6.1.0" - v8-compile-cache "^2.1.1" - yargs "^13.3.2" + "@webpack-cli/info" "^1.0.1" + "@webpack-cli/init" "^1.0.1" + "@webpack-cli/serve" "^1.0.1" + ansi-escapes "^4.3.1" + colorette "^1.2.1" + command-line-usage "^6.1.0" + commander "^6.0.0" + enquirer "^2.3.4" + execa "^4.0.0" + import-local "^3.0.2" + interpret "^2.0.0" + rechoir "^0.7.0" + v8-compile-cache "^2.1.0" + webpack-merge "^4.2.2" + +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" webpack-merge@^5.2.0: version "5.2.0" @@ -5240,11 +7748,6 @@ webpack@^4.44.2: watchpack "^1.7.4" webpack-sources "^1.4.1" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -5271,11 +7774,28 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== +with-open-file@^0.1.6: + version "0.1.7" + resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.7.tgz#e2de8d974e8a8ae6e58886be4fe8e7465b58a729" + integrity sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA== + dependencies: + p-finally "^1.0.0" + p-try "^2.1.0" + pify "^4.0.1" + word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +wordwrapjs@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.0.tgz#9aa9394155993476e831ba8e59fb5795ebde6800" + integrity sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.0.0" + worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -5283,15 +7803,6 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -5306,6 +7817,15 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@^2.3.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + write-file-atomic@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" @@ -5353,35 +7873,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^20.2.2: version "20.2.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz#92419ba867b858c868acf8bae9bf74af0dd0ce26" integrity sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww== -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - 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.2" - yargs@^16.0.3: version "16.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.0.tgz#fc333fe4791660eace5a894b39d42f851cd48f2a" @@ -5403,6 +7899,65 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yeoman-environment@^2.8.1, yeoman-environment@^2.9.5: + version "2.10.3" + resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.10.3.tgz#9d8f42b77317414434cc0e51fb006a4bdd54688e" + integrity sha512-pLIhhU9z/G+kjOXmJ2bPFm3nejfbH+f1fjYRSOteEXDBrv1EoJE/e+kuHixSXfCYfTkxjYsvRaDX+1QykLCnpQ== + dependencies: + chalk "^2.4.1" + debug "^3.1.0" + diff "^3.5.0" + escape-string-regexp "^1.0.2" + execa "^4.0.0" + globby "^8.0.1" + grouped-queue "^1.1.0" + inquirer "^7.1.0" + is-scoped "^1.0.0" + lodash "^4.17.10" + log-symbols "^2.2.0" + mem-fs "^1.1.0" + mem-fs-editor "^6.0.0" + npm-api "^1.0.0" + semver "^7.1.3" + strip-ansi "^4.0.0" + text-table "^0.2.0" + untildify "^3.0.3" + yeoman-generator "^4.8.2" + +yeoman-generator@^4.12.0, yeoman-generator@^4.7.2, yeoman-generator@^4.8.2: + version "4.12.0" + resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-4.12.0.tgz#512e783a38b004c49265e71826a09ff7f1939f4b" + integrity sha512-lozwklVQHwUXMM1o8BgxEB8F5BB7vkHW4pjAo1Zt5sJ7FOlWhd6DJ4ZxJ2OK0w+gNYkY/ocPMkUV7DTz/uqEEg== + dependencies: + async "^2.6.2" + chalk "^2.4.2" + cli-table "^0.3.1" + cross-spawn "^6.0.5" + dargs "^6.1.0" + dateformat "^3.0.3" + debug "^4.1.1" + diff "^4.0.1" + error "^7.0.2" + find-up "^3.0.0" + github-username "^3.0.0" + istextorbinary "^2.5.1" + lodash "^4.17.11" + make-dir "^3.0.0" + mem-fs-editor "^7.0.1" + minimist "^1.2.5" + pretty-bytes "^5.2.0" + read-chunk "^3.2.0" + read-pkg-up "^5.0.0" + rimraf "^2.6.3" + run-async "^2.0.0" + semver "^7.2.1" + shelljs "^0.8.3" + text-table "^0.2.0" + through2 "^3.0.1" + optionalDependencies: + grouped-queue "^1.1.0" + yeoman-environment "^2.9.5" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" From 3fd37e08a33ec8767d1064bc56ce1ff11a997838 Mon Sep 17 00:00:00 2001 From: Kyle Date: Mon, 19 Oct 2020 12:43:31 -0400 Subject: [PATCH 189/385] changed build command --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 489f20b7..65520355 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,8 @@ "scripts": { "start": "yarn build:dev && cross-env NODE_ENV=development electron ./app/background.js", "dist": "yarn build && electron-builder --config electron-builder.js", - "build": "webpack --config-name app --mode=production", - "build:dev": "webpack --config-name app --mode=development", + "build": "webpack --mode=production", + "build:dev": "webpack --mode=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", "lint": "eslint --fix --ext .ts,.js ./src" }, From 269fd5f8be26e4e5abb97543db779598a51eef2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2020 05:09:05 +0000 Subject: [PATCH 190/385] Bump webpack-cli from 4.0.0 to 4.1.0 Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/webpack/webpack-cli/releases) - [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md) - [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.0.0...webpack-cli@4.1.0) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 2664 ++------------------------------------------------ 2 files changed, 56 insertions(+), 2610 deletions(-) diff --git a/package.json b/package.json index 65520355..768ecaf8 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "ts-node": "^9.0.0", "typescript": "^4.0.3", "webpack": "^4.44.2", - "webpack-cli": "^4.0.0", + "webpack-cli": "^4.1.0", "webpack-merge": "^5.2.0", "webpack-node-externals": "^2.5.2" } diff --git a/yarn.lock b/yarn.lock index 3b281754..80715bd8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,255 +14,11 @@ dependencies: "@babel/highlight" "^7.10.1" -"@babel/code-frame@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" - integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== - -"@babel/core@^7.1.6": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" - integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== - dependencies: - "@babel/types" "^7.12.1" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" - integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" - integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-compilation-targets@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.1.tgz#310e352888fbdbdd8577be8dfdd2afb9e7adcf50" - integrity sha512-jtBEif7jsPwP27GPHs06v4WBV0KrE8a/P7n0N0sSvHn2hwUCYnolP/CLmz51IzAW4NlN+HuoBtb9QcwnRo9F/g== - dependencies: - "@babel/compat-data" "^7.12.1" - "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.12.0" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" - integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" - -"@babel/helper-create-regexp-features-plugin@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" - integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.1" - -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" - integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" - -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633" - integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" - integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" - integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-module-imports@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.1.tgz#1644c01591a15a2f084dd6d092d9430eb1d1216c" - integrity sha512-ZeC1TlMSvikvJNy1v/wPIazCu3NdOwgYZLIkmIyAsGhqkNpiDoQQRmaCK8YP4Pq3GPTLPV9WXaPCJKvx06JxKA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-module-transforms@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-regex@^7.10.4": - version "7.10.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" - integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== - dependencies: - lodash "^4.17.19" - -"@babel/helper-remap-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd" - integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/types" "^7.12.1" - -"@babel/helper-replace-supers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.1.tgz#f15c9cc897439281891e11d5ce12562ac0cf3fa9" - integrity sha512-zJjTvtNJnCFsCXVi5rUInstLd/EIVNmIKA1Q9ynESmMBWPWd+7sdR+G4/wdu+Mppfep0XLyG2m7EBPvjCeFyrw== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - -"@babel/helper-simple-access@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== - dependencies: - "@babel/types" "^7.11.0" - "@babel/helper-validator-identifier@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helper-validator-option@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" - integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== - -"@babel/helper-wrap-function@^7.10.4": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9" - integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helpers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.1.tgz#8a8261c1d438ec18cb890434df4ec768734c1e79" - integrity sha512-9JoDSBGoWtmbay98efmT2+mySkwjzeFeAL9BuWNoVQpkPFQF8SIIFUfY5os9u8wVzglzoiPRSW7cuJmBDUt43g== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - "@babel/highlight@^7.10.1": version "7.10.1" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.1.tgz#841d098ba613ba1a427a2b383d79e35552c38ae0" @@ -272,642 +28,6 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.6", "@babel/parser@^7.10.4", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" - integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== - -"@babel/plugin-proposal-async-generator-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" - integrity sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" - integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-dynamic-import@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" - integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-export-namespace-from@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" - integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" - integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" - integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" - integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.1" - -"@babel/plugin-proposal-optional-catch-binding@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" - integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" - integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" - integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072" - integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-async-generators@^7.8.0": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" - integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz#a77670d9abe6d63e8acadf4c31bb1eb5a506bbdd" - integrity sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" - integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-typescript@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz#460ba9d77077653803c3dd2e673f76d66b4029e5" - integrity sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-arrow-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" - integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" - integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" - -"@babel/plugin-transform-block-scoped-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" - integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-block-scoping@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" - integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-classes@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" - integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" - integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-destructuring@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" - integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" - integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-duplicate-keys@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" - integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-exponentiation-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" - integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-flow-strip-types@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" - integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-flow" "^7.12.1" - -"@babel/plugin-transform-for-of@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" - integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-function-name@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" - integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" - integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" - integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-modules-amd@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" - integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" - integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.12.1" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" - integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== - dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-identifier" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" - integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" - integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - -"@babel/plugin-transform-new-target@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" - integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-object-super@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" - integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - -"@babel/plugin-transform-parameters@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" - integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-property-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" - integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-regenerator@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" - integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" - integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-shorthand-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" - integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" - integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - -"@babel/plugin-transform-sticky-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" - integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - -"@babel/plugin-transform-template-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" - integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typeof-symbol@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" - integrity sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typescript@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4" - integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-typescript" "^7.12.1" - -"@babel/plugin-transform-unicode-escapes@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709" - integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" - integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/preset-env@^7.1.6": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" - integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== - dependencies: - "@babel/compat-data" "^7.12.1" - "@babel/helper-compilation-targets" "^7.12.1" - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.1" - "@babel/plugin-proposal-async-generator-functions" "^7.12.1" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-dynamic-import" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.1" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.1" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.1" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-async-to-generator" "^7.12.1" - "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.1" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-computed-properties" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-dotall-regex" "^7.12.1" - "@babel/plugin-transform-duplicate-keys" "^7.12.1" - "@babel/plugin-transform-exponentiation-operator" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-function-name" "^7.12.1" - "@babel/plugin-transform-literals" "^7.12.1" - "@babel/plugin-transform-member-expression-literals" "^7.12.1" - "@babel/plugin-transform-modules-amd" "^7.12.1" - "@babel/plugin-transform-modules-commonjs" "^7.12.1" - "@babel/plugin-transform-modules-systemjs" "^7.12.1" - "@babel/plugin-transform-modules-umd" "^7.12.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" - "@babel/plugin-transform-new-target" "^7.12.1" - "@babel/plugin-transform-object-super" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-property-literals" "^7.12.1" - "@babel/plugin-transform-regenerator" "^7.12.1" - "@babel/plugin-transform-reserved-words" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.1" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.1" - "@babel/plugin-transform-unicode-escapes" "^7.12.1" - "@babel/plugin-transform-unicode-regex" "^7.12.1" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.1" - core-js-compat "^3.6.2" - semver "^5.5.0" - -"@babel/preset-flow@^7.0.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.12.1.tgz#1a81d376c5a9549e75352a3888f8c273455ae940" - integrity sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-flow-strip-types" "^7.12.1" - -"@babel/preset-modules@^0.1.3": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-typescript@^7.1.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" - integrity sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-typescript" "^7.12.1" - -"@babel/register@^7.0.0": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" - integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== - dependencies: - find-cache-dir "^2.0.0" - lodash "^4.17.19" - make-dir "^2.1.0" - pirates "^4.0.0" - source-map-support "^0.5.16" - -"@babel/runtime@^7.8.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" - integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.12.1" - "@babel/types" "^7.12.1" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.4.4": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" - integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - "@develar/schema-utils@~2.6.5": version "2.6.5" resolved "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz#3ece22c5838402419a6e0425f85742b961d9b6c6" @@ -948,14 +68,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -969,11 +81,6 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - "@nodelib/fs.walk@^1.2.3": version "1.2.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" @@ -987,11 +94,6 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@sindresorhus/is@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-2.1.1.tgz#ceff6a28a5b4867c2dd4a1ba513de278ccbe8bb1" - integrity sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg== - "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -999,28 +101,11 @@ dependencies: defer-to-connect "^1.0.1" -"@szmarczak/http-timer@^4.0.0": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" - integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== - dependencies: - defer-to-connect "^2.0.0" - "@types/anymatch@*": version "1.3.1" resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== -"@types/cacheable-request@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.1.tgz#5d22f3dded1fd3a84c0bbeb5039a7419c2c91976" - integrity sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "*" - "@types/node" "*" - "@types/responselike" "*" - "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -1062,24 +147,11 @@ dependencies: "@types/node" "*" -"@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - "@types/html-minifier-terser@^5.0.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== -"@types/http-cache-semantics@*": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" - integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== - "@types/json-schema@^7.0.3": version "7.0.4" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" @@ -1090,18 +162,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/keyv@*", "@types/keyv@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.1.tgz#e45a45324fca9dab716ab1230ee249c9fb52cfa7" - integrity sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw== - dependencies: - "@types/node" "*" - -"@types/minimatch@*", "@types/minimatch@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - "@types/node-fetch@^2.5.7": version "2.5.7" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" @@ -1120,18 +180,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.44.tgz#0d400a1453adcb359b133acceae4dd8bb0e0a159" integrity sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg== -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/responselike@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== - dependencies: - "@types/node" "*" - "@types/semver@^7.3.1": version "7.3.1" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.1.tgz#7a9a5d595b6d873f338c867dcef64df289468cfa" @@ -1456,65 +504,18 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@webpack-cli/generators@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/generators/-/generators-1.0.1.tgz#3475689d1f8610923ae3d0180457d26409ac0a1e" - integrity sha512-MPaOezICviBfgYc+r8WBTkyM8gOe3qBR5t32roPqyhL4SJmN4f82ZYvVomLEx+YFBQ5uksCauSHAGoJNXinymg== - dependencies: - "@webpack-cli/utils" "^1.0.1" - "@webpack-cli/webpack-scaffold" "^1.0.1" - colorette "^1.2.1" - log-symbols "^4.0.0" - mkdirp "^1.0.4" - yeoman-generator "^4.12.0" - -"@webpack-cli/info@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.0.1.tgz#9e0fe0163637b7f95583669a39aec30c566bdd7c" - integrity sha512-C6OJTxTLgTjBuNKLlseQ2HHjgEGTcgIFcrJd67K3pM2LcYJNWT6VFaPzk9Go0yTZ9km9awm8sq2hW3Hm32NBeQ== - dependencies: - colorette "^1.2.1" - envinfo "^7.5.0" - prettyjson "^1.2.1" - -"@webpack-cli/init@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/init/-/init-1.0.1.tgz#c09da90b6d7cf57d3c5ce96d4a622696f15771e2" - integrity sha512-OmhDC1jjhhX13mNt+emTPR7u18nrAWKOk/nIAg8XRFdZU2VUBPJbOK3/6xmqXnWKByZVJClvaeUjvgVQBnQmZw== +"@webpack-cli/info@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.0.2.tgz#7ba1a7cfa9efa5b51e76b20ada88ac33b0340ad3" + integrity sha512-FEfLQwmN4pXZSYSrtp+KC84rFanoCIxXFpS2wUvviDCE2fnajwxw2GXzbj83IlH4Dl8Wq8kJjavVwvxv3YJmnw== dependencies: - "@webpack-cli/generators" "^1.0.1" - "@webpack-cli/utils" "^1.0.1" + envinfo "^7.7.3" "@webpack-cli/serve@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.0.1.tgz#28abe7dcb18224ccd4b4e2d37f70e5be66c3d6a9" integrity sha512-WGMaTMTK6NOe29Hw1WBEok9vGLfKg5C6jWzNOS/6HH1YadR+RL+TRWRcSyc81Dzulljhk/Ree9mrDM4Np9GGOQ== -"@webpack-cli/utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/utils/-/utils-1.0.1.tgz#f5512693ea490e946aaed9e91f9502df7f4d4ede" - integrity sha512-G8UKA+B85/5X+pM85P0Knx43vwFS1W9WDseeif/15jbtDTib8jaNC+rD9SBvFcllmnqdfFXpkcrmWMW4A744dg== - dependencies: - colorette "^1.2.1" - cross-spawn "^7.0.3" - enquirer "^2.3.6" - execa "^4.0.0" - findup-sync "^4.0.0" - global-modules "^2.0.0" - got "^10.7.0" - jscodeshift "^0.7.0" - p-each-series "^2.1.0" - yeoman-environment "^2.8.1" - yeoman-generator "^4.7.2" - -"@webpack-cli/webpack-scaffold@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/webpack-scaffold/-/webpack-scaffold-1.0.1.tgz#6aed6a762433eb3888f0fd63ddf8d5d6b1ff18e5" - integrity sha512-AfnpwDJv2hxwpaM6Ljz0eNa7ayHVviPNWN/76RjlFxMGfT0K7O6IWw2oDvikqko227DClV4xO/5CL1/tz0LGhw== - dependencies: - jscodeshift "^0.7.0" - yeoman-generator "^4.7.2" - "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -1525,14 +526,6 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -JSONStream@^1.2.1, JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - about-window@1.13.4: version "1.13.4" resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.13.4.tgz#cedfd0153c4b8b54832acae6dae695e06f27f4b4" @@ -1568,7 +561,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1590,7 +583,7 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: +ansi-escapes@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== @@ -1723,43 +716,16 @@ array-back@^4.0.0, array-back@^4.0.1: resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - -array-union@^1.0.1, array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - asn1.js@^4.0.0: version "4.10.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" @@ -1769,18 +735,6 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - assert@^1.1.1: version "1.5.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" @@ -1794,11 +748,6 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -ast-types@0.13.3: - version "0.13.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7" - integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA== - astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" @@ -1819,13 +768,6 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1841,36 +783,6 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== - -axios@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" - integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== - dependencies: - follow-redirects "1.5.10" - is-buffer "^2.0.2" - -babel-core@^7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" @@ -1894,13 +806,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -1916,11 +821,6 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== -binaryextensions@^2.1.2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" - integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== - bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -2071,16 +971,6 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.12.0, browserslist@^4.8.5: - version "4.14.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" - integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA== - dependencies: - caniuse-lite "^1.0.30001135" - electron-to-chromium "^1.3.571" - escalade "^3.1.0" - node-releases "^1.1.61" - buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -2174,14 +1064,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cacheable-lookup@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz#87be64a18b925234875e10a9bb1ebca4adce6b38" - integrity sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg== - dependencies: - "@types/keyv" "^3.1.1" - keyv "^4.0.0" - cacheable-request@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" @@ -2195,24 +1077,6 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" -cacheable-request@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.1.tgz#062031c2856232782ed694a257fa35da93942a58" - integrity sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^2.0.0" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -2236,21 +1100,6 @@ camelcase@^6.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== -caniuse-lite@^1.0.30001135: - version "1.0.30001148" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz#dc97c7ed918ab33bf8706ddd5e387287e015d637" - integrity sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw== - -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -2262,7 +1111,7 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2287,11 +1136,6 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -2376,26 +1220,7 @@ clean-css@^4.2.3: cli-boxes@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= - dependencies: - colors "1.0.3" - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== cliui@^7.0.2: version "7.0.3" @@ -2406,11 +1231,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -2427,25 +1247,11 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - clone@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -2483,17 +1289,7 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -2580,13 +1376,6 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -2604,20 +1393,12 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - core-js@^3.6.5: version "3.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= @@ -2630,13 +1411,6 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -2667,18 +1441,7 @@ cross-env@^7.0.2: dependencies: cross-spawn "^7.0.1" -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -2752,30 +1515,6 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= -dargs@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-6.1.0.tgz#1f3b9b56393ecf8caa7cbfd6c31496ffcfb9b272" - integrity sha512-5dVBvpBLBnPwSsYXqfybFyehMmC/EenKEcf23AhCTgTf48JFBbmJKqoZBsERDnjL0FyiVTYWdFsRfTLHxLyKdQ== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debug@=3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2783,13 +1522,6 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" @@ -2816,13 +1548,6 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -decompress-response@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-5.0.0.tgz#7849396e80e3d1eba8cb2f75ef4930f76461cb0f" - integrity sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw== - dependencies: - mimic-response "^2.0.0" - deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -2838,11 +1563,6 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -defer-to-connect@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.0.tgz#83d6b199db041593ac84d781b5222308ccf4c2c1" - integrity sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg== - define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -2885,21 +1605,11 @@ des.js@^1.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -2914,21 +1624,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -3038,15 +1733,6 @@ dotenv@^8.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== -download-stats@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/download-stats/-/download-stats-0.3.4.tgz#67ea0c32f14acd9f639da704eef509684ba2dae7" - integrity sha512-ic2BigbyUWx7/CBbsfGjf71zUNZB4edBGC3oRliSzsoNmvyVx3Ycfp1w3vp2Y78Ee0eIIkjIEO5KzW0zThDGaA== - dependencies: - JSONStream "^1.2.1" - lazy-cache "^2.0.1" - moment "^2.15.1" - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -3062,28 +1748,7 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -editions@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/editions/-/editions-2.3.1.tgz#3bc9962f1978e801312fbd0aebfed63b49bfe698" - integrity sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA== - dependencies: - errlop "^2.0.0" - semver "^6.3.0" - -ejs@^2.6.1: - version "2.7.4" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" - integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== - -ejs@^3.0.1, ejs@^3.1.5: +ejs@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== @@ -3132,11 +1797,6 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" -electron-to-chromium@^1.3.571: - version "1.3.582" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.582.tgz#1adfac5affce84d85b3d7b3dfbc4ade293a6ffc4" - integrity sha512-0nCJ7cSqnkMC+kUuPs0YgklFHraWGl/xHqtZWWtOeVtyi+YqkoAOMGuZQad43DscXCQI/yizcTa3u6B5r+BLww== - electron-updater@4.3.5: version "4.3.5" resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.5.tgz#4fb36f593a031c87ea07ee141c9f064d5deffb15" @@ -3208,7 +1868,7 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: memory-fs "^0.5.0" tapable "^1.0.0" -enquirer@^2.3.4, enquirer@^2.3.5, enquirer@^2.3.6: +enquirer@^2.3.4, enquirer@^2.3.5: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -3230,16 +1890,11 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== -envinfo@^7.5.0: +envinfo@^7.7.3: version "7.7.3" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== -errlop@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/errlop/-/errlop-2.2.0.tgz#1ff383f8f917ae328bebb802d6ca69666a42d21b" - integrity sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw== - errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -3247,13 +1902,6 @@ errno@^0.1.3, errno@~0.1.7: dependencies: prr "~1.0.1" -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - error-stack-parser@^2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" @@ -3261,13 +1909,6 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.1.1" -error@^7.0.2: - version "7.2.1" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: version "1.17.5" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" @@ -3299,7 +1940,7 @@ es6-error@^4.1.1: resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -escalade@^3.1.0, escalade@^3.1.1: +escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -3418,7 +2059,7 @@ espree@^7.3.0: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.3.0" -esprima@^4.0.0, esprima@~4.0.0: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -3505,13 +2146,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -3527,20 +2161,6 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -3565,16 +2185,6 @@ extract-zip@^1.0.3: mkdirp "^0.5.4" yauzl "^2.10.0" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - fast-deep-equal@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" @@ -3585,18 +2195,6 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^2.0.2, fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@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" - fast-glob@^3.1.1: version "3.2.4" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" @@ -3638,13 +2236,6 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -3681,7 +2272,7 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: +find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -3705,23 +2296,6 @@ find-up@^4.0.0: locate-path "^5.0.0" path-exists "^4.0.0" -findup-sync@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-4.0.0.tgz#956c9cdde804052b881b428512905c4a5f2cdef0" - integrity sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^4.0.2" - resolve-dir "^1.0.1" - -first-chunk-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" - integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= - dependencies: - readable-stream "^2.0.2" - flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -3736,11 +2310,6 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -flow-parser@0.*: - version "0.136.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.136.0.tgz#95e09bde3ba7f63f55c2c015cdd7cfd36ef8e652" - integrity sha512-PB2vYAqmz+dRikpx8TpNgRtBsyemP+7oQa0BcPZWnGABlJlB2WgJc/Lx0HeEPOUxDO/TxBbPaIHsffEIL9M6BQ== - flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -3749,23 +2318,11 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== - dependencies: - debug "=3.1.0" - for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - form-data@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" @@ -3775,15 +2332,6 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -3873,11 +2421,6 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -3888,11 +2431,6 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -3919,28 +2457,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -gh-got@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-5.0.0.tgz#ee95be37106fd8748a96f8d1db4baea89e1bfa8a" - integrity sha1-7pW+NxBv2HSKlvjR20uuqJ4b+oo= - dependencies: - got "^6.2.0" - is-plain-obj "^1.1.0" - -github-username@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/github-username/-/github-username-3.0.0.tgz#0a772219b3130743429f2456d0bdd3db55dce7b1" - integrity sha1-CnciGbMTB0NCnyRW0L3T21Xc57E= - dependencies: - gh-got "^5.0.0" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -3956,12 +2472,7 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: dependencies: is-glob "^4.0.1" -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -3993,42 +2504,6 @@ global-dirs@^2.0.1: dependencies: ini "^1.3.5" -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - global-tunnel-ng@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" @@ -4039,11 +2514,6 @@ global-tunnel-ng@^2.7.1: npm-conf "^1.1.3" tunnel "^0.0.6" -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - globals@^12.1.0: version "12.4.0" resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" @@ -4070,71 +2540,6 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" -globby@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -got@^10.7.0: - version "10.7.0" - resolved "https://registry.yarnpkg.com/got/-/got-10.7.0.tgz#62889dbcd6cca32cd6a154cc2d0c6895121d091f" - integrity sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg== - dependencies: - "@sindresorhus/is" "^2.0.0" - "@szmarczak/http-timer" "^4.0.0" - "@types/cacheable-request" "^6.0.1" - cacheable-lookup "^2.0.0" - cacheable-request "^7.0.1" - decompress-response "^5.0.0" - duplexer3 "^0.1.4" - get-stream "^5.0.0" - lowercase-keys "^2.0.0" - mimic-response "^2.1.0" - p-cancelable "^2.0.0" - p-event "^4.0.0" - responselike "^2.0.0" - to-readable-stream "^2.0.0" - type-fest "^0.10.0" - -got@^6.2.0: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -4157,26 +2562,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -grouped-queue@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-1.1.0.tgz#63e3f9ca90af952269d1d40879e41221eacc74cb" - integrity sha512-rZOFKfCqLhsu5VqjBjEWiwrYqJR07KxIkH4mLZlNlGDfntbb4FbMyGFP14TlvRPrU9S3Hnn/sgxbC5ZeN0no3Q== - dependencies: - lodash "^4.17.15" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -4273,13 +2658,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" @@ -4337,15 +2715,6 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -4356,13 +2725,6 @@ human-signals@^1.1.1: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== -iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - iconv-lite@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" @@ -4385,12 +2747,7 @@ iferr@^0.1.5: resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.3, ignore@^4.0.6: +ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== @@ -4464,30 +2821,6 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@^7.1.0: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - interpret@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" @@ -4507,11 +2840,6 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -4531,11 +2859,6 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== - is-callable@^1.1.4, is-callable@^1.1.5: version "1.2.0" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" @@ -4661,11 +2984,6 @@ is-path-inside@^3.0.1: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -4673,11 +2991,6 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - is-regex@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" @@ -4685,23 +2998,6 @@ is-regex@^1.0.5: dependencies: has-symbols "^1.0.1" -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-scoped@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" - integrity sha1-RJypgpnnEwOCViieyytUDcQ3yzA= - dependencies: - scoped-regex "^1.0.0" - -is-stream@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" @@ -4714,17 +3010,12 @@ is-symbol@^1.0.2: dependencies: has-symbols "^1.0.1" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-windows@^1.0.1, is-windows@^1.0.2: +is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== @@ -4744,7 +3035,7 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isbinaryfile@^4.0.0, isbinaryfile@^4.0.6: +isbinaryfile@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== @@ -4766,20 +3057,6 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istextorbinary@^2.5.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.6.0.tgz#60776315fb0fa3999add276c02c69557b9ca28ab" - integrity sha512-+XRlFseT8B3L9KyjxxLjfXSLMuErKDsd8DBNrsaxoViABMEZlOSCstwmw0qpoFX3+U6yWU1yhLudAe6/lETGGA== - dependencies: - binaryextensions "^2.1.2" - editions "^2.2.0" - textextensions "^2.5.0" - jake@^10.6.1: version "10.8.1" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.1.tgz#0f6f5ef13ebe014104527fb4b1b24f44cd1f04d6" @@ -4803,81 +3080,27 @@ js-yaml@^3.13.1, js-yaml@^3.14.0: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jscodeshift@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.7.1.tgz#0236ad475d6f0770ca998a0160925d62b57d2507" - integrity sha512-YMkZSyoc8zg5woZL23cmWlnFLPH/mHilonGA7Qbzs7H6M4v4PH0Qsn4jeDyw+CHhVoAnm9UxQyB0Yw1OT+mktA== - dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/preset-env" "^7.1.6" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" - babel-core "^7.0.0-bridge.0" - colors "^1.1.2" - flow-parser "0.*" - graceful-fs "^4.1.11" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.18.1" - temp "^0.8.1" - write-file-atomic "^2.3.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - json-buffer@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -4912,21 +3135,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -4934,13 +3142,6 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" -keyv@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" - integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== - dependencies: - json-buffer "3.0.1" - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -4972,13 +3173,6 @@ latest-version@^5.0.0: dependencies: package-json "^6.3.0" -lazy-cache@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= - dependencies: - set-getter "^0.1.0" - lazy-val@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" @@ -5000,11 +3194,6 @@ line-column@^1.0.2: isarray "^1.0.0" isobject "^2.0.0" -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -5053,25 +3242,6 @@ lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== -lodash@^4.17.11: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - lower-case@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" @@ -5103,7 +3273,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^2.0.0, make-dir@^2.1.0: +make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== @@ -5140,59 +3310,16 @@ matcher@^3.0.0: resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== dependencies: - escape-string-regexp "^4.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mem-fs-editor@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-6.0.0.tgz#d63607cf0a52fe6963fc376c6a7aa52db3edabab" - integrity sha512-e0WfJAMm8Gv1mP5fEq/Blzy6Lt1VbLg7gNnZmZak7nhrBTibs+c6nQ4SKs/ZyJYHS1mFgDJeopsLAv7Ow0FMFg== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^2.6.1" - glob "^7.1.4" - globby "^9.2.0" - isbinaryfile "^4.0.0" - mkdirp "^0.5.0" - multimatch "^4.0.0" - rimraf "^2.6.3" - through2 "^3.0.1" - vinyl "^2.2.0" - -mem-fs-editor@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-7.0.1.tgz#e0797802b7797acf43ef3c511f3d3ad5ea765783" - integrity sha512-eD8r4/d2ayp9HHIgBPHB6Ds0ggA8F9cf9HxcNtbqrwqJXfIDrOSMG5K4fV3+Ib3B+HIdrWqkeDDDvrO7i9EbvQ== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^3.0.1" - glob "^7.1.4" - globby "^9.2.0" - isbinaryfile "^4.0.0" - mkdirp "^1.0.0" - multimatch "^4.0.0" - rimraf "^3.0.0" - through2 "^3.0.1" - vinyl "^2.2.0" - -mem-fs@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.2.0.tgz#5f29b2d02a5875cd14cd836c388385892d556cde" - integrity sha512-b8g0jWKdl8pM0LqAPdK9i8ERL7nYrzmJfRhxMiWH2uYdfYnb7uXnmwVb0ZGe7xyEl4lj+nLIU3yf4zPUT+XsVQ== + escape-string-regexp "^4.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== dependencies: - through2 "^3.0.0" - vinyl "^2.0.1" - vinyl-file "^3.0.0" + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" memory-fs@^0.4.1: version "0.4.1" @@ -5215,7 +3342,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0: +merge2@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -5260,7 +3387,7 @@ mime-db@1.44.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== -mime-types@^2.1.12, mime-types@~2.1.19: +mime-types@^2.1.12: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== @@ -5282,11 +3409,6 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mimic-response@^2.0.0, mimic-response@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" - integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -5333,23 +3455,13 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" -mkdirp@^1.0.0, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -moment@^2.15.1, moment@^2.24.0: - version "2.29.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" - integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== - move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -5367,27 +3479,11 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -multimatch@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-4.0.0.tgz#8c3c0f6e3e8449ada0af3dd29efb491a375191b3" - integrity sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - nan@^2.12.1: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" @@ -5425,11 +3521,6 @@ neo-async@^2.5.0, neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - no-case@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" @@ -5438,13 +3529,6 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" -node-dir@^0.1.17: - version "0.1.17" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" - integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= - dependencies: - minimatch "^3.0.2" - node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" @@ -5479,16 +3563,6 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-releases@^1.1.61: - version "1.1.63" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.63.tgz#db6dbb388544c31e888216304e8fd170efee3ff5" - integrity sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg== - normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -5516,18 +3590,6 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== -npm-api@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/npm-api/-/npm-api-1.0.0.tgz#6033c283bb04ddb0185344c1ad07ed4f67c77989" - integrity sha512-gtJhIhGq07g9H5sIAB9TZzTySW8MYtcYqg+e+J+5q1GmDsDLLVfyvVBL1VklzjtRsElph11GUtLBS191RDOJxQ== - dependencies: - JSONStream "^1.3.5" - clone-deep "^4.0.1" - download-stats "^0.3.4" - moment "^2.24.0" - paged-request "^2.0.1" - request "^2.88.0" - npm-conf@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" @@ -5550,11 +3612,6 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -5642,38 +3699,11 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-cancelable@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" - integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== - -p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== - -p-event@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -5695,14 +3725,7 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - -p-try@^2.0.0, p-try@^2.1.0: +p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== @@ -5717,13 +3740,6 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -paged-request@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/paged-request/-/paged-request-2.0.1.tgz#91164f042231feb68643542d2530476a518ff4de" - integrity sha512-C0bB/PFk9rQskD1YEiz7uuchzqKDQGgdsEHN1ahify0UUWzgmMK4NDG9fhlQg2waogmNFwEvEeHfMRvJySpdVw== - dependencies: - axios "^0.18.0" - pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -5765,21 +3781,6 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - pascal-case@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" @@ -5818,11 +3819,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -5833,13 +3829,6 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -5861,21 +3850,11 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -5886,13 +3865,6 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pirates@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -5984,11 +3956,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" @@ -6006,11 +3973,6 @@ prettier@^2.1.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== -pretty-bytes@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" - integrity sha512-s1Iam6Gwz3JI5Hweaz4GoCD1WUNUIyzePFy5+Js2hjwGVt2Z79wNN+ZKOZ2vB6C+Xs6njyB84Z1IthQg8d9LxA== - pretty-error@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -6019,20 +3981,7 @@ pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -prettyjson@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" - integrity sha1-/P+rQdGcq0365eV15kJGYZsS0ok= - dependencies: - colors "^1.1.2" - minimist "^1.2.0" - -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: +process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== @@ -6062,11 +4011,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -6114,7 +4058,7 @@ punycode@^1.2.4: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -6126,11 +4070,6 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - querystring-es3@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -6166,14 +4105,6 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-chunk@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-3.2.0.tgz#2984afe78ca9bfbbdb74b19387bf9e86289c16ca" - integrity sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ== - dependencies: - pify "^4.0.1" - with-open-file "^0.1.6" - read-config-file@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299" @@ -6185,25 +4116,7 @@ read-config-file@6.0.0: json5 "^2.1.2" lazy-val "^1.0.4" -read-pkg-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" - integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== - dependencies: - find-up "^3.0.0" - read-pkg "^5.0.0" - -read-pkg@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -6216,7 +4129,7 @@ read-pkg@^5.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -6241,23 +4154,6 @@ readdirp@~3.4.0: dependencies: picomatch "^2.2.1" -recast@^0.18.1: - version "0.18.10" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.18.10.tgz#605ebbe621511eb89b6356a7e224bff66ed91478" - integrity sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ== - dependencies: - ast-types "0.13.3" - esprima "~4.0.0" - private "^0.1.8" - source-map "~0.6.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - rechoir@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" @@ -6270,30 +4166,6 @@ reduce-flatten@^2.0.0: resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -6307,18 +4179,6 @@ regexpp@^3.0.0, regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== -regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - registry-auth-token@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" @@ -6333,18 +4193,6 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -6376,37 +4224,6 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - -request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - 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.3" - 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.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -6419,14 +4236,6 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -6442,7 +4251,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.9.0: +resolve@^1.10.0, resolve@^1.9.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== @@ -6456,21 +4265,6 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" -responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== - dependencies: - lowercase-keys "^2.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -6481,7 +4275,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2.6.3, rimraf@~2.6.2: +rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -6495,13 +4289,6 @@ rimraf@^2.5.4, rimraf@^2.6.3: dependencies: glob "^7.1.3" -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -6522,11 +4309,6 @@ roarr@^2.15.3: semver-compare "^1.0.0" sprintf-js "^1.1.2" -run-async@^2.0.0, run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - run-parallel@^1.1.9: version "1.1.9" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" @@ -6539,13 +4321,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs@^6.6.0: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -6563,7 +4338,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -6598,11 +4373,6 @@ schema-utils@^3.0.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -scoped-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" - integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= - semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -6615,22 +4385,17 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.3, semver@^7.2.1, semver@^7.3.2: +semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -6649,13 +4414,6 @@ serialize-javascript@^3.1.0: dependencies: randombytes "^2.1.0" -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= - dependencies: - to-object-path "^0.3.0" - set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" @@ -6686,13 +4444,6 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -6700,40 +4451,16 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shelljs@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -6794,7 +4521,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.16, source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12: +source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -6807,7 +4534,7 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -6865,21 +4592,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - ssri@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" @@ -6937,11 +4649,6 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= - string-width@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -7044,28 +4751,6 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" -strip-bom-buf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" - integrity sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI= - dependencies: - is-utf8 "^0.2.1" - -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" - integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -7148,13 +4833,6 @@ temp-file@^3.3.7: async-exit-hook "^2.0.1" fs-extra "^8.1.0" -temp@^0.8.1: - version "0.8.4" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" - integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== - dependencies: - rimraf "~2.6.2" - term-size@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" @@ -7189,11 +4867,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -textextensions@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" - integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== - through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -7202,24 +4875,6 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" -through2@^3.0.0, through2@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - -"through@>=2.2.7 <3", through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -7227,23 +4882,11 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -7256,11 +4899,6 @@ to-readable-stream@^1.0.0: resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== -to-readable-stream@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-2.1.0.tgz#82880316121bea662cdc226adb30addb50cb06e8" - integrity sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w== - to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" @@ -7286,14 +4924,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - truncate-utf8-bytes@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" @@ -7340,23 +4970,11 @@ tty-browserify@0.0.0: resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - tunnel@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -7364,11 +4982,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-fest@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.10.0.tgz#7f06b2b9fbfc581068d1341ffabd0349ceafc642" - integrity sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw== - type-fest@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" @@ -7379,11 +4992,6 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -7411,29 +5019,6 @@ typical@^5.0.0, typical@^5.2.0: resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - union-value@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" @@ -7488,16 +5073,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -untildify@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" - integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA== - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - upath@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -7534,13 +5109,6 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -7598,11 +5166,6 @@ utila@^0.4.0, utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" @@ -7616,38 +5179,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vinyl-file@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-3.0.0.tgz#b104d9e4409ffa325faadd520642d0a3b488b365" - integrity sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U= - dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - strip-bom-buf "^1.0.0" - strip-bom-stream "^2.0.0" - vinyl "^2.0.1" - -vinyl@^2.0.1, vinyl@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" - integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - vm-browserify@^1.0.1: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" @@ -7671,13 +5202,12 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.0" -webpack-cli@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.0.0.tgz#77ded6f871145439d87797cd39a65f9f782d4f93" - integrity sha512-c5NOm8jDp3qWa+Q4pDZTcT5IwPcPXdjU1ejN9e7LojHQN02sjNr4tzLrt5pwkY+zN8pQL40m14JsbC2Dh+ZJ/w== +webpack-cli@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.1.0.tgz#3a8fe05326015cc92b67abea68e3c320d418b16e" + integrity sha512-NdhxXMZmoik62Y05t0h1y65LjBM7BwFPq311ihXuMM3RY6dlc4KkCTyHLzTuBEc+bqq6d3xh+CWmU0xRexNJBA== dependencies: - "@webpack-cli/info" "^1.0.1" - "@webpack-cli/init" "^1.0.1" + "@webpack-cli/info" "^1.0.2" "@webpack-cli/serve" "^1.0.1" ansi-escapes "^4.3.1" colorette "^1.2.1" @@ -7748,13 +5278,6 @@ webpack@^4.44.2: watchpack "^1.7.4" webpack-sources "^1.4.1" -which@^1.2.14, which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -7774,15 +5297,6 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -with-open-file@^0.1.6: - version "0.1.7" - resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.7.tgz#e2de8d974e8a8ae6e58886be4fe8e7465b58a729" - integrity sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA== - dependencies: - p-finally "^1.0.0" - p-try "^2.1.0" - pify "^4.0.1" - word-wrap@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -7817,15 +5331,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^2.3.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - write-file-atomic@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" @@ -7899,65 +5404,6 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -yeoman-environment@^2.8.1, yeoman-environment@^2.9.5: - version "2.10.3" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.10.3.tgz#9d8f42b77317414434cc0e51fb006a4bdd54688e" - integrity sha512-pLIhhU9z/G+kjOXmJ2bPFm3nejfbH+f1fjYRSOteEXDBrv1EoJE/e+kuHixSXfCYfTkxjYsvRaDX+1QykLCnpQ== - dependencies: - chalk "^2.4.1" - debug "^3.1.0" - diff "^3.5.0" - escape-string-regexp "^1.0.2" - execa "^4.0.0" - globby "^8.0.1" - grouped-queue "^1.1.0" - inquirer "^7.1.0" - is-scoped "^1.0.0" - lodash "^4.17.10" - log-symbols "^2.2.0" - mem-fs "^1.1.0" - mem-fs-editor "^6.0.0" - npm-api "^1.0.0" - semver "^7.1.3" - strip-ansi "^4.0.0" - text-table "^0.2.0" - untildify "^3.0.3" - yeoman-generator "^4.8.2" - -yeoman-generator@^4.12.0, yeoman-generator@^4.7.2, yeoman-generator@^4.8.2: - version "4.12.0" - resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-4.12.0.tgz#512e783a38b004c49265e71826a09ff7f1939f4b" - integrity sha512-lozwklVQHwUXMM1o8BgxEB8F5BB7vkHW4pjAo1Zt5sJ7FOlWhd6DJ4ZxJ2OK0w+gNYkY/ocPMkUV7DTz/uqEEg== - dependencies: - async "^2.6.2" - chalk "^2.4.2" - cli-table "^0.3.1" - cross-spawn "^6.0.5" - dargs "^6.1.0" - dateformat "^3.0.3" - debug "^4.1.1" - diff "^4.0.1" - error "^7.0.2" - find-up "^3.0.0" - github-username "^3.0.0" - istextorbinary "^2.5.1" - lodash "^4.17.11" - make-dir "^3.0.0" - mem-fs-editor "^7.0.1" - minimist "^1.2.5" - pretty-bytes "^5.2.0" - read-chunk "^3.2.0" - read-pkg-up "^5.0.0" - rimraf "^2.6.3" - run-async "^2.0.0" - semver "^7.2.1" - shelljs "^0.8.3" - text-table "^0.2.0" - through2 "^3.0.1" - optionalDependencies: - grouped-queue "^1.1.0" - yeoman-environment "^2.9.5" - yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" From 67290f7d8f96533c5f243c9d7e59dcd225dad58c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2020 05:09:32 +0000 Subject: [PATCH 191/385] Bump electron from 10.1.3 to 10.1.4 Bumps [electron](https://github.com/electron/electron) from 10.1.3 to 10.1.4. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v10.1.3...v10.1.4) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 65520355..180b6770 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@typescript-eslint/parser": "^3.10.1", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "10.1.3", + "electron": "10.1.4", "electron-builder": "22.9.1", "eslint": "^7.11.0", "eslint-config-prettier": "^6.13.0", diff --git a/yarn.lock b/yarn.lock index 3b281754..ede51d81 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3150,10 +3150,10 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@10.1.3: - version "10.1.3" - resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.3.tgz#7e276e373bf30078bd4cb1184850a91268dc0e6c" - integrity sha512-CR8LrlG47MdAp317SQ3vGYa2o2cIMdMSMPYH46OVitFLk35dwE9fn3VqvhUIXhCHYcNWIAPzMhkVHpkoFdKWuw== +electron@10.1.4: + version "10.1.4" + resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.4.tgz#5462c5fac5b4728691042d0f62133ea2c133e6fd" + integrity sha512-5wiiGsif8jd1lS3Qhe9j8oQvUMnoWCvqBwYzzn+BGXGDq8aN8oTdM+j/2NY35Ktt3JrJdjKWcu9b7pDo8kNjbw== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From 5a9b00d511c22ac78309c24fed065af62448e8e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2020 05:19:53 +0000 Subject: [PATCH 192/385] Bump @types/webpack from 4.41.22 to 4.41.23 Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.22 to 4.41.23. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a0f52074..ac94d8c7 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "12", "@types/node-fetch": "^2.5.7", - "@types/webpack": "^4.41.22", + "@types/webpack": "^4.41.23", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", "@typescript-eslint/eslint-plugin": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index 9886d051..73614a48 100644 --- a/yarn.lock +++ b/yarn.lock @@ -227,10 +227,10 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.22", "@types/webpack@^4.41.8": - version "4.41.22" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.22.tgz#ff9758a17c6bd499e459b91e78539848c32d0731" - integrity sha512-JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ== +"@types/webpack@*", "@types/webpack@^4.41.23", "@types/webpack@^4.41.8": + version "4.41.23" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.23.tgz#1925f42a7325be4ae0fce38329f1cc27768fcda7" + integrity sha512-ojA4CupZg8RCzVJLugWlvqrHpT59GWhqFxbinlsnvk10MjQCWB+ot7XDACctbWhnhtdhYK7+HOH1JxkVLiZhMg== dependencies: "@types/anymatch" "*" "@types/node" "*" From a058e6e0e14b2ba602b59fa6d228f2afdaec0e2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2020 05:20:06 +0000 Subject: [PATCH 193/385] Bump ts-loader from 8.0.5 to 8.0.6 Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.5 to 8.0.6. - [Release notes](https://github.com/TypeStrong/ts-loader/releases) - [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md) - [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.5...v8.0.6) Signed-off-by: dependabot[bot] --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a0f52074..171288ae 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "prettier": "^2.1.2", "source-map-support": "^0.5.19", "style-loader": "^2.0.0", - "ts-loader": "^8.0.5", + "ts-loader": "^8.0.6", "ts-node": "^9.0.0", "typescript": "^4.0.3", "webpack": "^4.44.2", diff --git a/yarn.lock b/yarn.lock index 9886d051..508454dc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4931,10 +4931,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.5: - version "8.0.5" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.5.tgz#fa42b9305247eb964843df1ecb0e589b1bff0f77" - integrity sha512-MvLXmjDxl2Mhv17nvkrB6BrpC8FTwSb7K38oIgdUI6BMx4XgVbljmcoOzlrYn4wyjNTFQ3utd7s2TyigJyR3YA== +ts-loader@^8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.6.tgz#8f47d203ef8fc95826a292a09f97a02bf1f57565" + integrity sha512-c8XkRbhKxFLbiIwZR7FBGWDq0MIz/QSpx3CGpj0abJxD5YVX8oDhQkJLeGbXUPRIlaX4Ajmr77fOiFVZ3gSU7g== dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" From f5fc747ab26d0f6f5517c1a2e25fc7f7f5aca30d Mon Sep 17 00:00:00 2001 From: Douglas Hitchcock Date: Mon, 30 Nov 2020 20:48:46 -0600 Subject: [PATCH 194/385] fix settings accelerator; hide menu when toggled --- src/menu/settingsMenu.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 5853a3c6..701871e7 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -10,8 +10,8 @@ import { IS_LINUX, IS_MAC, SETTING_TRAY_ENABLED } from "../helpers/constants"; import { separator } from "./items/separator"; export const settingsMenu: MenuItemConstructorOptions = { - label: IS_MAC ? "Preferences" : "Settings", - accelerator: "Alt+S", + label: IS_MAC ? "&Preferences" : "&Settings", + accelerator: IS_MAC ? "Alt+P" : "Alt+S", submenu: [ { // This option doesn't apply to Mac, so this hides it but keeps the order of menu items @@ -24,6 +24,7 @@ export const settingsMenu: MenuItemConstructorOptions = { const autoHideMenuPref = !settings.get("autoHideMenuPref"); settings.set("autoHideMenuPref", autoHideMenuPref); item.checked = autoHideMenuPref; + window?.setMenuBarVisibility(!autoHideMenuPref); window?.setAutoHideMenuBar(autoHideMenuPref); }, }, From 9839b22a7d9f0622bc5a2ba9b1013ae9c107cedb Mon Sep 17 00:00:00 2001 From: Douglas Hitchcock Date: Mon, 30 Nov 2020 23:54:06 -0600 Subject: [PATCH 195/385] set StartupWMClass so ubuntu matches launcher and app correctly --- electron-builder.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/electron-builder.js b/electron-builder.js index 149d7c15..3885bf22 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -12,6 +12,9 @@ module.exports = { target: ["AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip"], executableName: "AndroidMessages", category: "Internet", + desktop: { + "StartupWMClass": "android-messages-desktop", + } }, win: { target: ["nsis", "portable"], From 1f46d91ca9def06b6555c95507fc447af5497ca2 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Tue, 1 Dec 2020 06:01:13 +0000 Subject: [PATCH 196/385] Restyled by clang-format --- electron-builder.js | 48 ++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index 3885bf22..f831f841 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,33 +1,33 @@ module.exports = { - appId: "pw.electron.android-messages", - artifactName: "${productName}-v${version}-${os}-${arch}.${ext}", - productName: "AndroidMessages", - copyright: "Copyright 2020 Kyle Rosenberg", - files: ["app/**/*", "resources/**/*"], - directories: { - buildResources: "resources", - output: "dist", + appId : "pw.electron.android-messages", + artifactName : "${productName}-v${version}-${os}-${arch}.${ext}", + productName : "AndroidMessages", + copyright : "Copyright 2020 Kyle Rosenberg", + files : [ "app/**/*", "resources/**/*" ], + directories : { + buildResources : "resources", + output : "dist", }, - linux: { - target: ["AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip"], - executableName: "AndroidMessages", - category: "Internet", - desktop: { - "StartupWMClass": "android-messages-desktop", + linux : { + target : [ "AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip" ], + executableName : "AndroidMessages", + category : "Internet", + desktop : { + "StartupWMClass" : "android-messages-desktop", } }, - win: { - target: ["nsis", "portable"], + win : { + target : [ "nsis", "portable" ], }, - mac: { - category: "public.app-category.social-networking", - target: ["zip", "dmg"], + mac : { + category : "public.app-category.social-networking", + target : [ "zip", "dmg" ], }, - portable: { - artifactName: "${productName}-v${version}-${os}-${arch}.portable.${ext}", + portable : { + artifactName : "${productName}-v${version}-${os}-${arch}.portable.${ext}", }, - nsis: { - allowToChangeInstallationDirectory: true, - oneClick: false, + nsis : { + allowToChangeInstallationDirectory : true, + oneClick : false, }, }; From 72142c403878b1cdb02dfd937e7aca9b67264ced Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Tue, 1 Dec 2020 06:01:14 +0000 Subject: [PATCH 197/385] Restyled by prettier --- electron-builder.js | 50 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index f831f841..31387c74 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,33 +1,33 @@ module.exports = { - appId : "pw.electron.android-messages", - artifactName : "${productName}-v${version}-${os}-${arch}.${ext}", - productName : "AndroidMessages", - copyright : "Copyright 2020 Kyle Rosenberg", - files : [ "app/**/*", "resources/**/*" ], - directories : { - buildResources : "resources", - output : "dist", + appId: "pw.electron.android-messages", + artifactName: "${productName}-v${version}-${os}-${arch}.${ext}", + productName: "AndroidMessages", + copyright: "Copyright 2020 Kyle Rosenberg", + files: ["app/**/*", "resources/**/*"], + directories: { + buildResources: "resources", + output: "dist", }, - linux : { - target : [ "AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip" ], - executableName : "AndroidMessages", - category : "Internet", - desktop : { - "StartupWMClass" : "android-messages-desktop", - } + linux: { + target: ["AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip"], + executableName: "AndroidMessages", + category: "Internet", + desktop: { + StartupWMClass: "android-messages-desktop", + }, }, - win : { - target : [ "nsis", "portable" ], + win: { + target: ["nsis", "portable"], }, - mac : { - category : "public.app-category.social-networking", - target : [ "zip", "dmg" ], + mac: { + category: "public.app-category.social-networking", + target: ["zip", "dmg"], }, - portable : { - artifactName : "${productName}-v${version}-${os}-${arch}.portable.${ext}", + portable: { + artifactName: "${productName}-v${version}-${os}-${arch}.portable.${ext}", }, - nsis : { - allowToChangeInstallationDirectory : true, - oneClick : false, + nsis: { + allowToChangeInstallationDirectory: true, + oneClick: false, }, }; From 9cfa73a55dbb285060df038888f10cc7dbc5c96b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 3 Dec 2020 23:59:02 -0500 Subject: [PATCH 198/385] Dependency version bump. --- package.json | 10 +- src/background.ts | 24 +- src/helpers/trayManager.ts | 3 +- src/index.html | 2 +- yarn.lock | 2831 ++++++++---------------------------- 5 files changed, 646 insertions(+), 2224 deletions(-) diff --git a/package.json b/package.json index 5ce568d3..e92f2e9c 100644 --- a/package.json +++ b/package.json @@ -30,23 +30,23 @@ "dom-to-image": "^2.6.0", "electron-settings": "3.2.0", "electron-updater": "4.3.5", - "fs-jetpack": "^3.2.0", + "fs-jetpack": "^4.1.0", "node-fetch": "^2.6.1" }, "devDependencies": { "@types/dom-to-image": "^2.6.2", "@types/electron-settings": "^3.1.1", "@types/friendly-errors-webpack-plugin": "^0.1.2", - "@types/node": "12", + "@types/node": "14.14.10", "@types/node-fetch": "^2.5.7", "@types/webpack": "^4.41.23", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", "@typescript-eslint/eslint-plugin": "^4.0.0", - "@typescript-eslint/parser": "^3.10.1", + "@typescript-eslint/parser": "^4.8.2", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "10.1.4", + "electron": "11.0.3", "electron-builder": "22.9.1", "eslint": "^7.11.0", "eslint-config-prettier": "^6.13.0", @@ -60,7 +60,7 @@ "ts-loader": "^8.0.6", "ts-node": "^9.0.0", "typescript": "^4.0.3", - "webpack": "^4.44.2", + "webpack": "^5.6.0", "webpack-cli": "^4.1.0", "webpack-merge": "^5.2.0", "webpack-node-externals": "^2.5.2" diff --git a/src/background.ts b/src/background.ts index fb39eebe..09de0467 100644 --- a/src/background.ts +++ b/src/background.ts @@ -33,8 +33,6 @@ const state = { bridgeInitDone: false, }; -type CustomWords = Record; - let mainWindow: CustomBrowserWindow; /** @@ -129,20 +127,24 @@ if (!isFirstInstance) { if (!IS_MAC) { // Sets checked status based on user prefs - menuInstance.getMenuItemById("autoHideMenuBarMenuItem").checked = - settingsManager.autoHideMenu; - trayMenuItem.enabled = trayManager.enabled; + (menuInstance.getMenuItemById( + "autoHideMenuBarMenuItem" + ) as Electron.MenuItem).checked = settingsManager.autoHideMenu; + (trayMenuItem as Electron.MenuItem).enabled = trayManager.enabled; } - trayMenuItem.checked = settingsManager.startInTray; - enableTrayIconMenuItem.checked = trayManager.enabled; + (trayMenuItem as Electron.MenuItem).checked = settingsManager.startInTray; + (enableTrayIconMenuItem as Electron.MenuItem).checked = + trayManager.enabled; - notificationSoundEnabledMenuItem.checked = + (notificationSoundEnabledMenuItem as Electron.MenuItem).checked = settingsManager.notificationSound; - pressEnterToSendMenuItem.checked = settingsManager.enterToSend; - hideNotificationContentMenuItem.checked = + (pressEnterToSendMenuItem as Electron.MenuItem).checked = + settingsManager.enterToSend; + (hideNotificationContentMenuItem as Electron.MenuItem).checked = settingsManager.hideNotificationContent; - useSystemDarkModeMenuItem.checked = settingsManager.systemDarkMode; + (useSystemDarkModeMenuItem as Electron.MenuItem).checked = + settingsManager.systemDarkMode; } autoUpdater.checkForUpdatesAndNotify(); diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index af5e3742..510cafa0 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -65,8 +65,7 @@ export class TrayManager { } } - private handleTrayClick(event: Electron.KeyboardEvent) { - event.preventDefault(); + private handleTrayClick(_event: Electron.KeyboardEvent) { app.mainWindow?.show(); } diff --git a/src/index.html b/src/index.html index ab60c385..4686562c 100644 --- a/src/index.html +++ b/src/index.html @@ -5,7 +5,7 @@ Android Messages - + diff --git a/yarn.lock b/yarn.lock index 4b1767b9..f0cdc24d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,23 +8,23 @@ integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== "@babel/code-frame@^7.0.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.1.tgz#d5481c5095daa1c57e16e54c6f9198443afb49ff" - integrity sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw== + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: - "@babel/highlight" "^7.10.1" + "@babel/highlight" "^7.10.4" -"@babel/helper-validator-identifier@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" - integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== -"@babel/highlight@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.1.tgz#841d098ba613ba1a427a2b383d79e35552c38ae0" - integrity sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg== +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== dependencies: - "@babel/helper-validator-identifier" "^7.10.1" + "@babel/helper-validator-identifier" "^7.10.4" chalk "^2.0.0" js-tokens "^4.0.0" @@ -52,10 +52,10 @@ global-agent "^2.0.2" global-tunnel-ng "^2.7.1" -"@eslint/eslintrc@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" - integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== +"@eslint/eslintrc@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" + integrity sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -106,11 +106,6 @@ resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/debug@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" @@ -122,16 +117,32 @@ integrity sha512-Yxbwmz/glNwRIXfBI8efG2bgIxrFAKV1MdfpqbUDq25ULMot7U7FYXPiso5G8DlBExSP+AakuG0mNus9yw4RZQ== "@types/electron-settings@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@types/electron-settings/-/electron-settings-3.1.1.tgz#e3f8246ee1a8fc66b08203792d09589df355c776" - integrity sha512-wDVj8YFBuqLXgVQqZ1Yk+Qm27LjjldssnrwzDv9JanOokw24tcuJ76X1Uo5Xg9VVRIAF6HgmiAQQ+CZrRmJgYw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/electron-settings/-/electron-settings-3.1.2.tgz#0efe6b85b559b0dd10be06b1a2bd0689423dc52d" + integrity sha512-/VhDZDo5Ovz+0IjoBowLelGu2iQDM2VXJpOj06Req/gqY9pOR4hNMRkgNTMmEs/ApblXKtn5HwVXqFHTEeG6wA== dependencies: "@types/node" "*" -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== +"@types/eslint-scope@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" + integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "7.2.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c" + integrity sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^0.0.45": + version "0.0.45" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" + integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== "@types/friendly-errors-webpack-plugin@^0.1.2": version "0.1.2" @@ -141,23 +152,18 @@ "@types/webpack" "*" "@types/fs-extra@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz#91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918" - integrity sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg== + version "9.0.4" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.4.tgz#12553138cf0438db9a31cdc8b0a3aa9332eb67aa" + integrity sha512-50GO5ez44lxK5MDH90DYHFFfqxH7+fTqEEnvguQRzJ/tY9qFrMSHLiYHite+F3SNmf7+LHC1eMXojuD+E3Qcyg== dependencies: "@types/node" "*" "@types/html-minifier-terser@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.0.tgz#551a4589b6ee2cc9c1dff08056128aec29b94880" - integrity sha512-iYCgjm1dGPRuo12+BStjd1HiVQqhlRhWDOQigNxn023HcjnhsiFz9pc6CzJj4HwDCSQca9bxTL4PxJDbkdm3PA== - -"@types/json-schema@^7.0.3": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" - integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" + integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== -"@types/json-schema@^7.0.6": +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.6": version "7.0.6" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== @@ -170,22 +176,20 @@ "@types/node" "*" form-data "^3.0.0" -"@types/node@*": - version "14.0.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.11.tgz#61d4886e2424da73b7b25547f59fdcb534c165a3" - integrity sha512-lCvvI24L21ZVeIiyIUHZ5Oflv1hhHQ5E1S25IRlKIXaRkVgmXpJMI3wUJkmym2bTbCe+WoIibQnMVAU3FguaOg== +"@types/node@*", "@types/node@14.14.10": + version "14.14.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" + integrity sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ== -"@types/node@12", "@types/node@^12.0.12": - version "12.12.44" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.44.tgz#0d400a1453adcb359b133acceae4dd8bb0e0a159" - integrity sha512-jM6QVv0Sm5d3nW+nUD5jSzPcO6oPqboitSNcwgBay9hifVq/Rauq1PYnROnsmuw45JMBiTnsPAno0bKu2e2xrg== +"@types/node@^12.0.12": + version "12.19.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.8.tgz#efd6d1a90525519fc608c9db16c8a78f7693a978" + integrity sha512-D4k2kNi0URNBxIRCb1khTnkWNHv8KSL1owPmS/K5e5t8B2GzMReY7AsJIY1BnP5KdlgC4rj9jk2IkDMasIE7xg== "@types/semver@^7.3.1": - version "7.3.1" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.1.tgz#7a9a5d595b6d873f338c867dcef64df289468cfa" - integrity sha512-ooD/FJ8EuwlDKOI6D9HWxgIgJjMg2cuziXm/42npDC8y4NjxplBUn9loewZiBNCt44450lHAU0OSb51/UqXeag== - dependencies: - "@types/node" "*" + version "7.3.4" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.4.tgz#43d7168fec6fa0988bb1a513a697b29296721afb" + integrity sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ== "@types/source-list-map@*": version "0.1.2" @@ -193,14 +197,14 @@ integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== "@types/tapable@*", "@types/tapable@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02" - integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" + integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== "@types/uglify-js@*": - version "3.9.2" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.9.2.tgz#01992579debba674e1e359cd6bcb1a1d0ab2e02b" - integrity sha512-d6dIfpPbF+8B7WiCi2ELY7m0w1joD8cRW4ms88Emdb2w062NeEpbNCeWwVCgzLRpVG+5e74VFSg4rgJ2xXjEiQ== + version "3.11.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.11.1.tgz#97ff30e61a0aa6876c270b5f538737e2d6ab8ceb" + integrity sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q== dependencies: source-map "^0.6.1" @@ -219,18 +223,18 @@ "@types/webpack" "*" "@types/webpack-sources@*": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-1.4.0.tgz#e58f1f05f87d39a5c64cf85705bdbdbb94d4d57e" - integrity sha512-c88dKrpSle9BtTqR6ifdaxu1Lvjsl3C5OsfvuUbUwdXymshv1TkufUAXBajCCUM/f/TmnkZC/Esb03MinzSiXQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" + integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@*", "@types/webpack@^4.41.23", "@types/webpack@^4.41.8": - version "4.41.23" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.23.tgz#1925f42a7325be4ae0fce38329f1cc27768fcda7" - integrity sha512-ojA4CupZg8RCzVJLugWlvqrHpT59GWhqFxbinlsnvk10MjQCWB+ot7XDACctbWhnhtdhYK7+HOH1JxkVLiZhMg== + version "4.41.25" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" + integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -245,98 +249,67 @@ integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== "@types/yargs@^15.0.5": - version "15.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" - integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== + version "15.0.11" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.11.tgz#361d7579ecdac1527687bcebf9946621c12ab78c" + integrity sha512-jfcNBxHFYJ4nPIacsi3woz1+kvUO6s1CyeEhtnDHBjHUMNj5UlW2GynmnSgiJJEdNg9yW5C8lfoNRZrHGv5EqA== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.0.tgz#99349a501447fed91de18346705c0c65cf603bee" - integrity sha512-5e6q1TR7gS2P+8W2xndCu7gBh3BzmYEo70OyIdsmCmknHha/yNbz2vdevl+tP1uoaMOcrzg4gyrAijuV3DDBHA== + version "4.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.9.0.tgz#8fde15743413661fdc086c9f1f5d74a80b856113" + integrity sha512-WrVzGMzzCrgrpnQMQm4Tnf+dk+wdl/YbgIgd5hKGa2P+lnJ2MON+nQnbwgbxtN9QDLi8HO+JAq0/krMnjQK6Cw== dependencies: - "@typescript-eslint/experimental-utils" "4.0.0" - "@typescript-eslint/scope-manager" "4.0.0" + "@typescript-eslint/experimental-utils" "4.9.0" + "@typescript-eslint/scope-manager" "4.9.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz#e179ffc81a80ebcae2ea04e0332f8b251345a686" - integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/experimental-utils@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.0.tgz#fbec21a3b5ab59127edb6ce2e139ed378cc50eb5" - integrity sha512-hbX6zR+a/vcpFVNJYN/Nbd7gmaMosDTxHEKcvmhWeWcq/0UDifrqmCfkkodbAKL46Fn4ekSBMTyq2zlNDzcQxw== +"@typescript-eslint/experimental-utils@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.9.0.tgz#23a296b85d243afba24e75a43fd55aceda5141f0" + integrity sha512-0p8GnDWB3R2oGhmRXlEnCvYOtaBCijtA5uBfH5GxQKsukdSQyI4opC4NGTUb88CagsoNQ4rb/hId2JuMbzWKFQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.0.0" - "@typescript-eslint/types" "4.0.0" - "@typescript-eslint/typescript-estree" "4.0.0" + "@typescript-eslint/scope-manager" "4.9.0" + "@typescript-eslint/types" "4.9.0" + "@typescript-eslint/typescript-estree" "4.9.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.10.1.tgz#1883858e83e8b442627e1ac6f408925211155467" - integrity sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw== +"@typescript-eslint/parser@^4.8.2": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.9.0.tgz#bb65f1214b5e221604996db53ef77c9d62b09249" + integrity sha512-QRSDAV8tGZoQye/ogp28ypb8qpsZPV6FOLD+tbN4ohKUWHD2n/u0Q2tIBnCsGwQCiD94RdtLkcqpdK4vKcLCCw== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.10.1" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-visitor-keys "^1.1.0" + "@typescript-eslint/scope-manager" "4.9.0" + "@typescript-eslint/types" "4.9.0" + "@typescript-eslint/typescript-estree" "4.9.0" + debug "^4.1.1" -"@typescript-eslint/scope-manager@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.0.0.tgz#8c9e3b3b8cdf5a1fbe671d9fad73ff67bc027ea8" - integrity sha512-9gcWUPoWo7gk/+ZQPg7L1ySRmR5HLIy3Vu6/LfhQbuzIkGm6v2CGIjpVRISoDLFRovNRDImd4aP/sa8O4yIEBg== +"@typescript-eslint/scope-manager@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.9.0.tgz#5eefe305d6b71d1c85af6587b048426bfd4d3708" + integrity sha512-q/81jtmcDtMRE+nfFt5pWqO0R41k46gpVLnuefqVOXl4QV1GdQoBWfk5REcipoJNQH9+F5l+dwa9Li5fbALjzg== dependencies: - "@typescript-eslint/types" "4.0.0" - "@typescript-eslint/visitor-keys" "4.0.0" - -"@typescript-eslint/types@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" - integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== - -"@typescript-eslint/types@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.0.0.tgz#ec1f9fc06b8558a1d5afa6e337182d08beece7f5" - integrity sha512-bK+c2VLzznX2fUWLK6pFDv3cXGTp7nHIuBMq1B9klA+QCsqLHOOqe5TQReAQDl7DN2RfH+neweo0oC5hYlG7Rg== + "@typescript-eslint/types" "4.9.0" + "@typescript-eslint/visitor-keys" "4.9.0" -"@typescript-eslint/typescript-estree@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz#fd0061cc38add4fad45136d654408569f365b853" - integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== - dependencies: - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/visitor-keys" "3.10.1" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" +"@typescript-eslint/types@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.9.0.tgz#3fe8c3632abd07095c7458f7451bd14c85d0033c" + integrity sha512-luzLKmowfiM/IoJL/rus1K9iZpSJK6GlOS/1ezKplb7MkORt2dDcfi8g9B0bsF6JoRGhqn0D3Va55b+vredFHA== -"@typescript-eslint/typescript-estree@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.0.tgz#2244c63de2f2190bc5718eb0fb3fd2c437d42097" - integrity sha512-ewFMPi2pMLDNIXGMPdf8r7El2oPSZw9PEYB0j+WcpKd7AX2ARmajGa7RUHTukllWX2bj4vWX6JLE1Oih2BMokA== +"@typescript-eslint/typescript-estree@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.9.0.tgz#38a98df6ee281cfd6164d6f9d91795b37d9e508c" + integrity sha512-rmDR++PGrIyQzAtt3pPcmKWLr7MA+u/Cmq9b/rON3//t5WofNR4m/Ybft2vOLj0WtUzjn018ekHjTsnIyBsQug== dependencies: - "@typescript-eslint/types" "4.0.0" - "@typescript-eslint/visitor-keys" "4.0.0" + "@typescript-eslint/types" "4.9.0" + "@typescript-eslint/visitor-keys" "4.9.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -344,19 +317,12 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@3.10.1": - version "3.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz#cd4274773e3eb63b2e870ac602274487ecd1e931" - integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== - dependencies: - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/visitor-keys@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.0.tgz#e2bbb69d98076d6a3f06abcb2048225a74362c33" - integrity sha512-sTouJbv6rjVJeTE4lpSBVYXq/u5K3gbB6LKt7ccFEZPTZB/VeQ0ssUz9q5Hx++sCqBbdF8PzrrgvEnicXAR6NQ== +"@typescript-eslint/visitor-keys@4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.9.0.tgz#f284e9fac43f2d6d35094ce137473ee321f266c8" + integrity sha512-sV45zfdRqQo1A97pOSx3fsjR+3blmwtdCt8LDrXgCX36v4Vmz4KHrhpV6Fo2cRdXmyumxx11AHw0pNJqCNpDyg== dependencies: - "@typescript-eslint/types" "4.0.0" + "@typescript-eslint/types" "4.9.0" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.9.0": @@ -504,17 +470,17 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@webpack-cli/info@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.0.2.tgz#7ba1a7cfa9efa5b51e76b20ada88ac33b0340ad3" - integrity sha512-FEfLQwmN4pXZSYSrtp+KC84rFanoCIxXFpS2wUvviDCE2fnajwxw2GXzbj83IlH4Dl8Wq8kJjavVwvxv3YJmnw== +"@webpack-cli/info@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.1.0.tgz#c596d5bc48418b39df00c5ed7341bf0f102dbff1" + integrity sha512-uNWSdaYHc+f3LdIZNwhdhkjjLDDl3jP2+XBqAq9H8DjrJUvlOKdP8TNruy1yEaDfgpAIgbSAN7pye4FEHg9tYQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.0.1.tgz#28abe7dcb18224ccd4b4e2d37f70e5be66c3d6a9" - integrity sha512-WGMaTMTK6NOe29Hw1WBEok9vGLfKg5C6jWzNOS/6HH1YadR+RL+TRWRcSyc81Dzulljhk/Ree9mrDM4Np9GGOQ== +"@webpack-cli/serve@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.1.0.tgz#13ad38f89b6e53d1133bac0006a128217a6ebf92" + integrity sha512-7RfnMXCpJ/NThrhq4gYQYILB18xWyoQcBey81oIyVbmgbc6m5ZHHyFK+DyH7pLHJf0p14MxL4mTsoPAgBSTpIg== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -532,36 +498,26 @@ about-window@1.13.4: integrity sha512-Ge7qBRzrmPbVJ2YarUfTrZEaSfhRjeVyFhmH9NqdNDjjgP0dcWwUprH61JWlDgcM3KaDn5zUzimG4YQh6vRocw== acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== - -acorn@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== +acorn@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354" + integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ== -ajv-keywords@^3.5.2: +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -583,13 +539,6 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-escapes@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -623,29 +572,12 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - app-builder-bin@3.5.10: version "3.5.10" resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.10.tgz#4a7f9999fccc0c435b6284ae1366bc76a17c4a7d" @@ -679,11 +611,6 @@ app-builder-lib@22.9.1: semver "^7.3.2" temp-file "^3.3.7" -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -696,22 +623,7 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-back@^4.0.0, array-back@^4.0.1: +array-back@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== @@ -721,43 +633,11 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - async-exit-hook@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" @@ -778,56 +658,16 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" @@ -840,25 +680,15 @@ bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== - -bn.js@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" - integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== - boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -boolean@^3.0.0, boolean@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.1.tgz#35ecf2b4a2ee191b0b44986f14eb5f052a5cbb4f" - integrity sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA== +boolean@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570" + integrity sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g== boxen@^4.2.0: version "4.2.0" @@ -882,94 +712,23 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - 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" - -braces@^3.0.1, braces@~3.0.2: +braces@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" - integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.2" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== +browserslist@^4.14.5: + version "4.15.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.15.0.tgz#3d48bbca6a3f378e86102ffd017d9a03f122bdb0" + integrity sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ== dependencies: - pako "~1.0.5" + caniuse-lite "^1.0.30001164" + colorette "^1.2.1" + electron-to-chromium "^1.3.612" + escalade "^3.1.1" + node-releases "^1.1.67" buffer-crc32@~0.2.3: version "0.2.13" @@ -981,20 +740,6 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - builder-util-runtime@8.7.2: version "8.7.2" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz#d93afc71428a12789b437e13850e1fa7da956d72" @@ -1023,47 +768,6 @@ builder-util@22.9.1: stat-mode "^1.0.0" temp-file "^3.3.7" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - 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" - cacheable-request@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" @@ -1077,28 +781,41 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" - integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: - pascal-case "^3.1.1" - tslib "^1.10.0" + pascal-case "^3.1.2" + tslib "^2.0.3" camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" - integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001164: + version "1.0.30001164" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz#5bbfd64ca605d43132f13cc7fdabb17c3036bfdc" + integrity sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg== chalk@^1.1.3: version "1.1.3" @@ -1136,45 +853,6 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" - integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.4.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" @@ -1192,24 +870,6 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - clean-css@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" @@ -1218,14 +878,14 @@ clean-css@^4.2.3: source-map "~0.6.0" cli-boxes@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz#538ecae8f9c6ca508e3c3c95b453fe93cb4c168d" - integrity sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w== + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cliui@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.3.tgz#ef180f26c8d9bff3927ee52428bfec2090427981" - integrity sha512-Gj3QHTkVMPKqwP3f7B4KPkBZRMR9r4rfi5bXFpg1a+Svvj8l7q5CnkBkVQzfxT5DFSsGk2+PascOgL0JYkL2kw== + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" @@ -1252,14 +912,6 @@ clone@^2.1.1: resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1297,13 +949,13 @@ combined-stream@^1.0.8: delayed-stream "~1.0.0" command-line-usage@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.0.tgz#f28376a3da3361ff3d36cfd31c3c22c9a64c7cb6" - integrity sha512-Ew1clU4pkUeo6AFVDFxCbnN7GIZfXl48HIOQeFQnkO3oOqvpI7wdqtLRwv9iOCZ/7A+z4csVZeiDdEcj8g6Wiw== + version "6.1.1" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.1.tgz#c908e28686108917758a49f45efb4f02f76bc03f" + integrity sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA== dependencies: - array-back "^4.0.0" + array-back "^4.0.1" chalk "^2.4.2" - table-layout "^1.0.0" + table-layout "^1.0.1" typical "^5.2.0" commander@^2.20.0: @@ -1316,27 +968,17 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.1.0.tgz#f8d722b78103141006b66f4c7ba1e97315ba75bc" - integrity sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== +commander@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" + integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0, concat-stream@^1.6.2: +concat-stream@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -1366,78 +1008,25 @@ configstore@^5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - core-js@^3.6.5: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== + version "3.8.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.0.tgz#0fc2d4941cadf80538b030648bb64d230b4da0ce" + integrity sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA== core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-env@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.2.tgz#bd5ed31339a93a3418ac4f3ca9ca3403082ae5f9" - integrity sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw== + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== dependencies: cross-spawn "^7.0.1" @@ -1450,38 +1039,21 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== css-loader@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.0.tgz#f0a48dfacc3ab9936a05ee16a09e7f313872e117" - integrity sha512-9g35eXRBgjvswyJWoqq/seWp+BOxvUl8IinVNTsUBFFxtwfEYvlmEn6ciyn0liXGbGh5HyJjPGCuobDSfqMIVg== + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.1.tgz#9e4de0d6636a6266a585bd0900b422c85539d25f" + integrity sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw== dependencies: - camelcase "^6.1.0" + camelcase "^6.2.0" cssesc "^3.0.0" icss-utils "^5.0.0" loader-utils "^2.0.0" - postcss "^8.1.1" + postcss "^8.1.4" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" @@ -1510,37 +1082,20 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: +debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== - dependencies: - ms "2.1.2" - -debug@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.0.tgz#efa41cbf14fc9448075367fdaaddf82376da211e" - integrity sha512-jjO6JD2rKfiZQnBoRzhRTbXjHLGLfH+UtGkWLc/UXAh/rzZMyjbgn0NcfFpqT8nd1kTtFnDiJcrIFkq4UKeJVg== +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" @@ -1570,41 +1125,11 @@ define-properties@^1.1.2, define-properties@^1.1.3: dependencies: object-keys "^1.0.12" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" @@ -1615,15 +1140,6 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -1670,20 +1186,15 @@ dom-to-image@^2.6.0: resolved "https://registry.yarnpkg.com/dom-to-image/-/dom-to-image-2.6.0.tgz#8a503608088c87b1c22f9034ae032e1898955867" integrity sha1-ilA2CAiMh7HCL5A0rgMuGJiVWGc= -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - domelementtype@1, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" + integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== domhandler@^2.3.0: version "2.4.2" @@ -1708,18 +1219,18 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" -dot-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" - integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: - no-case "^3.0.3" - tslib "^1.10.0" + no-case "^3.0.4" + tslib "^2.0.3" dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" @@ -1738,16 +1249,6 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - ejs@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" @@ -1797,6 +1298,11 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" +electron-to-chromium@^1.3.612: + version "1.3.615" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.615.tgz#50f523be4a04449410e9f3a694490814e602cd54" + integrity sha512-fNYTQXoUhNc6RmHDlGN4dgcLURSBIqQCN7ls6MuQ741+NJyLNRz8DxAC+pZpOKfRs6cfY0lv2kWdy8Oxf9j4+A== + electron-updater@4.3.5: version "4.3.5" resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.5.tgz#4fb36f593a031c87ea07ee141c9f064d5deffb15" @@ -1810,28 +1316,15 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@10.1.4: - version "10.1.4" - resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.4.tgz#5462c5fac5b4728691042d0f62133ea2c133e6fd" - integrity sha512-5wiiGsif8jd1lS3Qhe9j8oQvUMnoWCvqBwYzzn+BGXGDq8aN8oTdM+j/2NY35Ktt3JrJdjKWcu9b7pDo8kNjbw== +electron@11.0.3: + version "11.0.3" + resolved "https://registry.yarnpkg.com/electron/-/electron-11.0.3.tgz#c29eaacda38ce561890e59906ca5f507c72b3ec4" + integrity sha512-nNfbLi7Q1xfJXOEO2adck5TS6asY4Jxc332E4Te8XfQ9hcaC3GiCdeEqk9FndNCwxhJA5Lr9jfSGRTwWebFa/w== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" extract-zip "^1.0.3" -elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -1852,14 +1345,14 @@ encodeurl@^1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: +enhanced-resolve@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== @@ -1868,7 +1361,15 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: memory-fs "^0.5.0" tapable "^1.0.0" -enquirer@^2.3.4, enquirer@^2.3.5: +enhanced-resolve@^5.3.1: + version "5.4.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.4.0.tgz#a8bcf23b00affac9455cf71efd80844f4054f4dc" + integrity sha512-ZmqfWURB2lConOBM1JdCVfPyMRv5RdKWktLXO6123p97ovVm2CLBgw9t5MBj3jJWA6eHyOeIws9iJQoGFR4euQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.0.0" + +enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -1881,9 +1382,9 @@ entities@^1.1.1: integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== entities@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== env-paths@^2.2.0: version "2.2.0" @@ -1895,7 +1396,7 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== -errno@^0.1.3, errno@~0.1.7: +errno@^0.1.3: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== @@ -1909,22 +1410,23 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.1.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.5: - version "1.17.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" - integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== +es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== dependencies: es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" - is-callable "^1.1.5" - is-regex "^1.0.5" - object-inspect "^1.7.0" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimleft "^2.1.1" - string.prototype.trimright "^2.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" es-to-primitive@^1.2.1: version "1.2.1" @@ -1961,27 +1463,19 @@ escape-string-regexp@^4.0.0: integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-config-prettier@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.13.0.tgz#207d88796b5624e5bb815bbbdfc5891ceb9ebffa" - integrity sha512-LcT0i0LSmnzqK2t764pyIt7kKH2AuuqKRTtJTdddWxOiUja9HdG5GXBVF2gmCTvVYWVsTu8J2MhJLVGRh+pj8w== + version "6.15.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== dependencies: get-stdin "^6.0.0" eslint-plugin-prettier@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz#168ab43154e2ea57db992a2cd097c828171f75c2" - integrity sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.2.0.tgz#af391b2226fa0e15c96f36c733f6e9035dbd952c" + integrity sha512-kOUSJnFjAUFKwVxuzy6sA5yyMx6+o9ino4gCdShzBNx4eyFRudWRYKCFolKjoM40PEiuU6Cn7wBLfq3WsGg7qg== dependencies: prettier-linter-helpers "^1.0.0" -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -2008,12 +1502,12 @@ eslint-visitor-keys@^2.0.0: integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== eslint@^7.11.0: - version "7.11.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.11.0.tgz#aaf2d23a0b5f1d652a08edacea0c19f7fadc0b3b" - integrity sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw== + version "7.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.14.0.tgz#2d2cac1d28174c510a97b377f122a5507958e344" + integrity sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA== dependencies: "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.1.3" + "@eslint/eslintrc" "^0.2.1" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -2071,13 +1565,6 @@ esquery@^1.2.0: dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" @@ -2085,17 +1572,12 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== - -estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== @@ -2105,23 +1587,15 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== +events@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" - integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== +execa@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== dependencies: cross-spawn "^7.0.0" get-stream "^5.0.0" @@ -2133,48 +1607,6 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - extract-zip@^1.0.3: version "1.7.0" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" @@ -2186,9 +1618,9 @@ extract-zip@^1.0.3: yauzl "^2.10.0" fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: version "1.2.0" @@ -2218,9 +1650,9 @@ fast-levenshtein@^2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + version "1.9.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== dependencies: reusify "^1.0.4" @@ -2231,11 +1663,6 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" @@ -2243,11 +1670,6 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - filelist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" @@ -2255,16 +1677,6 @@ filelist@^1.0.1: dependencies: minimatch "^3.0.4" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -2272,22 +1684,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -2310,19 +1706,6 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - form-data@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" @@ -2332,13 +1715,6 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - friendly-errors-webpack-plugin@^1.6.1: version "1.7.0" resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz#efc86cbb816224565861a1be7a9d84d0aafea136" @@ -2348,14 +1724,6 @@ friendly-errors-webpack-plugin@^1.6.1: error-stack-parser "^2.0.0" string-width "^2.0.0" -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -2375,42 +1743,19 @@ fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" -fs-jetpack@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-3.2.0.tgz#4b7f375718cfe36594c9a1b5158b753c9c66122d" - integrity sha512-LMUQxf85b3y/IuQZM9gz7bPMH60Y+NpulmHdhv8nHvgu6daYd7DiSZJSgiHKk1h6vfv1VCOqpdJcR+ThO7sFVA== +fs-jetpack@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.1.0.tgz#d693fcffd3cedbd8829226967866b9e89f290f0f" + integrity sha512-h4nHLIcCaxnXfUWhwP+mLnar03R2DBlqicNvKJG44TJob8RV6GB8EKNwJgSaBeDAfqWhqq01y+Ao96vRwpXlPw== dependencies: minimatch "^3.0.2" rimraf "^2.6.3" -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -2426,6 +1771,15 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" + integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -2438,41 +1792,26 @@ get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" -get-stream@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== dependencies: is-glob "^4.0.1" -glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -2557,7 +1896,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== @@ -2579,42 +1918,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0, has-symbols@^1.0.1: +has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -2627,46 +1935,20 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - hosted-git-info@^2.1.4: version "2.8.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== hosted-git-info@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.5.tgz#bea87905ef7317442e8df3087faa3c842397df03" - integrity sha512-i4dpK6xj9BIpVOTboXIlKG9+8HMKggcrMX7WA24xZtKwX0TPelq/rbaS5rCKeNX8sJXZJGdSxpnEGtta+wismQ== + version "3.0.7" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" + integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== dependencies: lru-cache "^6.0.0" @@ -2715,11 +1997,6 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -2733,19 +2010,9 @@ iconv-lite@^0.6.2: safer-buffer ">= 2.1.2 < 3.0.0" icss-utils@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.0.0.tgz#03ed56c3accd32f9caaf1752ebf64ef12347bb84" - integrity sha512-aF2Cf/CkEZrI/vsu5WI/I+akFgdbwQHVE9YRZxATrhH4PVIe6a3BIjwjEcW+z+jP/hNh+YvM3lAAn1wJQ6opSg== - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ignore@^4.0.6: version "4.0.6" @@ -2758,9 +2025,9 @@ ignore@^5.1.4: integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.2.2" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" + integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -2788,11 +2055,6 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2801,68 +2063,25 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -interpret@^2.0.0: +interpret@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.1.5: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== is-ci@^2.0.0: version "2.0.0" @@ -2871,56 +2090,19 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== +is-core-module@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== dependencies: - kind-of "^6.0.0" + has "^1.0.3" is-date-object@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= @@ -2935,14 +2117,7 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -2957,18 +2132,16 @@ is-installed-globally@^0.3.1: global-dirs "^2.0.1" is-path-inside "^3.0.1" +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + is-npm@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -2984,17 +2157,17 @@ is-path-inside@^3.0.1: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" -is-regex@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" - integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== dependencies: has-symbols "^1.0.1" @@ -3015,22 +2188,12 @@ is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -3045,28 +2208,30 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: +isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= jake@^10.6.1: - version "10.8.1" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.1.tgz#0f6f5ef13ebe014104527fb4b1b24f44cd1f04d6" - integrity sha512-eSp5h9S7UFzKdQERTyF+KuPLjDZa1Tbw8gCVUn98n4PbIkLEDGe4zl7vF4Qge9kQj06HcymnksPk8jznPZeKsA== + version "10.8.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== dependencies: async "0.9.x" chalk "^2.4.2" filelist "^1.0.1" minimatch "^3.0.4" +jest-worker@^26.6.1: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -3127,11 +2292,11 @@ jsonfile@^4.0.0: graceful-fs "^4.1.6" jsonfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" - integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - universalify "^1.0.0" + universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" @@ -3142,26 +2307,7 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -3178,6 +2324,11 @@ lazy-val@^1.0.4: resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -3186,18 +2337,10 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -line-column@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" - integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI= - dependencies: - isarray "^1.0.0" - isobject "^2.0.0" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== +loader-runner@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.1.0.tgz#f70bc0c29edbabdf2043e7ee73ccc3fe1c96b42d" + integrity sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA== loader-utils@^1.0.2, loader-utils@^1.2.3: version "1.4.0" @@ -3217,14 +2360,6 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -3237,17 +2372,17 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== -lower-case@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" - integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: - tslib "^1.10.0" + tslib "^2.0.3" lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" @@ -3259,13 +2394,6 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -3273,14 +2401,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - make-dir@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -3293,18 +2413,6 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - matcher@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" @@ -3312,23 +2420,6 @@ matcher@^3.0.0: dependencies: escape-string-regexp "^4.0.0" -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - memory-fs@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" @@ -3347,25 +2438,6 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - 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" - micromatch@^4.0.0, micromatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" @@ -3374,20 +2446,12 @@ micromatch@^4.0.0, micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - mime-db@1.44.0: version "1.44.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== -mime-types@^2.1.12: +mime-types@^2.1.12, mime-types@^2.1.27: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== @@ -3409,16 +2473,6 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -3431,49 +2485,13 @@ minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: +mkdirp@^0.5.1, mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -3484,84 +2502,38 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - -nanoid@^3.1.12: - version "3.1.12" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" - integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - 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" +nanoid@^3.1.20: + version "3.1.20" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -no-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" - integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: - lower-case "^2.0.1" - tslib "^1.10.0" + lower-case "^2.0.2" + tslib "^2.0.3" node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" +node-releases@^1.1.67: + version "1.1.67" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" + integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== normalize-package-data@^2.5.0: version "2.5.0" @@ -3573,18 +2545,6 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - normalize-url@^4.1.0: version "4.5.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" @@ -3612,61 +2572,34 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== +object-inspect@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== +object.assign@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" object.getownpropertydescriptors@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" + integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" + es-abstract "^1.18.0-next.1" once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" @@ -3694,29 +2627,24 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - p-limit "^2.0.0" + yocto-queue "^0.1.0" p-locate@^4.1.0: version "4.1.0" @@ -3740,27 +2668,13 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - param-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" - integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: - dot-case "^3.0.3" - tslib "^1.10.0" + dot-case "^3.0.4" + tslib "^2.0.3" parent-module@^1.0.0: version "1.0.1" @@ -3769,45 +2683,13 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -pascal-case@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" - integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== - dependencies: - no-case "^3.0.3" - tslib "^1.10.0" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + no-case "^3.0.4" + tslib "^2.0.3" path-exists@^4.0.0: version "4.0.0" @@ -3834,23 +2716,12 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: +picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -3860,18 +2731,6 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -3884,11 +2743,6 @@ png2icons@^2.0.1: resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" integrity sha512-GDEQJr8OG4e6JMp7mABtXFSEpgJa1CCpbQiAR+EjhkHJHnUL9zPPtbOrjsMD8gUbikgv3j7x404b0YJsV3aVFA== -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" @@ -3917,16 +2771,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.4: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== @@ -3941,14 +2786,13 @@ postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.1.tgz#c3a287dd10e4f6c84cb3791052b96a5d859c9389" - integrity sha512-9DGLSsjooH3kSNjTZUOt2eIj2ZTW0VI2PZ/3My+8TC7KIbH2OKwUlISfDsf63EP4aiRUt3XkEWMWvyJHvJelEg== +postcss@^8.1.4: + version "8.1.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.14.tgz#77d6a5db2fdc0afa918e24af5323a53fb8727f2e" + integrity sha512-KatkyVPBKfENS+c3dpXJoDXnDD5UZs5exAnDksLqaRJPKwYphEPZt4N0m0i049v2/BtWVQibAhxW4ilXXcolpA== dependencies: colorette "^1.2.1" - line-column "^1.0.2" - nanoid "^3.1.12" + nanoid "^3.1.20" source-map "^0.6.1" prelude-ls@^1.2.1: @@ -3969,38 +2813,28 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" - integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== + version "2.2.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" + integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: - renderkid "^2.0.1" - utila "~0.4" + lodash "^4.17.20" + renderkid "^2.0.4" process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -4011,26 +2845,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -4039,62 +2853,25 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== pupa@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz#dbdc9ff48ffbea4a26a069b6f9f7abb051008726" - integrity sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA== + version "2.1.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== dependencies: escape-goat "^2.0.0" -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: safe-buffer "^5.1.0" -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -4116,7 +2893,7 @@ read-config-file@6.0.0: json5 "^2.1.2" lazy-val "^1.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +readable-stream@^2.0.1, readable-stream@^2.2.2: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -4129,7 +2906,7 @@ read-config-file@6.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.1.1: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -4138,22 +2915,6 @@ readable-stream@^3.1.1, readable-stream@^3.6.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== - dependencies: - picomatch "^2.2.1" - rechoir@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" @@ -4166,23 +2927,15 @@ reduce-flatten@^2.0.0: resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== registry-auth-token@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.1.1.tgz#40a33be1e82539460f94328b0f7f0f84c16d9479" - integrity sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA== + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== dependencies: rc "^1.2.8" @@ -4198,31 +2951,16 @@ relateurl@^0.2.7: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== +renderkid@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.4.tgz#d325e532afb28d3f8796ffee306be8ffd6fc864c" + integrity sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g== dependencies: css-select "^1.1.0" dom-converter "^0.2" htmlparser2 "^3.3.0" + lodash "^4.17.20" strip-ansi "^3.0.0" - utila "^0.4.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= require-directory@^2.1.1: version "2.1.1" @@ -4246,16 +2984,12 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - resolve@^1.10.0, resolve@^1.9.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== dependencies: + is-core-module "^2.1.0" path-parse "^1.0.6" responselike@^1.0.2: @@ -4265,11 +2999,6 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -4282,27 +3011,19 @@ rimraf@2.6.3: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.3: +rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - roarr@^2.15.3: - version "2.15.3" - resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.3.tgz#65248a291a15af3ebfd767cbf7e44cb402d1d836" - integrity sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA== + version "2.15.4" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" + integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== dependencies: - boolean "^3.0.0" + boolean "^3.0.1" detect-node "^2.0.4" globalthis "^1.0.1" json-stringify-safe "^5.0.1" @@ -4310,18 +3031,11 @@ roarr@^2.15.3: sprintf-js "^1.1.2" run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" + version "1.1.10" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -4331,13 +3045,6 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -4355,15 +3062,6 @@ sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - schema-utils@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" @@ -4385,7 +3083,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.6.0: +"semver@2 || 3 || 4 || 5": version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -4396,9 +3094,11 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== semver@^7.2.1, semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" serialize-error@^7.0.1: version "7.0.1" @@ -4407,36 +3107,13 @@ serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== +serialize-javascript@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== dependencies: randombytes "^2.1.0" -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - shallow-clone@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" @@ -4475,53 +3152,12 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-list-map@^2.0.0: +source-list-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12: +source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -4529,22 +3165,12 @@ source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5. buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: +source-map@^0.7.3, source-map@~0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -4571,16 +3197,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" + version "3.0.7" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" + integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== sprintf-js@^1.1.2: version "1.1.2" @@ -4592,13 +3211,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - stackframe@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" @@ -4609,46 +3221,6 @@ stat-mode@^1.0.0: resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - string-width@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -4675,41 +3247,23 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.trimend@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimleft@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" - integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart "^1.0.0" - -string.prototype.trimright@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" - integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== +string.prototype.trimend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" + integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimend "^1.0.0" -string.prototype.trimstart@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== +string.prototype.trimstart@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" + integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.5" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -4793,14 +3347,14 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -table-layout@^1.0.0: +table-layout@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.1.tgz#8411181ee951278ad0638aea2f779a9ce42894f9" integrity sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q== @@ -4825,6 +3379,11 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== +tapable@^2.0.0, tapable@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.1.1.tgz#b01cc1902d42a7bb30514e320ce21c456f72fd3f" + integrity sha512-Wib1S8m2wdpLbmQz0RBEVosIyvb/ykfKXf3ZIDqvWoMg/zTNm6G/tDSuUM61J1kNCDXWJrLHGSFeMhAG+gAGpQ== + temp-file@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.7.tgz#686885d635f872748e384e871855958470aeb18a" @@ -4834,79 +3393,50 @@ temp-file@^3.3.7: fs-extra "^8.1.0" term-size@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" - integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== + version "2.2.1" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== -terser-webpack-plugin@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f" - integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^3.1.0" +terser-webpack-plugin@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz#ec60542db2421f45735c719d2e17dabfbb2e3e42" + integrity sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ== + dependencies: + jest-worker "^26.6.1" + p-limit "^3.0.2" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" + terser "^5.3.8" -terser@^4.1.2, terser@^4.6.3: - version "4.7.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.7.0.tgz#15852cf1a08e3256a80428e865a2fa893ffba006" - integrity sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw== +terser@^4.6.3: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== dependencies: commander "^2.20.0" source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.3.8: + version "5.5.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" + integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - to-readable-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -4914,16 +3444,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - truncate-utf8-bytes@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" @@ -4932,9 +3452,9 @@ truncate-utf8-bytes@^1.0.0: utf8-byte-length "^1.0.1" ts-loader@^8.0.6: - version "8.0.6" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.6.tgz#8f47d203ef8fc95826a292a09f97a02bf1f57565" - integrity sha512-c8XkRbhKxFLbiIwZR7FBGWDq0MIz/QSpx3CGpj0abJxD5YVX8oDhQkJLeGbXUPRIlaX4Ajmr77fOiFVZ3gSU7g== + version "8.0.11" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.11.tgz#35d58a65932caacb120426eea59eca841786c899" + integrity sha512-06X+mWA2JXoXJHYAesUUL4mHFYhnmyoCdQVMXofXF552Lzd4wNwSGg7unJpttqUP7ziaruM8d7u8LUB6I1sgzA== dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" @@ -4943,20 +3463,26 @@ ts-loader@^8.0.6: semver "^6.0.0" ts-node@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.0.0.tgz#e7699d2a110cc8c0d3b831715e417688683460b3" - integrity sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg== + version "9.1.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.0.tgz#95eae4c6d0f94f2545884078e1eb1b14d2155639" + integrity sha512-0yqcL4sgruCvM+w64LiAfNJo6+lHfCYc5Ajj4yiLNkJ9oZ2HWaa+Kso7htYOOxVQ7+csAjdUjffOe9PIqC4pMg== dependencies: arg "^4.1.0" + create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" source-map-support "^0.5.17" yn "3.1.1" -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" + integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== tsutils@^3.17.1: version "3.17.1" @@ -4965,11 +3491,6 @@ tsutils@^3.17.1: dependencies: tslib "^1.8.1" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - tunnel@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" @@ -4982,11 +3503,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - type-fest@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" @@ -5010,44 +3526,20 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" - integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.2.tgz#6369ef22516fe5e10304aae5a5c4862db55380e9" + integrity sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ== typical@^5.0.0, typical@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - unique-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" @@ -5065,18 +3557,10 @@ universalify@^1.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== update-notifier@^4.1.1: version "4.1.3" @@ -5098,17 +3582,12 @@ update-notifier@^4.1.1: xdg-basedir "^4.0.0" uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.0" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -5116,19 +3595,6 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - utf8-byte-length@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" @@ -5147,29 +3613,15 @@ util.promisify@1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@^0.4.0, utila@~0.4: +utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= -v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== +v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" + integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== validate-npm-package-license@^3.0.1: version "3.0.4" @@ -5179,46 +3631,31 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== +watchpack@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.0.1.tgz#2f2192c542c82a3bcde76acd3411470c120426a8" + integrity sha512-vO8AKGX22ZRo6PiOFM9dC0re8IcKh8Kd/aH2zeqUc6w4/jBGlTy2P7fTC6ekT0NjVeGjgU2dGC5rNstKkeLEQg== dependencies: + glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" webpack-cli@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.1.0.tgz#3a8fe05326015cc92b67abea68e3c320d418b16e" - integrity sha512-NdhxXMZmoik62Y05t0h1y65LjBM7BwFPq311ihXuMM3RY6dlc4KkCTyHLzTuBEc+bqq6d3xh+CWmU0xRexNJBA== + version "4.2.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.2.0.tgz#10a09030ad2bd4d8b0f78322fba6ea43ec56aaaa" + integrity sha512-EIl3k88vaF4fSxWSgtAQR+VwicfLMTZ9amQtqS4o+TDPW9HGaEpbFBbAZ4A3ZOT5SOnMxNOzROsSTPiE8tBJPA== dependencies: - "@webpack-cli/info" "^1.0.2" - "@webpack-cli/serve" "^1.0.1" - ansi-escapes "^4.3.1" + "@webpack-cli/info" "^1.1.0" + "@webpack-cli/serve" "^1.1.0" colorette "^1.2.1" command-line-usage "^6.1.0" - commander "^6.0.0" - enquirer "^2.3.4" - execa "^4.0.0" + commander "^6.2.0" + enquirer "^2.3.6" + execa "^4.1.0" import-local "^3.0.2" - interpret "^2.0.0" + interpret "^2.2.0" + leven "^3.1.0" rechoir "^0.7.0" - v8-compile-cache "^2.1.0" + v8-compile-cache "^2.2.0" webpack-merge "^4.2.2" webpack-merge@^4.2.2: @@ -5229,9 +3666,9 @@ webpack-merge@^4.2.2: lodash "^4.17.15" webpack-merge@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.2.0.tgz#31cbcc954f8f89cd4b06ca8d97a38549f7f3f0c9" - integrity sha512-QBglJBg5+lItm3/Lopv8KDDK01+hjdg2azEwi/4vKJ8ZmGPdtJsTpjtNNOW3a4WiqzXdCATtTudOZJngE7RKkA== + version "5.4.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.4.0.tgz#81bef0a7d23fc1e6c24b06ad8bf22ddeb533a3a3" + integrity sha512-/scBgu8LVPlHDgqH95Aw1xS+L+PHrpHKOwYVGFaNOQl4Q4wwwWDarwB1WdZAbLQ24SKhY3Awe7VZGYAdp+N+gQ== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" @@ -5241,42 +3678,43 @@ webpack-node-externals@^2.5.2: resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz#178e017a24fec6015bc9e672c77958a6afac861d" integrity sha512-aHdl/y2N7PW2Sx7K+r3AxpJO+aDMcYzMQd60Qxefq3+EwhewSbTBqNumOsCE1JsCUNoyfGj5465N0sSf6hc/5w== -webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== +webpack-sources@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" + integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" + source-list-map "^2.0.1" + source-map "^0.6.1" -webpack@^4.44.2: - version "4.44.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== +webpack@^5.6.0: + version "5.9.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.9.0.tgz#af2e9cf9d6c7867cdcf214ea3bb5eb77aece6895" + integrity sha512-YnnqIV/uAS5ZrNpctSv378qV7HmbJ74DL+XfvMxzbX1bV9e7eeT6eEWU4wuUw33CNr/HspBh7R/xQlVjTEyAeA== dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.45" "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" + acorn "^8.0.4" + browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^4.3.0" - eslint-scope "^4.0.3" + enhanced-resolve "^5.3.1" + eslint-scope "^5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" + loader-runner "^4.1.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + pkg-dir "^4.2.0" + schema-utils "^3.0.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.0.3" + watchpack "^2.0.0" + webpack-sources "^2.1.1" which@^2.0.1: version "2.0.2" @@ -5310,13 +3748,6 @@ wordwrapjs@^4.0.0: reduce-flatten "^2.0.0" typical "^5.0.0" -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -5353,25 +3784,10 @@ xdg-basedir@^4.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -y18n@^5.0.2: - version "5.0.4" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.4.tgz#0ab2db89dd5873b5ec4682d8e703e833373ea897" - integrity sha512-deLOfD+RvFgrpAmSZgfGdWYE+OKyHcVHaRQ7NphG/63scpRvTHHeQMAxGGvaLVGJ+HYVcCXlzcTK0ZehFf+eHQ== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== yallist@^4.0.0: version "4.0.0" @@ -5379,21 +3795,21 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yargs-parser@^20.2.2: - version "20.2.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.3.tgz#92419ba867b858c868acf8bae9bf74af0dd0ce26" - integrity sha512-emOFRT9WVHw03QSvN5qor9QQT9+sw5vwxfYweivSMHTcAXPefwVae2FjO7JJjj8hCE4CzPOPeFM83VwT29HCww== + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs@^16.0.3: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.0.tgz#fc333fe4791660eace5a894b39d42f851cd48f2a" - integrity sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g== + version "16.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.1.tgz#5a4a095bd1ca806b0a50d0c03611d38034d219a1" + integrity sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.0" - y18n "^5.0.2" + y18n "^5.0.5" yargs-parser "^20.2.2" yauzl@^2.10.0: @@ -5408,3 +3824,8 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 4c9b9cd0a371b8c176636a0305a07a46afe147fe Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 4 Dec 2020 00:35:40 -0500 Subject: [PATCH 199/385] Notifications are all better now. Google actually made things easier switching to an all canvas based icon system. Closes #176 As far as I can tell --- src/background.ts | 16 +------ src/bridge.ts | 32 ++------------ src/helpers/cacheManager.ts | 86 ++++++------------------------------- src/helpers/constants.ts | 5 --- 4 files changed, 17 insertions(+), 122 deletions(-) diff --git a/src/background.ts b/src/background.ts index 09de0467..13480320 100644 --- a/src/background.ts +++ b/src/background.ts @@ -7,14 +7,11 @@ import { shell, } from "electron"; import { autoUpdater } from "electron-updater"; -import jetpack from "fs-jetpack"; import path from "path"; import { BASE_APP_PATH, EVENT_BRIDGE_INIT, - EVENT_REFLECT_DISK_CACHE, EVENT_UPDATE_USER_SETTING, - IMG_CACHE_PATH, IS_DEV, IS_LINUX, IS_MAC, @@ -172,7 +169,7 @@ if (!isFirstInstance) { trayManager.startIfEnabled(); - ipcMain.on(EVENT_BRIDGE_INIT, async (event) => { + ipcMain.on(EVENT_BRIDGE_INIT, async (_event) => { if (state.bridgeInitDone) { return; } @@ -187,17 +184,6 @@ if (!isFirstInstance) { ? nativeTheme.shouldUseDarkColors : null, }); - const basePath = IMG_CACHE_PATH(); - const imgDir = jetpack.dir(IMG_CACHE_PATH()); - const contents = await imgDir.listAsync("."); - if (contents) { - const cache: Record = {}; - for (const file of contents) { - const key = file.substr(0, file.length - 4); - cache[key] = path.resolve(IMG_CACHE_PATH(), file); - } - event.sender.send(EVENT_REFLECT_DISK_CACHE, { cache, basePath }); - } }); let quitViaContext = false; diff --git a/src/bridge.ts b/src/bridge.ts index d7abe78e..7a4612d7 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -8,7 +8,6 @@ import path from "path"; import { CacheManager } from "./helpers/cacheManager"; import { EVENT_BRIDGE_INIT, - EVENT_REFLECT_DISK_CACHE, EVENT_UPDATE_USER_SETTING, SETTING_HIDE_NOTIFICATION, RESOURCES_PATH, @@ -23,7 +22,7 @@ const { Notification: ElectronNotification, app, nativeImage } = remote; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); -let cacheManager: CacheManager | undefined; +const cacheManager = new CacheManager(); function createUnreadListener() { const unreadObserver = ( @@ -83,23 +82,6 @@ ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { } }); -/** - * - * Recieves the paths for all the disk cahed images along with the base path for adding new files to the cache - * This is because this part of electron cannot use path.resolve and the constant relies on that in a function form due to - * reasons documented elsewhere - * - */ -ipcRenderer.once( - EVENT_REFLECT_DISK_CACHE, - ( - _event, - { cache, basePath }: { basePath: string; cache: Record } - ): void => { - cacheManager = new CacheManager(basePath, new Map(Object.entries(cache))); - } -); - /** * Override the webview's window's instance of the Notification class and forward their data to the * main process. This is Necessary to generate and send a custom notification via Electron instead @@ -115,15 +97,9 @@ ipcRenderer.once( // @ts-ignore window.Notification = function (title: string, options: NotificationOptions) { let icon: NativeImage | undefined; - if (cacheManager != null) { - const potentialImg = cacheManager.getProfileImg(title); - if (potentialImg != null) { - if (typeof potentialImg === "string") { - icon = nativeImage.createFromDataURL(potentialImg); - } else { - potentialImg(); - } - } + const potentialImg = cacheManager.getProfileImg(title); + if (potentialImg != null) { + icon = nativeImage.createFromDataURL(potentialImg); } const hideContent = settings.get(SETTING_HIDE_NOTIFICATION, false) as boolean; diff --git a/src/helpers/cacheManager.ts b/src/helpers/cacheManager.ts index 4d65e658..a091a8b9 100644 --- a/src/helpers/cacheManager.ts +++ b/src/helpers/cacheManager.ts @@ -1,15 +1,7 @@ -import domtoimg from "dom-to-image"; -import jetpack from "fs-jetpack"; -import path from "path"; - -type CachedImage = string | undefined | (() => Promise); +type CachedImage = string | undefined; export class CacheManager { private imgCache: Map = new Map(); - constructor( - private basePath: string, - private diskCache: Map - ) {} /** * * Attempts to split the title of the notification in a way that yeilds a cache hit @@ -45,66 +37,21 @@ export class CacheManager { * Looks for the existence of an image on the provided profile node returned from the getProfileNodeIfEvists private. * * @param {HTMLElement} profileNode the node to traverse the children of - * @returns {(HTMLImageElement | undefined)} the img tag of the node - */ - private getImgNodeIfExists( - profileNode: HTMLElement - ): HTMLImageElement | undefined { - return profileNode.querySelector("img") || undefined; - } - - /** - * - * Checks if there is a disk cache of the rendered img at the cache key provided and gets it. - * - * @param {string} cacheKey cache index to check - * @returns {(string | undefined)} the contents of the cache - */ - private getDiskCacheIfExists(cacheKey: string): string | undefined { - const cachePath = this.diskCache.get(cacheKey); - if (cachePath != null && jetpack.file(cachePath)) { - return jetpack.read(cachePath); - } - return undefined; - } - - /** - * - * Finds the node to render to generate an img on the provided profile node returned from the getProfileNodeIfEvists private. - * - * @param {HTMLElement} profileNode the node to traverse the children of - * @returns {(HTMLDivElement | undefined)} node to generate image of + * @returns {(HTMLCanvasElement | undefined)} the img tag of the node */ - private getNodeToRenderIfExists( + private getCanvasNodeIfExists( profileNode: HTMLElement - ): HTMLDivElement | undefined { - return ( - profileNode.querySelector("div.non-image-avatar") || - undefined - ); + ): HTMLCanvasElement | undefined { + return profileNode.querySelector("canvas") || undefined; } /** * - * Creates the private that will async render and save / cache the node + * First checks cache. If it is not in the cache trys to get the canvas node and turn it into a data:url + * I am not sure the cache is necessary anymore but there are rumors that canvas.toDataUrl is slow. * - * @param {HTMLElement} nodeToRender node to render - * @param {string} cacheKey name in caches - * @returns {() => Promise} private that will do the rendering + * @param title title of the notification as passed to the window.Notification */ - private createNodeRenderer( - nodeToRender: HTMLElement, - cacheKey: string - ): () => Promise { - return async () => { - const rendered = await domtoimg.toPng(nodeToRender); - const cachePath = path.join(this.basePath, `${cacheKey}.txt`); - await jetpack.writeAsync(cachePath, rendered); - - this.imgCache.set(cacheKey, rendered); - }; - } - public getProfileImg(title: string): CachedImage { const cacheKey = this.getCacheKey(title); if (this.imgCache.has(cacheKey)) { @@ -112,19 +59,10 @@ export class CacheManager { } const profileNode = this.getProfileNodeIfExists(cacheKey); if (profileNode != null) { - const imgTag = this.getImgNodeIfExists(profileNode); - if (imgTag != null) { - this.imgCache.set(cacheKey, imgTag.src); - return imgTag.src; - } - const diskCache = this.getDiskCacheIfExists(cacheKey); - if (diskCache != null) { - this.imgCache.set(cacheKey, diskCache); - return diskCache; - } - const nodeToRender = this.getNodeToRenderIfExists(profileNode); - if (nodeToRender != null) { - return this.createNodeRenderer(nodeToRender, cacheKey); + const canvasTag = this.getCanvasNodeIfExists(profileNode); + if (canvasTag != null) { + this.imgCache.set(cacheKey, canvasTag.toDataURL()); + return canvasTag.toDataURL(); } } return undefined; diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 040b8e98..a2252e0c 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -1,6 +1,5 @@ import process from "process"; import path from "path"; -import { app } from "electron"; export const osMap = { win32: "Windows", @@ -26,9 +25,6 @@ export const IS_LINUX = OS_NAME === "linux"; export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); -export const USER_DATA_PATH = (): string => app.getPath("appData"); // This has to be a function call because app.ready callback must be fired before this path can be used -export const IMG_CACHE_PATH = (): string => - path.resolve(USER_DATA_PATH(), "userimgs"); // Settings export const SETTING_TRAY_ENABLED = "trayEnabledPref"; @@ -43,4 +39,3 @@ export const SETTING_AUTOHIDE_MENU = "autoHideMenuPref"; // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; export const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; -export const EVENT_REFLECT_DISK_CACHE = "reflext-disk-cache"; From 95fc61f3f13776dfa948e808e53ce0802e1d7258 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 4 Dec 2020 00:42:50 -0500 Subject: [PATCH 200/385] Removed a bunch of unneeded dependencies --- package.json | 8 +-- webpack.config.ts | 2 - yarn.lock | 129 +--------------------------------------------- 3 files changed, 3 insertions(+), 136 deletions(-) diff --git a/package.json b/package.json index e92f2e9c..8f2941a6 100644 --- a/package.json +++ b/package.json @@ -27,18 +27,13 @@ }, "dependencies": { "about-window": "1.13.4", - "dom-to-image": "^2.6.0", "electron-settings": "3.2.0", "electron-updater": "4.3.5", - "fs-jetpack": "^4.1.0", - "node-fetch": "^2.6.1" + "fs-jetpack": "^4.1.0" }, "devDependencies": { - "@types/dom-to-image": "^2.6.2", "@types/electron-settings": "^3.1.1", - "@types/friendly-errors-webpack-plugin": "^0.1.2", "@types/node": "14.14.10", - "@types/node-fetch": "^2.5.7", "@types/webpack": "^4.41.23", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", @@ -51,7 +46,6 @@ "eslint": "^7.11.0", "eslint-config-prettier": "^6.13.0", "eslint-plugin-prettier": "^3.1.4", - "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^4.5.0", "png2icons": "^2.0.1", "prettier": "^2.1.2", diff --git a/webpack.config.ts b/webpack.config.ts index ac38ef36..16fa17fc 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -1,6 +1,5 @@ import { Configuration } from "webpack"; import nodeExternals from "webpack-node-externals"; -import FriendlyErrors from "friendly-errors-webpack-plugin"; import HTMLWebpackPlguin from "html-webpack-plugin"; import process from "process"; import path from "path"; @@ -32,7 +31,6 @@ const base: Configuration = { extensions: [".ts", ".js", ".css"], }, plugins: [ - new FriendlyErrors(), new HTMLWebpackPlguin({ template: "./src/index.html", inject: false, diff --git a/yarn.lock b/yarn.lock index f0cdc24d..ded368a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -111,11 +111,6 @@ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== -"@types/dom-to-image@^2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@types/dom-to-image/-/dom-to-image-2.6.2.tgz#f6cc93cd5e84565a3666851fa5472fe8779b49d2" - integrity sha512-Yxbwmz/glNwRIXfBI8efG2bgIxrFAKV1MdfpqbUDq25ULMot7U7FYXPiso5G8DlBExSP+AakuG0mNus9yw4RZQ== - "@types/electron-settings@^3.1.1": version "3.1.2" resolved "https://registry.yarnpkg.com/@types/electron-settings/-/electron-settings-3.1.2.tgz#0efe6b85b559b0dd10be06b1a2bd0689423dc52d" @@ -144,13 +139,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== -"@types/friendly-errors-webpack-plugin@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-0.1.2.tgz#acb0dcb46bd49e3209a004048c7d4383488d391c" - integrity sha512-kHxYzaalbuWKP+cK/DKtDIR+vxFgZHl+tqI3q07M8x+7q5yB+3AY+aDfIe6S26+XO0WquoSn25P2b8l5rk5owA== - dependencies: - "@types/webpack" "*" - "@types/fs-extra@^9.0.1": version "9.0.4" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.4.tgz#12553138cf0438db9a31cdc8b0a3aa9332eb67aa" @@ -168,14 +156,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/node-fetch@^2.5.7": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" - integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - "@types/node@*", "@types/node@14.14.10": version "14.14.10" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" @@ -544,11 +524,6 @@ ansi-regex@^2.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" @@ -559,11 +534,6 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -648,11 +618,6 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" @@ -817,17 +782,6 @@ caniuse-lite@^1.0.30001164: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz#5bbfd64ca605d43132f13cc7fdabb17c3036bfdc" integrity sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg== -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -941,13 +895,6 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - command-line-usage@^6.1.0: version "6.1.1" resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.1.tgz#c908e28686108917758a49f45efb4f02f76bc03f" @@ -1125,11 +1072,6 @@ define-properties@^1.1.2, define-properties@^1.1.3: dependencies: object-keys "^1.0.12" -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - detect-node@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" @@ -1181,11 +1123,6 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" -dom-to-image@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/dom-to-image/-/dom-to-image-2.6.0.tgz#8a503608088c87b1c22f9034ae032e1898955867" - integrity sha1-ilA2CAiMh7HCL5A0rgMuGJiVWGc= - domelementtype@1, domelementtype@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" @@ -1403,13 +1340,6 @@ errno@^0.1.3: dependencies: prr "~1.0.1" -error-stack-parser@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" - integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== - dependencies: - stackframe "^1.1.1" - es-abstract@^1.18.0-next.1: version "1.18.0-next.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" @@ -1452,7 +1382,7 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -1706,24 +1636,6 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -form-data@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" - integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -friendly-errors-webpack-plugin@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz#efc86cbb816224565861a1be7a9d84d0aafea136" - integrity sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw== - dependencies: - chalk "^1.1.3" - error-stack-parser "^2.0.0" - string-width "^2.0.0" - fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -1901,13 +1813,6 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -2451,7 +2356,7 @@ mime-db@1.44.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== -mime-types@^2.1.12, mime-types@^2.1.27: +mime-types@^2.1.27: version "2.1.27" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== @@ -2525,11 +2430,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - node-releases@^1.1.67: version "1.1.67" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" @@ -3211,24 +3111,11 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -stackframe@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" - integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== - stat-mode@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - string-width@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -3284,13 +3171,6 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - strip-ansi@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" @@ -3335,11 +3215,6 @@ sumchecker@^3.0.1: dependencies: debug "^4.1.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" From 58face3d99de98c0505f2cea8190bea8f8dc7f71 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 4 Dec 2020 00:51:47 -0500 Subject: [PATCH 201/385] Version bump to 4.3.0 --- CHANGELOG.md | 12 ++++++++++++ package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 508ef80b..ddeb2d43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [4.3.0] - 2020-12-04 +Google broke some things and there was some other stuff that has always been broken. + +Expect a major change under the hood SoonTM with numerous enhancements and quality of life improvements as requested +by the community. + +## Fixed +- Bug with behavior of autohid menu when setting is toggled +- Bug breaking icons in notifications +- Bug with groupchat icons in notifications +- Cleaned out old dependencies that were no longer needed + ## [4.2.0] - 2020-08-11 Era of polish. Unless good ideas come in this application is essentially feature complete. Only refinements are needed from here on out. diff --git a/package.json b/package.json index 8f2941a6..166c3699 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.2.0", + "version": "4.3.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From bb8657a1f1247511cf053fe6a7e08f0eb16a90b9 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 7 Dec 2020 00:08:22 -0500 Subject: [PATCH 202/385] Fixed some build warnings and updated some packages --- package.json | 2 +- yarn.lock | 331 ++++++++++++++++++--------------------------------- 2 files changed, 115 insertions(+), 218 deletions(-) diff --git a/package.json b/package.json index 166c3699..37a920e8 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "eslint": "^7.11.0", "eslint-config-prettier": "^6.13.0", "eslint-plugin-prettier": "^3.1.4", - "html-webpack-plugin": "^4.5.0", + "html-webpack-plugin": "^5.0.0-alpha.15", "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", diff --git a/yarn.lock b/yarn.lock index ded368a8..3d23a6fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,10 +52,10 @@ global-agent "^2.0.2" global-tunnel-ng "^2.7.1" -"@eslint/eslintrc@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c" - integrity sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA== +"@eslint/eslintrc@^0.2.2": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" + integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -176,7 +176,7 @@ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/tapable@*", "@types/tapable@^1.0.5": +"@types/tapable@*": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== @@ -211,7 +211,7 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.23", "@types/webpack@^4.41.8": +"@types/webpack@*", "@types/webpack@^4.41.23": version "4.41.25" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== @@ -477,7 +477,7 @@ about-window@1.13.4: resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.13.4.tgz#cedfd0153c4b8b54832acae6dae695e06f27f4b4" integrity sha512-Ge7qBRzrmPbVJ2YarUfTrZEaSfhRjeVyFhmH9NqdNDjjgP0dcWwUprH61JWlDgcM3KaDn5zUzimG4YQh6vRocw== -acorn-jsx@^5.2.0: +acorn-jsx@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== @@ -746,14 +746,6 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" -call-bind@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" - integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.0" - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -778,9 +770,9 @@ camelcase@^6.2.0: integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-lite@^1.0.30001164: - version "1.0.30001164" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001164.tgz#5bbfd64ca605d43132f13cc7fdabb17c3036bfdc" - integrity sha512-G+A/tkf4bu0dSp9+duNiXc7bGds35DioCyC6vgK2m/rjA4Krpy5WeZgZyfH2f0wj2kI6yAWWucyap6oOwmY1mg== + version "1.0.30001165" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f" + integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA== chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" @@ -956,9 +948,9 @@ configstore@^5.0.1: xdg-basedir "^4.0.0" core-js@^3.6.5: - version "3.8.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.0.tgz#0fc2d4941cadf80538b030648bb64d230b4da0ce" - integrity sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA== + version "3.8.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.1.tgz#f51523668ac8a294d1285c3b9db44025fda66d47" + integrity sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg== core-util-is@~1.0.0: version "1.0.2" @@ -1065,7 +1057,7 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -1236,9 +1228,9 @@ electron-settings@3.2.0: jsonfile "^4.0.0" electron-to-chromium@^1.3.612: - version "1.3.615" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.615.tgz#50f523be4a04449410e9f3a694490814e602cd54" - integrity sha512-fNYTQXoUhNc6RmHDlGN4dgcLURSBIqQCN7ls6MuQ741+NJyLNRz8DxAC+pZpOKfRs6cfY0lv2kWdy8Oxf9j4+A== + version "1.3.616" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.616.tgz#de63d1c79bb8eb61168774df0c11c9e1af69f9e8" + integrity sha512-CI8L38UN2BEnqXw3/oRIQTmde0LiSeqWSRlPA42ZTYgJQ8fYenzAM2Z3ni+jtILTcrs5aiXZCGJ96Pm+3/yGyQ== electron-updater@4.3.5: version "4.3.5" @@ -1340,33 +1332,6 @@ errno@^0.1.3: dependencies: prr "~1.0.1" -es-abstract@^1.18.0-next.1: - version "1.18.0-next.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" - integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.0" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - es6-error@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" @@ -1432,12 +1397,12 @@ eslint-visitor-keys@^2.0.0: integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== eslint@^7.11.0: - version "7.14.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.14.0.tgz#2d2cac1d28174c510a97b377f122a5507958e344" - integrity sha512-5YubdnPXrlrYAFCKybPuHIAH++PINe1pmKNc5wQRB9HSbqIK1ywAnntE3Wwua4giKu0bjligf1gLF6qxMGOYRA== + version "7.15.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.15.0.tgz#eb155fb8ed0865fcf5d903f76be2e5b6cd7e0bc7" + integrity sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA== dependencies: "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.2.1" + "@eslint/eslintrc" "^0.2.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -1447,10 +1412,10 @@ eslint@^7.11.0: eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" - espree "^7.3.0" + espree "^7.3.1" esquery "^1.2.0" esutils "^2.0.2" - file-entry-cache "^5.0.1" + file-entry-cache "^6.0.0" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" globals "^12.1.0" @@ -1474,13 +1439,13 @@ eslint@^7.11.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" - integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" - acorn-jsx "^5.2.0" + acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" esprima@^4.0.0: @@ -1593,12 +1558,12 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== +file-entry-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== dependencies: - flat-cache "^2.0.1" + flat-cache "^3.0.4" filelist@^1.0.1: version "1.0.1" @@ -1622,19 +1587,26 @@ find-up@^4.0.0: locate-path "^5.0.0" path-exists "^4.0.0" -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" + locate-path "^6.0.0" + path-exists "^4.0.0" -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== fs-extra@^8.1.0: version "8.1.0" @@ -1683,15 +1655,6 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" - integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -1823,11 +1786,6 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -1870,20 +1828,17 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-webpack-plugin@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" - integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw== +html-webpack-plugin@^5.0.0-alpha.15: + version "5.0.0-alpha.15" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.0.0-alpha.15.tgz#4562c3afa9d79e2ee0cf0c8e1a43ed47487d6115" + integrity sha512-SFnpxiOo8EZ37fPUG4elnii78E7WBlv6pqJl0rwK5knWRpvzQbbPGmn/hNrnBvgPbKi5RHwoaEdsQkLvHk+AzA== dependencies: "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.15" + loader-utils "2.0.0" + lodash "^4.17.20" pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" + tapable "2.0.0" htmlparser2@^3.3.0: version "3.10.1" @@ -1983,11 +1938,6 @@ interpret@^2.2.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -is-callable@^1.1.4, is-callable@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" - integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== - is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -2002,11 +1952,6 @@ is-core-module@^2.1.0: dependencies: has "^1.0.3" -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -2037,11 +1982,6 @@ is-installed-globally@^0.3.1: global-dirs "^2.0.1" is-path-inside "^3.0.1" -is-negative-zero@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" - integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= - is-npm@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" @@ -2069,25 +2009,11 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - dependencies: - has-symbols "^1.0.1" - is-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2247,16 +2173,7 @@ loader-runner@^4.1.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.1.0.tgz#f70bc0c29edbabdf2043e7ee73ccc3fe1c96b42d" integrity sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA== -loader-utils@^1.0.2, loader-utils@^1.2.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: +loader-utils@2.0.0, loader-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== @@ -2265,6 +2182,15 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" +loader-utils@^1.0.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -2272,6 +2198,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -2390,7 +2323,7 @@ minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -mkdirp@^0.5.1, mkdirp@^0.5.4: +mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -2472,35 +2405,11 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -object-inspect@^1.8.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== - -object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.12: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" - integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2553,6 +2462,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -2638,6 +2554,13 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-dir@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" + integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== + dependencies: + find-up "^5.0.0" + png2icons@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" @@ -2904,13 +2827,6 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -2918,6 +2834,13 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + roarr@^2.15.3: version "2.15.4" resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" @@ -3134,22 +3057,6 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.trimend@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" - integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" - integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -3249,15 +3156,20 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^1.0.0, tapable@^1.1.3: +tapable@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.0.0.tgz#a49c3d6a8a2bb606e7db372b82904c970d537a08" + integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg== + +tapable@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tapable@^2.0.0, tapable@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.1.1.tgz#b01cc1902d42a7bb30514e320ce21c456f72fd3f" - integrity sha512-Wib1S8m2wdpLbmQz0RBEVosIyvb/ykfKXf3ZIDqvWoMg/zTNm6G/tDSuUM61J1kNCDXWJrLHGSFeMhAG+gAGpQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" + integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== temp-file@^3.3.7: version "3.3.7" @@ -3480,14 +3392,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -3562,9 +3466,9 @@ webpack-sources@^2.1.1: source-map "^0.6.1" webpack@^5.6.0: - version "5.9.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.9.0.tgz#af2e9cf9d6c7867cdcf214ea3bb5eb77aece6895" - integrity sha512-YnnqIV/uAS5ZrNpctSv378qV7HmbJ74DL+XfvMxzbX1bV9e7eeT6eEWU4wuUw33CNr/HspBh7R/xQlVjTEyAeA== + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.10.0.tgz#6f77c31522a2c525152d9c344f9765d168b3df08" + integrity sha512-P0bHAXmIz0zsNcHNLqFmLY1ZtrT+jtBr7FqpuDtA2o7GiHC+zBsfhgK7SmJ1HG7BAEb3G9JoMdSVi7mEDvG3Zg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.45" @@ -3584,7 +3488,7 @@ webpack@^5.6.0: loader-runner "^4.1.0" mime-types "^2.1.27" neo-async "^2.6.2" - pkg-dir "^4.2.0" + pkg-dir "^5.0.0" schema-utils "^3.0.0" tapable "^2.1.1" terser-webpack-plugin "^5.0.3" @@ -3647,13 +3551,6 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" @@ -3675,9 +3572,9 @@ yargs-parser@^20.2.2: integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== yargs@^16.0.3: - version "16.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.1.tgz#5a4a095bd1ca806b0a50d0c03611d38034d219a1" - integrity sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w== + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" escalade "^3.1.1" From 6a990d957d5a52a82b33fe4b95c07f106aaa5bec Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 14 Dec 2020 17:17:05 -0500 Subject: [PATCH 203/385] Dependency bump --- package.json | 22 +-- yarn.lock | 520 +++++++++++++++++++++++++-------------------------- 2 files changed, 270 insertions(+), 272 deletions(-) diff --git a/package.json b/package.json index 37a920e8..3d7117c7 100644 --- a/package.json +++ b/package.json @@ -33,30 +33,30 @@ }, "devDependencies": { "@types/electron-settings": "^3.1.1", - "@types/node": "14.14.10", + "@types/node": "14.14.13", "@types/webpack": "^4.41.23", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^4.0.0", - "@typescript-eslint/parser": "^4.8.2", + "@typescript-eslint/eslint-plugin": "^4.10.0", + "@typescript-eslint/parser": "^4.10.0", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "11.0.3", + "electron": "11.1.0", "electron-builder": "22.9.1", "eslint": "^7.11.0", - "eslint-config-prettier": "^6.13.0", - "eslint-plugin-prettier": "^3.1.4", + "eslint-config-prettier": "^7.0.0", + "eslint-plugin-prettier": "^3.3.0", "html-webpack-plugin": "^5.0.0-alpha.15", "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", "style-loader": "^2.0.0", - "ts-loader": "^8.0.6", - "ts-node": "^9.0.0", - "typescript": "^4.0.3", - "webpack": "^5.6.0", + "ts-loader": "^8.0.12", + "ts-node": "^9.1.1", + "typescript": "^4.1.3", + "webpack": "^5.10.1", "webpack-cli": "^4.1.0", - "webpack-merge": "^5.2.0", + "webpack-merge": "^5.7.0", "webpack-node-externals": "^2.5.2" } } diff --git a/yarn.lock b/yarn.lock index 3d23a6fc..d89ac4f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -140,9 +140,9 @@ integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== "@types/fs-extra@^9.0.1": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.4.tgz#12553138cf0438db9a31cdc8b0a3aa9332eb67aa" - integrity sha512-50GO5ez44lxK5MDH90DYHFFfqxH7+fTqEEnvguQRzJ/tY9qFrMSHLiYHite+F3SNmf7+LHC1eMXojuD+E3Qcyg== + version "9.0.5" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.5.tgz#2afb76a43a4bef80a363b94b314d0ca1694fc4f8" + integrity sha512-wr3t7wIW1c0A2BIJtdVp4EflriVaVVAsCAIHVzzh8B+GiFv9X1xeJjCs4upRXtzp7kQ6lP5xvskjoD4awJ1ZeA== dependencies: "@types/node" "*" @@ -156,15 +156,15 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/node@*", "@types/node@14.14.10": - version "14.14.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785" - integrity sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ== +"@types/node@*", "@types/node@14.14.13": + version "14.14.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.13.tgz#9e425079799322113ae8477297ae6ef51b8e0cdf" + integrity sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ== "@types/node@^12.0.12": - version "12.19.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.8.tgz#efd6d1a90525519fc608c9db16c8a78f7693a978" - integrity sha512-D4k2kNi0URNBxIRCb1khTnkWNHv8KSL1owPmS/K5e5t8B2GzMReY7AsJIY1BnP5KdlgC4rj9jk2IkDMasIE7xg== + version "12.19.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.9.tgz#990ad687ad8b26ef6dcc34a4f69c33d40c95b679" + integrity sha512-yj0DOaQeUrk3nJ0bd3Y5PeDRJ6W0r+kilosLA+dzF3dola/o9hxhMSg2sFvVcA2UHS5JSOsZp4S0c1OEXc4m1Q== "@types/semver@^7.3.1": version "7.3.4" @@ -235,61 +235,61 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.0.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.9.0.tgz#8fde15743413661fdc086c9f1f5d74a80b856113" - integrity sha512-WrVzGMzzCrgrpnQMQm4Tnf+dk+wdl/YbgIgd5hKGa2P+lnJ2MON+nQnbwgbxtN9QDLi8HO+JAq0/krMnjQK6Cw== +"@typescript-eslint/eslint-plugin@^4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.10.0.tgz#19ed3baf4bc4232c5a7fcd32eaca75c3a5baf9f3" + integrity sha512-h6/V46o6aXpKRlarP1AiJEXuCJ7cMQdlpfMDrcllIgX3dFkLwEBTXAoNP98ZoOmqd1xvymMVRAI4e7yVvlzWEg== dependencies: - "@typescript-eslint/experimental-utils" "4.9.0" - "@typescript-eslint/scope-manager" "4.9.0" + "@typescript-eslint/experimental-utils" "4.10.0" + "@typescript-eslint/scope-manager" "4.10.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.9.0.tgz#23a296b85d243afba24e75a43fd55aceda5141f0" - integrity sha512-0p8GnDWB3R2oGhmRXlEnCvYOtaBCijtA5uBfH5GxQKsukdSQyI4opC4NGTUb88CagsoNQ4rb/hId2JuMbzWKFQ== +"@typescript-eslint/experimental-utils@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.10.0.tgz#dbf5d0f89802d5feaf7d11e5b32df29bbc2f3a0e" + integrity sha512-opX+7ai1sdWBOIoBgpVJrH5e89ra1KoLrJTz0UtWAa4IekkKmqDosk5r6xqRaNJfCXEfteW4HXQAwMdx+jjEmw== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.9.0" - "@typescript-eslint/types" "4.9.0" - "@typescript-eslint/typescript-estree" "4.9.0" + "@typescript-eslint/scope-manager" "4.10.0" + "@typescript-eslint/types" "4.10.0" + "@typescript-eslint/typescript-estree" "4.10.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.8.2": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.9.0.tgz#bb65f1214b5e221604996db53ef77c9d62b09249" - integrity sha512-QRSDAV8tGZoQye/ogp28ypb8qpsZPV6FOLD+tbN4ohKUWHD2n/u0Q2tIBnCsGwQCiD94RdtLkcqpdK4vKcLCCw== +"@typescript-eslint/parser@^4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.10.0.tgz#1a622b0847b765b2d8f0ede6f0cdd85f03d76031" + integrity sha512-amBvUUGBMadzCW6c/qaZmfr3t9PyevcSWw7hY2FuevdZVp5QPw/K76VSQ5Sw3BxlgYCHZcK6DjIhSZK0PQNsQg== dependencies: - "@typescript-eslint/scope-manager" "4.9.0" - "@typescript-eslint/types" "4.9.0" - "@typescript-eslint/typescript-estree" "4.9.0" + "@typescript-eslint/scope-manager" "4.10.0" + "@typescript-eslint/types" "4.10.0" + "@typescript-eslint/typescript-estree" "4.10.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.9.0.tgz#5eefe305d6b71d1c85af6587b048426bfd4d3708" - integrity sha512-q/81jtmcDtMRE+nfFt5pWqO0R41k46gpVLnuefqVOXl4QV1GdQoBWfk5REcipoJNQH9+F5l+dwa9Li5fbALjzg== +"@typescript-eslint/scope-manager@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.10.0.tgz#dbd7e1fc63d7363e3aaff742a6f2b8afdbac9d27" + integrity sha512-WAPVw35P+fcnOa8DEic0tQUhoJJsgt+g6DEcz257G7vHFMwmag58EfowdVbiNcdfcV27EFR0tUBVXkDoIvfisQ== dependencies: - "@typescript-eslint/types" "4.9.0" - "@typescript-eslint/visitor-keys" "4.9.0" + "@typescript-eslint/types" "4.10.0" + "@typescript-eslint/visitor-keys" "4.10.0" -"@typescript-eslint/types@4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.9.0.tgz#3fe8c3632abd07095c7458f7451bd14c85d0033c" - integrity sha512-luzLKmowfiM/IoJL/rus1K9iZpSJK6GlOS/1ezKplb7MkORt2dDcfi8g9B0bsF6JoRGhqn0D3Va55b+vredFHA== +"@typescript-eslint/types@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.10.0.tgz#12f983750ebad867f0c806e705c1953cd6415789" + integrity sha512-+dt5w1+Lqyd7wIPMa4XhJxUuE8+YF+vxQ6zxHyhLGHJjHiunPf0wSV8LtQwkpmAsRi1lEOoOIR30FG5S2HS33g== -"@typescript-eslint/typescript-estree@4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.9.0.tgz#38a98df6ee281cfd6164d6f9d91795b37d9e508c" - integrity sha512-rmDR++PGrIyQzAtt3pPcmKWLr7MA+u/Cmq9b/rON3//t5WofNR4m/Ybft2vOLj0WtUzjn018ekHjTsnIyBsQug== +"@typescript-eslint/typescript-estree@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.10.0.tgz#1e62e45fd57866afd42daf5e9fb6bd4e8dbcfa75" + integrity sha512-mGK0YRp9TOk6ZqZ98F++bW6X5kMTzCRROJkGXH62d2azhghmq+1LNLylkGe6uGUOQzD452NOAEth5VAF6PDo5g== dependencies: - "@typescript-eslint/types" "4.9.0" - "@typescript-eslint/visitor-keys" "4.9.0" + "@typescript-eslint/types" "4.10.0" + "@typescript-eslint/visitor-keys" "4.10.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -297,157 +297,157 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.9.0": - version "4.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.9.0.tgz#f284e9fac43f2d6d35094ce137473ee321f266c8" - integrity sha512-sV45zfdRqQo1A97pOSx3fsjR+3blmwtdCt8LDrXgCX36v4Vmz4KHrhpV6Fo2cRdXmyumxx11AHw0pNJqCNpDyg== +"@typescript-eslint/visitor-keys@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.10.0.tgz#9478822329a9bc8ebcc80623d7f79a01da5ee451" + integrity sha512-hPyz5qmDMuZWFtHZkjcCpkAKHX8vdu1G3YsCLEd25ryZgnJfj6FQuJ5/O7R+dB1ueszilJmAFMtlU4CA6se3Jg== dependencies: - "@typescript-eslint/types" "4.9.0" + "@typescript-eslint/types" "4.10.0" eslint-visitor-keys "^2.0.0" -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== +"@webassemblyjs/ast@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.1.tgz#76c6937716d68bf1484c15139f5ed30b9abc8bb4" + integrity sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw== + dependencies: + "@webassemblyjs/helper-module-context" "1.9.1" + "@webassemblyjs/helper-wasm-bytecode" "1.9.1" + "@webassemblyjs/wast-parser" "1.9.1" + +"@webassemblyjs/floating-point-hex-parser@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz#9eb0ff90a1cdeef51f36ba533ed9f06b5cdadd09" + integrity sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg== + +"@webassemblyjs/helper-api-error@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz#ad89015c4246cd7f5ed0556700237f8b9c2c752f" + integrity sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA== + +"@webassemblyjs/helper-buffer@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz#186e67ac25f9546ea7939759413987f157524133" + integrity sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w== + +"@webassemblyjs/helper-code-frame@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz#aab177b7cc87a318a8f8664ad68e2c3828ebc42b" + integrity sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.1" + +"@webassemblyjs/helper-fsm@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz#527e91628e84d13d3573884b3dc4c53a81dcb911" + integrity sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw== + +"@webassemblyjs/helper-module-context@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz#778670b3d471f7cf093d1e7c0dde431b54310e16" + integrity sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg== + dependencies: + "@webassemblyjs/ast" "1.9.1" + +"@webassemblyjs/helper-wasm-bytecode@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz#563f59bcf409ccf469edde168b9426961ffbf6df" + integrity sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ== + +"@webassemblyjs/helper-wasm-section@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz#f7988f94c12b01b99a16120cb01dc099b00e4798" + integrity sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg== + dependencies: + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/helper-buffer" "1.9.1" + "@webassemblyjs/helper-wasm-bytecode" "1.9.1" + "@webassemblyjs/wasm-gen" "1.9.1" + +"@webassemblyjs/ieee754@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz#3b715871ca7d75784717cf9ceca9d7b81374b8af" + integrity sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== +"@webassemblyjs/leb128@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.1.tgz#b2ecaa39f9e8277cc9c707c1ca8b2aa7b27d0b72" + integrity sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" +"@webassemblyjs/utf8@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.1.tgz#d02d9daab85cda3211e43caf31dca74c260a73b0" + integrity sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg== + +"@webassemblyjs/wasm-edit@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz#e27a6bdbf78e5c72fa812a2fc3cbaad7c3e37578" + integrity sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw== + dependencies: + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/helper-buffer" "1.9.1" + "@webassemblyjs/helper-wasm-bytecode" "1.9.1" + "@webassemblyjs/helper-wasm-section" "1.9.1" + "@webassemblyjs/wasm-gen" "1.9.1" + "@webassemblyjs/wasm-opt" "1.9.1" + "@webassemblyjs/wasm-parser" "1.9.1" + "@webassemblyjs/wast-printer" "1.9.1" + +"@webassemblyjs/wasm-gen@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz#56a0787d1fa7994fdc7bea59004e5bec7189c5fc" + integrity sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg== + dependencies: + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/helper-wasm-bytecode" "1.9.1" + "@webassemblyjs/ieee754" "1.9.1" + "@webassemblyjs/leb128" "1.9.1" + "@webassemblyjs/utf8" "1.9.1" + +"@webassemblyjs/wasm-opt@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz#fbdf8943a825e6dcc4cd69c3e092289fa4aec96c" + integrity sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg== + dependencies: + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/helper-buffer" "1.9.1" + "@webassemblyjs/wasm-gen" "1.9.1" + "@webassemblyjs/wasm-parser" "1.9.1" + +"@webassemblyjs/wasm-parser@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz#5e8352a246d3f605312c8e414f7990de55aaedfa" + integrity sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw== + dependencies: + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/helper-api-error" "1.9.1" + "@webassemblyjs/helper-wasm-bytecode" "1.9.1" + "@webassemblyjs/ieee754" "1.9.1" + "@webassemblyjs/leb128" "1.9.1" + "@webassemblyjs/utf8" "1.9.1" + +"@webassemblyjs/wast-parser@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz#e25ef13585c060073c1db0d6bd94340fdeee7596" + integrity sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw== + dependencies: + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/floating-point-hex-parser" "1.9.1" + "@webassemblyjs/helper-api-error" "1.9.1" + "@webassemblyjs/helper-code-frame" "1.9.1" + "@webassemblyjs/helper-fsm" "1.9.1" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== +"@webassemblyjs/wast-printer@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz#b9f38e93652037d4f3f9c91584635af4191ed7c1" + integrity sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w== dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/wast-parser" "1.9.1" "@xtuc/long" "4.2.2" "@webpack-cli/info@^1.1.0": @@ -685,13 +685,13 @@ braces@^3.0.1: fill-range "^7.0.1" browserslist@^4.14.5: - version "4.15.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.15.0.tgz#3d48bbca6a3f378e86102ffd017d9a03f122bdb0" - integrity sha512-IJ1iysdMkGmjjYeRlDU8PQejVwxvVO5QOfXH7ylW31GO6LwNRSmm/SgRXtNsEXqMLl2e+2H5eEJ7sfynF8TCaQ== + version "4.16.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b" + integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ== dependencies: - caniuse-lite "^1.0.30001164" + caniuse-lite "^1.0.30001165" colorette "^1.2.1" - electron-to-chromium "^1.3.612" + electron-to-chromium "^1.3.621" escalade "^3.1.1" node-releases "^1.1.67" @@ -769,10 +769,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001164: - version "1.0.30001165" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001165.tgz#32955490d2f60290bb186bb754f2981917fa744f" - integrity sha512-8cEsSMwXfx7lWSUMA2s08z9dIgsnR5NAqjXP23stdsU3AUWkCr/rr4s4OFtHXn5XXr6+7kam3QFVoYyXNPdJPA== +caniuse-lite@^1.0.30001165: + version "1.0.30001166" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001166.tgz#ca73e8747acfd16a4fd6c4b784f1b995f9698cf8" + integrity sha512-nCL4LzYK7F4mL0TjEMeYavafOGnBa98vTudH5c8lW9izUjnB99InG6pmC1ElAI1p0GlyZajv4ltUdFXvOHIl1A== chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" @@ -908,9 +908,9 @@ commander@^4.1.1: integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" - integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== concat-map@0.0.1: version "0.0.1" @@ -1227,10 +1227,10 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" -electron-to-chromium@^1.3.612: - version "1.3.616" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.616.tgz#de63d1c79bb8eb61168774df0c11c9e1af69f9e8" - integrity sha512-CI8L38UN2BEnqXw3/oRIQTmde0LiSeqWSRlPA42ZTYgJQ8fYenzAM2Z3ni+jtILTcrs5aiXZCGJ96Pm+3/yGyQ== +electron-to-chromium@^1.3.621: + version "1.3.626" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.626.tgz#48acdf322be07feb2c1330ba05e4bf6327f721a3" + integrity sha512-7CanEvJx74EnvjHu1X8gf93KieyxvFLnqOXAH/ddjWD4RrUZYqdg3pykrQ/7t6SLI7DTsp4tfQXEfzeK5t6oAw== electron-updater@4.3.5: version "4.3.5" @@ -1245,10 +1245,10 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/electron/-/electron-11.0.3.tgz#c29eaacda38ce561890e59906ca5f507c72b3ec4" - integrity sha512-nNfbLi7Q1xfJXOEO2adck5TS6asY4Jxc332E4Te8XfQ9hcaC3GiCdeEqk9FndNCwxhJA5Lr9jfSGRTwWebFa/w== +electron@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-11.1.0.tgz#8dfdf579d1eb79feef3e3d2937fc022e72129c90" + integrity sha512-RFAhR/852VMaRd9NSe7jprwSoG9dLc6u1GwnqRWg+/3cy/8Zrwt1Betw1lXiZH7hGuB9K2cqju83Xv5Pq5ZSGA== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" @@ -1357,17 +1357,15 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^6.13.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" +eslint-config-prettier@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz#c1ae4106f74e6c0357f44adb076771d032ac0e97" + integrity sha512-8Y8lGLVPPZdaNA7JXqnvETVC7IiVRgAP6afQu9gOQRn90YY3otMNh+x7Vr2vMePQntF+5erdSUBqSzCmU/AxaQ== -eslint-plugin-prettier@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.2.0.tgz#af391b2226fa0e15c96f36c733f6e9035dbd952c" - integrity sha512-kOUSJnFjAUFKwVxuzy6sA5yyMx6+o9ino4gCdShzBNx4eyFRudWRYKCFolKjoM40PEiuU6Cn7wBLfq3WsGg7qg== +eslint-plugin-prettier@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.0.tgz#61e295349a65688ffac0b7808ef0a8244bdd8d40" + integrity sha512-tMTwO8iUWlSRZIwS9k7/E4vrTsfvsrcM5p1eftyuqWH25nKsz/o6/54I7jwQ/3zobISyC7wMy9ZsFwgTxOcOpQ== dependencies: prettier-linter-helpers "^1.0.0" @@ -1655,11 +1653,6 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -1712,11 +1705,11 @@ global-agent@^2.0.2: serialize-error "^7.0.1" global-dirs@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz#acdf3bb6685bcd55cb35e8a052266569e9469201" - integrity sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A== + version "2.1.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" + integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== dependencies: - ini "^1.3.5" + ini "1.3.7" global-tunnel-ng@^2.7.1: version "2.7.1" @@ -1928,10 +1921,15 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +ini@1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + +ini@^1.3.4, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== interpret@^2.2.0: version "2.2.0" @@ -2069,9 +2067,9 @@ js-tokens@^4.0.0: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1, js-yaml@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -2610,9 +2608,9 @@ postcss-value-parser@^4.1.0: integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@^8.1.4: - version "8.1.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.14.tgz#77d6a5db2fdc0afa918e24af5323a53fb8727f2e" - integrity sha512-KatkyVPBKfENS+c3dpXJoDXnDD5UZs5exAnDksLqaRJPKwYphEPZt4N0m0i049v2/BtWVQibAhxW4ilXXcolpA== + version "8.2.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.1.tgz#eabc5557c4558059b9d9e5b15bce7ffa9089c2a8" + integrity sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA== dependencies: colorette "^1.2.1" nanoid "^3.1.20" @@ -3238,10 +3236,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.6: - version "8.0.11" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.11.tgz#35d58a65932caacb120426eea59eca841786c899" - integrity sha512-06X+mWA2JXoXJHYAesUUL4mHFYhnmyoCdQVMXofXF552Lzd4wNwSGg7unJpttqUP7ziaruM8d7u8LUB6I1sgzA== +ts-loader@^8.0.12: + version "8.0.12" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.12.tgz#1de9f1de65176318c1e6d187bfc496182f8dc2a0" + integrity sha512-UIivVfGVJDdwwjgSrbtcL9Nf10c1BWnL1mxAQUVcnhNIn/P9W3nP5v60Z0aBMtc7ZrE11lMmU6+5jSgAXmGaYw== dependencies: chalk "^2.3.0" enhanced-resolve "^4.0.0" @@ -3249,10 +3247,10 @@ ts-loader@^8.0.6: micromatch "^4.0.0" semver "^6.0.0" -ts-node@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.0.tgz#95eae4c6d0f94f2545884078e1eb1b14d2155639" - integrity sha512-0yqcL4sgruCvM+w64LiAfNJo6+lHfCYc5Ajj4yiLNkJ9oZ2HWaa+Kso7htYOOxVQ7+csAjdUjffOe9PIqC4pMg== +ts-node@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== dependencies: arg "^4.1.0" create-require "^1.1.0" @@ -3312,10 +3310,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.0.3: - version "4.1.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.2.tgz#6369ef22516fe5e10304aae5a5c4862db55380e9" - integrity sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ== +typescript@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== typical@^5.0.0, typical@^5.2.0: version "5.2.0" @@ -3411,9 +3409,9 @@ validate-npm-package-license@^3.0.1: spdx-expression-parse "^3.0.0" watchpack@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.0.1.tgz#2f2192c542c82a3bcde76acd3411470c120426a8" - integrity sha512-vO8AKGX22ZRo6PiOFM9dC0re8IcKh8Kd/aH2zeqUc6w4/jBGlTy2P7fTC6ekT0NjVeGjgU2dGC5rNstKkeLEQg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.0.tgz#e63194736bf3aa22026f7b191cd57907b0f9f696" + integrity sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -3444,10 +3442,10 @@ webpack-merge@^4.2.2: dependencies: lodash "^4.17.15" -webpack-merge@^5.2.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.4.0.tgz#81bef0a7d23fc1e6c24b06ad8bf22ddeb533a3a3" - integrity sha512-/scBgu8LVPlHDgqH95Aw1xS+L+PHrpHKOwYVGFaNOQl4Q4wwwWDarwB1WdZAbLQ24SKhY3Awe7VZGYAdp+N+gQ== +webpack-merge@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.0.tgz#004dec31f7a875e590c9731e5bdcd3efad0f2715" + integrity sha512-UryoMJGRMwOOh/ie4NXZC1OtT0mkA7Ny2+C/MkWOwTRG+jVNEwChVV/+x8rd+ga2mVLeQ0m+QmzLAg7N36+oag== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" @@ -3465,17 +3463,17 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@^5.6.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.10.0.tgz#6f77c31522a2c525152d9c344f9765d168b3df08" - integrity sha512-P0bHAXmIz0zsNcHNLqFmLY1ZtrT+jtBr7FqpuDtA2o7GiHC+zBsfhgK7SmJ1HG7BAEb3G9JoMdSVi7mEDvG3Zg== +webpack@^5.10.1: + version "5.10.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.10.1.tgz#81d1853d34bef5d6e5bfa119b98a43764b26c100" + integrity sha512-mHu4iM2mW7d/8R91VPPNtUCNd1D8k51TTb4e0XjylapIR6WEmW8XUTBZq8TqmShj9XYxVXJn6AzKlWnrlty6DA== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.45" - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/ast" "1.9.1" + "@webassemblyjs/helper-module-context" "1.9.1" + "@webassemblyjs/wasm-edit" "1.9.1" + "@webassemblyjs/wasm-parser" "1.9.1" acorn "^8.0.4" browserslist "^4.14.5" chrome-trace-event "^1.0.2" From 0f77c5dbe5d80fe8803a48989128f9f8c9b42947 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 14 Dec 2020 17:20:49 -0500 Subject: [PATCH 204/385] Removed piece of code that hid the frame on mac?! Wahoo forks!!!! --- src/background.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 13480320..b85593ef 100644 --- a/src/background.ts +++ b/src/background.ts @@ -151,7 +151,6 @@ if (!isFirstInstance) { height: 800, autoHideMenuBar: settingsManager.autoHideMenu, show: !settingsManager.startInTray, //Starts in tray if set - titleBarStyle: IS_MAC ? "hiddenInset" : "default", //Turn on hidden frame on a Mac icon: IS_LINUX ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") : undefined, From c7bc52ad469de4682d8212b6552a5f06abc81aaa Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 14 Dec 2020 17:37:05 -0500 Subject: [PATCH 205/385] v4.3.1 --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddeb2d43..e582f9c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [4.3.1] - 2020-12-14 +MacOS can move the window! + +## Fixed +- Monthlong bug where you cant move the window with a one line change :) + ## [4.3.0] - 2020-12-04 Google broke some things and there was some other stuff that has always been broken. diff --git a/package.json b/package.json index 3d7117c7..97a05e0f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.3.0", + "version": "4.3.1", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From e97f8636a4b5b4a45ac3c023bb9ee937827c0dee Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Mon, 14 Dec 2020 22:37:57 +0000 Subject: [PATCH 206/385] Restyled by prettier-markdown --- CHANGELOG.md | 192 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 156 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e582f9c9..73a1d062 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,23 @@ # Changelog ## [4.3.1] - 2020-12-14 + MacOS can move the window! ## Fixed + - Monthlong bug where you cant move the window with a one line change :) ## [4.3.0] - 2020-12-04 -Google broke some things and there was some other stuff that has always been broken. -Expect a major change under the hood SoonTM with numerous enhancements and quality of life improvements as requested -by the community. +Google broke some things and there was some other stuff that has always been +broken. + +Expect a major change under the hood SoonTM with numerous enhancements and +quality of life improvements as requested by the community. ## Fixed + - Bug with behavior of autohid menu when setting is toggled - Bug breaking icons in notifications - Bug with groupchat icons in notifications @@ -20,92 +25,135 @@ by the community. ## [4.2.0] - 2020-08-11 -Era of polish. Unless good ideas come in this application is essentially feature complete. Only refinements are needed from here on out. +Era of polish. Unless good ideas come in this application is essentially feature +complete. Only refinements are needed from here on out. ### Added + - Unread notification indicator on both linux and windows that actually works -- Window goes flashy when a notification comes in (open to making this a setting if requested) +- Window goes flashy when a notification comes in (open to making this a setting + if requested) ### Fixed + - Bug causing duplicating notifications ## [4.1.0] - 2020-06-12 -This should probably be a patch instead of a minor version. There are no breaking changes just a small bug fix. +This should probably be a patch instead of a minor version. There are no +breaking changes just a small bug fix. ### Added + - Behind the Scenes: Added CI ### Changed + - Under the hood: Bumped electron to 9.0.3 ### Fixed + - Bug preventing Windows Launch ## [4.0.0] - 2020-06-07 + ### Added + - Added the image of the message sender to the notification ### Changed + - Possibly fixed many of the issues people were having with shortcuts - Under the hood: switched to typescript - Under the hood: refactored a lot of things - Under the hood: updated all of the dependencies multiple major versions ## [3.1.0] - 2019-11-26 + ### Added -- Setting to follow (sync) system dark mode setting, changing from dark to light and vice versa as the operating system does -- This overrides the Google-provided setting within the 3-dot menu -- Setting and keyboard shortcut (Command or Control +/-) to zoom the application in or out a la a web browser allows a page + +- Setting to follow (sync) system dark mode setting, changing from dark to light + and vice versa as the operating system does -- This overrides the + Google-provided setting within the 3-dot menu +- Setting and keyboard shortcut (Command or Control +/-) to zoom the application + in or out a la a web browser allows a page ### Changed + - Under the hood: Notarize the macOS build of the app per Apple requirements - Under the hood: Update electron from 6.0.7 to 7.0.1 ## [3.0.0] - 2019-09-04 + ### Changed + - No longer prompt Linux users for sudo - Under the hood: Update electron from 4.0.4 to 6.0.7 - Under the hood: Update spellchecker and related electron dependencies ### Fixed -- Change location of dictionary files to the correct directory as specified by Electron, which manifested as a request for sudo on Linux, a JavaScript error on startup, and/or the spellchecker not working + +- Change location of dictionary files to the correct directory as specified by + Electron, which manifested as a request for sudo on Linux, a JavaScript error + on startup, and/or the spellchecker not working ## [2.0.0] - 2019-05-26 + ### Added + - 32-bit (x86) builds for Windows - Portable builds for Windows - KNOWN ISSUE: Portable builds for Windows cannot display system notifications - Setting to hide sender name and message preview in notifications -- Under the hood: Method for detecting when user logs in or out (auth vs. de-auth) -- Under the hood: System to execute commands as root user (see item under Fixed below) +- Under the hood: Method for detecting when user logs in or out (auth vs. + de-auth) +- Under the hood: System to execute commands as root user (see item under Fixed + below) ### Changed + - Update icon to match current style of official icon - Update icon to have a bit more space around the outside (padding) -- Under the hood: Refactor spellchecking dictionary manager logic and error handling +- Under the hood: Refactor spellchecking dictionary manager logic and error + handling ### Fixed -- Javascript error on launch for Linux users (resulting from dist dictionaries folder being owned by root--Linux users are now prompted to allow changing ownership of the dictionaries folder to the current user) + +- Javascript error on launch for Linux users (resulting from dist dictionaries + folder being owned by root--Linux users are now prompted to allow changing + ownership of the dictionaries folder to the current user) ## [1.0.1] - 2019-04-16 + ### Fixed -- Clicking links in text messages now opens them in your browser again instead of doing nothing (big oof) + +- Clicking links in text messages now opens them in your browser again instead + of doing nothing (big oof) ## [1.0.0] - 2019-04-05 + ### Changed -- *BREAKING CHANGE* Migrate to new URL provided by Google (messages.android.com -> messages.google.com, requires signing in again) + +- _BREAKING CHANGE_ Migrate to new URL provided by Google (messages.android.com + -> messages.google.com, requires signing in again) - Under the hood: Associated changes and fixes relating to URL change ## [0.9.1] - 2019-03-03 + ### Fixed -- Spell check now works again (abruptly stopped working after the release of 0.9.0 due to new HTTP security header) + +- Spell check now works again (abruptly stopped working after the release of + 0.9.0 due to new HTTP security header) ## [0.9.0] - 2019-02-18 + ### Added + - Setting to disable notification sound - Setting to disable sending message when pressing enter ### Changed + - Use inline window buttons on Mac (looks more similar to iMessage) - Update electron from 3.1.3 to 4.0.4 (see note under Fixed) - Update README.md @@ -115,144 +163,211 @@ This should probably be a patch instead of a minor version. There are no breakin - Under the hood: Code cleanup ### Fixed -- Localization of Messages page (buttons and text provided by Google) (this appeared to be broken in Electron 3) -- The link to a support page shown when the app can't detect the phone should now open in system web browser like other links + +- Localization of Messages page (buttons and text provided by Google) (this + appeared to be broken in Electron 3) +- The link to a support page shown when the app can't detect the phone should + now open in system web browser like other links ## [0.8.0] - 2019-02-12 + ### Added + - Spellchecking for various languages (see notes in README) -- Manually refreshing the webview for those times when the app gets all 🤪 (Accessible by pressing Ctrl+R or Cmd+R) +- Manually refreshing the webview for those times when the app gets all 🤪 + (Accessible by pressing Ctrl+R or Cmd+R) - Full screen toggle item to View menu ### Changed -- Update electron from 2.0.12 to 3.1.3 (Electron 3 is required by electron-updater 4 which is required by electron-builder 20) + +- Update electron from 2.0.12 to 3.1.3 (Electron 3 is required by + electron-updater 4 which is required by electron-builder 20) ### Fixed + - Location of Check for Updates menu item on Windows (Now under Help) ## [0.7.1] - 2018-11-17 + ### Changed + - Update electron from 2.0.2 to 2.0.12 ## [0.7.0] - 2018-07-25 + ### Added -- Toggle for tray shortcut to make app visible on Windows (single or double-click, previously there was no preference and the shortcut was double-click) + +- Toggle for tray shortcut to make app visible on Windows (single or + double-click, previously there was no preference and the shortcut was + double-click) ### Changed -- Under the hood: Overhaul communication between main process and webview to faciliate notification customization + +- Under the hood: Overhaul communication between main process and webview to + faciliate notification customization ### Fixed -- Clicking a notification now highlights that conversation (this was working before 0.6.0 and accidentally broken when making app visible on notification click...now clicking shows the app *and* highlights the conversation 🎉) + +- Clicking a notification now highlights that conversation (this was working + before 0.6.0 and accidentally broken when making app visible on notification + click...now clicking shows the app _and_ highlights the conversation 🎉) ## [0.6.0] - 2018-07-20 + ### Added + - Visual indicator (badge) to Windows tray icon when notification comes in - Link to package for this app on AUR (for Arch Linux users) ### Changed + - Clicking notification now makes app visible and focused - Under the hood: Method of displaying notification (with our bridge/ipc) - Update README.md ### Fixed + - Linux now respects your choice when asking to restart the app - Typos in README.md corrected ## [0.5.0] - 2018-07-17 + ### Added + - Setting to start in tray (automatically hide app on start) - Setting to make tray/menu bar functionality optional - Preferences on Mac ### Changed + - Default to enabling tray only on Windows and Mac - Refine window minimizing and closing UX further: - - On Windows and Linux, closing window when tray icon is disabled now closes the app entirely - - On Windows and Linux, when the tray icon is disabled, the option to start in tray is disabled + - On Windows and Linux, closing window when tray icon is disabled now closes + the app entirely + - On Windows and Linux, when the tray icon is disabled, the option to start in + tray is disabled - Make certain UI language more platform-specific -- KNOWN ISSUE: Toggling the tray from on to off while using Linux requires an app restart for now +- KNOWN ISSUE: Toggling the tray from on to off while using Linux requires an + app restart for now - Refactor some tray code into a new class to manage it, TrayManager ### Fixed -- Mac tray (menu bar) icon now inverts correctly when selected or Finder is in dark mode + +- Mac tray (menu bar) icon now inverts correctly when selected or Finder is in + dark mode ## [0.4.0] - 2018-07-14 + ### Added -- Right-click context menu with support for cut/copy/paste/undo/redo/save image/save video + +- Right-click context menu with support for cut/copy/paste/undo/redo/save + image/save video - Builds for pacman package manager (used by Arch Linux and related distros) - Changelog (with shortcut to changelog in Help menu) ### Changed + - Update README.md - On launch, open dev tools for the webview when in dev mode ### Fixed + - App icon not showing or showing sporadically on Linux ### Removed + - Some dead code/comments ## [0.3.0] - 2018-07-08 + ### Added + - Tray icon support for macOS and Linux - Show/hide toggle to tray context menu - File menu with items to manually check for updates and quit the app -- Standard Window menu provided by electron (with proper minimize/hide items and keyboard shortcuts) +- Standard Window menu provided by electron (with proper minimize/hide items and + keyboard shortcuts) - One-time notification about minimizing to tray on Windows -- Build scripts to only build instead of building and attempting to publish a release +- Build scripts to only build instead of building and attempting to publish a + release ### Changed -- Minimize/close behavior on Windows and Linux (minimizing now minimizes, closing now minimizes to tray) + +- Minimize/close behavior on Windows and Linux (minimizing now minimizes, + closing now minimizes to tray) - Refactor menu code ### Fixed + - Command+H app hiding behavior on macOS (now defocuses app when hiding window) ## [0.2.0] - 2018-07-05 + ### Added -- Setting to auto-hide menu bar (and toggle its appearance via the standard Alt+H shortcut) on Windows and Linux + +- Setting to auto-hide menu bar (and toggle its appearance via the standard + Alt+H shortcut) on Windows and Linux - electron-settings dependency for managing the above and future user settings - Screenshots of Windows tray and macOS dock functionality ### Changed + - Update README.md ### Removed + - "Hello World" code and unit/e2e tests from boilerplate ## [0.1.0] - 2018-06-27 + ### Added -- Notification count badge in dock on macOS (clears on window focus/app.activate) + +- Notification count badge in dock on macOS (clears on window + focus/app.activate) - Tray icon and minimizing to tray for Windows - Command+H shortcut to hide app on macOS ### Changed + - Closing window on macOS now doesn't quit app (expected UX on macOS) -- Prevent multiple instances of app being able to launch (for example, when minimized to tray on Windows without pinning to taskbar, then clicking a shortcut from the Start menu) +- Prevent multiple instances of app being able to launch (for example, when + minimized to tray on Windows without pinning to taskbar, then clicking a + shortcut from the Start menu) - Update README.md ## [0.0.5] - 2018-06-26 + ### Changed + - Update README.md - Update shape of chat bubble in icon - Use different combination of scripts to generate icons ### Fixed + - Corrupt icons in Windows Taskbar and macOS Spotlight ## [0.0.4] - 2018-06-24 + ### Changed + - README.md even more complete ### Fixed + - Hyperlinks in text messages now open in system default browser when clicked ## [0.0.3] - 2018-06-22 + ### Changed -- Nothing besides the version number, just created this version to test auto-update functionality + +- Nothing besides the version number, just created this version to test + auto-update functionality ## [0.0.2] - 2018-06-22 + ### Added + - Signed app binary for macOS - Notifications on Windows - Builds for various Linux distros/package managers @@ -261,6 +376,7 @@ This should probably be a patch instead of a minor version. There are no breakin - TODOs ### Changed + - README.md more complete - package.json more complete - Values and code elements from boilerplate updates @@ -268,9 +384,13 @@ This should probably be a patch instead of a minor version. There are no breakin - Generate icons via a script ## 0.0.1 - 2018-06-21 + ### Added + - Project files (initial release) ### Changed + - It works! (I think hope) -- No Linux binary, no signing certs for Mac/Windows, no actual icon...but it's a start. +- No Linux binary, no signing certs for Mac/Windows, no actual icon...but it's a + start. From 1c48178ffcbbada567b173cabc5ed1fea7e1bf9c Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 16 Dec 2020 15:57:05 -0500 Subject: [PATCH 207/385] Set user agent of the webcontents before loading the html --- src/background.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/background.ts b/src/background.ts index b85593ef..e174122d 100644 --- a/src/background.ts +++ b/src/background.ts @@ -160,6 +160,11 @@ if (!isFirstInstance) { enableRemoteModule: true, }, }); + + // set user agent to potentially make google fi work + mainWindow.webContents.userAgent = + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"; + mainWindow.loadFile(path.resolve(BASE_APP_PATH, "app", "index.html")); // Quick and dirty way for renderer process to access mainWindow for communication From a158f668744883029cdf22b9a3b14d5457031aa9 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 18 Dec 2020 15:54:08 -0500 Subject: [PATCH 208/385] Applied above change with slightly newer js syntax --- src/background.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index e174122d..0c0cf275 100644 --- a/src/background.ts +++ b/src/background.ts @@ -162,9 +162,19 @@ if (!isFirstInstance) { }); // set user agent to potentially make google fi work - mainWindow.webContents.userAgent = + const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"; + mainWindow.webContents.session.webRequest.onBeforeSendHeaders( + { + urls: ["https://accounts.google.com/*"], + }, + ({ requestHeaders }, callback) => + callback({ + requestHeaders: { ...requestHeaders, "User-Agent": userAgent }, + }) + ); + mainWindow.loadFile(path.resolve(BASE_APP_PATH, "app", "index.html")); // Quick and dirty way for renderer process to access mainWindow for communication From c93b3b438c3826a9aefaff240a756d9e92907d0c Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 18 Dec 2020 15:56:56 -0500 Subject: [PATCH 209/385] Update dependencies --- package.json | 8 +- yarn.lock | 244 ++++++++++++++++++++++++++++++++++++++------------- 2 files changed, 188 insertions(+), 64 deletions(-) diff --git a/package.json b/package.json index 97a05e0f..8d5a0d42 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ }, "devDependencies": { "@types/electron-settings": "^3.1.1", - "@types/node": "14.14.13", + "@types/node": "14.14.14", "@types/webpack": "^4.41.23", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", @@ -46,7 +46,7 @@ "eslint": "^7.11.0", "eslint-config-prettier": "^7.0.0", "eslint-plugin-prettier": "^3.3.0", - "html-webpack-plugin": "^5.0.0-alpha.15", + "html-webpack-plugin": "^4.5.0", "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", @@ -54,9 +54,9 @@ "ts-loader": "^8.0.12", "ts-node": "^9.1.1", "typescript": "^4.1.3", - "webpack": "^5.10.1", + "webpack": "^5.11.0", "webpack-cli": "^4.1.0", - "webpack-merge": "^5.7.0", + "webpack-merge": "^5.7.2", "webpack-node-externals": "^2.5.2" } } diff --git a/yarn.lock b/yarn.lock index d89ac4f8..760204c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,16 +8,16 @@ integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== "@babel/code-frame@^7.0.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" "@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== "@babel/highlight@^7.10.4": version "7.10.4" @@ -156,10 +156,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/node@*", "@types/node@14.14.13": - version "14.14.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.13.tgz#9e425079799322113ae8477297ae6ef51b8e0cdf" - integrity sha512-vbxr0VZ8exFMMAjCW8rJwaya0dMCDyYW2ZRdTyjtrCvJoENMpdUHOT/eTzvgyA5ZnqRZ/sI0NwqAxNHKYokLJQ== +"@types/node@*", "@types/node@14.14.14": + version "14.14.14" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.14.tgz#f7fd5f3cc8521301119f63910f0fb965c7d761ae" + integrity sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ== "@types/node@^12.0.12": version "12.19.9" @@ -176,7 +176,7 @@ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/tapable@*": +"@types/tapable@*", "@types/tapable@^1.0.5": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== @@ -211,7 +211,7 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.23": +"@types/webpack@*", "@types/webpack@^4.41.23", "@types/webpack@^4.41.8": version "4.41.25" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== @@ -229,9 +229,9 @@ integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== "@types/yargs@^15.0.5": - version "15.0.11" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.11.tgz#361d7579ecdac1527687bcebf9946621c12ab78c" - integrity sha512-jfcNBxHFYJ4nPIacsi3woz1+kvUO6s1CyeEhtnDHBjHUMNj5UlW2GynmnSgiJJEdNg9yW5C8lfoNRZrHGv5EqA== + version "15.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" + integrity sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== dependencies: "@types/yargs-parser" "*" @@ -746,6 +746,14 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" +call-bind@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" + integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.0" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -770,9 +778,9 @@ camelcase@^6.2.0: integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-lite@^1.0.30001165: - version "1.0.30001166" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001166.tgz#ca73e8747acfd16a4fd6c4b784f1b995f9698cf8" - integrity sha512-nCL4LzYK7F4mL0TjEMeYavafOGnBa98vTudH5c8lW9izUjnB99InG6pmC1ElAI1p0GlyZajv4ltUdFXvOHIl1A== + version "1.0.30001168" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001168.tgz#6fcd098c139d003b9bd484cbb9ca26cb89907f9a" + integrity sha512-P2zmX7swIXKu+GMMR01TWa4csIKELTNnZKc+f1CjebmZJQtTAEXmpQSoKVJVVcvPGAA0TEYTOUp3VehavZSFPQ== chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" @@ -1057,7 +1065,7 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-properties@^1.1.3: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -1228,9 +1236,9 @@ electron-settings@3.2.0: jsonfile "^4.0.0" electron-to-chromium@^1.3.621: - version "1.3.626" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.626.tgz#48acdf322be07feb2c1330ba05e4bf6327f721a3" - integrity sha512-7CanEvJx74EnvjHu1X8gf93KieyxvFLnqOXAH/ddjWD4RrUZYqdg3pykrQ/7t6SLI7DTsp4tfQXEfzeK5t6oAw== + version "1.3.629" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.629.tgz#a08d13b64d90e3c77ec5b9bffa3efbc5b4a00969" + integrity sha512-iSPPJtPvHrMAvYOt+9cdbDmTasPqwnwz4lkP8Dn200gDNUBQOLQ96xUsWXBwXslAo5XxdoXAoQQ3RAy4uao9IQ== electron-updater@4.3.5: version "4.3.5" @@ -1326,12 +1334,39 @@ envinfo@^7.7.3: integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== errno@^0.1.3: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" +es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + es6-error@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" @@ -1653,6 +1688,15 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" + integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -1779,6 +1823,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -1821,17 +1870,20 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-webpack-plugin@^5.0.0-alpha.15: - version "5.0.0-alpha.15" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.0.0-alpha.15.tgz#4562c3afa9d79e2ee0cf0c8e1a43ed47487d6115" - integrity sha512-SFnpxiOo8EZ37fPUG4elnii78E7WBlv6pqJl0rwK5knWRpvzQbbPGmn/hNrnBvgPbKi5RHwoaEdsQkLvHk+AzA== +html-webpack-plugin@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" + integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw== dependencies: "@types/html-minifier-terser" "^5.0.0" + "@types/tapable" "^1.0.5" + "@types/webpack" "^4.41.8" html-minifier-terser "^5.0.1" - loader-utils "2.0.0" - lodash "^4.17.20" + loader-utils "^1.2.3" + lodash "^4.17.15" pretty-error "^2.1.1" - tapable "2.0.0" + tapable "^1.1.3" + util.promisify "1.0.0" htmlparser2@^3.3.0: version "3.10.1" @@ -1936,6 +1988,11 @@ interpret@^2.2.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -1950,6 +2007,11 @@ is-core-module@^2.1.0: dependencies: has "^1.0.3" +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1980,6 +2042,11 @@ is-installed-globally@^0.3.1: global-dirs "^2.0.1" is-path-inside "^3.0.1" +is-negative-zero@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + is-npm@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" @@ -2007,11 +2074,25 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + is-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2171,16 +2252,7 @@ loader-runner@^4.1.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.1.0.tgz#f70bc0c29edbabdf2043e7ee73ccc3fe1c96b42d" integrity sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA== -loader-utils@2.0.0, loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^1.0.2: +loader-utils@^1.0.2, loader-utils@^1.2.3: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -2189,6 +2261,15 @@ loader-utils@^1.0.2: emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -2295,9 +2376,9 @@ mime-types@^2.1.27: mime-db "1.44.0" mime@^2.4.6: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + version "2.4.7" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.7.tgz#962aed9be0ed19c91fd7dc2ece5d7f4e89a90d74" + integrity sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA== mimic-fn@^2.1.0: version "2.1.0" @@ -2403,11 +2484,35 @@ nth-check@~1.0.1: dependencies: boolbase "~1.0.0" -object-keys@^1.0.12: +object-inspect@^1.8.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" + integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== + +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== +object.assign@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" + integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -3055,6 +3160,22 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string.prototype.trimend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" + integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" + integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -3154,12 +3275,7 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.0.0.tgz#a49c3d6a8a2bb606e7db372b82904c970d537a08" - integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg== - -tapable@^1.0.0: +tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== @@ -3390,6 +3506,14 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -3442,10 +3566,10 @@ webpack-merge@^4.2.2: dependencies: lodash "^4.17.15" -webpack-merge@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.0.tgz#004dec31f7a875e590c9731e5bdcd3efad0f2715" - integrity sha512-UryoMJGRMwOOh/ie4NXZC1OtT0mkA7Ny2+C/MkWOwTRG+jVNEwChVV/+x8rd+ga2mVLeQ0m+QmzLAg7N36+oag== +webpack-merge@^5.7.2: + version "5.7.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.2.tgz#55320baf05d8be068ff8112be72c04d7c14a9abd" + integrity sha512-7o7qjwcIB6lqHX0VZA2Vxcp8RHftW1LNcaB6t87PEpco/VPlG0Wn9DnvgmcJ0nZU578/vKQfhDSLTF0EZ+pFAg== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" @@ -3463,10 +3587,10 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@^5.10.1: - version "5.10.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.10.1.tgz#81d1853d34bef5d6e5bfa119b98a43764b26c100" - integrity sha512-mHu4iM2mW7d/8R91VPPNtUCNd1D8k51TTb4e0XjylapIR6WEmW8XUTBZq8TqmShj9XYxVXJn6AzKlWnrlty6DA== +webpack@^5.11.0: + version "5.11.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.11.0.tgz#1647abc060441d86d01d8835b8f0fc1dae2fe76f" + integrity sha512-ubWv7iP54RqAC/VjixgpnLLogCFbAfSOREcSWnnOlZEU8GICC5eKmJSu6YEnph2N2amKqY9rvxSwgyHxVqpaRw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.45" From b2fe9050163a0613b0730eeaf96bd01547ca37c7 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 19 Dec 2020 14:44:46 -0500 Subject: [PATCH 210/385] v4.4.1 --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73a1d062..7ee02ae8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [4.4.0] - 2020-12-19 + +Google Fi integration + +## Added + +- google fi integration + ## [4.3.1] - 2020-12-14 MacOS can move the window! diff --git a/package.json b/package.json index 8d5a0d42..4b391063 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.3.1", + "version": "4.4.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 07568cc2297f863fd485f3ba99e6913326a4f8e4 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 28 Dec 2020 22:22:59 +0000 Subject: [PATCH 211/385] Update README.md --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 010d57d7..a101d34a 100644 --- a/README.md +++ b/README.md @@ -28,3 +28,15 @@ I test releases on Arch Linux. I would love help testing in additional places. **Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. + +# Contributions + +The code is pretty ugly but feel free to take a look. + +Steps to contribute: +Fork +Clone +Edit +`yarn install` for dependencies +`yarn start` to build and run assuming you have electron installed. +Open a pull request when you think it is ready From af37985547ac7f58f96c379e62cf359057eeceec Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 28 Dec 2020 22:23:30 +0000 Subject: [PATCH 212/385] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a101d34a..fa2b84e9 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,9 @@ at this time. The code is pretty ugly but feel free to take a look. Steps to contribute: -Fork -Clone -Edit -`yarn install` for dependencies -`yarn start` to build and run assuming you have electron installed. -Open a pull request when you think it is ready +1. Fork +2. Clone +3. Edit +4. `yarn install` for dependencies +5. `yarn start` to build and run assuming you have electron installed. +6. Open a pull request when you think it is ready From 738f58811d9ac272bfa2976bfe4012df9752742f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 28 Dec 2020 17:33:09 -0500 Subject: [PATCH 213/385] dependency bump --- package.json | 18 +-- yarn.lock | 348 +++++++++++++++++++++++---------------------------- 2 files changed, 164 insertions(+), 202 deletions(-) diff --git a/package.json b/package.json index 4b391063..e6c8e662 100644 --- a/package.json +++ b/package.json @@ -33,18 +33,18 @@ }, "devDependencies": { "@types/electron-settings": "^3.1.1", - "@types/node": "14.14.14", + "@types/node": "14.14.16", "@types/webpack": "^4.41.23", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^4.10.0", - "@typescript-eslint/parser": "^4.10.0", + "@typescript-eslint/eslint-plugin": "^4.11.1", + "@typescript-eslint/parser": "^4.11.1", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "11.1.0", + "electron": "11.1.1", "electron-builder": "22.9.1", - "eslint": "^7.11.0", - "eslint-config-prettier": "^7.0.0", + "eslint": "^7.16.0", + "eslint-config-prettier": "^7.1.0", "eslint-plugin-prettier": "^3.3.0", "html-webpack-plugin": "^4.5.0", "png2icons": "^2.0.1", @@ -54,9 +54,9 @@ "ts-loader": "^8.0.12", "ts-node": "^9.1.1", "typescript": "^4.1.3", - "webpack": "^5.11.0", - "webpack-cli": "^4.1.0", - "webpack-merge": "^5.7.2", + "webpack": "^5.11.1", + "webpack-cli": "^4.3.0", + "webpack-merge": "^5.7.3", "webpack-node-externals": "^2.5.2" } } diff --git a/yarn.lock b/yarn.lock index 760204c2..fb4baf9c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -36,6 +36,11 @@ ajv "^6.12.0" ajv-keywords "^3.4.1" +"@discoveryjs/json-ext@^0.5.0": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" + integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== + "@electron/get@^1.0.1": version "1.12.2" resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3" @@ -68,25 +73,25 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== dependencies: - "@nodelib/fs.stat" "2.0.3" + "@nodelib/fs.stat" "2.0.4" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== "@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + version "1.2.6" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== dependencies: - "@nodelib/fs.scandir" "2.1.3" + "@nodelib/fs.scandir" "2.1.4" fastq "^1.6.0" "@sindresorhus/is@^0.14.0": @@ -140,9 +145,9 @@ integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== "@types/fs-extra@^9.0.1": - version "9.0.5" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.5.tgz#2afb76a43a4bef80a363b94b314d0ca1694fc4f8" - integrity sha512-wr3t7wIW1c0A2BIJtdVp4EflriVaVVAsCAIHVzzh8B+GiFv9X1xeJjCs4upRXtzp7kQ6lP5xvskjoD4awJ1ZeA== + version "9.0.6" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.6.tgz#488e56b77299899a608b8269719c1d133027a6ab" + integrity sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig== dependencies: "@types/node" "*" @@ -156,15 +161,15 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== -"@types/node@*", "@types/node@14.14.14": - version "14.14.14" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.14.tgz#f7fd5f3cc8521301119f63910f0fb965c7d761ae" - integrity sha512-UHnOPWVWV1z+VV8k6L1HhG7UbGBgIdghqF3l9Ny9ApPghbjICXkUJSd/b9gOgQfjM1r+37cipdw/HJ3F6ICEnQ== +"@types/node@*", "@types/node@14.14.16": + version "14.14.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.16.tgz#3cc351f8d48101deadfed4c9e4f116048d437b4b" + integrity sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw== "@types/node@^12.0.12": - version "12.19.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.9.tgz#990ad687ad8b26ef6dcc34a4f69c33d40c95b679" - integrity sha512-yj0DOaQeUrk3nJ0bd3Y5PeDRJ6W0r+kilosLA+dzF3dola/o9hxhMSg2sFvVcA2UHS5JSOsZp4S0c1OEXc4m1Q== + version "12.19.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.11.tgz#9220ab4b20d91169eb78f456dbfcbabee89dfb50" + integrity sha512-bwVfNTFZOrGXyiQ6t4B9sZerMSShWNsGRw8tC5DY1qImUNczS9SjT4G6PnzjCnxsu5Ubj6xjL2lgwddkxtQl5w== "@types/semver@^7.3.1": version "7.3.4" @@ -224,9 +229,9 @@ source-map "^0.6.0" "@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + version "20.2.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" + integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== "@types/yargs@^15.0.5": version "15.0.12" @@ -235,61 +240,61 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.10.0.tgz#19ed3baf4bc4232c5a7fcd32eaca75c3a5baf9f3" - integrity sha512-h6/V46o6aXpKRlarP1AiJEXuCJ7cMQdlpfMDrcllIgX3dFkLwEBTXAoNP98ZoOmqd1xvymMVRAI4e7yVvlzWEg== +"@typescript-eslint/eslint-plugin@^4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.1.tgz#7579c6d17ad862154c10bc14b40e5427b729e209" + integrity sha512-fABclAX2QIEDmTMk6Yd7Muv1CzFLwWM4505nETzRHpP3br6jfahD9UUJkhnJ/g2m7lwfz8IlswcwGGPGiq9exw== dependencies: - "@typescript-eslint/experimental-utils" "4.10.0" - "@typescript-eslint/scope-manager" "4.10.0" + "@typescript-eslint/experimental-utils" "4.11.1" + "@typescript-eslint/scope-manager" "4.11.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.10.0.tgz#dbf5d0f89802d5feaf7d11e5b32df29bbc2f3a0e" - integrity sha512-opX+7ai1sdWBOIoBgpVJrH5e89ra1KoLrJTz0UtWAa4IekkKmqDosk5r6xqRaNJfCXEfteW4HXQAwMdx+jjEmw== +"@typescript-eslint/experimental-utils@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.1.tgz#2dad3535b878c25c7424e40bfa79d899f3f485bc" + integrity sha512-mAlWowT4A6h0TC9F+J5pdbEhjNiEMO+kqPKQ4sc3fVieKL71dEqfkKgtcFVSX3cjSBwYwhImaQ/mXQF0oaI38g== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.10.0" - "@typescript-eslint/types" "4.10.0" - "@typescript-eslint/typescript-estree" "4.10.0" + "@typescript-eslint/scope-manager" "4.11.1" + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/typescript-estree" "4.11.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.10.0.tgz#1a622b0847b765b2d8f0ede6f0cdd85f03d76031" - integrity sha512-amBvUUGBMadzCW6c/qaZmfr3t9PyevcSWw7hY2FuevdZVp5QPw/K76VSQ5Sw3BxlgYCHZcK6DjIhSZK0PQNsQg== +"@typescript-eslint/parser@^4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.11.1.tgz#981e18de2e019d6ca312596615f92e8f6f6598ed" + integrity sha512-BJ3jwPQu1jeynJ5BrjLuGfK/UJu6uwHxJ/di7sanqmUmxzmyIcd3vz58PMR7wpi8k3iWq2Q11KMYgZbUpRoIPw== dependencies: - "@typescript-eslint/scope-manager" "4.10.0" - "@typescript-eslint/types" "4.10.0" - "@typescript-eslint/typescript-estree" "4.10.0" + "@typescript-eslint/scope-manager" "4.11.1" + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/typescript-estree" "4.11.1" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.10.0.tgz#dbd7e1fc63d7363e3aaff742a6f2b8afdbac9d27" - integrity sha512-WAPVw35P+fcnOa8DEic0tQUhoJJsgt+g6DEcz257G7vHFMwmag58EfowdVbiNcdfcV27EFR0tUBVXkDoIvfisQ== +"@typescript-eslint/scope-manager@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.11.1.tgz#72dc2b60b0029ab0888479b12bf83034920b4b69" + integrity sha512-Al2P394dx+kXCl61fhrrZ1FTI7qsRDIUiVSuN6rTwss6lUn8uVO2+nnF4AvO0ug8vMsy3ShkbxLu/uWZdTtJMQ== dependencies: - "@typescript-eslint/types" "4.10.0" - "@typescript-eslint/visitor-keys" "4.10.0" + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/visitor-keys" "4.11.1" -"@typescript-eslint/types@4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.10.0.tgz#12f983750ebad867f0c806e705c1953cd6415789" - integrity sha512-+dt5w1+Lqyd7wIPMa4XhJxUuE8+YF+vxQ6zxHyhLGHJjHiunPf0wSV8LtQwkpmAsRi1lEOoOIR30FG5S2HS33g== +"@typescript-eslint/types@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.11.1.tgz#3ba30c965963ef9f8ced5a29938dd0c465bd3e05" + integrity sha512-5kvd38wZpqGY4yP/6W3qhYX6Hz0NwUbijVsX2rxczpY6OXaMxh0+5E5uLJKVFwaBM7PJe1wnMym85NfKYIh6CA== -"@typescript-eslint/typescript-estree@4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.10.0.tgz#1e62e45fd57866afd42daf5e9fb6bd4e8dbcfa75" - integrity sha512-mGK0YRp9TOk6ZqZ98F++bW6X5kMTzCRROJkGXH62d2azhghmq+1LNLylkGe6uGUOQzD452NOAEth5VAF6PDo5g== +"@typescript-eslint/typescript-estree@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.1.tgz#a4416b4a65872a48773b9e47afabdf7519eb10bc" + integrity sha512-tC7MKZIMRTYxQhrVAFoJq/DlRwv1bnqA4/S2r3+HuHibqvbrPcyf858lNzU7bFmy4mLeIHFYr34ar/1KumwyRw== dependencies: - "@typescript-eslint/types" "4.10.0" - "@typescript-eslint/visitor-keys" "4.10.0" + "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/visitor-keys" "4.11.1" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -297,12 +302,12 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.10.0": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.10.0.tgz#9478822329a9bc8ebcc80623d7f79a01da5ee451" - integrity sha512-hPyz5qmDMuZWFtHZkjcCpkAKHX8vdu1G3YsCLEd25ryZgnJfj6FQuJ5/O7R+dB1ueszilJmAFMtlU4CA6se3Jg== +"@typescript-eslint/visitor-keys@4.11.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.1.tgz#4c050a4c1f7239786e2dd4e69691436143024e05" + integrity sha512-IrlBhD9bm4bdYcS8xpWarazkKXlE7iYb1HzRuyBP114mIaj5DJPo11Us1HgH60dTt41TCZXMaTCAW+OILIYPOg== dependencies: - "@typescript-eslint/types" "4.10.0" + "@typescript-eslint/types" "4.11.1" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.9.1": @@ -450,17 +455,17 @@ "@webassemblyjs/wast-parser" "1.9.1" "@xtuc/long" "4.2.2" -"@webpack-cli/info@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.1.0.tgz#c596d5bc48418b39df00c5ed7341bf0f102dbff1" - integrity sha512-uNWSdaYHc+f3LdIZNwhdhkjjLDDl3jP2+XBqAq9H8DjrJUvlOKdP8TNruy1yEaDfgpAIgbSAN7pye4FEHg9tYQ== +"@webpack-cli/info@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.0.tgz#6051d6adf3618df664f4945a2b76355c00f83f0d" + integrity sha512-+wA8lBKopgKmN76BSGJVJby5ZXDlsrO6p/nm7fUBsHznRNWB/ozotJP7Yfcz8JPfqeG2LxwYlTH2u6D9a/0XAw== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.1.0.tgz#13ad38f89b6e53d1133bac0006a128217a6ebf92" - integrity sha512-7RfnMXCpJ/NThrhq4gYQYILB18xWyoQcBey81oIyVbmgbc6m5ZHHyFK+DyH7pLHJf0p14MxL4mTsoPAgBSTpIg== +"@webpack-cli/serve@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.2.0.tgz#8cb2c1e95426f5caed1f3bf9d7ccf3ea41d85f52" + integrity sha512-jI3P7jMp/AXDSPkM+ClwRcJZbxnlvNC8bVZBmyRr4scMMZ4p5WQcXkw3Q+Hc7RQekomJlBMN+UQGliT4hhG8Vw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -497,7 +502,7 @@ ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -534,7 +539,7 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -593,20 +598,15 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -array-back@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.1.tgz#9b80312935a52062e1a233a9c7abeb5481b30e90" - integrity sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg== - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== async-exit-hook@^2.0.1: version "2.0.1" @@ -778,9 +778,9 @@ camelcase@^6.2.0: integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-lite@^1.0.30001165: - version "1.0.30001168" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001168.tgz#6fcd098c139d003b9bd484cbb9ca26cb89907f9a" - integrity sha512-P2zmX7swIXKu+GMMR01TWa4csIKELTNnZKc+f1CjebmZJQtTAEXmpQSoKVJVVcvPGAA0TEYTOUp3VehavZSFPQ== + version "1.0.30001170" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz#0088bfecc6a14694969e391cc29d7eb6362ca6a7" + integrity sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA== chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" @@ -895,16 +895,6 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== -command-line-usage@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.1.tgz#c908e28686108917758a49f45efb4f02f76bc03f" - integrity sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA== - dependencies: - array-back "^4.0.1" - chalk "^2.4.2" - table-layout "^1.0.1" - typical "^5.2.0" - commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -1050,7 +1040,7 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -deep-extend@^0.6.0, deep-extend@~0.6.0: +deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== @@ -1236,9 +1226,9 @@ electron-settings@3.2.0: jsonfile "^4.0.0" electron-to-chromium@^1.3.621: - version "1.3.629" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.629.tgz#a08d13b64d90e3c77ec5b9bffa3efbc5b4a00969" - integrity sha512-iSPPJtPvHrMAvYOt+9cdbDmTasPqwnwz4lkP8Dn200gDNUBQOLQ96xUsWXBwXslAo5XxdoXAoQQ3RAy4uao9IQ== + version "1.3.633" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe" + integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA== electron-updater@4.3.5: version "4.3.5" @@ -1253,10 +1243,10 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-11.1.0.tgz#8dfdf579d1eb79feef3e3d2937fc022e72129c90" - integrity sha512-RFAhR/852VMaRd9NSe7jprwSoG9dLc6u1GwnqRWg+/3cy/8Zrwt1Betw1lXiZH7hGuB9K2cqju83Xv5Pq5ZSGA== +electron@11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/electron/-/electron-11.1.1.tgz#188f036f8282798398dca9513e9bb3b10213e3aa" + integrity sha512-tlbex3xosJgfileN6BAQRotevPRXB/wQIq48QeQ08tUJJrXwE72c8smsM/hbHx5eDgnbfJ2G3a60PmRjHU2NhA== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" @@ -1299,12 +1289,12 @@ enhanced-resolve@^4.0.0: tapable "^1.0.0" enhanced-resolve@^5.3.1: - version "5.4.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.4.0.tgz#a8bcf23b00affac9455cf71efd80844f4054f4dc" - integrity sha512-ZmqfWURB2lConOBM1JdCVfPyMRv5RdKWktLXO6123p97ovVm2CLBgw9t5MBj3jJWA6eHyOeIws9iJQoGFR4euQ== + version "5.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.4.1.tgz#c89b0c34f17f931902ef2913a125d4b825b49b6f" + integrity sha512-4GbyIMzYktTFoRSmkbgZ1LU+RXwf4AQ8Z+rSuuh1dC8plp0PPeaWvx6+G4hh4KnUJ48VoxKbNyA1QQQIUpXjYA== dependencies: graceful-fs "^4.2.4" - tapable "^2.0.0" + tapable "^2.2.0" enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" @@ -1392,10 +1382,10 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.0.0.tgz#c1ae4106f74e6c0357f44adb076771d032ac0e97" - integrity sha512-8Y8lGLVPPZdaNA7JXqnvETVC7IiVRgAP6afQu9gOQRn90YY3otMNh+x7Vr2vMePQntF+5erdSUBqSzCmU/AxaQ== +eslint-config-prettier@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz#5402eb559aa94b894effd6bddfa0b1ca051c858f" + integrity sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA== eslint-plugin-prettier@^3.3.0: version "3.3.0" @@ -1429,10 +1419,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.11.0: - version "7.15.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.15.0.tgz#eb155fb8ed0865fcf5d903f76be2e5b6cd7e0bc7" - integrity sha512-Vr64xFDT8w30wFll643e7cGrIkPEU50yIiI36OdSIDoSGguIeaLzBo0vpGvzo9RECUqq7htURfwEtKqwytkqzA== +eslint@^7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.16.0.tgz#a761605bf9a7b32d24bb7cde59aeb0fd76f06092" + integrity sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw== dependencies: "@babel/code-frame" "^7.0.0" "@eslint/eslintrc" "^0.2.2" @@ -1468,7 +1458,7 @@ eslint@^7.11.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^5.2.3" + table "^6.0.4" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -1577,10 +1567,15 @@ fast-levenshtein@^2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastq@^1.6.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" - integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== + version "1.10.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" + integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== dependencies: reusify "^1.0.4" @@ -1930,9 +1925,9 @@ ignore@^5.1.4: integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.2.2" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" - integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -2234,11 +2229,6 @@ lazy-val@^1.0.4: resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -2289,7 +2279,7 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20: +lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -2848,11 +2838,6 @@ rechoir@^0.7.0: dependencies: resolve "^1.9.0" -reduce-flatten@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" - integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== - regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" @@ -3069,14 +3054,14 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" source-list-map@^2.0.1: version "2.0.1" @@ -3255,32 +3240,22 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -table-layout@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.1.tgz#8411181ee951278ad0638aea2f779a9ce42894f9" - integrity sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q== - dependencies: - array-back "^4.0.1" - deep-extend "~0.6.0" - typical "^5.2.0" - wordwrapjs "^4.0.0" - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" +table@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" + integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== + dependencies: + ajv "^6.12.4" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tapable@^2.0.0, tapable@^2.1.1: +tapable@^2.1.1, tapable@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== @@ -3431,11 +3406,6 @@ typescript@^4.1.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== -typical@^5.0.0, typical@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" - integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== - uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -3540,21 +3510,21 @@ watchpack@^2.0.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.2.0.tgz#10a09030ad2bd4d8b0f78322fba6ea43ec56aaaa" - integrity sha512-EIl3k88vaF4fSxWSgtAQR+VwicfLMTZ9amQtqS4o+TDPW9HGaEpbFBbAZ4A3ZOT5SOnMxNOzROsSTPiE8tBJPA== +webpack-cli@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.3.0.tgz#e39303bf9f8002de122903e97029f3443d0f9174" + integrity sha512-gve+BBKrzMPTOYDjupzV8JchUznhVWMKtWM1hFIQWi6XoeLvGNoQwkrtMWVb+aJ437GgCKdta7sIn10v621pKA== dependencies: - "@webpack-cli/info" "^1.1.0" - "@webpack-cli/serve" "^1.1.0" + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/info" "^1.2.0" + "@webpack-cli/serve" "^1.2.0" colorette "^1.2.1" - command-line-usage "^6.1.0" commander "^6.2.0" enquirer "^2.3.6" execa "^4.1.0" + fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" - leven "^3.1.0" rechoir "^0.7.0" v8-compile-cache "^2.2.0" webpack-merge "^4.2.2" @@ -3566,10 +3536,10 @@ webpack-merge@^4.2.2: dependencies: lodash "^4.17.15" -webpack-merge@^5.7.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.2.tgz#55320baf05d8be068ff8112be72c04d7c14a9abd" - integrity sha512-7o7qjwcIB6lqHX0VZA2Vxcp8RHftW1LNcaB6t87PEpco/VPlG0Wn9DnvgmcJ0nZU578/vKQfhDSLTF0EZ+pFAg== +webpack-merge@^5.7.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" + integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" @@ -3587,10 +3557,10 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@^5.11.0: - version "5.11.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.11.0.tgz#1647abc060441d86d01d8835b8f0fc1dae2fe76f" - integrity sha512-ubWv7iP54RqAC/VjixgpnLLogCFbAfSOREcSWnnOlZEU8GICC5eKmJSu6YEnph2N2amKqY9rvxSwgyHxVqpaRw== +webpack@^5.11.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.11.1.tgz#39b2b9daeb5c6c620e03b7556ec674eaed4016b4" + integrity sha512-tNUIdAmYJv+nupRs/U/gqmADm6fgrf5xE+rSlSsf2PgsGO7j2WG7ccU6AWNlOJlHFl+HnmXlBmHIkiLf+XA9mQ== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.45" @@ -3641,14 +3611,6 @@ word-wrap@^1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrapjs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.0.tgz#9aa9394155993476e831ba8e59fb5795ebde6800" - integrity sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ== - dependencies: - reduce-flatten "^2.0.0" - typical "^5.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" From 4a022fbc486a211661a78385f2b47247dcbcbf4a Mon Sep 17 00:00:00 2001 From: "V@no" Date: Wed, 30 Dec 2020 07:55:43 -0500 Subject: [PATCH 214/385] date in filename --- src/menu/contextMenu.ts | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index 97403f62..d907e35c 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -71,15 +71,36 @@ export const popupContextMenu = async ( { label: `Save ${mediaType} As...`, click: () => { - const link = document.createElement("a"); - link.href = params.srcURL; - link.download = params.srcURL.replace( - "blob:https://messages.google.com/", - "" - ); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); + const link = document.createElement('a'), + d = new Date(), + download = (url:string) => + { + link.href = url; + link.download = "IMG_" + d.getFullYear() + pad(d.getMonth()+1) + pad(d.getDate()) + "_" + pad(d.getHours()) + pad(d.getMinutes()) + pad(d.getSeconds()); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + }, + pad = (t:number) => ("0" + t).substr(-2); + + if (params.srcURL.match(/^blob:/i)) + { + download(params.srcURL); + } + else + { + //using AJAX to prevent non-blob images from being opened instead of downloaded (i.e preview of web links) + const xhr = new XMLHttpRequest(); + xhr.open("GET", params.srcURL, true); + xhr.responseType = "blob"; + xhr.onload = function() + { + const url = window.URL.createObjectURL(this.response); + download(url); + window.URL.revokeObjectURL(url); + } + xhr.send(); + } }, }, ]); From 20e52b3047c932b763d471acc22763fc99739c67 Mon Sep 17 00:00:00 2001 From: "V@no" Date: Sat, 2 Jan 2021 19:01:00 -0500 Subject: [PATCH 215/385] Tooltip on tray icon Tray icon should always have identification of what application it belongs to. --- src/helpers/trayManager.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 510cafa0..d32eb055 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -136,6 +136,7 @@ export class TrayManager { public setUnreadIcon(toggle: boolean): void { if (this.tray && this.overlayIconPath != null) { + this.tray.setToolTip("Android Messages"); if (toggle) { this.tray.setImage(this.overlayIconPath); } else { From d27e6fd5161a65ea7bc169361e8e0670defd6d34 Mon Sep 17 00:00:00 2001 From: "V@no" Date: Sun, 3 Jan 2021 00:22:57 -0500 Subject: [PATCH 216/385] Unread message observer stops firing Fix for #226 --- src/bridge.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 7a4612d7..dc677812 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -36,12 +36,12 @@ function createUnreadListener() { } }; const observer = new MutationObserver(unreadObserver); - const node = document.querySelector("mws-conversations-list"); + const node = document.querySelector("main"); if (node) { observer.observe(node, { subtree: true, attributes: true, - attributeFilter: ["class"], + attributeFilter: ["data-e2e-is-unread"], }); } } From 3b9ba0141598bf144fb57bcbb64a8fac5578277f Mon Sep 17 00:00:00 2001 From: "V@no" Date: Sun, 10 Jan 2021 15:59:10 -0500 Subject: [PATCH 217/385] Fix: notification not firing Issue #229 --- src/background.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 0c0cf275..b67c3e4f 100644 --- a/src/background.ts +++ b/src/background.ts @@ -150,7 +150,7 @@ if (!isFirstInstance) { width: 1100, height: 800, autoHideMenuBar: settingsManager.autoHideMenu, - show: !settingsManager.startInTray, //Starts in tray if set + show: false, //don't show window just yet (issue #229) icon: IS_LINUX ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") : undefined, @@ -189,6 +189,11 @@ if (!isFirstInstance) { } state.bridgeInitDone = true; + + // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) + if (!settingsManager.startInTray) + mainWindow.show(); + // We have to send un-solicited events (i.e. an event not the result of an event sent to this process) to the webview bridge // via the renderer process. I'm not sure of a way to get a reference to the androidMessagesWebview inside the renderer from // here. There may be a legit way to do it, or we can do it a dirty way like how we pass this process to the renderer. From 3dc983200eea8be545e0d438f97dd4ebd17a482d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 22 Jan 2021 12:23:38 -0500 Subject: [PATCH 218/385] Update dependencies --- package.json | 24 +- yarn.lock | 882 ++++++++++++++++++++++++++------------------------- 2 files changed, 465 insertions(+), 441 deletions(-) diff --git a/package.json b/package.json index e6c8e662..10c4f648 100644 --- a/package.json +++ b/package.json @@ -33,29 +33,29 @@ }, "devDependencies": { "@types/electron-settings": "^3.1.1", - "@types/node": "14.14.16", - "@types/webpack": "^4.41.23", + "@types/node": "14.14.22", + "@types/webpack": "^4.41.26", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^4.11.1", - "@typescript-eslint/parser": "^4.11.1", + "@typescript-eslint/eslint-plugin": "^4.14.0", + "@typescript-eslint/parser": "^4.14.0", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "11.1.1", + "electron": "11.2.0", "electron-builder": "22.9.1", - "eslint": "^7.16.0", - "eslint-config-prettier": "^7.1.0", - "eslint-plugin-prettier": "^3.3.0", - "html-webpack-plugin": "^4.5.0", + "eslint": "^7.18.0", + "eslint-config-prettier": "^7.2.0", + "eslint-plugin-prettier": "^3.3.1", + "html-webpack-plugin": "^4.5.1", "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", "style-loader": "^2.0.0", - "ts-loader": "^8.0.12", + "ts-loader": "^8.0.14", "ts-node": "^9.1.1", "typescript": "^4.1.3", - "webpack": "^5.11.1", - "webpack-cli": "^4.3.0", + "webpack": "^5.17.0", + "webpack-cli": "^4.4.0", "webpack-merge": "^5.7.3", "webpack-node-externals": "^2.5.2" } diff --git a/yarn.lock b/yarn.lock index fb4baf9c..0bd39e83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,25 +42,26 @@ integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== "@electron/get@^1.0.1": - version "1.12.2" - resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.2.tgz#6442066afb99be08cefb9a281e4b4692b33764f3" - integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg== + version "1.12.3" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.3.tgz#fa2723385c4b565a34c4c82f46087aa2a5fbf6d0" + integrity sha512-NFwSnVZQK7dhOYF1NQCt+HGqgL1aNdj0LUSx75uCqnZJqyiWCVdAMFV4b4/kC8HjUJAnsvdSEmjEt4G2qNQ9+Q== dependencies: debug "^4.1.1" env-paths "^2.2.0" + filenamify "^4.1.0" fs-extra "^8.1.0" got "^9.6.0" progress "^2.0.3" - sanitize-filename "^1.6.2" + semver "^6.2.0" sumchecker "^3.0.1" optionalDependencies: global-agent "^2.0.2" global-tunnel-ng "^2.7.1" -"@eslint/eslintrc@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.2.tgz#d01fc791e2fc33e88a29d6f3dc7e93d0cd784b76" - integrity sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ== +"@eslint/eslintrc@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" + integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -69,7 +70,7 @@ ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" - lodash "^4.17.19" + lodash "^4.17.20" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -139,10 +140,10 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.45": - version "0.0.45" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" - integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== +"@types/estree@*", "@types/estree@^0.0.46": + version "0.0.46" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" + integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== "@types/fs-extra@^9.0.1": version "9.0.6" @@ -157,19 +158,19 @@ integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== "@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.6": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== -"@types/node@*", "@types/node@14.14.16": - version "14.14.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.16.tgz#3cc351f8d48101deadfed4c9e4f116048d437b4b" - integrity sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw== +"@types/node@*", "@types/node@14.14.22": + version "14.14.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18" + integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== "@types/node@^12.0.12": - version "12.19.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.11.tgz#9220ab4b20d91169eb78f456dbfcbabee89dfb50" - integrity sha512-bwVfNTFZOrGXyiQ6t4B9sZerMSShWNsGRw8tC5DY1qImUNczS9SjT4G6PnzjCnxsu5Ubj6xjL2lgwddkxtQl5w== + version "12.19.15" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.15.tgz#0de7e978fb43db62da369db18ea088a63673c182" + integrity sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw== "@types/semver@^7.3.1": version "7.3.4" @@ -216,10 +217,10 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.23", "@types/webpack@^4.41.8": - version "4.41.25" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" - integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== +"@types/webpack@*", "@types/webpack@^4.41.26", "@types/webpack@^4.41.8": + version "4.41.26" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef" + integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA== dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -240,61 +241,62 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.11.1.tgz#7579c6d17ad862154c10bc14b40e5427b729e209" - integrity sha512-fABclAX2QIEDmTMk6Yd7Muv1CzFLwWM4505nETzRHpP3br6jfahD9UUJkhnJ/g2m7lwfz8IlswcwGGPGiq9exw== +"@typescript-eslint/eslint-plugin@^4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz#92db8e7c357ed7d69632d6843ca70b71be3a721d" + integrity sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww== dependencies: - "@typescript-eslint/experimental-utils" "4.11.1" - "@typescript-eslint/scope-manager" "4.11.1" + "@typescript-eslint/experimental-utils" "4.14.0" + "@typescript-eslint/scope-manager" "4.14.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" + lodash "^4.17.15" regexpp "^3.0.0" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.11.1.tgz#2dad3535b878c25c7424e40bfa79d899f3f485bc" - integrity sha512-mAlWowT4A6h0TC9F+J5pdbEhjNiEMO+kqPKQ4sc3fVieKL71dEqfkKgtcFVSX3cjSBwYwhImaQ/mXQF0oaI38g== +"@typescript-eslint/experimental-utils@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz#5aa7b006736634f588a69ee343ca959cd09988df" + integrity sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.11.1" - "@typescript-eslint/types" "4.11.1" - "@typescript-eslint/typescript-estree" "4.11.1" + "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/typescript-estree" "4.14.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.11.1.tgz#981e18de2e019d6ca312596615f92e8f6f6598ed" - integrity sha512-BJ3jwPQu1jeynJ5BrjLuGfK/UJu6uwHxJ/di7sanqmUmxzmyIcd3vz58PMR7wpi8k3iWq2Q11KMYgZbUpRoIPw== +"@typescript-eslint/parser@^4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.14.0.tgz#62d4cd2079d5c06683e9bfb200c758f292c4dee7" + integrity sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg== dependencies: - "@typescript-eslint/scope-manager" "4.11.1" - "@typescript-eslint/types" "4.11.1" - "@typescript-eslint/typescript-estree" "4.11.1" + "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/typescript-estree" "4.14.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.11.1.tgz#72dc2b60b0029ab0888479b12bf83034920b4b69" - integrity sha512-Al2P394dx+kXCl61fhrrZ1FTI7qsRDIUiVSuN6rTwss6lUn8uVO2+nnF4AvO0ug8vMsy3ShkbxLu/uWZdTtJMQ== +"@typescript-eslint/scope-manager@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz#55a4743095d684e1f7b7180c4bac2a0a3727f517" + integrity sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q== dependencies: - "@typescript-eslint/types" "4.11.1" - "@typescript-eslint/visitor-keys" "4.11.1" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" -"@typescript-eslint/types@4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.11.1.tgz#3ba30c965963ef9f8ced5a29938dd0c465bd3e05" - integrity sha512-5kvd38wZpqGY4yP/6W3qhYX6Hz0NwUbijVsX2rxczpY6OXaMxh0+5E5uLJKVFwaBM7PJe1wnMym85NfKYIh6CA== +"@typescript-eslint/types@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.14.0.tgz#d8a8202d9b58831d6fd9cee2ba12f8a5a5dd44b6" + integrity sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A== -"@typescript-eslint/typescript-estree@4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.11.1.tgz#a4416b4a65872a48773b9e47afabdf7519eb10bc" - integrity sha512-tC7MKZIMRTYxQhrVAFoJq/DlRwv1bnqA4/S2r3+HuHibqvbrPcyf858lNzU7bFmy4mLeIHFYr34ar/1KumwyRw== +"@typescript-eslint/typescript-estree@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz#4bcd67486e9acafc3d0c982b23a9ab8ac8911ed7" + integrity sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag== dependencies: - "@typescript-eslint/types" "4.11.1" - "@typescript-eslint/visitor-keys" "4.11.1" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" @@ -302,170 +304,151 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.11.1.tgz#4c050a4c1f7239786e2dd4e69691436143024e05" - integrity sha512-IrlBhD9bm4bdYcS8xpWarazkKXlE7iYb1HzRuyBP114mIaj5DJPo11Us1HgH60dTt41TCZXMaTCAW+OILIYPOg== +"@typescript-eslint/visitor-keys@4.14.0": + version "4.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz#b1090d9d2955b044b2ea2904a22496849acbdf54" + integrity sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA== dependencies: - "@typescript-eslint/types" "4.11.1" + "@typescript-eslint/types" "4.14.0" eslint-visitor-keys "^2.0.0" -"@webassemblyjs/ast@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.1.tgz#76c6937716d68bf1484c15139f5ed30b9abc8bb4" - integrity sha512-uMu1nCWn2Wxyy126LlGqRVlhdTOsO/bsBRI4dNq3+6SiSuRKRQX6ejjKgh82LoGAPSq72lDUiQ4FWVaf0PecYw== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.1" - "@webassemblyjs/helper-wasm-bytecode" "1.9.1" - "@webassemblyjs/wast-parser" "1.9.1" - -"@webassemblyjs/floating-point-hex-parser@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.1.tgz#9eb0ff90a1cdeef51f36ba533ed9f06b5cdadd09" - integrity sha512-5VEKu024RySmLKTTBl9q1eO/2K5jk9ZS+2HXDBLA9s9p5IjkaXxWiDb/+b7wSQp6FRdLaH1IVGIfOex58Na2pg== - -"@webassemblyjs/helper-api-error@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.1.tgz#ad89015c4246cd7f5ed0556700237f8b9c2c752f" - integrity sha512-y1lGmfm38djrScwpeL37rRR9f1D6sM8RhMpvM7CYLzOlHVboouZokXK/G88BpzW0NQBSvCCOnW5BFhten4FPfA== - -"@webassemblyjs/helper-buffer@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.1.tgz#186e67ac25f9546ea7939759413987f157524133" - integrity sha512-uS6VSgieHbk/m4GSkMU5cqe/5TekdCzQso4revCIEQ3vpGZgqSSExi4jWpTWwDpAHOIAb1Jfrs0gUB9AA4n71w== - -"@webassemblyjs/helper-code-frame@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.1.tgz#aab177b7cc87a318a8f8664ad68e2c3828ebc42b" - integrity sha512-ZQ2ZT6Evk4DPIfD+92AraGYaFIqGm4U20e7FpXwl7WUo2Pn1mZ1v8VGH8i+Y++IQpxPbQo/UyG0Khs7eInskzA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.1" - -"@webassemblyjs/helper-fsm@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.1.tgz#527e91628e84d13d3573884b3dc4c53a81dcb911" - integrity sha512-J32HGpveEqqcKFS0YbgicB0zAlpfIxJa5MjxDxhu3i5ltPcVfY5EPvKQ1suRguFPehxiUs+/hfkwPEXom/l0lw== - -"@webassemblyjs/helper-module-context@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.1.tgz#778670b3d471f7cf093d1e7c0dde431b54310e16" - integrity sha512-IEH2cMmEQKt7fqelLWB5e/cMdZXf2rST1JIrzWmf4XBt3QTxGdnnLvV4DYoN8pJjOx0VYXsWg+yF16MmJtolZg== - dependencies: - "@webassemblyjs/ast" "1.9.1" - -"@webassemblyjs/helper-wasm-bytecode@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.1.tgz#563f59bcf409ccf469edde168b9426961ffbf6df" - integrity sha512-i2rGTBqFUcSXxyjt2K4vm/3kkHwyzG6o427iCjcIKjOqpWH8SEem+xe82jUk1iydJO250/CvE5o7hzNAMZf0dQ== - -"@webassemblyjs/helper-wasm-section@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.1.tgz#f7988f94c12b01b99a16120cb01dc099b00e4798" - integrity sha512-FetqzjtXZr2d57IECK+aId3D0IcGweeM0CbAnJHkYJkcRTHP+YcMb7Wmc0j21h5UWBpwYGb9dSkK/93SRCTrGg== - dependencies: - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/helper-buffer" "1.9.1" - "@webassemblyjs/helper-wasm-bytecode" "1.9.1" - "@webassemblyjs/wasm-gen" "1.9.1" - -"@webassemblyjs/ieee754@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.1.tgz#3b715871ca7d75784717cf9ceca9d7b81374b8af" - integrity sha512-EvTG9M78zP1MmkBpUjGQHZc26DzPGZSLIPxYHCjQsBMo60Qy2W34qf8z0exRDtxBbRIoiKa5dFyWer/7r1aaSQ== +"@webassemblyjs/ast@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" + integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== dependencies: - "@xtuc/ieee754" "^1.2.0" + "@webassemblyjs/helper-numbers" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" -"@webassemblyjs/leb128@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.1.tgz#b2ecaa39f9e8277cc9c707c1ca8b2aa7b27d0b72" - integrity sha512-Oc04ub0vFfLnF+2/+ki3AE+anmW4sv9uNBqb+79fgTaPv6xJsOT0dhphNfL3FrME84CbX/D1T9XT8tjFo0IIiw== +"@webassemblyjs/floating-point-hex-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" + integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== + +"@webassemblyjs/helper-api-error@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" + integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== + +"@webassemblyjs/helper-buffer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" + integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== + +"@webassemblyjs/helper-numbers@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" + integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.1.tgz#d02d9daab85cda3211e43caf31dca74c260a73b0" - integrity sha512-llkYtppagjCodFjo0alWOUhAkfOiQPQDIc5oA6C9sFAXz7vC9QhZf/f8ijQIX+A9ToM3c9Pq85X0EX7nx9gVhg== - -"@webassemblyjs/wasm-edit@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.1.tgz#e27a6bdbf78e5c72fa812a2fc3cbaad7c3e37578" - integrity sha512-S2IaD6+x9B2Xi8BCT0eGsrXXd8UxAh2LVJpg1ZMtHXnrDcsTtIX2bDjHi40Hio6Lc62dWHmKdvksI+MClCYbbw== - dependencies: - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/helper-buffer" "1.9.1" - "@webassemblyjs/helper-wasm-bytecode" "1.9.1" - "@webassemblyjs/helper-wasm-section" "1.9.1" - "@webassemblyjs/wasm-gen" "1.9.1" - "@webassemblyjs/wasm-opt" "1.9.1" - "@webassemblyjs/wasm-parser" "1.9.1" - "@webassemblyjs/wast-printer" "1.9.1" - -"@webassemblyjs/wasm-gen@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.1.tgz#56a0787d1fa7994fdc7bea59004e5bec7189c5fc" - integrity sha512-bqWI0S4lBQsEN5FTZ35vYzfKUJvtjNnBobB1agCALH30xNk1LToZ7Z8eiaR/Z5iVECTlBndoRQV3F6mbEqE/fg== - dependencies: - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/helper-wasm-bytecode" "1.9.1" - "@webassemblyjs/ieee754" "1.9.1" - "@webassemblyjs/leb128" "1.9.1" - "@webassemblyjs/utf8" "1.9.1" - -"@webassemblyjs/wasm-opt@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.1.tgz#fbdf8943a825e6dcc4cd69c3e092289fa4aec96c" - integrity sha512-gSf7I7YWVXZ5c6XqTEqkZjVs8K1kc1k57vsB6KBQscSagDNbAdxt6MwuJoMjsE1yWY1tsuL+pga268A6u+Fdkg== - dependencies: - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/helper-buffer" "1.9.1" - "@webassemblyjs/wasm-gen" "1.9.1" - "@webassemblyjs/wasm-parser" "1.9.1" - -"@webassemblyjs/wasm-parser@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.1.tgz#5e8352a246d3f605312c8e414f7990de55aaedfa" - integrity sha512-ImM4N2T1MEIond0MyE3rXvStVxEmivQrDKf/ggfh5pP6EHu3lL/YTAoSrR7shrbKNPpeKpGesW1LIK/L4kqduw== - dependencies: - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/helper-api-error" "1.9.1" - "@webassemblyjs/helper-wasm-bytecode" "1.9.1" - "@webassemblyjs/ieee754" "1.9.1" - "@webassemblyjs/leb128" "1.9.1" - "@webassemblyjs/utf8" "1.9.1" - -"@webassemblyjs/wast-parser@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.1.tgz#e25ef13585c060073c1db0d6bd94340fdeee7596" - integrity sha512-2xVxejXSvj3ls/o2TR/zI6p28qsGupjHhnHL6URULQRcXmryn3w7G83jQMcT7PHqUfyle65fZtWLukfdLdE7qw== - dependencies: - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/floating-point-hex-parser" "1.9.1" - "@webassemblyjs/helper-api-error" "1.9.1" - "@webassemblyjs/helper-code-frame" "1.9.1" - "@webassemblyjs/helper-fsm" "1.9.1" - "@xtuc/long" "4.2.2" +"@webassemblyjs/helper-wasm-bytecode@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" + integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== + +"@webassemblyjs/helper-wasm-section@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" + integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" -"@webassemblyjs/wast-printer@1.9.1": - version "1.9.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.1.tgz#b9f38e93652037d4f3f9c91584635af4191ed7c1" - integrity sha512-tDV8V15wm7mmbAH6XvQRU1X+oPGmeOzYsd6h7hlRLz6QpV4Ec/KKxM8OpLtFmQPLCreGxTp+HuxtH4pRIZyL9w== +"@webassemblyjs/ieee754@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" + integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" + integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== dependencies: - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/wast-parser" "1.9.1" "@xtuc/long" "4.2.2" -"@webpack-cli/info@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.0.tgz#6051d6adf3618df664f4945a2b76355c00f83f0d" - integrity sha512-+wA8lBKopgKmN76BSGJVJby5ZXDlsrO6p/nm7fUBsHznRNWB/ozotJP7Yfcz8JPfqeG2LxwYlTH2u6D9a/0XAw== +"@webassemblyjs/utf8@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" + integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== + +"@webassemblyjs/wasm-edit@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" + integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/helper-wasm-section" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-opt" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + "@webassemblyjs/wast-printer" "1.11.0" + +"@webassemblyjs/wasm-gen@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" + integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" + +"@webassemblyjs/wasm-opt@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" + integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-buffer" "1.11.0" + "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" + +"@webassemblyjs/wasm-parser@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" + integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/helper-api-error" "1.11.0" + "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@webassemblyjs/ieee754" "1.11.0" + "@webassemblyjs/leb128" "1.11.0" + "@webassemblyjs/utf8" "1.11.0" + +"@webassemblyjs/wast-printer@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" + integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== + dependencies: + "@webassemblyjs/ast" "1.11.0" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.0.tgz#2aff5f1ebc6f793c13ba9b2a701d180eab17f5ee" + integrity sha512-Un0SdBoN1h4ACnIO7EiCjWuyhNI0Jl96JC+63q6xi4HDUYRZn8Auluea9D+v9NWKc5J4sICVEltdBaVjLX39xw== + +"@webpack-cli/info@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.1.tgz#af98311f983d0b9fce7284cfcf1acaf1e9f4879c" + integrity sha512-fLnDML5HZ5AEKzHul8xLAksoKN2cibu6MgonkUj8R9V7bbeVRkd1XbGEGWrAUNYHbX1jcqCsDEpBviE5StPMzQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.2.0.tgz#8cb2c1e95426f5caed1f3bf9d7ccf3ea41d85f52" - integrity sha512-jI3P7jMp/AXDSPkM+ClwRcJZbxnlvNC8bVZBmyRr4scMMZ4p5WQcXkw3Q+Hc7RQekomJlBMN+UQGliT4hhG8Vw== +"@webpack-cli/serve@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.2.2.tgz#1f8eee44f96524756268f5e3f43e9d943f864d41" + integrity sha512-03GkWxcgFfm8+WIwcsqJb9agrSDNDDoxaNnexPnCCexP5SCE4IgFd9lNpSy+K2nFqVMpgTFw6SwbmVAVTndVew== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -512,6 +495,16 @@ ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" + integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -645,7 +638,7 @@ bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -boolbase@~1.0.0: +boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= @@ -685,15 +678,15 @@ braces@^3.0.1: fill-range "^7.0.1" browserslist@^4.14.5: - version "4.16.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b" - integrity sha512-/j6k8R0p3nxOC6kx5JGAxsnhc9ixaWJfYc+TNTzxg6+ARaESAvQGV7h0uNOB4t+pLQJZWzcrMxXOxjgsCj3dqQ== + version "4.16.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" + integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== dependencies: - caniuse-lite "^1.0.30001165" + caniuse-lite "^1.0.30001173" colorette "^1.2.1" - electron-to-chromium "^1.3.621" + electron-to-chromium "^1.3.634" escalade "^3.1.1" - node-releases "^1.1.67" + node-releases "^1.1.69" buffer-crc32@~0.2.3: version "0.2.13" @@ -746,13 +739,13 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" -call-bind@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" - integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" - get-intrinsic "^1.0.0" + get-intrinsic "^1.0.2" callsites@^3.0.0: version "3.1.0" @@ -777,12 +770,12 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001165: - version "1.0.30001170" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz#0088bfecc6a14694969e391cc29d7eb6362ca6a7" - integrity sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA== +caniuse-lite@^1.0.30001173: + version "1.0.30001179" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001179.tgz#b0803883b4471a6c62066fb1752756f8afc699c8" + integrity sha512-blMmO0QQujuUWZKyVrD1msR4WNDAqb/UPO1Sw2WWsQ7deoM5bJiicKnWJ1Y0NS/aGINSnKPIWBMw5luX+NDUCA== -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -946,9 +939,9 @@ configstore@^5.0.1: xdg-basedir "^4.0.0" core-js@^3.6.5: - version "3.8.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.1.tgz#f51523668ac8a294d1285c3b9db44025fda66d47" - integrity sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg== + version "3.8.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" + integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== core-util-is@~1.0.0: version "1.0.2" @@ -967,7 +960,7 @@ cross-env@^7.0.2: dependencies: cross-spawn "^7.0.1" -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2: +cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -999,20 +992,20 @@ css-loader@^5.0.0: schema-utils "^3.0.0" semver "^7.3.2" -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= +css-select@^2.0.2: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== cssesc@^3.0.0: version "3.0.0" @@ -1130,15 +1123,7 @@ domhandler@^2.3.0: dependencies: domelementtype "1" -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1: +domutils@^1.5.1, domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -1225,10 +1210,10 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" -electron-to-chromium@^1.3.621: - version "1.3.633" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe" - integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA== +electron-to-chromium@^1.3.634: + version "1.3.642" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.642.tgz#8b884f50296c2ae2a9997f024d0e3e57facc2b94" + integrity sha512-cev+jOrz/Zm1i+Yh334Hed6lQVOkkemk2wRozfMF4MtTR7pxf3r3L5Rbd7uX1zMcEqVJ7alJBnJL7+JffkC6FQ== electron-updater@4.3.5: version "4.3.5" @@ -1243,10 +1228,10 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-11.1.1.tgz#188f036f8282798398dca9513e9bb3b10213e3aa" - integrity sha512-tlbex3xosJgfileN6BAQRotevPRXB/wQIq48QeQ08tUJJrXwE72c8smsM/hbHx5eDgnbfJ2G3a60PmRjHU2NhA== +electron@11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-11.2.0.tgz#f8577ea4c9ba94068850256145be26b0b89a5dd7" + integrity sha512-weszOPAJPoPu6ozL7vR9enXmaDSqH+KE9iZODfbGdnFgtVfVdfyedjlvEGIUJkLMPXM1y/QWwCl2dINzr0Jq5Q== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" @@ -1280,18 +1265,18 @@ end-of-stream@^1.1.0: once "^1.4.0" enhanced-resolve@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" memory-fs "^0.5.0" tapable "^1.0.0" -enhanced-resolve@^5.3.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.4.1.tgz#c89b0c34f17f931902ef2913a125d4b825b49b6f" - integrity sha512-4GbyIMzYktTFoRSmkbgZ1LU+RXwf4AQ8Z+rSuuh1dC8plp0PPeaWvx6+G4hh4KnUJ48VoxKbNyA1QQQIUpXjYA== +enhanced-resolve@^5.7.0: + version "5.7.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" + integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1331,22 +1316,29 @@ errno@^0.1.3: prr "~1.0.1" es-abstract@^1.18.0-next.1: - version "1.18.0-next.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" - integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + version "1.18.0-next.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" + integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== dependencies: + call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" + get-intrinsic "^1.0.2" has "^1.0.3" has-symbols "^1.0.1" is-callable "^1.2.2" - is-negative-zero "^2.0.0" + is-negative-zero "^2.0.1" is-regex "^1.1.1" - object-inspect "^1.8.0" + object-inspect "^1.9.0" object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.3" + string.prototype.trimstart "^1.0.3" + +es-module-lexer@^0.3.26: + version "0.3.26" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b" + integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA== es-to-primitive@^1.2.1: version "1.2.1" @@ -1372,7 +1364,7 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -1382,15 +1374,15 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz#5402eb559aa94b894effd6bddfa0b1ca051c858f" - integrity sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA== +eslint-config-prettier@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz#f4a4bd2832e810e8cc7c1411ec85b3e85c0c53f9" + integrity sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg== -eslint-plugin-prettier@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.0.tgz#61e295349a65688ffac0b7808ef0a8244bdd8d40" - integrity sha512-tMTwO8iUWlSRZIwS9k7/E4vrTsfvsrcM5p1eftyuqWH25nKsz/o6/54I7jwQ/3zobISyC7wMy9ZsFwgTxOcOpQ== +eslint-plugin-prettier@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7" + integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ== dependencies: prettier-linter-helpers "^1.0.0" @@ -1419,13 +1411,13 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.16.0: - version "7.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.16.0.tgz#a761605bf9a7b32d24bb7cde59aeb0fd76f06092" - integrity sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw== +eslint@^7.18.0: + version "7.18.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.18.0.tgz#7fdcd2f3715a41fe6295a16234bd69aed2c75e67" + integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== dependencies: "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.2.2" + "@eslint/eslintrc" "^0.3.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -1449,7 +1441,7 @@ eslint@^7.16.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.19" + lodash "^4.17.20" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -1510,19 +1502,19 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== -execa@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== +execa@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" + integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" is-stream "^2.0.0" merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" strip-final-newline "^2.0.0" extract-zip@^1.0.3: @@ -1546,9 +1538,9 @@ fast-diff@^1.1.2: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.1.1: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + version "3.2.5" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -1600,6 +1592,20 @@ filelist@^1.0.1: dependencies: minimatch "^3.0.4" +filename-reserved-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" + integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= + +filenamify@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.2.0.tgz#c99716d676869585b3b5d328b3f06590d032e89f" + integrity sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.1" + trim-repeated "^1.0.0" + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -1632,9 +1638,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" - integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" + integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== fs-extra@^8.1.0: version "8.1.0" @@ -1646,14 +1652,14 @@ fs-extra@^8.1.0: universalify "^0.1.0" fs-extra@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" graceful-fs "^4.2.0" jsonfile "^6.0.1" - universalify "^1.0.0" + universalify "^2.0.0" fs-jetpack@^4.1.0: version "4.1.0" @@ -1683,7 +1689,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.0: +get-intrinsic@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== @@ -1699,13 +1705,18 @@ get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-stream@^5.0.0, get-stream@^5.1.0: +get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" +get-stream@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" + integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== + glob-parent@^5.0.0, glob-parent@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" @@ -1775,9 +1786,9 @@ globalthis@^1.0.1: define-properties "^1.1.3" globby@^11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" - integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + version "11.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -1865,22 +1876,22 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-webpack-plugin@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c" - integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw== +html-webpack-plugin@^4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz#40aaf1b5cb78f2f23a83333999625c20929cda65" + integrity sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg== dependencies: "@types/html-minifier-terser" "^5.0.0" "@types/tapable" "^1.0.5" "@types/webpack" "^4.41.8" html-minifier-terser "^5.0.1" loader-utils "^1.2.3" - lodash "^4.17.15" + lodash "^4.17.20" pretty-error "^2.1.1" tapable "^1.1.3" util.promisify "1.0.0" -htmlparser2@^3.3.0: +htmlparser2@^3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== @@ -1897,10 +1908,10 @@ http-cache-semantics@^4.0.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== iconv-lite@^0.6.2: version "0.6.2" @@ -2037,7 +2048,7 @@ is-installed-globally@^0.3.1: global-dirs "^2.0.1" is-path-inside "^3.0.1" -is-negative-zero@^2.0.0: +is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== @@ -2128,7 +2139,7 @@ jake@^10.6.1: filelist "^1.0.1" minimatch "^3.0.4" -jest-worker@^26.6.1: +jest-worker@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -2165,6 +2176,11 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -2237,12 +2253,12 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -loader-runner@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.1.0.tgz#f70bc0c29edbabdf2043e7ee73ccc3fe1c96b42d" - integrity sha512-oR4lB4WvwFoC70ocraKhn5nkKSs23t57h9udUgw8o0iH8hMXeEoRuUgfcvgUwAJ1ZpRqBvcou4N2SMvM1DwMrA== +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== -loader-utils@^1.0.2, loader-utils@^1.2.3: +loader-utils@^1.2.3: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -2279,7 +2295,7 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20: +lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.20: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -2353,22 +2369,22 @@ micromatch@^4.0.0, micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.45.0: + version "1.45.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== mime-types@^2.1.27: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + version "2.1.28" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" + integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== dependencies: - mime-db "1.44.0" + mime-db "1.45.0" mime@^2.4.6: - version "2.4.7" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.7.tgz#962aed9be0ed19c91fd7dc2ece5d7f4e89a90d74" - integrity sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.0.tgz#2b4af934401779806ee98026bb42e8c1ae1876b1" + integrity sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag== mimic-fn@^2.1.0: version "2.1.0" @@ -2432,10 +2448,10 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-releases@^1.1.67: - version "1.1.67" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" - integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== +node-releases@^1.1.69: + version "1.1.70" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" + integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== normalize-package-data@^2.5.0: version "2.5.0" @@ -2460,21 +2476,21 @@ npm-conf@^1.1.3: config-chain "^1.1.11" pify "^3.0.0" -npm-run-path@^4.0.0: +npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" -nth-check@~1.0.1: +nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" -object-inspect@^1.8.0: +object-inspect@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== @@ -2484,7 +2500,7 @@ object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.1: +object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -2510,7 +2526,7 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^5.1.0: +onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== @@ -2541,7 +2557,7 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -2703,9 +2719,9 @@ postcss-value-parser@^4.1.0: integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@^8.1.4: - version "8.2.1" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.1.tgz#eabc5557c4558059b9d9e5b15bce7ffa9089c2a8" - integrity sha512-RhsqOOAQzTgh1UB/IZdca7F9WDb7SUCR2Vnv1x7DbvuuggQIpoDwjK+q0rzoPffhYvWNKX5JSwS4so4K3UC6vA== + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04" + integrity sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg== dependencies: colorette "^1.2.1" nanoid "^3.1.20" @@ -2863,13 +2879,13 @@ relateurl@^0.2.7: integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= renderkid@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.4.tgz#d325e532afb28d3f8796ffee306be8ffd6fc864c" - integrity sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g== + version "2.0.5" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" + integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== dependencies: - css-select "^1.1.0" + css-select "^2.0.2" dom-converter "^0.2" - htmlparser2 "^3.3.0" + htmlparser2 "^3.10.1" lodash "^4.17.20" strip-ansi "^3.0.0" @@ -2878,6 +2894,11 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -2961,7 +2982,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sanitize-filename@^1.6.2, sanitize-filename@^1.6.3: +sanitize-filename@^1.6.3: version "1.6.3" resolved "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz#755ebd752045931977e30b2025d340d7c9090378" integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== @@ -3004,7 +3025,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: version "7.3.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== @@ -3044,7 +3065,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.2: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== @@ -3145,7 +3166,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.trimend@^1.0.1: +string.prototype.trimend@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== @@ -3153,7 +3174,7 @@ string.prototype.trimend@^1.0.1: call-bind "^1.0.0" define-properties "^1.1.3" -string.prototype.trimstart@^1.0.1: +string.prototype.trimstart@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== @@ -3211,6 +3232,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-outer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" + integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== + dependencies: + escape-string-regexp "^1.0.2" + style-loader@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" @@ -3241,11 +3269,11 @@ supports-color@^7.0.0, supports-color@^7.1.0: has-flag "^4.0.0" table@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" - integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== + version "6.0.7" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== dependencies: - ajv "^6.12.4" + ajv "^7.0.2" lodash "^4.17.20" slice-ansi "^4.0.0" string-width "^4.2.0" @@ -3273,17 +3301,17 @@ term-size@^2.1.0: resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== -terser-webpack-plugin@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.0.3.tgz#ec60542db2421f45735c719d2e17dabfbb2e3e42" - integrity sha512-zFdGk8Lh9ZJGPxxPE6jwysOlATWB8GMW8HcfGULWA/nPal+3VdATflQvSBSLQJRCmYZnfFJl6vkRTiwJGNgPiQ== +terser-webpack-plugin@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" + integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== dependencies: - jest-worker "^26.6.1" - p-limit "^3.0.2" + jest-worker "^26.6.2" + p-limit "^3.1.0" schema-utils "^3.0.0" serialize-javascript "^5.0.1" source-map "^0.6.1" - terser "^5.3.8" + terser "^5.5.1" terser@^4.6.3: version "4.8.0" @@ -3294,7 +3322,7 @@ terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.3.8: +terser@^5.5.1: version "5.5.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== @@ -3320,6 +3348,13 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= + dependencies: + escape-string-regexp "^1.0.2" + truncate-utf8-bytes@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" @@ -3327,16 +3362,16 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.12: - version "8.0.12" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.12.tgz#1de9f1de65176318c1e6d187bfc496182f8dc2a0" - integrity sha512-UIivVfGVJDdwwjgSrbtcL9Nf10c1BWnL1mxAQUVcnhNIn/P9W3nP5v60Z0aBMtc7ZrE11lMmU6+5jSgAXmGaYw== +ts-loader@^8.0.14: + version "8.0.14" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.14.tgz#e46ac1f8dcb88808d0b1335d2eae65b74bd78fe8" + integrity sha512-Jt/hHlUnApOZjnSjTmZ+AbD5BGlQFx3f1D0nYuNKwz0JJnuDGHJas6az+FlWKwwRTu+26GXpv249A8UAnYUpqA== dependencies: - chalk "^2.3.0" + chalk "^4.1.0" enhanced-resolve "^4.0.0" - loader-utils "^1.0.2" + loader-utils "^2.0.0" micromatch "^4.0.0" - semver "^6.0.0" + semver "^7.3.4" ts-node@^9.1.1: version "9.1.1" @@ -3356,14 +3391,14 @@ tslib@^1.8.1, tslib@^1.9.0: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" - integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + version "3.19.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.19.1.tgz#d8566e0c51c82f32f9c25a4d367cd62409a547a9" + integrity sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw== dependencies: tslib "^1.8.1" @@ -3423,11 +3458,6 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -3453,9 +3483,9 @@ update-notifier@^4.1.1: xdg-basedir "^4.0.0" uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -3510,31 +3540,25 @@ watchpack@^2.0.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.3.0.tgz#e39303bf9f8002de122903e97029f3443d0f9174" - integrity sha512-gve+BBKrzMPTOYDjupzV8JchUznhVWMKtWM1hFIQWi6XoeLvGNoQwkrtMWVb+aJ437GgCKdta7sIn10v621pKA== +webpack-cli@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.4.0.tgz#38c7fa01ea31510f5c490245dd1bb28018792f1b" + integrity sha512-/Qh07CXfXEkMu5S8wEpjuaw2Zj/CC0hf/qbTDp6N8N7JjdGuaOjZ7kttz+zhuJO/J5m7alQEhNk9lsc4rC6xgQ== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/info" "^1.2.0" - "@webpack-cli/serve" "^1.2.0" + "@webpack-cli/configtest" "^1.0.0" + "@webpack-cli/info" "^1.2.1" + "@webpack-cli/serve" "^1.2.2" colorette "^1.2.1" commander "^6.2.0" enquirer "^2.3.6" - execa "^4.1.0" + execa "^5.0.0" fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" rechoir "^0.7.0" v8-compile-cache "^2.2.0" - webpack-merge "^4.2.2" - -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" + webpack-merge "^5.7.3" webpack-merge@^5.7.3: version "5.7.3" @@ -3557,33 +3581,33 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@^5.11.1: - version "5.11.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.11.1.tgz#39b2b9daeb5c6c620e03b7556ec674eaed4016b4" - integrity sha512-tNUIdAmYJv+nupRs/U/gqmADm6fgrf5xE+rSlSsf2PgsGO7j2WG7ccU6AWNlOJlHFl+HnmXlBmHIkiLf+XA9mQ== +webpack@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.17.0.tgz#e92aebad45be25f86f788dc72fc11daacdcfd55d" + integrity sha512-R+IdNEaYcYaACpXZOt7reyc8txBK7J06lOPkX1SbgmeoAnUbyBZivJIksrDBnmMA3wlTWvPcX7DubxELyPB8rA== dependencies: "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.45" - "@webassemblyjs/ast" "1.9.1" - "@webassemblyjs/helper-module-context" "1.9.1" - "@webassemblyjs/wasm-edit" "1.9.1" - "@webassemblyjs/wasm-parser" "1.9.1" + "@types/estree" "^0.0.46" + "@webassemblyjs/ast" "1.11.0" + "@webassemblyjs/wasm-edit" "1.11.0" + "@webassemblyjs/wasm-parser" "1.11.0" acorn "^8.0.4" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.3.1" + enhanced-resolve "^5.7.0" + es-module-lexer "^0.3.26" eslint-scope "^5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" graceful-fs "^4.2.4" json-parse-better-errors "^1.0.2" - loader-runner "^4.1.0" + loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" pkg-dir "^5.0.0" schema-utils "^3.0.0" tapable "^2.1.1" - terser-webpack-plugin "^5.0.3" + terser-webpack-plugin "^5.1.1" watchpack "^2.0.0" webpack-sources "^2.1.1" From cb64b43d01ce40533932c2b3df74fe403bf59718 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 22 Jan 2021 12:43:51 -0500 Subject: [PATCH 219/385] profile image cache removed and renamed --- src/background.ts | 3 +- src/bridge.ts | 19 +++------- src/helpers/cacheManager.ts | 70 ------------------------------------- src/helpers/profileImage.ts | 64 +++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 87 deletions(-) delete mode 100644 src/helpers/cacheManager.ts create mode 100644 src/helpers/profileImage.ts diff --git a/src/background.ts b/src/background.ts index b67c3e4f..e45e4454 100644 --- a/src/background.ts +++ b/src/background.ts @@ -191,8 +191,7 @@ if (!isFirstInstance) { state.bridgeInitDone = true; // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) - if (!settingsManager.startInTray) - mainWindow.show(); + if (!settingsManager.startInTray) mainWindow.show(); // We have to send un-solicited events (i.e. an event not the result of an event sent to this process) to the webview bridge // via the renderer process. I'm not sure of a way to get a reference to the androidMessagesWebview inside the renderer from diff --git a/src/bridge.ts b/src/bridge.ts index dc677812..eeddbde1 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,11 +1,5 @@ -import { - ipcRenderer, - remote, - NativeImage, - NotificationConstructorOptions, -} from "electron"; +import { ipcRenderer, remote, NotificationConstructorOptions } from "electron"; import path from "path"; -import { CacheManager } from "./helpers/cacheManager"; import { EVENT_BRIDGE_INIT, EVENT_UPDATE_USER_SETTING, @@ -16,14 +10,13 @@ import { import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; import settings from "electron-settings"; +import { getProfileImg } from "./helpers/profileImage"; -const { Notification: ElectronNotification, app, nativeImage } = remote; +const { Notification: ElectronNotification, app } = remote; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); -const cacheManager = new CacheManager(); - function createUnreadListener() { const unreadObserver = ( _mutationList: MutationRecord[], @@ -96,11 +89,7 @@ ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore window.Notification = function (title: string, options: NotificationOptions) { - let icon: NativeImage | undefined; - const potentialImg = cacheManager.getProfileImg(title); - if (potentialImg != null) { - icon = nativeImage.createFromDataURL(potentialImg); - } + const icon = getProfileImg(title); const hideContent = settings.get(SETTING_HIDE_NOTIFICATION, false) as boolean; diff --git a/src/helpers/cacheManager.ts b/src/helpers/cacheManager.ts deleted file mode 100644 index a091a8b9..00000000 --- a/src/helpers/cacheManager.ts +++ /dev/null @@ -1,70 +0,0 @@ -type CachedImage = string | undefined; - -export class CacheManager { - private imgCache: Map = new Map(); - /** - * - * Attempts to split the title of the notification in a way that yeilds a cache hit - * The character it splits at is hard coded and relient on google not changing it - * I do not know a way around this for now so it will stay - * - * @param {string} title notification title to convert to cache key - * @returns {string} cache key for indexing - */ - private getCacheKey(title: string): string { - if (title.includes(" •")) { - return title.split(" •")[0]; - } - return title; - } - - /** - * - * Get the node of the listing for the message in the message list from the provided name. - * It only finds the first match so multiple people named exactly the same will yeild the Node on occasion. - * - * @param {string} name name of conversation to search for - * @returns {(HTMLElement | undefined)} the node for a conversation matching the name - */ - private getProfileNodeIfExists(name: string): HTMLElement | undefined { - const nodes = Array.from(document.querySelectorAll("h3.name")); - const firstMatch = nodes.find((header) => header.textContent === name); - return firstMatch?.parentElement?.parentElement || undefined; - } - - /** - * - * Looks for the existence of an image on the provided profile node returned from the getProfileNodeIfEvists private. - * - * @param {HTMLElement} profileNode the node to traverse the children of - * @returns {(HTMLCanvasElement | undefined)} the img tag of the node - */ - private getCanvasNodeIfExists( - profileNode: HTMLElement - ): HTMLCanvasElement | undefined { - return profileNode.querySelector("canvas") || undefined; - } - - /** - * - * First checks cache. If it is not in the cache trys to get the canvas node and turn it into a data:url - * I am not sure the cache is necessary anymore but there are rumors that canvas.toDataUrl is slow. - * - * @param title title of the notification as passed to the window.Notification - */ - public getProfileImg(title: string): CachedImage { - const cacheKey = this.getCacheKey(title); - if (this.imgCache.has(cacheKey)) { - return this.imgCache.get(cacheKey); - } - const profileNode = this.getProfileNodeIfExists(cacheKey); - if (profileNode != null) { - const canvasTag = this.getCanvasNodeIfExists(profileNode); - if (canvasTag != null) { - this.imgCache.set(cacheKey, canvasTag.toDataURL()); - return canvasTag.toDataURL(); - } - } - return undefined; - } -} diff --git a/src/helpers/profileImage.ts b/src/helpers/profileImage.ts new file mode 100644 index 00000000..cb69c2ce --- /dev/null +++ b/src/helpers/profileImage.ts @@ -0,0 +1,64 @@ +import { nativeImage, NativeImage } from "electron"; + +/** + * + * Attempts to split the title of the notification in a way that yeilds a cache hit + * The character it splits at is hard coded and relient on google not changing it + * I do not know a way around this for now so it will stay + * + * @param {string} title notification title to convert to cache key + * @returns {string} cache key for indexing + */ +function getCacheKey(title: string): string { + if (title.includes(" •")) { + return title.split(" •")[0]; + } + return title; +} + +/** + * + * Get the node of the listing for the message in the message list from the provided name. + * It only finds the first match so multiple people named exactly the same will yeild the Node on occasion. + * + * @param {string} name name of conversation to search for + * @returns {(HTMLElement | undefined)} the node for a conversation matching the name + */ +function getProfileNodeIfExists(name: string): HTMLElement | undefined { + const nodes = Array.from(document.querySelectorAll("h3.name")); + const firstMatch = nodes.find((header) => header.textContent === name); + return firstMatch?.parentElement?.parentElement || undefined; +} + +/** + * + * Looks for the existence of an image on the provided profile node returned from the getProfileNodeIfEvists private. + * + * @param {HTMLElement} profileNode the node to traverse the children of + * @returns {(HTMLCanvasElement | undefined)} the img tag of the node + */ +function getCanvasNodeIfExists( + profileNode: HTMLElement +): HTMLCanvasElement | undefined { + return profileNode.querySelector("canvas") || undefined; +} + +export type ProfileImage = NativeImage | undefined; + +/** + * + * trys to get the canvas node of the sender of the message and turn it into a data:url + * + * @param title title of the notification as passed to the window.Notification + */ +export function getProfileImg(title: string): ProfileImage { + const cacheKey = getCacheKey(title); + const profileNode = getProfileNodeIfExists(cacheKey); + if (profileNode == null) { + return; + } + const canvasTag = getCanvasNodeIfExists(profileNode); + const dataURL = canvasTag?.toDataURL(); + + return dataURL != null ? nativeImage.createFromDataURL(dataURL) : undefined; +} From ca85e2fd55c5f63cb17796c7606f5e7ceca177d2 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 22 Jan 2021 13:16:57 -0500 Subject: [PATCH 220/385] 4.5.0 version bump --- CHANGELOG.md | 13 +++++++++++++ package.json | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee02ae8..3682e15e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [4.5.0] - 2021-01-22 + +Bug fixes galor + +## Fixed +- Bug with unread messages dot +- Bug with notifications not being sent until a conversation is opened +- Bug with image cache existing causing problems on slow networks + +## Added +- Tooltip on tray icon +- Images are saved with date as filename + ## [4.4.0] - 2020-12-19 Google Fi integration diff --git a/package.json b/package.json index 10c4f648..de266f29 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.4.0", + "version": "4.5.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From c44efd34be6daf8f20408592f485061149f681d4 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 22 Jan 2021 18:32:42 -0500 Subject: [PATCH 221/385] rollback electron to 11.1 --- CHANGELOG.md | 4 ++++ package.json | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3682e15e..e49ca723 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [4.5.1] - 2021-01-22 + +Everything should be fixed + ## [4.5.0] - 2021-01-22 Bug fixes galor diff --git a/package.json b/package.json index de266f29..6f623dc7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.5.0", + "version": "4.5.1", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" @@ -41,7 +41,7 @@ "@typescript-eslint/parser": "^4.14.0", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "11.2.0", + "electron": "11.1.0", "electron-builder": "22.9.1", "eslint": "^7.18.0", "eslint-config-prettier": "^7.2.0", From 5cf931f11d0e0f6234e85c37701bef7352cc22f7 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 22 Jan 2021 18:35:31 -0500 Subject: [PATCH 222/385] updated lockfile --- yarn.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0bd39e83..3eb0165c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1228,10 +1228,10 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-11.2.0.tgz#f8577ea4c9ba94068850256145be26b0b89a5dd7" - integrity sha512-weszOPAJPoPu6ozL7vR9enXmaDSqH+KE9iZODfbGdnFgtVfVdfyedjlvEGIUJkLMPXM1y/QWwCl2dINzr0Jq5Q== +electron@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-11.1.0.tgz#8dfdf579d1eb79feef3e3d2937fc022e72129c90" + integrity sha512-RFAhR/852VMaRd9NSe7jprwSoG9dLc6u1GwnqRWg+/3cy/8Zrwt1Betw1lXiZH7hGuB9K2cqju83Xv5Pq5ZSGA== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" From 70887fb6837aaea8a8dd6b281c66efa469157f62 Mon Sep 17 00:00:00 2001 From: "V@no" Date: Sun, 31 Jan 2021 10:50:45 -0500 Subject: [PATCH 223/385] Update app.ts Unnecessary separated event listeners --- src/app.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/app.ts b/src/app.ts index 50daaa15..c1554917 100644 --- a/src/app.ts +++ b/src/app.ts @@ -12,9 +12,6 @@ androidMessagesWebview.addEventListener("dom-ready", () => { if (IS_DEV) { androidMessagesWebview.openDevTools(); } -}); - -androidMessagesWebview.addEventListener("dom-ready", () => { app.mainWindow?.on("focus", () => { // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs androidMessagesWebview.dispatchEvent(new Event("focus")); From 856d957d4342444386296deebfe7d40c04dbc973 Mon Sep 17 00:00:00 2001 From: "V@no" Date: Wed, 3 Feb 2021 21:38:04 -0500 Subject: [PATCH 224/385] Update background.ts --- src/background.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/background.ts b/src/background.ts index e45e4454..ecf84e0d 100644 --- a/src/background.ts +++ b/src/background.ts @@ -190,9 +190,6 @@ if (!isFirstInstance) { state.bridgeInitDone = true; - // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) - if (!settingsManager.startInTray) mainWindow.show(); - // We have to send un-solicited events (i.e. an event not the result of an event sent to this process) to the webview bridge // via the renderer process. I'm not sure of a way to get a reference to the androidMessagesWebview inside the renderer from // here. There may be a legit way to do it, or we can do it a dirty way like how we pass this process to the renderer. From d0417ee1e1c4feb5f35deb172221b9e897e3dfd3 Mon Sep 17 00:00:00 2001 From: "V@no" Date: Wed, 3 Feb 2021 21:45:00 -0500 Subject: [PATCH 225/385] no message --- src/bridge.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bridge.ts b/src/bridge.ts index eeddbde1..62a1e4c8 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -58,6 +58,9 @@ window.addEventListener("load", () => { childList: true, attributes: true, }); + + // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) + if (!settings.get(SETTING_START_IN_TRAY)) app.mainWindow?.show(); }); ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { From bbcabcc61a010abadf53378e51403c11c311f838 Mon Sep 17 00:00:00 2001 From: "V@no" Date: Wed, 3 Feb 2021 22:55:26 -0500 Subject: [PATCH 226/385] Missed a constant --- src/bridge.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bridge.ts b/src/bridge.ts index 62a1e4c8..a98da505 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -6,6 +6,7 @@ import { SETTING_HIDE_NOTIFICATION, RESOURCES_PATH, SETTING_NOTIFICATION_SOUND, + SETTING_START_IN_TRAY, } from "./helpers/constants"; import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; From 555920ff3d548f80cc6d766de54e2fac93eb129e Mon Sep 17 00:00:00 2001 From: "V@no" Date: Sun, 7 Feb 2021 10:35:49 -0500 Subject: [PATCH 227/385] Block Google collecting data Block Google from collecting javascript errors and other data --- src/background.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index e45e4454..30644f6e 100644 --- a/src/background.ts +++ b/src/background.ts @@ -252,5 +252,17 @@ if (!isFirstInstance) { }); } }); - }); + + // block Google collecting data + mainWindow.webContents.session.webRequest.onBeforeRequest( + { + urls: ["https://messages.google.com/web/jserror?*", "https://play.google.com/log?*"] + }, + (details, callback) => + { + callback({cancel: true}); + } + ); + + });//onready } From 0b71b346cfa4f8f66aeb53354c8e8410497ba969 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Feb 2021 18:12:03 -0500 Subject: [PATCH 228/385] Makes the app load again! Thanks @vanowm --- src/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.html b/src/index.html index 4686562c..48a5315b 100644 --- a/src/index.html +++ b/src/index.html @@ -5,7 +5,7 @@ Android Messages - + From ee7ab480164cabb5ee851bc0fef9ee34503f85e2 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Feb 2021 18:12:19 -0500 Subject: [PATCH 229/385] v4.5.3 --- CHANGELOG.md | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e49ca723..4c2412c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [4.5.3] - 2021-02-09 + +Make the app load again + ## [4.5.1] - 2021-01-22 Everything should be fixed diff --git a/package.json b/package.json index 6f623dc7..4d621dbf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.5.1", + "version": "4.5.3", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 71c70a3fd707c6967f7a556e6c9d1e924edbef50 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Feb 2021 22:28:42 -0500 Subject: [PATCH 230/385] dependency bump --- package.json | 18 +- src/menu/contextMenu.ts | 43 +-- yarn.lock | 592 +++++++++++++--------------------------- 3 files changed, 228 insertions(+), 425 deletions(-) diff --git a/package.json b/package.json index 4d621dbf..61e0db98 100644 --- a/package.json +++ b/package.json @@ -33,29 +33,29 @@ }, "devDependencies": { "@types/electron-settings": "^3.1.1", - "@types/node": "14.14.22", + "@types/node": "14.14.25", "@types/webpack": "^4.41.26", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^4.14.0", - "@typescript-eslint/parser": "^4.14.0", + "@typescript-eslint/eslint-plugin": "^4.15.0", + "@typescript-eslint/parser": "^4.15.0", "cross-env": "^7.0.2", "css-loader": "^5.0.0", "electron": "11.1.0", "electron-builder": "22.9.1", - "eslint": "^7.18.0", + "eslint": "^7.19.0", "eslint-config-prettier": "^7.2.0", "eslint-plugin-prettier": "^3.3.1", - "html-webpack-plugin": "^4.5.1", + "html-webpack-plugin": "^5.0.0", "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", "style-loader": "^2.0.0", - "ts-loader": "^8.0.14", + "ts-loader": "^8.0.16", "ts-node": "^9.1.1", - "typescript": "^4.1.3", - "webpack": "^5.17.0", - "webpack-cli": "^4.4.0", + "typescript": "^4.1.4", + "webpack": "^5.21.2", + "webpack-cli": "^4.5.0", "webpack-merge": "^5.7.3", "webpack-node-externals": "^2.5.2" } diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index d907e35c..a5ff6869 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -71,34 +71,37 @@ export const popupContextMenu = async ( { label: `Save ${mediaType} As...`, click: () => { - const link = document.createElement('a'), - d = new Date(), - download = (url:string) => - { - link.href = url; - link.download = "IMG_" + d.getFullYear() + pad(d.getMonth()+1) + pad(d.getDate()) + "_" + pad(d.getHours()) + pad(d.getMinutes()) + pad(d.getSeconds()); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - }, - pad = (t:number) => ("0" + t).substr(-2); + const link = document.createElement("a"), + d = new Date(), + download = (url: string) => { + link.href = url; + link.download = + "IMG_" + + d.getFullYear() + + pad(d.getMonth() + 1) + + pad(d.getDate()) + + "_" + + pad(d.getHours()) + + pad(d.getMinutes()) + + pad(d.getSeconds()); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + }, + pad = (t: number) => ("0" + t).substr(-2); - if (params.srcURL.match(/^blob:/i)) - { + if (params.srcURL.match(/^blob:/i)) { download(params.srcURL); - } - else - { + } else { //using AJAX to prevent non-blob images from being opened instead of downloaded (i.e preview of web links) const xhr = new XMLHttpRequest(); xhr.open("GET", params.srcURL, true); xhr.responseType = "blob"; - xhr.onload = function() - { - const url = window.URL.createObjectURL(this.response); + xhr.onload = function () { + const url = window.URL.createObjectURL(this.response); download(url); window.URL.revokeObjectURL(url); - } + }; xhr.send(); } }, diff --git a/yarn.lock b/yarn.lock index 3eb0165c..09f75e29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8,23 +8,23 @@ integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== "@babel/code-frame@^7.0.0": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== dependencies: - "@babel/highlight" "^7.10.4" + "@babel/highlight" "^7.12.13" -"@babel/helper-validator-identifier@^7.10.4": +"@babel/helper-validator-identifier@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== +"@babel/highlight@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" + "@babel/helper-validator-identifier" "^7.12.11" chalk "^2.0.0" js-tokens "^4.0.0" @@ -42,13 +42,12 @@ integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== "@electron/get@^1.0.1": - version "1.12.3" - resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.3.tgz#fa2723385c4b565a34c4c82f46087aa2a5fbf6d0" - integrity sha512-NFwSnVZQK7dhOYF1NQCt+HGqgL1aNdj0LUSx75uCqnZJqyiWCVdAMFV4b4/kC8HjUJAnsvdSEmjEt4G2qNQ9+Q== + version "1.12.4" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.4.tgz#a5971113fc1bf8fa12a8789dc20152a7359f06ab" + integrity sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg== dependencies: debug "^4.1.1" env-paths "^2.2.0" - filenamify "^4.1.0" fs-extra "^8.1.0" got "^9.6.0" progress "^2.0.3" @@ -162,15 +161,15 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== -"@types/node@*", "@types/node@14.14.22": - version "14.14.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18" - integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== +"@types/node@*", "@types/node@14.14.25": + version "14.14.25" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93" + integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ== "@types/node@^12.0.12": - version "12.19.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.15.tgz#0de7e978fb43db62da369db18ea088a63673c182" - integrity sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw== + version "12.19.16" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.16.tgz#15753af35cbef636182d8d8ca55b37c8583cecb3" + integrity sha512-7xHmXm/QJ7cbK2laF+YYD7gb5MggHIIQwqyjin3bpEGiSuvScMQ5JZZXPvRipi1MwckTQbJZROMns/JxdnIL1Q== "@types/semver@^7.3.1": version "7.3.4" @@ -182,15 +181,15 @@ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/tapable@*", "@types/tapable@^1.0.5": +"@types/tapable@*": version "1.0.6" resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== "@types/uglify-js@*": - version "3.11.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.11.1.tgz#97ff30e61a0aa6876c270b5f538737e2d6ab8ceb" - integrity sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q== + version "3.12.0" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.12.0.tgz#2bb061c269441620d46b946350c8f16d52ef37c5" + integrity sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q== dependencies: source-map "^0.6.1" @@ -217,7 +216,7 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@*", "@types/webpack@^4.41.26", "@types/webpack@^4.41.8": +"@types/webpack@*", "@types/webpack@^4.41.26": version "4.41.26" resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef" integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA== @@ -235,19 +234,19 @@ integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== "@types/yargs@^15.0.5": - version "15.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.12.tgz#6234ce3e3e3fa32c5db301a170f96a599c960d74" - integrity sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== + version "15.0.13" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" + integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.14.0": - version "4.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz#92db8e7c357ed7d69632d6843ca70b71be3a721d" - integrity sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww== +"@typescript-eslint/eslint-plugin@^4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.0.tgz#13a5a07cf30d0d5781e43480aa2a8d38d308b084" + integrity sha512-DJgdGZW+8CFUTz5C/dnn4ONcUm2h2T0itWD85Ob5/V27Ndie8hUoX5HKyGssvR8sUMkAIlUc/AMK67Lqa3kBIQ== dependencies: - "@typescript-eslint/experimental-utils" "4.14.0" - "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/experimental-utils" "4.15.0" + "@typescript-eslint/scope-manager" "4.15.0" debug "^4.1.1" functional-red-black-tree "^1.0.1" lodash "^4.17.15" @@ -255,61 +254,60 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.14.0": - version "4.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz#5aa7b006736634f588a69ee343ca959cd09988df" - integrity sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ== +"@typescript-eslint/experimental-utils@4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.0.tgz#b87c36410a9b23f637689427be85007a2ec1a9c6" + integrity sha512-V4vaDWvxA2zgesg4KPgEGiomWEBpJXvY4ZX34Y3qxK8LUm5I87L+qGIOTd9tHZOARXNRt9pLbblSKiYBlGMawg== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.14.0" - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/typescript-estree" "4.14.0" + "@typescript-eslint/scope-manager" "4.15.0" + "@typescript-eslint/types" "4.15.0" + "@typescript-eslint/typescript-estree" "4.15.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.14.0": - version "4.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.14.0.tgz#62d4cd2079d5c06683e9bfb200c758f292c4dee7" - integrity sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg== +"@typescript-eslint/parser@^4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.0.tgz#8df94365b4b7161f9e8514fe28aef19954810b6b" + integrity sha512-L6Dtbq8Bc7g2aZwnIBETpmUa9XDKCMzKVwAArnGp5Mn7PRNFjf3mUzq8UeBjL3K8t311hvevnyqXAMSmxO8Gpg== dependencies: - "@typescript-eslint/scope-manager" "4.14.0" - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/typescript-estree" "4.14.0" + "@typescript-eslint/scope-manager" "4.15.0" + "@typescript-eslint/types" "4.15.0" + "@typescript-eslint/typescript-estree" "4.15.0" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.14.0": - version "4.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz#55a4743095d684e1f7b7180c4bac2a0a3727f517" - integrity sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q== +"@typescript-eslint/scope-manager@4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.0.tgz#c42703558ea6daaaba51a9c3a86f2902dbab9432" + integrity sha512-CSNBZnCC2jEA/a+pR9Ljh8Y+5TY5qgbPz7ICEk9WCpSEgT6Pi7H2RIjxfrrbUXvotd6ta+i27sssKEH8Azm75g== dependencies: - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/visitor-keys" "4.14.0" + "@typescript-eslint/types" "4.15.0" + "@typescript-eslint/visitor-keys" "4.15.0" -"@typescript-eslint/types@4.14.0": - version "4.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.14.0.tgz#d8a8202d9b58831d6fd9cee2ba12f8a5a5dd44b6" - integrity sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A== +"@typescript-eslint/types@4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.0.tgz#3011ae1ac3299bb9a5ac56bdd297cccf679d3662" + integrity sha512-su4RHkJhS+iFwyqyXHcS8EGPlUVoC+XREfy5daivjLur9JP8GhvTmDipuRpcujtGC4M+GYhUOJCPDE3rC5NJrg== -"@typescript-eslint/typescript-estree@4.14.0": - version "4.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz#4bcd67486e9acafc3d0c982b23a9ab8ac8911ed7" - integrity sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag== +"@typescript-eslint/typescript-estree@4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.0.tgz#402c86a7d2111c1f7a2513022f22a38a395b7f93" + integrity sha512-jG6xTmcNbi6xzZq0SdWh7wQ9cMb2pqXaUp6bUZOMsIlu5aOlxGxgE/t6L/gPybybQGvdguajXGkZKSndZJpksA== dependencies: - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/visitor-keys" "4.14.0" + "@typescript-eslint/types" "4.15.0" + "@typescript-eslint/visitor-keys" "4.15.0" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" - lodash "^4.17.15" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.14.0": - version "4.14.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz#b1090d9d2955b044b2ea2904a22496849acbdf54" - integrity sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA== +"@typescript-eslint/visitor-keys@4.15.0": + version "4.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.0.tgz#2a07768df30c8a5673f1bce406338a07fdec38ca" + integrity sha512-RnDtJwOwFucWFAMjG3ghCG/ikImFJFEg20DI7mn4pHEx3vC48lIAoyjhffvfHmErRDboUPC7p9Z2il4CLb7qxA== dependencies: - "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/types" "4.15.0" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.11.0": @@ -433,22 +431,22 @@ "@webassemblyjs/ast" "1.11.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.0.tgz#2aff5f1ebc6f793c13ba9b2a701d180eab17f5ee" - integrity sha512-Un0SdBoN1h4ACnIO7EiCjWuyhNI0Jl96JC+63q6xi4HDUYRZn8Auluea9D+v9NWKc5J4sICVEltdBaVjLX39xw== +"@webpack-cli/configtest@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.1.tgz#241aecfbdc715eee96bed447ed402e12ec171935" + integrity sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ== -"@webpack-cli/info@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.1.tgz#af98311f983d0b9fce7284cfcf1acaf1e9f4879c" - integrity sha512-fLnDML5HZ5AEKzHul8xLAksoKN2cibu6MgonkUj8R9V7bbeVRkd1XbGEGWrAUNYHbX1jcqCsDEpBviE5StPMzQ== +"@webpack-cli/info@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.2.tgz#ef3c0cd947a1fa083e174a59cb74e0b6195c236c" + integrity sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.2.2.tgz#1f8eee44f96524756268f5e3f43e9d943f864d41" - integrity sha512-03GkWxcgFfm8+WIwcsqJb9agrSDNDDoxaNnexPnCCexP5SCE4IgFd9lNpSy+K2nFqVMpgTFw6SwbmVAVTndVew== +"@webpack-cli/serve@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.0.tgz#2730c770f5f1f132767c63dcaaa4ec28f8c56a6c" + integrity sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -476,9 +474,9 @@ acorn@^7.4.0: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.4.tgz#7a3ae4191466a6984eee0fe3407a4f3aa9db8354" - integrity sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ== + version "8.0.5" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.5.tgz#a3bfb872a74a6a7f661bc81b9849d9cac12601b7" + integrity sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg== ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" @@ -496,9 +494,9 @@ ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: uri-js "^4.2.2" ajv@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" - integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== + version "7.0.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.4.tgz#827e5f5ae32f5e5c1637db61f253a112229b5e2f" + integrity sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -678,15 +676,15 @@ braces@^3.0.1: fill-range "^7.0.1" browserslist@^4.14.5: - version "4.16.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" - integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== dependencies: - caniuse-lite "^1.0.30001173" + caniuse-lite "^1.0.30001181" colorette "^1.2.1" - electron-to-chromium "^1.3.634" + electron-to-chromium "^1.3.649" escalade "^3.1.1" - node-releases "^1.1.69" + node-releases "^1.1.70" buffer-crc32@~0.2.3: version "0.2.13" @@ -739,14 +737,6 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -770,10 +760,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001173: - version "1.0.30001179" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001179.tgz#b0803883b4471a6c62066fb1752756f8afc699c8" - integrity sha512-blMmO0QQujuUWZKyVrD1msR4WNDAqb/UPO1Sw2WWsQ7deoM5bJiicKnWJ1Y0NS/aGINSnKPIWBMw5luX+NDUCA== +caniuse-lite@^1.0.30001181: + version "1.0.30001185" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz#3482a407d261da04393e2f0d61eefbc53be43b95" + integrity sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg== chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" @@ -898,10 +888,10 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== +commander@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.0.0.tgz#3e2bbfd8bb6724760980988fb5b22b7ee6b71ab2" + integrity sha512-ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA== concat-map@0.0.1: version "0.0.1" @@ -975,22 +965,22 @@ crypto-random-string@^2.0.0: integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== css-loader@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.1.tgz#9e4de0d6636a6266a585bd0900b422c85539d25f" - integrity sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw== + version "5.0.2" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.2.tgz#24f758dae349bad0a440c50d7e2067742e0899cb" + integrity sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA== dependencies: camelcase "^6.2.0" cssesc "^3.0.0" - icss-utils "^5.0.0" + icss-utils "^5.1.0" loader-utils "^2.0.0" - postcss "^8.1.4" + postcss "^8.2.4" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" schema-utils "^3.0.0" - semver "^7.3.2" + semver "^7.3.4" css-select@^2.0.2: version "2.1.0" @@ -1048,7 +1038,7 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -1162,9 +1152,9 @@ duplexer3@^0.1.4: integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= ejs@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" - integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== + version "3.1.6" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" + integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== dependencies: jake "^10.6.1" @@ -1210,10 +1200,10 @@ electron-settings@3.2.0: clone "^2.1.1" jsonfile "^4.0.0" -electron-to-chromium@^1.3.634: - version "1.3.642" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.642.tgz#8b884f50296c2ae2a9997f024d0e3e57facc2b94" - integrity sha512-cev+jOrz/Zm1i+Yh334Hed6lQVOkkemk2wRozfMF4MtTR7pxf3r3L5Rbd7uX1zMcEqVJ7alJBnJL7+JffkC6FQ== +electron-to-chromium@^1.3.649: + version "1.3.661" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.661.tgz#8603ec971b3e3b3d83389ac2bb64b9b07d7bb40a" + integrity sha512-INNzKoL9ceOpPCpF5J+Fp9AOHY1RegwKViohAyTzV3XbkuRUx04r4v8edsDbevsog8UuL0GvD/Qerr2HwVTlSA== electron-updater@4.3.5: version "4.3.5" @@ -1294,9 +1284,9 @@ entities@^1.1.1: integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== entities@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" - integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== env-paths@^2.2.0: version "2.2.0" @@ -1304,9 +1294,9 @@ env-paths@^2.2.0: integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== envinfo@^7.7.3: - version "7.7.3" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.3.tgz#4b2d8622e3e7366afb8091b23ed95569ea0208cc" - integrity sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA== + version "7.7.4" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.4.tgz#c6311cdd38a0e86808c1c9343f667e4267c4a320" + integrity sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ== errno@^0.1.3: version "0.1.8" @@ -1315,40 +1305,11 @@ errno@^0.1.3: dependencies: prr "~1.0.1" -es-abstract@^1.18.0-next.1: - version "1.18.0-next.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" - integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.1" - is-regex "^1.1.1" - object-inspect "^1.9.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.3" - string.prototype.trimstart "^1.0.3" - es-module-lexer@^0.3.26: version "0.3.26" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b" integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA== -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - es6-error@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" @@ -1364,7 +1325,7 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -1411,10 +1372,10 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.18.0: - version "7.18.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.18.0.tgz#7fdcd2f3715a41fe6295a16234bd69aed2c75e67" - integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== +eslint@^7.19.0: + version "7.19.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.19.0.tgz#6719621b196b5fad72e43387981314e5d0dc3f41" + integrity sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg== dependencies: "@babel/code-frame" "^7.0.0" "@eslint/eslintrc" "^0.3.0" @@ -1469,9 +1430,9 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" @@ -1565,9 +1526,9 @@ fastest-levenshtein@^1.0.12: integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== fastq@^1.6.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" - integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== + version "1.10.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.1.tgz#8b8f2ac8bf3632d67afcd65dac248d5fdc45385e" + integrity sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA== dependencies: reusify "^1.0.4" @@ -1586,26 +1547,12 @@ file-entry-cache@^6.0.0: flat-cache "^3.0.4" filelist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" - integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" + integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== dependencies: minimatch "^3.0.4" -filename-reserved-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" - integrity sha1-q/c9+rc10EVECr/qLZHzieu/oik= - -filenamify@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-4.2.0.tgz#c99716d676869585b3b5d328b3f06590d032e89f" - integrity sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA== - dependencies: - filename-reserved-regex "^2.0.0" - strip-outer "^1.0.1" - trim-repeated "^1.0.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -1621,14 +1568,6 @@ find-up@^4.0.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -1689,15 +1628,6 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" - integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -1815,9 +1745,9 @@ got@^9.6.0: url-parse-lax "^3.0.0" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + version "4.2.6" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== has-flag@^3.0.0: version "3.0.0" @@ -1829,11 +1759,6 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -1857,9 +1782,9 @@ hosted-git-info@^2.1.4: integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== hosted-git-info@^3.0.5: - version "3.0.7" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz#a30727385ea85acfcee94e0aad9e368c792e036c" - integrity sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== + version "3.0.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" + integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" @@ -1876,20 +1801,17 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-webpack-plugin@^4.5.1: - version "4.5.1" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz#40aaf1b5cb78f2f23a83333999625c20929cda65" - integrity sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg== +html-webpack-plugin@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.0.0.tgz#457a9defb33ce368135078b4e0387a27f3fe244d" + integrity sha512-kxTyb8cyZwEyUqXTgdHRUOF4C7uCrquzw2T+YTudehm/yspodgCkREjdmc4dXI8k2P4NEjqOVbnOOlPZg4TKJA== dependencies: "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" + loader-utils "^2.0.0" lodash "^4.17.20" pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" + tapable "^2.0.0" htmlparser2@^3.10.1: version "3.10.1" @@ -1920,7 +1842,7 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^5.0.0: +icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== @@ -1994,11 +1916,6 @@ interpret@^2.2.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -is-callable@^1.1.4, is-callable@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" - integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== - is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -2013,11 +1930,6 @@ is-core-module@^2.1.0: dependencies: has "^1.0.3" -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -2048,11 +1960,6 @@ is-installed-globally@^0.3.1: global-dirs "^2.0.1" is-path-inside "^3.0.1" -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - is-npm@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" @@ -2080,25 +1987,11 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - dependencies: - has-symbols "^1.0.1" - is-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2191,17 +2084,10 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: minimist "^1.2.5" @@ -2258,15 +2144,6 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== -loader-utils@^1.2.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - loader-utils@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" @@ -2283,13 +2160,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" @@ -2448,7 +2318,7 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-releases@^1.1.69: +node-releases@^1.1.70: version "1.1.70" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== @@ -2490,35 +2360,11 @@ nth-check@^1.0.2: dependencies: boolbase "~1.0.0" -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== - -object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.12: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544" - integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2557,7 +2403,7 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -2571,13 +2417,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -2663,13 +2502,6 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-dir@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760" - integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA== - dependencies: - find-up "^5.0.0" - png2icons@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" @@ -2718,10 +2550,10 @@ postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^8.1.4: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04" - integrity sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg== +postcss@^8.2.4: + version "8.2.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.5.tgz#3c75149ada4e93db9521913654c0144517f77c9a" + integrity sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg== dependencies: colorette "^1.2.1" nanoid "^3.1.20" @@ -2797,6 +2629,11 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" +queue-microtask@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" + integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -2963,9 +2800,11 @@ roarr@^2.15.3: sprintf-js "^1.1.2" run-parallel@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" - integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" @@ -3166,22 +3005,6 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.trimend@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" - integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" - integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -3232,13 +3055,6 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -strip-outer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" - integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== - dependencies: - escape-string-regexp "^1.0.2" - style-loader@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" @@ -3278,12 +3094,12 @@ table@^6.0.4: slice-ansi "^4.0.0" string-width "^4.2.0" -tapable@^1.0.0, tapable@^1.1.3: +tapable@^1.0.0: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tapable@^2.1.1, tapable@^2.2.0: +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== @@ -3348,13 +3164,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -trim-repeated@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" - integrity sha1-42RqLqTokTEr9+rObPsFOAvAHCE= - dependencies: - escape-string-regexp "^1.0.2" - truncate-utf8-bytes@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" @@ -3362,10 +3171,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.14: - version "8.0.14" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.14.tgz#e46ac1f8dcb88808d0b1335d2eae65b74bd78fe8" - integrity sha512-Jt/hHlUnApOZjnSjTmZ+AbD5BGlQFx3f1D0nYuNKwz0JJnuDGHJas6az+FlWKwwRTu+26GXpv249A8UAnYUpqA== +ts-loader@^8.0.16: + version "8.0.16" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.16.tgz#a60311f01f015518e1cfbb5698e6ca8830cd2391" + integrity sha512-Cr9ywsgg1n8cjGjIogHLPlqe3WJUHzuJaqwNo5I596KpIqekKzxvSENbrXeOypHcXSPPsr8hV6mglngyXvcKrg== dependencies: chalk "^4.1.0" enhanced-resolve "^4.0.0" @@ -3396,9 +3205,9 @@ tslib@^2.0.3: integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== tsutils@^3.17.1: - version "3.19.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.19.1.tgz#d8566e0c51c82f32f9c25a4d367cd62409a547a9" - integrity sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw== + version "3.20.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698" + integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg== dependencies: tslib "^1.8.1" @@ -3436,10 +3245,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" - integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== +typescript@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.4.tgz#f058636e2f4f83f94ddaae07b20fd5e14598432f" + integrity sha512-+Uru0t8qIRgjuCpiSPpfGuhHecMllk5Zsazj5LZvVsEStEjmIRRBZe+jHjGQvsgS7M1wONy2PQXd67EMyV6acg== uniq@^1.0.1: version "1.0.1" @@ -3506,14 +3315,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -3533,24 +3334,24 @@ validate-npm-package-license@^3.0.1: spdx-expression-parse "^3.0.0" watchpack@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.0.tgz#e63194736bf3aa22026f7b191cd57907b0f9f696" - integrity sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw== + version "2.1.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" + integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.4.0.tgz#38c7fa01ea31510f5c490245dd1bb28018792f1b" - integrity sha512-/Qh07CXfXEkMu5S8wEpjuaw2Zj/CC0hf/qbTDp6N8N7JjdGuaOjZ7kttz+zhuJO/J5m7alQEhNk9lsc4rC6xgQ== +webpack-cli@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.5.0.tgz#b5213b84adf6e1f5de6391334c9fa53a48850466" + integrity sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.0" - "@webpack-cli/info" "^1.2.1" - "@webpack-cli/serve" "^1.2.2" + "@webpack-cli/configtest" "^1.0.1" + "@webpack-cli/info" "^1.2.2" + "@webpack-cli/serve" "^1.3.0" colorette "^1.2.1" - commander "^6.2.0" + commander "^7.0.0" enquirer "^2.3.6" execa "^5.0.0" fastest-levenshtein "^1.0.12" @@ -3581,10 +3382,10 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.17.0.tgz#e92aebad45be25f86f788dc72fc11daacdcfd55d" - integrity sha512-R+IdNEaYcYaACpXZOt7reyc8txBK7J06lOPkX1SbgmeoAnUbyBZivJIksrDBnmMA3wlTWvPcX7DubxELyPB8rA== +webpack@^5.21.2: + version "5.21.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.21.2.tgz#647507e50d3637695be28af58a6a8246050394e7" + integrity sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" @@ -3604,7 +3405,6 @@ webpack@^5.17.0: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - pkg-dir "^5.0.0" schema-utils "^3.0.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.1" From c7d504780d0688a17d1a67c54c07a3a69b4ad6a4 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 9 Feb 2021 22:31:10 -0500 Subject: [PATCH 231/385] v4.5.4 --- CHANGELOG.md | 6 ++++++ package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c2412c3..beac8a93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [4.5.4] - 2021-02-09 + +## Fixed +- Issue perventing window from showing when a phone is not paired +- Redundant event listener + ## [4.5.3] - 2021-02-09 Make the app load again diff --git a/package.json b/package.json index 61e0db98..a518d2cb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.5.3", + "version": "4.5.4", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From ce2919374a61a22d6ffd0c35d605c6de359dc8ba Mon Sep 17 00:00:00 2001 From: "V@no" Date: Fri, 12 Feb 2021 07:02:14 -0500 Subject: [PATCH 232/385] Added google-analytics --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 30644f6e..4c71dcbb 100644 --- a/src/background.ts +++ b/src/background.ts @@ -256,7 +256,7 @@ if (!isFirstInstance) { // block Google collecting data mainWindow.webContents.session.webRequest.onBeforeRequest( { - urls: ["https://messages.google.com/web/jserror?*", "https://play.google.com/log?*"] + urls: ["https://messages.google.com/web/jserror?*", "https://play.google.com/log?*", "https://www.google-analytics.com/analytics.js"] }, (details, callback) => { From 884c2c461ae8758a249118ea19c75cbf77cdd51e Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Feb 2021 21:39:15 -0500 Subject: [PATCH 233/385] Dependency bump --- package.json | 16 ++-- yarn.lock | 240 +++++++++++++++++++++++++-------------------------- 2 files changed, 128 insertions(+), 128 deletions(-) diff --git a/package.json b/package.json index a518d2cb..0a99f74e 100644 --- a/package.json +++ b/package.json @@ -33,28 +33,28 @@ }, "devDependencies": { "@types/electron-settings": "^3.1.1", - "@types/node": "14.14.25", + "@types/node": "14.14.30", "@types/webpack": "^4.41.26", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^4.15.0", - "@typescript-eslint/parser": "^4.15.0", + "@typescript-eslint/eslint-plugin": "^4.15.1", + "@typescript-eslint/parser": "^4.15.1", "cross-env": "^7.0.2", "css-loader": "^5.0.0", "electron": "11.1.0", "electron-builder": "22.9.1", - "eslint": "^7.19.0", + "eslint": "^7.20.0", "eslint-config-prettier": "^7.2.0", "eslint-plugin-prettier": "^3.3.1", - "html-webpack-plugin": "^5.0.0", + "html-webpack-plugin": "^5.1.0", "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", "style-loader": "^2.0.0", - "ts-loader": "^8.0.16", + "ts-loader": "^8.0.17", "ts-node": "^9.1.1", - "typescript": "^4.1.4", - "webpack": "^5.21.2", + "typescript": "^4.1.5", + "webpack": "^5.23.0", "webpack-cli": "^4.5.0", "webpack-merge": "^5.7.3", "webpack-node-externals": "^2.5.2" diff --git a/yarn.lock b/yarn.lock index 09f75e29..183ab96a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,19 +7,19 @@ resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== -"@babel/code-frame@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: - "@babel/highlight" "^7.12.13" + "@babel/highlight" "^7.10.4" "@babel/helper-validator-identifier@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== -"@babel/highlight@^7.12.13": +"@babel/highlight@^7.10.4": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== @@ -145,9 +145,9 @@ integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== "@types/fs-extra@^9.0.1": - version "9.0.6" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.6.tgz#488e56b77299899a608b8269719c1d133027a6ab" - integrity sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig== + version "9.0.7" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.7.tgz#a9ef2ffdab043def080c5bec94c03402f793577f" + integrity sha512-YGq2A6Yc3bldrLUlm17VNWOnUbnEzJ9CMgOeLFtQF3HOCN5lQBO8VyjG00a5acA5NNSM30kHVGp1trZgnVgi1Q== dependencies: "@types/node" "*" @@ -161,15 +161,15 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== -"@types/node@*", "@types/node@14.14.25": - version "14.14.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93" - integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ== +"@types/node@*", "@types/node@14.14.30": + version "14.14.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.30.tgz#7d5162eec085ba34f8cb9011e9ba12119f76f961" + integrity sha512-gUWhy8s45fQp4PqqKecsnOkdW0kt1IaKjgOIR3HPokkzTmQj9ji2wWFID5THu1MKrtO+d4s2lVrlEhXUsPXSvg== "@types/node@^12.0.12": - version "12.19.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.16.tgz#15753af35cbef636182d8d8ca55b37c8583cecb3" - integrity sha512-7xHmXm/QJ7cbK2laF+YYD7gb5MggHIIQwqyjin3bpEGiSuvScMQ5JZZXPvRipi1MwckTQbJZROMns/JxdnIL1Q== + version "12.20.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.3.tgz#fbabde59d96c23a80e337ca6a71b464da2a0a824" + integrity sha512-63cSd8J30Sr4/aFKKfDmCEM4GMH3W2efWT0Ii/B+Ohm3id0TU2xPEBFktiq3nXCZcN6VwVvpyv75I4zTP7YO/w== "@types/semver@^7.3.1": version "7.3.4" @@ -240,13 +240,13 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.0.tgz#13a5a07cf30d0d5781e43480aa2a8d38d308b084" - integrity sha512-DJgdGZW+8CFUTz5C/dnn4ONcUm2h2T0itWD85Ob5/V27Ndie8hUoX5HKyGssvR8sUMkAIlUc/AMK67Lqa3kBIQ== +"@typescript-eslint/eslint-plugin@^4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.1.tgz#835f64aa0a403e5e9e64c10ceaf8d05c3f015180" + integrity sha512-yW2epMYZSpNJXZy22Biu+fLdTG8Mn6b22kR3TqblVk50HGNV8Zya15WAXuQCr8tKw4Qf1BL4QtI6kv6PCkLoJw== dependencies: - "@typescript-eslint/experimental-utils" "4.15.0" - "@typescript-eslint/scope-manager" "4.15.0" + "@typescript-eslint/experimental-utils" "4.15.1" + "@typescript-eslint/scope-manager" "4.15.1" debug "^4.1.1" functional-red-black-tree "^1.0.1" lodash "^4.17.15" @@ -254,60 +254,60 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.0.tgz#b87c36410a9b23f637689427be85007a2ec1a9c6" - integrity sha512-V4vaDWvxA2zgesg4KPgEGiomWEBpJXvY4ZX34Y3qxK8LUm5I87L+qGIOTd9tHZOARXNRt9pLbblSKiYBlGMawg== +"@typescript-eslint/experimental-utils@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.1.tgz#d744d1ac40570a84b447f7aa1b526368afd17eec" + integrity sha512-9LQRmOzBRI1iOdJorr4jEnQhadxK4c9R2aEAsm7WE/7dq8wkKD1suaV0S/JucTL8QlYUPU1y2yjqg+aGC0IQBQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.15.0" - "@typescript-eslint/types" "4.15.0" - "@typescript-eslint/typescript-estree" "4.15.0" + "@typescript-eslint/scope-manager" "4.15.1" + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/typescript-estree" "4.15.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.0.tgz#8df94365b4b7161f9e8514fe28aef19954810b6b" - integrity sha512-L6Dtbq8Bc7g2aZwnIBETpmUa9XDKCMzKVwAArnGp5Mn7PRNFjf3mUzq8UeBjL3K8t311hvevnyqXAMSmxO8Gpg== +"@typescript-eslint/parser@^4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.1.tgz#4c91a0602733db63507e1dbf13187d6c71a153c4" + integrity sha512-V8eXYxNJ9QmXi5ETDguB7O9diAXlIyS+e3xzLoP/oVE4WCAjssxLIa0mqCLsCGXulYJUfT+GV70Jv1vHsdKwtA== dependencies: - "@typescript-eslint/scope-manager" "4.15.0" - "@typescript-eslint/types" "4.15.0" - "@typescript-eslint/typescript-estree" "4.15.0" + "@typescript-eslint/scope-manager" "4.15.1" + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/typescript-estree" "4.15.1" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.0.tgz#c42703558ea6daaaba51a9c3a86f2902dbab9432" - integrity sha512-CSNBZnCC2jEA/a+pR9Ljh8Y+5TY5qgbPz7ICEk9WCpSEgT6Pi7H2RIjxfrrbUXvotd6ta+i27sssKEH8Azm75g== +"@typescript-eslint/scope-manager@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.1.tgz#f6511eb38def2a8a6be600c530c243bbb56ac135" + integrity sha512-ibQrTFcAm7yG4C1iwpIYK7vDnFg+fKaZVfvyOm3sNsGAerKfwPVFtYft5EbjzByDJ4dj1WD8/34REJfw/9wdVA== dependencies: - "@typescript-eslint/types" "4.15.0" - "@typescript-eslint/visitor-keys" "4.15.0" + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/visitor-keys" "4.15.1" -"@typescript-eslint/types@4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.0.tgz#3011ae1ac3299bb9a5ac56bdd297cccf679d3662" - integrity sha512-su4RHkJhS+iFwyqyXHcS8EGPlUVoC+XREfy5daivjLur9JP8GhvTmDipuRpcujtGC4M+GYhUOJCPDE3rC5NJrg== +"@typescript-eslint/types@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.1.tgz#da702f544ef1afae4bc98da699eaecd49cf31c8c" + integrity sha512-iGsaUyWFyLz0mHfXhX4zO6P7O3sExQpBJ2dgXB0G5g/8PRVfBBsmQIc3r83ranEQTALLR3Vko/fnCIVqmH+mPw== -"@typescript-eslint/typescript-estree@4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.0.tgz#402c86a7d2111c1f7a2513022f22a38a395b7f93" - integrity sha512-jG6xTmcNbi6xzZq0SdWh7wQ9cMb2pqXaUp6bUZOMsIlu5aOlxGxgE/t6L/gPybybQGvdguajXGkZKSndZJpksA== +"@typescript-eslint/typescript-estree@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.1.tgz#fa9a9ff88b4a04d901ddbe5b248bc0a00cd610be" + integrity sha512-z8MN3CicTEumrWAEB2e2CcoZa3KP9+SMYLIA2aM49XW3cWIaiVSOAGq30ffR5XHxRirqE90fgLw3e6WmNx5uNw== dependencies: - "@typescript-eslint/types" "4.15.0" - "@typescript-eslint/visitor-keys" "4.15.0" + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/visitor-keys" "4.15.1" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.15.0": - version "4.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.0.tgz#2a07768df30c8a5673f1bce406338a07fdec38ca" - integrity sha512-RnDtJwOwFucWFAMjG3ghCG/ikImFJFEg20DI7mn4pHEx3vC48lIAoyjhffvfHmErRDboUPC7p9Z2il4CLb7qxA== +"@typescript-eslint/visitor-keys@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.1.tgz#c76abbf2a3be8a70ed760f0e5756bf62de5865dd" + integrity sha512-tYzaTP9plooRJY8eNlpAewTOqtWW/4ff/5wBjNVaJ0S0wC4Gpq/zDVRTJa5bq2v1pCNQ08xxMCndcvR+h7lMww== dependencies: - "@typescript-eslint/types" "4.15.0" + "@typescript-eslint/types" "4.15.1" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.11.0": @@ -494,9 +494,9 @@ ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: uri-js "^4.2.2" ajv@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.4.tgz#827e5f5ae32f5e5c1637db61f253a112229b5e2f" - integrity sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw== + version "7.1.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" + integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -761,9 +761,9 @@ camelcase@^6.2.0: integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-lite@^1.0.30001181: - version "1.0.30001185" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz#3482a407d261da04393e2f0d61eefbc53be43b95" - integrity sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg== + version "1.0.30001187" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001187.tgz#5706942631f83baa5a0218b7dfa6ced29f845438" + integrity sha512-w7/EP1JRZ9552CyrThUnay2RkZ1DXxKe/Q2swTC4+LElLh9RRYrL1Z+27LlakB8kzY0fSmHw9mc7XYDUKAKWMA== chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" @@ -889,9 +889,9 @@ commander@^4.1.1: integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.0.0.tgz#3e2bbfd8bb6724760980988fb5b22b7ee6b71ab2" - integrity sha512-ovx/7NkTrnPuIV8sqk/GjUIIM1+iUQeqA3ye2VNpq9sVoiZsooObWlQy+OPWGI17GDaEoybuAGJm6U8yC077BA== + version "7.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" + integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== concat-map@0.0.1: version "0.0.1" @@ -929,9 +929,9 @@ configstore@^5.0.1: xdg-basedir "^4.0.0" core-js@^3.6.5: - version "3.8.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.3.tgz#c21906e1f14f3689f93abcc6e26883550dd92dd0" - integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== + version "3.9.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" + integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ== core-util-is@~1.0.0: version "1.0.2" @@ -1201,9 +1201,9 @@ electron-settings@3.2.0: jsonfile "^4.0.0" electron-to-chromium@^1.3.649: - version "1.3.661" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.661.tgz#8603ec971b3e3b3d83389ac2bb64b9b07d7bb40a" - integrity sha512-INNzKoL9ceOpPCpF5J+Fp9AOHY1RegwKViohAyTzV3XbkuRUx04r4v8edsDbevsog8UuL0GvD/Qerr2HwVTlSA== + version "1.3.668" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.668.tgz#87bab4d2863d865a6996b592db79f94e1cc5f768" + integrity sha512-TJzc4pxcplsWWS2hP01qQtwMIS+/3VLm4tkhsXbFwx3IIroXyidalrwcaJH+cNcrAdzSJ5xv0oeyGMS7d0i3kg== electron-updater@4.3.5: version "4.3.5" @@ -1372,12 +1372,12 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== -eslint@^7.19.0: - version "7.19.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.19.0.tgz#6719621b196b5fad72e43387981314e5d0dc3f41" - integrity sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg== +eslint@^7.20.0: + version "7.20.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" + integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== dependencies: - "@babel/code-frame" "^7.0.0" + "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.3.0" ajv "^6.10.0" chalk "^4.0.0" @@ -1389,7 +1389,7 @@ eslint@^7.19.0: eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" - esquery "^1.2.0" + esquery "^1.4.0" esutils "^2.0.2" file-entry-cache "^6.0.0" functional-red-black-tree "^1.0.1" @@ -1429,7 +1429,7 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.2.0: +esquery@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== @@ -1801,10 +1801,10 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-webpack-plugin@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.0.0.tgz#457a9defb33ce368135078b4e0387a27f3fe244d" - integrity sha512-kxTyb8cyZwEyUqXTgdHRUOF4C7uCrquzw2T+YTudehm/yspodgCkREjdmc4dXI8k2P4NEjqOVbnOOlPZg4TKJA== +html-webpack-plugin@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.1.0.tgz#1c11bbe01ab9d1262c4b601edebcf394364b1f60" + integrity sha512-2axkp+2NHmvHUWrKe1dY4LyM3WatQEdFChr42OY7R/Ad7f0AQzaKscGCcqN/FtQBxo8rdfJP7M3RMFDttqok3g== dependencies: "@types/html-minifier-terser" "^5.0.0" html-minifier-terser "^5.0.1" @@ -1923,7 +1923,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.1.0: +is-core-module@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== @@ -2239,22 +2239,22 @@ micromatch@^4.0.0, micromatch@^4.0.2: braces "^3.0.1" picomatch "^2.0.5" -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== +mime-db@1.46.0: + version "1.46.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" + integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== mime-types@^2.1.27: - version "2.1.28" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== + version "2.1.29" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" + integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== dependencies: - mime-db "1.45.0" + mime-db "1.46.0" mime@^2.4.6: - version "2.5.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.0.tgz#2b4af934401779806ee98026bb42e8c1ae1876b1" - integrity sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag== + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== mimic-fn@^2.1.0: version "2.1.0" @@ -2551,9 +2551,9 @@ postcss-value-parser@^4.1.0: integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@^8.2.4: - version "8.2.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.5.tgz#3c75149ada4e93db9521913654c0144517f77c9a" - integrity sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg== + version "8.2.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" + integrity sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg== dependencies: colorette "^1.2.1" nanoid "^3.1.20" @@ -2754,11 +2754,11 @@ resolve-from@^5.0.0: integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve@^1.10.0, resolve@^1.9.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: - is-core-module "^2.1.0" + is-core-module "^2.2.0" path-parse "^1.0.6" responselike@^1.0.2: @@ -3139,9 +3139,9 @@ terser@^4.6.3: source-map-support "~0.5.12" terser@^5.5.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" - integrity sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ== + version "5.6.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" + integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -3171,10 +3171,10 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.16: - version "8.0.16" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.16.tgz#a60311f01f015518e1cfbb5698e6ca8830cd2391" - integrity sha512-Cr9ywsgg1n8cjGjIogHLPlqe3WJUHzuJaqwNo5I596KpIqekKzxvSENbrXeOypHcXSPPsr8hV6mglngyXvcKrg== +ts-loader@^8.0.17: + version "8.0.17" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.17.tgz#98f2ccff9130074f4079fd89b946b4c637b1f2fc" + integrity sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w== dependencies: chalk "^4.1.0" enhanced-resolve "^4.0.0" @@ -3245,10 +3245,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.4.tgz#f058636e2f4f83f94ddaae07b20fd5e14598432f" - integrity sha512-+Uru0t8qIRgjuCpiSPpfGuhHecMllk5Zsazj5LZvVsEStEjmIRRBZe+jHjGQvsgS7M1wONy2PQXd67EMyV6acg== +typescript@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" + integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== uniq@^1.0.1: version "1.0.1" @@ -3382,10 +3382,10 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@^5.21.2: - version "5.21.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.21.2.tgz#647507e50d3637695be28af58a6a8246050394e7" - integrity sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg== +webpack@^5.23.0: + version "5.23.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.23.0.tgz#9ed57e9a54b267b3549899271ad780cddc6ee316" + integrity sha512-RC6dwDuRxiU75F8XC4H08NtzUrMfufw5LDnO8dTtaKU2+fszEdySCgZhNwSBBn516iNaJbQI7T7OPHIgCwcJmg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" @@ -3475,9 +3475,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yargs-parser@^20.2.2: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + version "20.2.5" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.5.tgz#5d37729146d3f894f39fc94b6796f5b239513186" + integrity sha512-jYRGS3zWy20NtDtK2kBgo/TlAoy5YUuhD9/LZ7z7W4j1Fdw2cqD0xEEclf8fxc8xjD6X5Qr+qQQwCEsP8iRiYg== yargs@^16.0.3: version "16.2.0" From b351d6fdfb481fc599ff6b8502f4858951a070e1 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Feb 2021 21:45:05 -0500 Subject: [PATCH 234/385] Fixes #296 --- package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0a99f74e..2d506b49 100644 --- a/package.json +++ b/package.json @@ -19,11 +19,12 @@ "main": "app/background.js", "scripts": { "start": "yarn build:dev && cross-env NODE_ENV=development electron ./app/background.js", - "dist": "yarn build && electron-builder --config electron-builder.js", + "dist": "yarn build && yarn package", "build": "webpack --mode=production", "build:dev": "webpack --mode=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", - "lint": "eslint --fix --ext .ts,.js ./src" + "lint": "eslint --fix --ext .ts,.js ./src", + "package": "electron-builder --config electron-builder.js" }, "dependencies": { "about-window": "1.13.4", From 28b851da9d38249333dd8d63711e3dc61722642d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Feb 2021 22:58:17 -0500 Subject: [PATCH 235/385] basic functioning new settings system few things are broken --- package.json | 5 +- src/app.ts | 9 +--- src/background.ts | 89 +++++++++++----------------------- src/bridge.ts | 38 +++------------ src/helpers/constants.ts | 11 ----- src/helpers/settings.ts | 78 +++++++++++++++++++++++++++++ src/helpers/settingsManager.ts | 66 ------------------------- src/helpers/trayManager.ts | 29 +++++------ src/index.d.ts | 2 + src/menu/settingsMenu.ts | 56 ++++++--------------- yarn.lock | 27 +++-------- 11 files changed, 154 insertions(+), 256 deletions(-) create mode 100644 src/helpers/settings.ts delete mode 100644 src/helpers/settingsManager.ts diff --git a/package.json b/package.json index 2d506b49..9e27af59 100644 --- a/package.json +++ b/package.json @@ -28,12 +28,11 @@ }, "dependencies": { "about-window": "1.13.4", - "electron-settings": "3.2.0", "electron-updater": "4.3.5", - "fs-jetpack": "^4.1.0" + "fs-jetpack": "^4.1.0", + "rxjs": "^6.6.3" }, "devDependencies": { - "@types/electron-settings": "^3.1.1", "@types/node": "14.14.30", "@types/webpack": "^4.41.26", "@types/webpack-merge": "^4.1.5", diff --git a/src/app.ts b/src/app.ts index c1554917..ed528af3 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,5 +1,5 @@ -import { ipcRenderer, remote, WebviewTag } from "electron"; -import { EVENT_UPDATE_USER_SETTING, IS_MAC, IS_DEV } from "./helpers/constants"; +import { remote, WebviewTag } from "electron"; +import { IS_MAC, IS_DEV } from "./helpers/constants"; import "./stylesheets/main.css"; const app = remote.app; @@ -22,8 +22,3 @@ androidMessagesWebview.addEventListener("dom-ready", () => { ); } }); - -// Forward event from main process to webview bridge -ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { - androidMessagesWebview.send(EVENT_UPDATE_USER_SETTING, settingsList); -}); diff --git a/src/background.ts b/src/background.ts index ecf84e0d..9978a916 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,25 +1,23 @@ -import { - app, - Event as ElectronEvent, - ipcMain, - Menu, - nativeTheme, - shell, -} from "electron"; +import { app, Event as ElectronEvent, ipcMain, Menu, shell } from "electron"; import { autoUpdater } from "electron-updater"; import path from "path"; import { BASE_APP_PATH, EVENT_BRIDGE_INIT, - EVENT_UPDATE_USER_SETTING, IS_DEV, IS_LINUX, IS_MAC, IS_WINDOWS, RESOURCES_PATH, - SETTING_TRAY_ENABLED, } from "./helpers/constants"; -import { SettingsManager } from "./helpers/settingsManager"; +import { + autoHideMenuEnabled, + enterToSendEnabled, + notificationSoundEnabled, + settings, + startInTrayEnabled, + trayEnabled, +} from "./helpers/settings"; import { TrayManager } from "./helpers/trayManager"; import { CustomBrowserWindow } from "./helpers/window"; import { baseMenuTemplate } from "./menu/baseMenu"; @@ -77,15 +75,9 @@ if (!isFirstInstance) { } let trayManager: TrayManager; - let settingsManager: SettingsManager; app.on("ready", () => { trayManager = new TrayManager(); - settingsManager = new SettingsManager(); - settingsManager.addWatcher( - SETTING_TRAY_ENABLED, - trayManager.handleTrayEnabledToggle - ); setApplicationMenu(); const menuInstance = Menu.getApplicationMenu(); @@ -96,14 +88,6 @@ if (!isFirstInstance) { }); } - nativeTheme.on("updated", () => { - if (settingsManager.systemDarkMode) { - mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { - useDarkMode: nativeTheme.shouldUseDarkColors, - }); - } - }); - if (menuInstance != null) { const trayMenuItem = menuInstance.getMenuItemById("startInTrayMenuItem"); const enableTrayIconMenuItem = menuInstance.getMenuItemById( @@ -118,30 +102,24 @@ if (!isFirstInstance) { const hideNotificationContentMenuItem = menuInstance.getMenuItemById( "hideNotificationContentMenuItem" ); - const useSystemDarkModeMenuItem = menuInstance.getMenuItemById( - "useSystemDarkModeMenuItem" - ); - - if (!IS_MAC) { - // Sets checked status based on user prefs - (menuInstance.getMenuItemById( - "autoHideMenuBarMenuItem" - ) as Electron.MenuItem).checked = settingsManager.autoHideMenu; - (trayMenuItem as Electron.MenuItem).enabled = trayManager.enabled; - } - (trayMenuItem as Electron.MenuItem).checked = settingsManager.startInTray; - (enableTrayIconMenuItem as Electron.MenuItem).checked = - trayManager.enabled; - - (notificationSoundEnabledMenuItem as Electron.MenuItem).checked = - settingsManager.notificationSound; - (pressEnterToSendMenuItem as Electron.MenuItem).checked = - settingsManager.enterToSend; - (hideNotificationContentMenuItem as Electron.MenuItem).checked = - settingsManager.hideNotificationContent; - (useSystemDarkModeMenuItem as Electron.MenuItem).checked = - settingsManager.systemDarkMode; + // if (!IS_MAC) { + // // Sets checked status based on user prefs + // (menuInstance.getMenuItemById( + // "autoHideMenuBarMenuItem" + // ) as Electron.MenuItem).checked = autoHideMenuEnabled.value; + // (trayMenuItem as Electron.MenuItem).enabled = trayEnabled.value; + // } + + // (trayMenuItem as Electron.MenuItem).checked = startInTrayEnabled.value; + // (enableTrayIconMenuItem as Electron.MenuItem).checked = trayEnabled.value; + + // (notificationSoundEnabledMenuItem as Electron.MenuItem).checked = + // notificationSoundEnabled.value; + // (pressEnterToSendMenuItem as Electron.MenuItem).checked = + // enterToSendEnabled.value; + // (hideNotificationContentMenuItem as Electron.MenuItem).checked = + // notificationSoundEnabled.value; } autoUpdater.checkForUpdatesAndNotify(); @@ -149,7 +127,7 @@ if (!isFirstInstance) { mainWindow = new CustomBrowserWindow("main", { width: 1100, height: 800, - autoHideMenuBar: settingsManager.autoHideMenu, + autoHideMenuBar: autoHideMenuEnabled.value, show: false, //don't show window just yet (issue #229) icon: IS_LINUX ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") @@ -180,6 +158,7 @@ if (!isFirstInstance) { // Quick and dirty way for renderer process to access mainWindow for communication app.mainWindow = mainWindow; app.trayManager = trayManager; + app.settings = settings; trayManager.startIfEnabled(); @@ -189,16 +168,6 @@ if (!isFirstInstance) { } state.bridgeInitDone = true; - - // We have to send un-solicited events (i.e. an event not the result of an event sent to this process) to the webview bridge - // via the renderer process. I'm not sure of a way to get a reference to the androidMessagesWebview inside the renderer from - // here. There may be a legit way to do it, or we can do it a dirty way like how we pass this process to the renderer. - mainWindow.webContents.send(EVENT_UPDATE_USER_SETTING, { - enterToSend: settingsManager.enterToSend, - useDarkMode: settingsManager.systemDarkMode - ? nativeTheme.shouldUseDarkColors - : null, - }); }); let quitViaContext = false; @@ -210,7 +179,7 @@ if (!isFirstInstance) { if (IS_MAC) { return quitViaContext; } else { - if (trayManager?.enabled) { + if (trayEnabled.value) { return quitViaContext; } return true; diff --git a/src/bridge.ts b/src/bridge.ts index a98da505..603cd09e 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,16 +1,9 @@ import { ipcRenderer, remote, NotificationConstructorOptions } from "electron"; import path from "path"; -import { - EVENT_BRIDGE_INIT, - EVENT_UPDATE_USER_SETTING, - SETTING_HIDE_NOTIFICATION, - RESOURCES_PATH, - SETTING_NOTIFICATION_SOUND, - SETTING_START_IN_TRAY, -} from "./helpers/constants"; +import { EVENT_BRIDGE_INIT, RESOURCES_PATH } from "./helpers/constants"; +// TODO: fix that import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; -import settings from "electron-settings"; import { getProfileImg } from "./helpers/profileImage"; const { Notification: ElectronNotification, app } = remote; @@ -61,21 +54,8 @@ window.addEventListener("load", () => { }); // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) - if (!settings.get(SETTING_START_IN_TRAY)) app.mainWindow?.show(); -}); - -ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { - if ("useDarkMode" in settingsList && settingsList.useDarkMode !== null) { - if (settingsList.useDarkMode) { - // Props to Google for making the web app use dark mode entirely based on this class - // and for making the class name semantic! - document.body.classList.add("dark-mode"); - } else { - document.body.classList.remove("dark-mode"); - } - } - if ("enterToSend" in settingsList) { - handleEnterPrefToggle(settingsList.enterToSend); + if (!app.settings?.startInTrayEnabled.value) { + app.mainWindow?.show(); } }); @@ -95,9 +75,8 @@ ipcRenderer.on(EVENT_UPDATE_USER_SETTING, (_event, settingsList) => { window.Notification = function (title: string, options: NotificationOptions) { const icon = getProfileImg(title); - const hideContent = settings.get(SETTING_HIDE_NOTIFICATION, false) as boolean; - - const notificationOpts: NotificationConstructorOptions = hideContent + const notificationOpts: NotificationConstructorOptions = app.settings + ?.hideNotificationContentEnabled.value ? { title: "New Message", body: "Click to open", @@ -109,10 +88,7 @@ window.Notification = function (title: string, options: NotificationOptions) { body: options.body || "", }; - notificationOpts.silent = settings.get( - SETTING_NOTIFICATION_SOUND, - true - ) as boolean; + notificationOpts.silent = !app.settings?.notificationSoundEnabled.value; const notification = new ElectronNotification(notificationOpts); notification.addListener("click", () => { diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index a2252e0c..873266f0 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -26,16 +26,5 @@ export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); -// Settings -export const SETTING_TRAY_ENABLED = "trayEnabledPref"; -export const SETTING_CUSTOM_WORDS = "savedCustomDictionaryWords"; -export const SETTING_NOTIFICATION_SOUND = "notificationSoundEnabledPref"; -export const SETTING_ENTER_TO_SEND = "pressEnterToSendPref"; -export const SETTING_HIDE_NOTIFICATION = "hideNotificationContentPref"; -export const SETTING_SYSTEM_DARK_MODE = "useSystemDarkModePref"; -export const SETTING_START_IN_TRAY = "startInTrayPref"; -export const SETTING_AUTOHIDE_MENU = "autoHideMenuPref"; - // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; -export const EVENT_UPDATE_USER_SETTING = "messages-update-user-setting"; diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts new file mode 100644 index 00000000..7c57134c --- /dev/null +++ b/src/helpers/settings.ts @@ -0,0 +1,78 @@ +import { BehaviorSubject } from "rxjs"; +import jetpack from "fs-jetpack"; + +const settingsFile = "settings.json"; + +function getSetting(key: string): boolean | undefined { + return (jetpack.read(settingsFile, "json") || {})[key]; +} + +type Setting = BehaviorSubject; +/** + * + * initial must be a json serializable type + * + * @param key name of setting + * @param initial initial value if unset + */ +function createSetting(key: string, initial: boolean): Setting { + const savedVal = getSetting(key); + const val = savedVal != null ? savedVal : initial; + return new BehaviorSubject(val); +} + +export const trayEnabled = createSetting("trayEnabled", false); + +export const notificationSoundEnabled = createSetting( + "notificationSoundEnabled", + false +); +export const enterToSendEnabled = createSetting("enterToSendEnabled", true); +export const hideNotificationContentEnabled = createSetting( + "hideNotificationContentEnabled", + false +); +export const respectSystemDarkModeEnabled = createSetting( + "respectSystemDarkModeEnabled", + true +); +export const startInTrayEnabled = createSetting("startInTrayEnabled", false); +export const autoHideMenuEnabled = createSetting("autoHideMenuEnabled", false); +export const seenMinimizeToTrayWarning = createSetting( + "seenMinimizeToTrayWarning", + false +); + +export interface Settings { + trayEnabled: Setting; + notificationSoundEnabled: Setting; + enterToSendEnabled: Setting; + hideNotificationContentEnabled: Setting; + respectSystemDarkModeEnabled: Setting; + startInTrayEnabled: Setting; + autoHideMenuEnabled: Setting; + seenMinimizeToTrayWarning: Setting; +} + +export const settings: Settings = { + trayEnabled, + notificationSoundEnabled, + enterToSendEnabled, + hideNotificationContentEnabled, + respectSystemDarkModeEnabled, + startInTrayEnabled, + autoHideMenuEnabled, + seenMinimizeToTrayWarning, +}; + +if (!jetpack.exists(settingsFile)) { + jetpack.write(settingsFile, {}); +} + +Object.entries(settings).forEach(([name, setting]) => { + setting.subscribe((val: boolean) => { + const data = jetpack.read(settingsFile, "json") || {}; + data[name] = val; + jetpack.write(settingsFile, data); + }); +}); diff --git a/src/helpers/settingsManager.ts b/src/helpers/settingsManager.ts deleted file mode 100644 index d9ed1674..00000000 --- a/src/helpers/settingsManager.ts +++ /dev/null @@ -1,66 +0,0 @@ -import settings from "electron-settings"; -import { - SETTING_AUTOHIDE_MENU, - SETTING_ENTER_TO_SEND, - SETTING_HIDE_NOTIFICATION, - SETTING_NOTIFICATION_SOUND, - SETTING_START_IN_TRAY, - SETTING_SYSTEM_DARK_MODE, -} from "./constants"; - -export class SettingsManager { - public startInTray = settings.get(SETTING_START_IN_TRAY, false) as boolean; - public autoHideMenu = settings.get(SETTING_AUTOHIDE_MENU, false) as boolean; - public enterToSend = settings.get(SETTING_ENTER_TO_SEND, true) as boolean; - - public notificationSound = settings.get( - SETTING_NOTIFICATION_SOUND, - true - ) as boolean; - public hideNotificationContent = settings.get( - SETTING_HIDE_NOTIFICATION, - false - ) as boolean; - public systemDarkMode = settings.get( - SETTING_SYSTEM_DARK_MODE, - true - ) as boolean; - - private watchers: Set = new Set(); - - constructor() { - this.addWatcher( - SETTING_START_IN_TRAY, - (newVal) => (this.startInTray = newVal) - ); - this.addWatcher( - SETTING_AUTOHIDE_MENU, - (newVal) => (this.autoHideMenu = newVal) - ); - this.addWatcher( - SETTING_ENTER_TO_SEND, - (newVal) => (this.enterToSend = newVal) - ); - this.addWatcher( - SETTING_NOTIFICATION_SOUND, - (newVal) => (this.notificationSound = newVal) - ); - this.addWatcher( - SETTING_HIDE_NOTIFICATION, - (newVal) => (this.hideNotificationContent = newVal) - ); - this.addWatcher( - SETTING_SYSTEM_DARK_MODE, - (newVal) => (this.systemDarkMode = newVal) - ); - } - - public addWatcher(name: string, callback: (newVal: T) => unknown): void { - settings.watch(name, callback); - this.watchers.add(name); - } - - public clearWatchers(): void { - this.watchers.forEach((name) => settings.removeAllListeners(name)); - } -} diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index d32eb055..f2564650 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -1,17 +1,14 @@ import { app, Menu, Tray } from "electron"; -import settings from "electron-settings"; import path from "path"; import { trayMenuTemplate } from "../menu/trayMenu"; +import { IS_LINUX, IS_MAC, IS_WINDOWS, RESOURCES_PATH } from "./constants"; import { - IS_LINUX, - IS_MAC, - IS_WINDOWS, - RESOURCES_PATH, - SETTING_TRAY_ENABLED, -} from "./constants"; + seenMinimizeToTrayWarning, + startInTrayEnabled, + trayEnabled, +} from "./settings"; export class TrayManager { - public enabled = settings.get(SETTING_TRAY_ENABLED, !IS_LINUX) as boolean; public iconPath = this.getIconPath(); public overlayIconPath = this.getOverlayIconPath(); @@ -44,7 +41,7 @@ export class TrayManager { } public startIfEnabled(): void { - if (this.enabled) { + if (trayEnabled.value) { this.tray = new Tray(this.iconPath); const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); this.tray.setContextMenu(trayContextMenu); @@ -78,24 +75,20 @@ export class TrayManager { } public showMinimizeToTrayWarning(): void { - if (IS_WINDOWS && this.enabled) { - const seenMinimizeToTrayWarning = settings.get( - "seenMinimizeToTrayWarningPref", - false - ) as boolean; - if (!seenMinimizeToTrayWarning && this.tray != null) { + if (IS_WINDOWS && trayEnabled.value) { + if (!seenMinimizeToTrayWarning.value && this.tray != null) { this.tray.displayBalloon({ title: "Android Messages", content: "Android Messages is still running in the background. To close it, use the File menu or right-click on the tray icon.", }); - settings.set("seenMinimizeToTrayWarningPref", true); + seenMinimizeToTrayWarning.next(true); } } } public handleTrayEnabledToggle(newValue: boolean): void { - this.enabled = newValue; + trayEnabled.next(newValue); const liveStartInTrayMenuItemRef = Menu.getApplicationMenu()?.getMenuItemById( "startInTrayMenuItem" ); @@ -121,7 +114,7 @@ export class TrayManager { if (!IS_MAC && liveStartInTrayMenuItemRef != null) { // If the app has no tray icon, it can be difficult or impossible to re-gain access to the window, so disallow // starting hidden, except on Mac, where the app window can still be un-hidden via the dock. - settings.set("startInTrayPref", false); + startInTrayEnabled.next(false); liveStartInTrayMenuItemRef.enabled = false; liveStartInTrayMenuItemRef.checked = false; } diff --git a/src/index.d.ts b/src/index.d.ts index 6725583f..1eb4dc38 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -1,5 +1,6 @@ import { CustomBrowserWindow } from "./helpers/window"; import { TrayManager } from "./helpers/trayManager"; +import { Settings as AppSettings } from "./helpers/settings"; declare global { interface Window { @@ -10,6 +11,7 @@ declare global { interface App { mainWindow?: CustomBrowserWindow; trayManager?: TrayManager; + settings?: AppSettings; } } } diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 701871e7..b6638ea8 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -5,8 +5,14 @@ import { MenuItem, MenuItemConstructorOptions, } from "electron"; -import settings from "electron-settings"; -import { IS_LINUX, IS_MAC, SETTING_TRAY_ENABLED } from "../helpers/constants"; +import { IS_LINUX, IS_MAC } from "../helpers/constants"; +import { + autoHideMenuEnabled, + hideNotificationContentEnabled, + notificationSoundEnabled, + startInTrayEnabled, + trayEnabled, +} from "../helpers/settings"; import { separator } from "./items/separator"; export const settingsMenu: MenuItemConstructorOptions = { @@ -21,11 +27,9 @@ export const settingsMenu: MenuItemConstructorOptions = { label: "Auto Hide Menu Bar", type: "checkbox", click: (item: MenuItem, window?: BrowserWindow): void => { - const autoHideMenuPref = !settings.get("autoHideMenuPref"); - settings.set("autoHideMenuPref", autoHideMenuPref); - item.checked = autoHideMenuPref; - window?.setMenuBarVisibility(!autoHideMenuPref); - window?.setAutoHideMenuBar(autoHideMenuPref); + autoHideMenuEnabled.next(item.checked); + window?.setMenuBarVisibility(autoHideMenuEnabled.value); + window?.setAutoHideMenuBar(autoHideMenuEnabled.value); }, }, { @@ -33,9 +37,8 @@ export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "Enable Menu Bar Icon" : "Enable Tray Icon", type: "checkbox", click: async (item: MenuItem): Promise => { - const trayEnabledPref = !settings.get(SETTING_TRAY_ENABLED); let confirmClose = true; - if (IS_LINUX && !trayEnabledPref) { + if (IS_LINUX && !trayEnabled.value) { const dialogAnswer = await dialog.showMessageBox({ type: "question", buttons: ["Restart", "Cancel"], @@ -50,8 +53,7 @@ export const settingsMenu: MenuItemConstructorOptions = { } if (confirmClose) { - settings.set(SETTING_TRAY_ENABLED, trayEnabledPref); - item.checked = trayEnabledPref; + trayEnabled.next(item.checked); } }, }, @@ -59,11 +61,7 @@ export const settingsMenu: MenuItemConstructorOptions = { id: "startInTrayMenuItem", label: IS_MAC ? "Start Hidden" : "Start In Tray", type: "checkbox", - click: (item: MenuItem): void => { - const startInTrayPref = !settings.get("startInTrayPref"); - settings.set("startInTrayPref", startInTrayPref); - item.checked = startInTrayPref; - }, + click: (item: MenuItem): void => startInTrayEnabled.next(item.checked), }, ], }; @@ -78,36 +76,14 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { id: "notificationSoundEnabledMenuItem", label: "Play Notification Sound", type: "checkbox", - click: (item) => { - settings.set("notificationSoundEnabledPref", item.checked); - }, - }, - separator, - { - id: "pressEnterToSendMenuItem", - label: "Press Enter to Send Message", - type: "checkbox", - click: (item) => { - settings.set("pressEnterToSendPref", item.checked); - }, + click: (item) => notificationSoundEnabled.next(item.checked), }, separator, { id: "hideNotificationContentMenuItem", label: "Hide Notification Content", type: "checkbox", - click: (item) => { - settings.set("hideNotificationContentPref", item.checked); - }, - }, - separator, - { - id: "useSystemDarkModeMenuItem", - label: "Use System Dark Mode Setting", - type: "checkbox", - click: (item) => { - settings.set("useSystemDarkModePref", item.checked); - }, + click: (item) => hideNotificationContentEnabled.next(item.checked), } ); } diff --git a/yarn.lock b/yarn.lock index 183ab96a..aeb80a19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -116,13 +116,6 @@ resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== -"@types/electron-settings@^3.1.1": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@types/electron-settings/-/electron-settings-3.1.2.tgz#0efe6b85b559b0dd10be06b1a2bd0689423dc52d" - integrity sha512-/VhDZDo5Ovz+0IjoBowLelGu2iQDM2VXJpOj06Req/gqY9pOR4hNMRkgNTMmEs/ApblXKtn5HwVXqFHTEeG6wA== - dependencies: - "@types/node" "*" - "@types/eslint-scope@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" @@ -844,11 +837,6 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1192,14 +1180,6 @@ electron-publish@22.9.1: lazy-val "^1.0.4" mime "^2.4.6" -electron-settings@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/electron-settings/-/electron-settings-3.2.0.tgz#01461e153f95b6f18adbe0c360c70898eb0f43c3" - integrity sha512-7U+vDKd5Gch4Z9K6FjGq80eB3Anwz2GuPc2h/6hOiuvZrS1w+UNPcAA0oAU8G1s9sWAVEadCsr4ZJR6J4iTdzA== - dependencies: - clone "^2.1.1" - jsonfile "^4.0.0" - electron-to-chromium@^1.3.649: version "1.3.668" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.668.tgz#87bab4d2863d865a6996b592db79f94e1cc5f768" @@ -2806,6 +2786,13 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +rxjs@^6.6.3: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" From 197d578ed7788ab8b1b1f1dacc7ffa8fdff65b4e Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Feb 2021 23:02:16 -0500 Subject: [PATCH 236/385] handle initial checking settings in the menu templates --- settings.json | 10 +++++++++ src/background.ts | 44 +--------------------------------------- src/menu/settingsMenu.ts | 5 +++++ 3 files changed, 16 insertions(+), 43 deletions(-) create mode 100644 settings.json diff --git a/settings.json b/settings.json new file mode 100644 index 00000000..ca97f5be --- /dev/null +++ b/settings.json @@ -0,0 +1,10 @@ +{ + "trayEnabled": true, + "notificationSoundEnabled": false, + "enterToSendEnabled": true, + "hideNotificationContentEnabled": true, + "respectSystemDarkModeEnabled": true, + "startInTrayEnabled": false, + "autoHideMenuEnabled": true, + "seenMinimizeToTrayWarning": false +} \ No newline at end of file diff --git a/src/background.ts b/src/background.ts index 9978a916..16011972 100644 --- a/src/background.ts +++ b/src/background.ts @@ -10,14 +10,7 @@ import { IS_WINDOWS, RESOURCES_PATH, } from "./helpers/constants"; -import { - autoHideMenuEnabled, - enterToSendEnabled, - notificationSoundEnabled, - settings, - startInTrayEnabled, - trayEnabled, -} from "./helpers/settings"; +import { autoHideMenuEnabled, settings, trayEnabled } from "./helpers/settings"; import { TrayManager } from "./helpers/trayManager"; import { CustomBrowserWindow } from "./helpers/window"; import { baseMenuTemplate } from "./menu/baseMenu"; @@ -80,7 +73,6 @@ if (!isFirstInstance) { trayManager = new TrayManager(); setApplicationMenu(); - const menuInstance = Menu.getApplicationMenu(); if (IS_MAC) { app.on("activate", () => { @@ -88,40 +80,6 @@ if (!isFirstInstance) { }); } - if (menuInstance != null) { - const trayMenuItem = menuInstance.getMenuItemById("startInTrayMenuItem"); - const enableTrayIconMenuItem = menuInstance.getMenuItemById( - "enableTrayIconMenuItem" - ); - const notificationSoundEnabledMenuItem = menuInstance.getMenuItemById( - "notificationSoundEnabledMenuItem" - ); - const pressEnterToSendMenuItem = menuInstance.getMenuItemById( - "pressEnterToSendMenuItem" - ); - const hideNotificationContentMenuItem = menuInstance.getMenuItemById( - "hideNotificationContentMenuItem" - ); - - // if (!IS_MAC) { - // // Sets checked status based on user prefs - // (menuInstance.getMenuItemById( - // "autoHideMenuBarMenuItem" - // ) as Electron.MenuItem).checked = autoHideMenuEnabled.value; - // (trayMenuItem as Electron.MenuItem).enabled = trayEnabled.value; - // } - - // (trayMenuItem as Electron.MenuItem).checked = startInTrayEnabled.value; - // (enableTrayIconMenuItem as Electron.MenuItem).checked = trayEnabled.value; - - // (notificationSoundEnabledMenuItem as Electron.MenuItem).checked = - // notificationSoundEnabled.value; - // (pressEnterToSendMenuItem as Electron.MenuItem).checked = - // enterToSendEnabled.value; - // (hideNotificationContentMenuItem as Electron.MenuItem).checked = - // notificationSoundEnabled.value; - } - autoUpdater.checkForUpdatesAndNotify(); mainWindow = new CustomBrowserWindow("main", { diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index b6638ea8..0d809a16 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -26,6 +26,7 @@ export const settingsMenu: MenuItemConstructorOptions = { id: "autoHideMenuBarMenuItem", label: "Auto Hide Menu Bar", type: "checkbox", + checked: autoHideMenuEnabled.value, click: (item: MenuItem, window?: BrowserWindow): void => { autoHideMenuEnabled.next(item.checked); window?.setMenuBarVisibility(autoHideMenuEnabled.value); @@ -36,6 +37,7 @@ export const settingsMenu: MenuItemConstructorOptions = { id: "enableTrayIconMenuItem", label: IS_MAC ? "Enable Menu Bar Icon" : "Enable Tray Icon", type: "checkbox", + checked: trayEnabled.value, click: async (item: MenuItem): Promise => { let confirmClose = true; if (IS_LINUX && !trayEnabled.value) { @@ -61,6 +63,7 @@ export const settingsMenu: MenuItemConstructorOptions = { id: "startInTrayMenuItem", label: IS_MAC ? "Start Hidden" : "Start In Tray", type: "checkbox", + checked: startInTrayEnabled.value, click: (item: MenuItem): void => startInTrayEnabled.next(item.checked), }, ], @@ -76,6 +79,7 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { id: "notificationSoundEnabledMenuItem", label: "Play Notification Sound", type: "checkbox", + checked: notificationSoundEnabled.value, click: (item) => notificationSoundEnabled.next(item.checked), }, separator, @@ -83,6 +87,7 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { id: "hideNotificationContentMenuItem", label: "Hide Notification Content", type: "checkbox", + checked: notificationSoundEnabled.value, click: (item) => hideNotificationContentEnabled.next(item.checked), } ); From 90bb603458f6db2c2fe3d6d3ffb837e5e3cc9593 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 00:07:54 -0500 Subject: [PATCH 237/385] Fixed tray icon launching and destroying --- settings.json | 4 +-- src/background.ts | 2 +- src/helpers/constants.ts | 1 + src/helpers/settings.ts | 13 +++++----- src/helpers/trayManager.ts | 50 +++++++++++++++----------------------- src/menu/settingsMenu.ts | 26 +++----------------- 6 files changed, 33 insertions(+), 63 deletions(-) diff --git a/settings.json b/settings.json index ca97f5be..975bd1dd 100644 --- a/settings.json +++ b/settings.json @@ -2,9 +2,9 @@ "trayEnabled": true, "notificationSoundEnabled": false, "enterToSendEnabled": true, - "hideNotificationContentEnabled": true, + "hideNotificationContentEnabled": false, "respectSystemDarkModeEnabled": true, "startInTrayEnabled": false, - "autoHideMenuEnabled": true, + "autoHideMenuEnabled": false, "seenMinimizeToTrayWarning": false } \ No newline at end of file diff --git a/src/background.ts b/src/background.ts index 16011972..3daaa408 100644 --- a/src/background.ts +++ b/src/background.ts @@ -86,7 +86,7 @@ if (!isFirstInstance) { width: 1100, height: 800, autoHideMenuBar: autoHideMenuEnabled.value, - show: false, //don't show window just yet (issue #229) + show: true, //don't show window just yet (issue #229) icon: IS_LINUX ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") : undefined, diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 873266f0..ff848c3c 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -25,6 +25,7 @@ export const IS_LINUX = OS_NAME === "linux"; export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); +export const SETTINGS_FILE = path.resolve(BASE_APP_PATH, "settings.json"); // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 7c57134c..87bc25d0 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -1,10 +1,9 @@ import { BehaviorSubject } from "rxjs"; import jetpack from "fs-jetpack"; - -const settingsFile = "settings.json"; +import { SETTINGS_FILE } from "./constants"; function getSetting(key: string): boolean | undefined { - return (jetpack.read(settingsFile, "json") || {})[key]; + return (jetpack.read(SETTINGS_FILE, "json") || {})[key]; } type Setting = BehaviorSubject; @@ -65,14 +64,14 @@ export const settings: Settings = { seenMinimizeToTrayWarning, }; -if (!jetpack.exists(settingsFile)) { - jetpack.write(settingsFile, {}); +if (!jetpack.exists(SETTINGS_FILE)) { + jetpack.write(SETTINGS_FILE, {}); } Object.entries(settings).forEach(([name, setting]) => { setting.subscribe((val: boolean) => { - const data = jetpack.read(settingsFile, "json") || {}; + const data = jetpack.read(SETTINGS_FILE, "json") || {}; data[name] = val; - jetpack.write(settingsFile, data); + jetpack.write(SETTINGS_FILE, data); }); }); diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index f2564650..01fbb43c 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -9,15 +9,15 @@ import { } from "./settings"; export class TrayManager { + public enabled = trayEnabled.value; public iconPath = this.getIconPath(); public overlayIconPath = this.getOverlayIconPath(); public tray: Tray | null = null; constructor() { - this.handleTrayEnabledToggle = this.handleTrayEnabledToggle.bind(this); + trayEnabled.subscribe((val) => this.handleTrayEnabledToggle(val)); } - private getIconPath(): string { if (IS_WINDOWS) { // Re-use regular app .ico for the tray icon on Windows. @@ -41,11 +41,13 @@ export class TrayManager { } public startIfEnabled(): void { - if (trayEnabled.value) { - this.tray = new Tray(this.iconPath); - const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); - this.tray.setContextMenu(trayContextMenu); - this.setupEventListeners(); + if (!this.tray) { + if (this.enabled) { + this.tray = new Tray(this.iconPath); + const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); + this.tray.setContextMenu(trayContextMenu); + this.setupEventListeners(); + } } } @@ -88,48 +90,34 @@ export class TrayManager { } public handleTrayEnabledToggle(newValue: boolean): void { - trayEnabled.next(newValue); + this.enabled = newValue; const liveStartInTrayMenuItemRef = Menu.getApplicationMenu()?.getMenuItemById( "startInTrayMenuItem" ); if (newValue) { - if (!IS_MAC && liveStartInTrayMenuItemRef != null) { - // Must get a live reference to the menu item when updating their properties from outside of them. + this.startIfEnabled(); + if (liveStartInTrayMenuItemRef != null) { liveStartInTrayMenuItemRef.enabled = true; } - if (!this.tray) { - this.startIfEnabled(); - } } if (!newValue) { - if (this.tray) { - this.destroy(); - if (!IS_MAC) { - if (!app.mainWindow?.isVisible()) { - app.mainWindow?.show(); - } - } - } - if (!IS_MAC && liveStartInTrayMenuItemRef != null) { - // If the app has no tray icon, it can be difficult or impossible to re-gain access to the window, so disallow - // starting hidden, except on Mac, where the app window can still be un-hidden via the dock. - startInTrayEnabled.next(false); + this.destroy(); + startInTrayEnabled.next(false); + + if (liveStartInTrayMenuItemRef != null) { liveStartInTrayMenuItemRef.enabled = false; liveStartInTrayMenuItemRef.checked = false; } - if (IS_LINUX) { - // On Linux, the call to tray.destroy doesn't seem to work, causing multiple instances of the tray icon. - // Work around this by quickly restarting the app. - app.relaunch(); - app.exit(0); + + if (!app.mainWindow?.isVisible()) { + app.mainWindow?.show(); } } } public setUnreadIcon(toggle: boolean): void { if (this.tray && this.overlayIconPath != null) { - this.tray.setToolTip("Android Messages"); if (toggle) { this.tray.setImage(this.overlayIconPath); } else { diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 0d809a16..3b5ccadd 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -1,11 +1,10 @@ import { BrowserWindow, - dialog, Menu, MenuItem, MenuItemConstructorOptions, } from "electron"; -import { IS_LINUX, IS_MAC } from "../helpers/constants"; +import { IS_MAC } from "../helpers/constants"; import { autoHideMenuEnabled, hideNotificationContentEnabled, @@ -38,32 +37,15 @@ export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "Enable Menu Bar Icon" : "Enable Tray Icon", type: "checkbox", checked: trayEnabled.value, - click: async (item: MenuItem): Promise => { - let confirmClose = true; - if (IS_LINUX && !trayEnabled.value) { - const dialogAnswer = await dialog.showMessageBox({ - type: "question", - buttons: ["Restart", "Cancel"], - title: "App Restart Required", - message: - "Changing this setting requires Android Messages to be restarted.\n\nUnsent text messages may be deleted. Click Restart to apply this setting change and restart Android Messages.", - }); - if (dialogAnswer.response === 1) { - confirmClose = false; - item.checked = true; // Don't incorrectly flip checkmark if user canceled the dialog - } - } - - if (confirmClose) { - trayEnabled.next(item.checked); - } - }, + click: async (item: MenuItem): Promise => + trayEnabled.next(item.checked), }, { id: "startInTrayMenuItem", label: IS_MAC ? "Start Hidden" : "Start In Tray", type: "checkbox", checked: startInTrayEnabled.value, + enabled: trayEnabled.value, click: (item: MenuItem): void => startInTrayEnabled.next(item.checked), }, ], From a3ab1c7e2ad8ec3a85d54c3b8115d73101837fe7 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 00:09:49 -0500 Subject: [PATCH 238/385] remove dumb settings file and change where it will be stored --- .gitignore | 3 +-- settings.json | 10 ---------- src/helpers/constants.ts | 2 +- 3 files changed, 2 insertions(+), 13 deletions(-) delete mode 100644 settings.json diff --git a/.gitignore b/.gitignore index a3a69bd3..8ad13be7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,4 @@ Thumbs.db app/ -# Dictionary files are downloaded by the user's machine -/resources/dictionaries/**/* +resources/settings.json diff --git a/settings.json b/settings.json deleted file mode 100644 index 975bd1dd..00000000 --- a/settings.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "trayEnabled": true, - "notificationSoundEnabled": false, - "enterToSendEnabled": true, - "hideNotificationContentEnabled": false, - "respectSystemDarkModeEnabled": true, - "startInTrayEnabled": false, - "autoHideMenuEnabled": false, - "seenMinimizeToTrayWarning": false -} \ No newline at end of file diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index ff848c3c..16d6f2a2 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -25,7 +25,7 @@ export const IS_LINUX = OS_NAME === "linux"; export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); -export const SETTINGS_FILE = path.resolve(BASE_APP_PATH, "settings.json"); +export const SETTINGS_FILE = path.resolve(RESOURCES_PATH, "settings.json"); // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; From 8c35dc75620c7b8ad77eaa295461cf8ffacaf42e Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 00:13:16 -0500 Subject: [PATCH 239/385] removed reintroduced autohide menu bug --- src/menu/settingsMenu.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 3b5ccadd..94b405dd 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -28,7 +28,7 @@ export const settingsMenu: MenuItemConstructorOptions = { checked: autoHideMenuEnabled.value, click: (item: MenuItem, window?: BrowserWindow): void => { autoHideMenuEnabled.next(item.checked); - window?.setMenuBarVisibility(autoHideMenuEnabled.value); + window?.setMenuBarVisibility(!autoHideMenuEnabled.value); window?.setAutoHideMenuBar(autoHideMenuEnabled.value); }, }, From 5336911a9c02c6098be05ba1348a8d1008f3eb32 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 00:17:44 -0500 Subject: [PATCH 240/385] moved tooltip to more appropriate place --- src/helpers/trayManager.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 01fbb43c..c1d91962 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -46,6 +46,7 @@ export class TrayManager { this.tray = new Tray(this.iconPath); const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); this.tray.setContextMenu(trayContextMenu); + this.tray.setToolTip("Android Messages"); this.setupEventListeners(); } } From 3c71f87568e4651fcd9496628ac2c4dbc7a15673 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 00:23:53 -0500 Subject: [PATCH 241/385] restore notification bug fix --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 3daaa408..16011972 100644 --- a/src/background.ts +++ b/src/background.ts @@ -86,7 +86,7 @@ if (!isFirstInstance) { width: 1100, height: 800, autoHideMenuBar: autoHideMenuEnabled.value, - show: true, //don't show window just yet (issue #229) + show: false, //don't show window just yet (issue #229) icon: IS_LINUX ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") : undefined, From 4cbc6eaa09672c22aad9501588a9ba812476c58a Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 00:32:33 -0500 Subject: [PATCH 242/385] remove the enter to send setting it is handled by the settings google provides --- src/bridge.ts | 2 -- src/helpers/inputManager.ts | 25 ------------------------- src/helpers/settings.ts | 2 -- src/menu/settingsMenu.ts | 1 + 4 files changed, 1 insertion(+), 29 deletions(-) delete mode 100644 src/helpers/inputManager.ts diff --git a/src/bridge.ts b/src/bridge.ts index 603cd09e..66b5a438 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,8 +1,6 @@ import { ipcRenderer, remote, NotificationConstructorOptions } from "electron"; import path from "path"; import { EVENT_BRIDGE_INIT, RESOURCES_PATH } from "./helpers/constants"; -// TODO: fix that -import { handleEnterPrefToggle } from "./helpers/inputManager"; import { popupContextMenu } from "./menu/contextMenu"; import { getProfileImg } from "./helpers/profileImage"; diff --git a/src/helpers/inputManager.ts b/src/helpers/inputManager.ts deleted file mode 100644 index 53f49c48..00000000 --- a/src/helpers/inputManager.ts +++ /dev/null @@ -1,25 +0,0 @@ -// Things relating to changing the way user input affect the app page go here - -// We need to block all of these if we're disabling send on enter -const KEYBOARD_EVENTS: ["keyup", "keypress", "keydown"] = [ - "keyup", - "keypress", - "keydown", -]; - -// Effectively private methods - -// For whatever reason, this won't work if defined as a static method of InputManager -function blockEnterKeyEvent(event: KeyboardEvent) { - if (event.keyCode === 13) { - event.stopPropagation(); - } -} - -export function handleEnterPrefToggle(enabled: boolean): void { - for (const event of KEYBOARD_EVENTS) { - if (!enabled) { - window.addEventListener(event, blockEnterKeyEvent); - } - } -} diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 87bc25d0..bfb62ffa 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -45,7 +45,6 @@ export const seenMinimizeToTrayWarning = createSetting( export interface Settings { trayEnabled: Setting; notificationSoundEnabled: Setting; - enterToSendEnabled: Setting; hideNotificationContentEnabled: Setting; respectSystemDarkModeEnabled: Setting; startInTrayEnabled: Setting; @@ -56,7 +55,6 @@ export interface Settings { export const settings: Settings = { trayEnabled, notificationSoundEnabled, - enterToSendEnabled, hideNotificationContentEnabled, respectSystemDarkModeEnabled, startInTrayEnabled, diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 94b405dd..7eb75f78 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -7,6 +7,7 @@ import { import { IS_MAC } from "../helpers/constants"; import { autoHideMenuEnabled, + enterToSendEnabled, hideNotificationContentEnabled, notificationSoundEnabled, startInTrayEnabled, From e69d457322198928fc1407d7aa7d8c55b0f90087 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 01:07:51 -0500 Subject: [PATCH 243/385] finish removing enter to send --- src/helpers/settings.ts | 1 - src/menu/settingsMenu.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index bfb62ffa..af0081dc 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -26,7 +26,6 @@ export const notificationSoundEnabled = createSetting( "notificationSoundEnabled", false ); -export const enterToSendEnabled = createSetting("enterToSendEnabled", true); export const hideNotificationContentEnabled = createSetting( "hideNotificationContentEnabled", false diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 7eb75f78..94b405dd 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -7,7 +7,6 @@ import { import { IS_MAC } from "../helpers/constants"; import { autoHideMenuEnabled, - enterToSendEnabled, hideNotificationContentEnabled, notificationSoundEnabled, startInTrayEnabled, From c8feee38cbd98721aec44b669fe4234fabbc460a Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 01:25:10 -0500 Subject: [PATCH 244/385] add notification for settings reset --- src/bridge.ts | 22 +++++++++++++++++++++- src/helpers/settings.ts | 6 ++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/bridge.ts b/src/bridge.ts index 66b5a438..6b3c7e4d 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -4,7 +4,7 @@ import { EVENT_BRIDGE_INIT, RESOURCES_PATH } from "./helpers/constants"; import { popupContextMenu } from "./menu/contextMenu"; import { getProfileImg } from "./helpers/profileImage"; -const { Notification: ElectronNotification, app } = remote; +const { Notification: ElectronNotification, app, dialog } = remote; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); @@ -55,6 +55,26 @@ window.addEventListener("load", () => { if (!app.settings?.startInTrayEnabled.value) { app.mainWindow?.show(); } + + if (!app.settings?.seenResetSettingsWarning.value) { + const message = ` +The settings for this app have been reset. + +This is a one time occurance and is the result of behind the scenes work to clean up the code. + +You may notice two missing settings: + + - Enter to Send: Moved to the 3 dots menu + - Use System Theme: Removed for the time being in favor of manual operation + `; + dialog.showMessageBox({ + type: "info", + buttons: ["OK"], + title: "Settings Reset", + message, + }); + app.settings?.seenResetSettingsWarning.next(true); + } }); /** diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index af0081dc..bc45753e 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -40,6 +40,10 @@ export const seenMinimizeToTrayWarning = createSetting( "seenMinimizeToTrayWarning", false ); +export const seenResetSettingsWarning = createSetting( + "seenResetSettingsWarning", + false +); export interface Settings { trayEnabled: Setting; @@ -49,6 +53,7 @@ export interface Settings { startInTrayEnabled: Setting; autoHideMenuEnabled: Setting; seenMinimizeToTrayWarning: Setting; + seenResetSettingsWarning: Setting; } export const settings: Settings = { @@ -59,6 +64,7 @@ export const settings: Settings = { startInTrayEnabled, autoHideMenuEnabled, seenMinimizeToTrayWarning, + seenResetSettingsWarning, }; if (!jetpack.exists(SETTINGS_FILE)) { From 0efe833c4bbcdf485d550c5820f2d348f0f83c23 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 01:56:47 -0500 Subject: [PATCH 245/385] changed settings file path to be the appData dir --- src/helpers/constants.ts | 8 +++++++- src/helpers/settings.ts | 10 +++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 16d6f2a2..6f868062 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -1,5 +1,6 @@ import process from "process"; import path from "path"; +import { app } from "electron"; export const osMap = { win32: "Windows", @@ -25,7 +26,12 @@ export const IS_LINUX = OS_NAME === "linux"; export const IS_DEV = process.env.NODE_ENV === "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); -export const SETTINGS_FILE = path.resolve(RESOURCES_PATH, "settings.json"); +// needs to be a function because app is not initialized yet otherwise? +export const SETTINGS_FILE = (): string => + path.resolve( + app.getPath("userData"), + `settings${IS_DEV ? "-development" : ""}.json` + ); // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index bc45753e..9f5e80e5 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -3,7 +3,7 @@ import jetpack from "fs-jetpack"; import { SETTINGS_FILE } from "./constants"; function getSetting(key: string): boolean | undefined { - return (jetpack.read(SETTINGS_FILE, "json") || {})[key]; + return (jetpack.read(SETTINGS_FILE(), "json") || {})[key]; } type Setting = BehaviorSubject; @@ -67,14 +67,14 @@ export const settings: Settings = { seenResetSettingsWarning, }; -if (!jetpack.exists(SETTINGS_FILE)) { - jetpack.write(SETTINGS_FILE, {}); +if (!jetpack.exists(SETTINGS_FILE())) { + jetpack.write(SETTINGS_FILE(), {}); } Object.entries(settings).forEach(([name, setting]) => { setting.subscribe((val: boolean) => { - const data = jetpack.read(SETTINGS_FILE, "json") || {}; + const data = jetpack.read(SETTINGS_FILE(), "json") || {}; data[name] = val; - jetpack.write(SETTINGS_FILE, data); + jetpack.write(SETTINGS_FILE(), data); }); }); From 790644f0af08fc06384ec4cc46b3822ab03df900 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 10:42:43 -0500 Subject: [PATCH 246/385] changed path of settings file in dev --- .gitignore | 2 +- src/helpers/constants.ts | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 8ad13be7..65abcb17 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,4 @@ Thumbs.db app/ -resources/settings.json +settings.json diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 6f868062..2c3404ef 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -28,10 +28,9 @@ export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); // needs to be a function because app is not initialized yet otherwise? export const SETTINGS_FILE = (): string => - path.resolve( - app.getPath("userData"), - `settings${IS_DEV ? "-development" : ""}.json` - ); + !IS_DEV + ? path.resolve(app.getPath("userData"), `settings.json`) + : path.resolve(BASE_APP_PATH, "settings.json"); // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; From d45a47740a1af6cb342c4319b9ddcca7f9e79c6f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 22:03:48 -0500 Subject: [PATCH 247/385] Add compatibility with string and number settings on top of the original boolean --- src/helpers/settings.ts | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 9f5e80e5..07049915 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -2,11 +2,14 @@ import { BehaviorSubject } from "rxjs"; import jetpack from "fs-jetpack"; import { SETTINGS_FILE } from "./constants"; -function getSetting(key: string): boolean | undefined { +export type BoolSetting = BehaviorSubject; +export type StringSetting = BehaviorSubject; +export type NumSetting = BehaviorSubject; + +function getSetting(key: string): unknown | undefined { return (jetpack.read(SETTINGS_FILE(), "json") || {})[key]; } -type Setting = BehaviorSubject; /** * * initial must be a json serializable type @@ -14,10 +17,10 @@ type Setting = BehaviorSubject; * @param key name of setting * @param initial initial value if unset */ -function createSetting(key: string, initial: boolean): Setting { +function createSetting(key: string, initial: T): BehaviorSubject { const savedVal = getSetting(key); const val = savedVal != null ? savedVal : initial; - return new BehaviorSubject(val); + return new BehaviorSubject(val) as BehaviorSubject; } export const trayEnabled = createSetting("trayEnabled", false); @@ -46,14 +49,14 @@ export const seenResetSettingsWarning = createSetting( ); export interface Settings { - trayEnabled: Setting; - notificationSoundEnabled: Setting; - hideNotificationContentEnabled: Setting; - respectSystemDarkModeEnabled: Setting; - startInTrayEnabled: Setting; - autoHideMenuEnabled: Setting; - seenMinimizeToTrayWarning: Setting; - seenResetSettingsWarning: Setting; + trayEnabled: BoolSetting; + notificationSoundEnabled: BoolSetting; + hideNotificationContentEnabled: BoolSetting; + respectSystemDarkModeEnabled: BoolSetting; + startInTrayEnabled: BoolSetting; + autoHideMenuEnabled: BoolSetting; + seenMinimizeToTrayWarning: BoolSetting; + seenResetSettingsWarning: BoolSetting; } export const settings: Settings = { From b0694a27ef53a91f205d7339fb245c8e7a756398 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 22:11:42 -0500 Subject: [PATCH 248/385] cleaner way to express types --- src/helpers/settings.ts | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 07049915..0c8b3a63 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -2,9 +2,7 @@ import { BehaviorSubject } from "rxjs"; import jetpack from "fs-jetpack"; import { SETTINGS_FILE } from "./constants"; -export type BoolSetting = BehaviorSubject; -export type StringSetting = BehaviorSubject; -export type NumSetting = BehaviorSubject; +export type Setting = BehaviorSubject; function getSetting(key: string): unknown | undefined { return (jetpack.read(SETTINGS_FILE(), "json") || {})[key]; @@ -49,14 +47,14 @@ export const seenResetSettingsWarning = createSetting( ); export interface Settings { - trayEnabled: BoolSetting; - notificationSoundEnabled: BoolSetting; - hideNotificationContentEnabled: BoolSetting; - respectSystemDarkModeEnabled: BoolSetting; - startInTrayEnabled: BoolSetting; - autoHideMenuEnabled: BoolSetting; - seenMinimizeToTrayWarning: BoolSetting; - seenResetSettingsWarning: BoolSetting; + trayEnabled: Setting; + notificationSoundEnabled: Setting; + hideNotificationContentEnabled: Setting; + respectSystemDarkModeEnabled: Setting; + startInTrayEnabled: Setting; + autoHideMenuEnabled: Setting; + seenMinimizeToTrayWarning: Setting; + seenResetSettingsWarning: Setting; } export const settings: Settings = { From e4cfac008e1cd41a980bd80c0f243d5109c05bdc Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 22:24:01 -0500 Subject: [PATCH 249/385] expanded setting to be compatible with any serializable object --- src/helpers/settings.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 0c8b3a63..e7f7e170 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -2,7 +2,15 @@ import { BehaviorSubject } from "rxjs"; import jetpack from "fs-jetpack"; import { SETTINGS_FILE } from "./constants"; -export type Setting = BehaviorSubject; +type primative = null | boolean | number | string; + +interface json { + [key: string]: json | primative | primative[]; +} + +export type Setting< + T extends primative | primative[] | json +> = BehaviorSubject; function getSetting(key: string): unknown | undefined { return (jetpack.read(SETTINGS_FILE(), "json") || {})[key]; From d8ad665dfcb0041e2dae78c5318ee1c9cc58453b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 22:28:28 -0500 Subject: [PATCH 250/385] added utility type --- src/helpers/settings.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index e7f7e170..119e459d 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -8,11 +8,11 @@ interface json { [key: string]: json | primative | primative[]; } -export type Setting< - T extends primative | primative[] | json -> = BehaviorSubject; +type validJson = primative | primative[] | json; -function getSetting(key: string): unknown | undefined { +export type Setting = BehaviorSubject; + +function getSetting(key: string): validJson | undefined { return (jetpack.read(SETTINGS_FILE(), "json") || {})[key]; } From deb9da480b9a5b6928b2b090ef0340b83a9f97a6 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 23:02:14 -0500 Subject: [PATCH 251/385] fixed a missing array case and added some explinations --- src/helpers/settings.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 119e459d..4aecff03 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -2,13 +2,17 @@ import { BehaviorSubject } from "rxjs"; import jetpack from "fs-jetpack"; import { SETTINGS_FILE } from "./constants"; +// base types in json type primative = null | boolean | number | string; - +// expression of json arrays +type jsonArr = validJson[]; +// recursive interface with all valid expressions of json inside of an object interface json { - [key: string]: json | primative | primative[]; + [key: string]: json | primative | jsonArr; } -type validJson = primative | primative[] | json; +// a complete expression of json including root arrays, primatives, and objects +type validJson = primative | jsonArr | json; export type Setting = BehaviorSubject; From 380e548ec0fb7785294676fc9814013441f4cd0b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 23:07:32 -0500 Subject: [PATCH 252/385] write all the settings from memory to avoid strange race conditions --- src/helpers/settings.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 4aecff03..476c209c 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -84,10 +84,14 @@ if (!jetpack.exists(SETTINGS_FILE())) { jetpack.write(SETTINGS_FILE(), {}); } -Object.entries(settings).forEach(([name, setting]) => { - setting.subscribe((val: boolean) => { - const data = jetpack.read(SETTINGS_FILE(), "json") || {}; - data[name] = val; - jetpack.write(SETTINGS_FILE(), data); +Object.entries(settings).forEach(([_n, s]) => { + s.subscribe(() => { + // create a settings object unwrapped from the subjects + const seriazableSettings: Record = {}; + Object.entries(settings).forEach(([name, setting]) => { + seriazableSettings[name] = setting.value; + }); + // write all the settings to the file from memory to avoid weird read write race conditions + jetpack.write(SETTINGS_FILE(), seriazableSettings); }); }); From 5738d3f76e1a8941491846d4984fc3deae191abc Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 23:14:34 -0500 Subject: [PATCH 253/385] hide the annoying setting reset alert in dev --- src/bridge.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 6b3c7e4d..e100a569 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,6 +1,6 @@ import { ipcRenderer, remote, NotificationConstructorOptions } from "electron"; import path from "path"; -import { EVENT_BRIDGE_INIT, RESOURCES_PATH } from "./helpers/constants"; +import { EVENT_BRIDGE_INIT, IS_DEV, RESOURCES_PATH } from "./helpers/constants"; import { popupContextMenu } from "./menu/contextMenu"; import { getProfileImg } from "./helpers/profileImage"; @@ -56,7 +56,9 @@ window.addEventListener("load", () => { app.mainWindow?.show(); } - if (!app.settings?.seenResetSettingsWarning.value) { + // Note: this hides this during dev + // remove the condition for testing + if (!IS_DEV && !app.settings?.seenResetSettingsWarning.value) { const message = ` The settings for this app have been reset. From e560b8be0b730ef10cfb8bf8798b66162ba1e518 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 23:24:32 -0500 Subject: [PATCH 254/385] Actually fixes #296 whoops needs the extra yarn in the package command for unknown reasons. webpack and png2icons works fine without it. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2d506b49..08d57b4e 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "build:dev": "webpack --mode=development", "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", "lint": "eslint --fix --ext .ts,.js ./src", - "package": "electron-builder --config electron-builder.js" + "package": "yarn electron-builder --config electron-builder.js" }, "dependencies": { "about-window": "1.13.4", From abb5632eedc47bf9e8bfc8c22d280094ece58ce0 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 00:07:51 -0500 Subject: [PATCH 255/385] migrated to arguably cleaner method of creating settings --- src/background.ts | 5 +- src/helpers/settings.ts | 94 +++++++++++++++++++------------------- src/helpers/trayManager.ts | 9 ++-- src/menu/settingsMenu.ts | 15 +++--- 4 files changed, 64 insertions(+), 59 deletions(-) diff --git a/src/background.ts b/src/background.ts index 16011972..e0afd2d8 100644 --- a/src/background.ts +++ b/src/background.ts @@ -10,13 +10,16 @@ import { IS_WINDOWS, RESOURCES_PATH, } from "./helpers/constants"; -import { autoHideMenuEnabled, settings, trayEnabled } from "./helpers/settings"; +import { settings } from "./helpers/settings"; import { TrayManager } from "./helpers/trayManager"; import { CustomBrowserWindow } from "./helpers/window"; import { baseMenuTemplate } from "./menu/baseMenu"; import { devMenuTemplate } from "./menu/devMenu"; import { helpMenuTemplate } from "./menu/helpMenu"; +// bring the settings into scope +const { autoHideMenuEnabled, trayEnabled } = settings; + const state = { bridgeInitDone: false, }; diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 476c209c..b824b9e8 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -33,59 +33,59 @@ function createSetting(key: string, initial: T): BehaviorSubject { return new BehaviorSubject(val) as BehaviorSubject; } -export const trayEnabled = createSetting("trayEnabled", false); - -export const notificationSoundEnabled = createSetting( - "notificationSoundEnabled", - false -); -export const hideNotificationContentEnabled = createSetting( - "hideNotificationContentEnabled", - false -); -export const respectSystemDarkModeEnabled = createSetting( - "respectSystemDarkModeEnabled", - true -); -export const startInTrayEnabled = createSetting("startInTrayEnabled", false); -export const autoHideMenuEnabled = createSetting("autoHideMenuEnabled", false); -export const seenMinimizeToTrayWarning = createSetting( - "seenMinimizeToTrayWarning", - false -); -export const seenResetSettingsWarning = createSetting( - "seenResetSettingsWarning", - false -); - -export interface Settings { - trayEnabled: Setting; - notificationSoundEnabled: Setting; - hideNotificationContentEnabled: Setting; - respectSystemDarkModeEnabled: Setting; - startInTrayEnabled: Setting; - autoHideMenuEnabled: Setting; - seenMinimizeToTrayWarning: Setting; - seenResetSettingsWarning: Setting; +export interface JsonSettings { + trayEnabled: boolean; + notificationSoundEnabled: boolean; + hideNotificationContentEnabled: boolean; + respectSystemDarkModeEnabled: boolean; + startInTrayEnabled: boolean; + autoHideMenuEnabled: boolean; + seenMinimizeToTrayWarning: boolean; + seenResetSettingsWarning: boolean; } -export const settings: Settings = { - trayEnabled, - notificationSoundEnabled, - hideNotificationContentEnabled, - respectSystemDarkModeEnabled, - startInTrayEnabled, - autoHideMenuEnabled, - seenMinimizeToTrayWarning, - seenResetSettingsWarning, +// wraps json settings in the setting type for export +type Settings = { + [P in keyof JsonSettings]: Setting; }; +// default settings for the app +const defaultSettings: JsonSettings = { + trayEnabled: false, + notificationSoundEnabled: false, + hideNotificationContentEnabled: false, + respectSystemDarkModeEnabled: true, + startInTrayEnabled: false, + autoHideMenuEnabled: false, + seenMinimizeToTrayWarning: false, + seenResetSettingsWarning: false, +}; + +// create default settings file if it doesnt exist if (!jetpack.exists(SETTINGS_FILE())) { - jetpack.write(SETTINGS_FILE(), {}); + jetpack.write(SETTINGS_FILE(), defaultSettings); } -Object.entries(settings).forEach(([_n, s]) => { - s.subscribe(() => { +// temporary settings object during creation +const settingsToExport: Partial = {}; + +// loop through and create all the settings +for (const name in defaultSettings) { + const key = name as keyof Settings; + const setting = createSetting(name, defaultSettings[key]); + settingsToExport[key] = setting; +} + +// We know this is safe because we are enumerating all of the settings in default settings +// furthermore the `Settings` type is derived from the default settings type +export const settings: Settings = settingsToExport as Settings; + +// loop through and add all the event listeners +// has to be done in this step because settings needs to exist +for (const name in defaultSettings) { + const key = name as keyof Settings; + const setting = settings[key]; + setting.subscribe(() => { // create a settings object unwrapped from the subjects const seriazableSettings: Record = {}; Object.entries(settings).forEach(([name, setting]) => { @@ -94,4 +94,4 @@ Object.entries(settings).forEach(([_n, s]) => { // write all the settings to the file from memory to avoid weird read write race conditions jetpack.write(SETTINGS_FILE(), seriazableSettings); }); -}); +} diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index c1d91962..5a0cf0e0 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -2,11 +2,10 @@ import { app, Menu, Tray } from "electron"; import path from "path"; import { trayMenuTemplate } from "../menu/trayMenu"; import { IS_LINUX, IS_MAC, IS_WINDOWS, RESOURCES_PATH } from "./constants"; -import { - seenMinimizeToTrayWarning, - startInTrayEnabled, - trayEnabled, -} from "./settings"; +import { settings } from "./settings"; + +// bring the settings into scoped +const { trayEnabled, startInTrayEnabled, seenMinimizeToTrayWarning } = settings; export class TrayManager { public enabled = trayEnabled.value; diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 94b405dd..061bbf4a 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -5,14 +5,17 @@ import { MenuItemConstructorOptions, } from "electron"; import { IS_MAC } from "../helpers/constants"; -import { +import { settings } from "../helpers/settings"; +import { separator } from "./items/separator"; + +// bring the settings into scope +const { autoHideMenuEnabled, - hideNotificationContentEnabled, - notificationSoundEnabled, - startInTrayEnabled, trayEnabled, -} from "../helpers/settings"; -import { separator } from "./items/separator"; + startInTrayEnabled, + notificationSoundEnabled, + hideNotificationContentEnabled, +} = settings; export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "&Preferences" : "&Settings", From 08a0e49b755406d318c60f0512daae77b8c04def Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 22:54:11 -0500 Subject: [PATCH 256/385] Save and load window position --- src/background.ts | 21 ++++++++++++++++++--- src/helpers/settings.ts | 16 +++++++++++++++- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/background.ts b/src/background.ts index e0afd2d8..3c6ede5b 100644 --- a/src/background.ts +++ b/src/background.ts @@ -18,7 +18,12 @@ import { devMenuTemplate } from "./menu/devMenu"; import { helpMenuTemplate } from "./menu/helpMenu"; // bring the settings into scope -const { autoHideMenuEnabled, trayEnabled } = settings; +const { + autoHideMenuEnabled, + trayEnabled, + savedWindowSize, + savedWindowPosition, +} = settings; const state = { bridgeInitDone: false, @@ -85,9 +90,16 @@ if (!isFirstInstance) { autoUpdater.checkForUpdatesAndNotify(); + // destructure from the settings + const { width, height } = savedWindowSize.value; + // provide empty object if savedWindowPosition is null + const { x, y } = savedWindowPosition.value || {}; + mainWindow = new CustomBrowserWindow("main", { - width: 1100, - height: 800, + width, + height, + x, + y, autoHideMenuBar: autoHideMenuEnabled.value, show: false, //don't show window just yet (issue #229) icon: IS_LINUX @@ -148,6 +160,9 @@ if (!isFirstInstance) { }; mainWindow.on("close", (event: ElectronEvent) => { + const { x, y, width, height } = mainWindow.getBounds(); + savedWindowPosition.next({ x, y }); + savedWindowSize.next({ width, height }); if (!shouldExitOnMainWindowClosed()) { event.preventDefault(); mainWindow.hide(); diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index b824b9e8..08cc7e2f 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -42,6 +42,8 @@ export interface JsonSettings { autoHideMenuEnabled: boolean; seenMinimizeToTrayWarning: boolean; seenResetSettingsWarning: boolean; + savedWindowSize: WindowSize; + savedWindowPosition: WindowPosition | null; } // wraps json settings in the setting type for export @@ -49,6 +51,16 @@ type Settings = { [P in keyof JsonSettings]: Setting; }; +type WindowSize = { + width: number; + height: number; +}; + +type WindowPosition = { + x: number; + y: number; +}; + // default settings for the app const defaultSettings: JsonSettings = { trayEnabled: false, @@ -59,6 +71,8 @@ const defaultSettings: JsonSettings = { autoHideMenuEnabled: false, seenMinimizeToTrayWarning: false, seenResetSettingsWarning: false, + savedWindowSize: { width: 1100, height: 800 }, + savedWindowPosition: null, }; // create default settings file if it doesnt exist @@ -67,7 +81,7 @@ if (!jetpack.exists(SETTINGS_FILE())) { } // temporary settings object during creation -const settingsToExport: Partial = {}; +const settingsToExport: any = {}; // loop through and create all the settings for (const name in defaultSettings) { From 49ecb304f99b3652e30359885d9bf124689acca4 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 00:34:05 -0500 Subject: [PATCH 257/385] fix the subscription to quell the compiler --- src/helpers/settings.ts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 08cc7e2f..b4e40f5e 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -96,16 +96,19 @@ export const settings: Settings = settingsToExport as Settings; // loop through and add all the event listeners // has to be done in this step because settings needs to exist -for (const name in defaultSettings) { +for (const name in settings) { const key = name as keyof Settings; - const setting = settings[key]; - setting.subscribe(() => { - // create a settings object unwrapped from the subjects - const seriazableSettings: Record = {}; - Object.entries(settings).forEach(([name, setting]) => { - seriazableSettings[name] = setting.value; - }); - // write all the settings to the file from memory to avoid weird read write race conditions - jetpack.write(SETTINGS_FILE(), seriazableSettings); + // cast to unknown type to quell the compiler + const setting = settings[key] as BehaviorSubject; + setting.subscribe({ + next: () => { + // create a settings object unwrapped from the subjects + const seriazableSettings: Record = {}; + Object.entries(settings).forEach(([name, setting]) => { + seriazableSettings[name] = setting.value; + }); + // write all the settings to the file from memory to avoid weird read write race conditions + jetpack.write(SETTINGS_FILE(), seriazableSettings); + }, }); } From d9b59becd762cae682af0e9a89c5eabf6ba903f9 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 00:37:00 -0500 Subject: [PATCH 258/385] removed from wrapping object --- src/helpers/settings.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index b4e40f5e..51751bd7 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -100,15 +100,13 @@ for (const name in settings) { const key = name as keyof Settings; // cast to unknown type to quell the compiler const setting = settings[key] as BehaviorSubject; - setting.subscribe({ - next: () => { - // create a settings object unwrapped from the subjects - const seriazableSettings: Record = {}; - Object.entries(settings).forEach(([name, setting]) => { - seriazableSettings[name] = setting.value; - }); - // write all the settings to the file from memory to avoid weird read write race conditions - jetpack.write(SETTINGS_FILE(), seriazableSettings); - }, + setting.subscribe(() => { + // create a settings object unwrapped from the subjects + const seriazableSettings: Record = {}; + Object.entries(settings).forEach(([name, setting]) => { + seriazableSettings[name] = setting.value; + }); + // write all the settings to the file from memory to avoid weird read write race conditions + jetpack.write(SETTINGS_FILE(), seriazableSettings); }); } From a9771babb441c2dd1ef577f45eb4ccff59edb9af Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 00:37:25 -0500 Subject: [PATCH 259/385] remove legacy state init system --- src/background.ts | 27 +-------------------------- src/bridge.ts | 6 ++---- 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/src/background.ts b/src/background.ts index e0afd2d8..946667a9 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,9 +1,8 @@ -import { app, Event as ElectronEvent, ipcMain, Menu, shell } from "electron"; +import { app, Event as ElectronEvent, Menu, shell } from "electron"; import { autoUpdater } from "electron-updater"; import path from "path"; import { BASE_APP_PATH, - EVENT_BRIDGE_INIT, IS_DEV, IS_LINUX, IS_MAC, @@ -20,10 +19,6 @@ import { helpMenuTemplate } from "./menu/helpMenu"; // bring the settings into scope const { autoHideMenuEnabled, trayEnabled } = settings; -const state = { - bridgeInitDone: false, -}; - let mainWindow: CustomBrowserWindow; /** @@ -123,14 +118,6 @@ if (!isFirstInstance) { trayManager.startIfEnabled(); - ipcMain.on(EVENT_BRIDGE_INIT, async (_event) => { - if (state.bridgeInitDone) { - return; - } - - state.bridgeInitDone = true; - }); - let quitViaContext = false; app.on("before-quit", () => { quitViaContext = true; @@ -165,18 +152,6 @@ if (!isFirstInstance) { e.preventDefault(); shell.openExternal(url); }); - - contents.on("destroyed", () => { - // we will need to re-init on reload - state.bridgeInitDone = false; - }); - - contents.on("will-navigate", (e, url) => { - if (url === "https://messages.google.com/web/authentication") { - // we were logged out, let's display a notification to the user about this in the future - state.bridgeInitDone = false; - } - }); } }); }); diff --git a/src/bridge.ts b/src/bridge.ts index e100a569..1c505d66 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,6 +1,6 @@ -import { ipcRenderer, remote, NotificationConstructorOptions } from "electron"; +import { remote, NotificationConstructorOptions } from "electron"; import path from "path"; -import { EVENT_BRIDGE_INIT, IS_DEV, RESOURCES_PATH } from "./helpers/constants"; +import { IS_DEV, RESOURCES_PATH } from "./helpers/constants"; import { popupContextMenu } from "./menu/contextMenu"; import { getProfileImg } from "./helpers/profileImage"; @@ -37,8 +37,6 @@ window.addEventListener("load", () => { observer: MutationObserver ) => { if (document.querySelector("mw-main-nav")) { - // we're definitely logged-in if this is in the DOM - ipcRenderer.send(EVENT_BRIDGE_INIT); createUnreadListener(); observer.disconnect(); } From db7052da38b52d4c10d80f212c0835c8acc9b9c2 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 19 Feb 2021 11:09:53 -0500 Subject: [PATCH 260/385] badic untested framework for manual update interaction currently no button to install update --- src/background.ts | 4 ++-- src/helpers/autoUpdate.ts | 30 ++++++++++++++++++++++++++++++ src/menu/items/checkForUpdates.ts | 6 ++---- 3 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 src/helpers/autoUpdate.ts diff --git a/src/background.ts b/src/background.ts index ec8c3d75..acade25b 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,6 +1,6 @@ import { app, Event as ElectronEvent, Menu, shell } from "electron"; -import { autoUpdater } from "electron-updater"; import path from "path"; +import { checkForUpdate } from "./helpers/autoUpdate"; import { BASE_APP_PATH, IS_DEV, @@ -83,7 +83,7 @@ if (!isFirstInstance) { }); } - autoUpdater.checkForUpdatesAndNotify(); + checkForUpdate(); // destructure from the settings const { width, height } = savedWindowSize.value; diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts new file mode 100644 index 00000000..6bd8013d --- /dev/null +++ b/src/helpers/autoUpdate.ts @@ -0,0 +1,30 @@ +import { autoUpdater } from "electron-updater"; + +function setUpdaterSettings(): void { + autoUpdater.autoDownload = false; + autoUpdater.autoInstallOnAppQuit = false; +} + +/** + * Returns true if there is an update. + */ +export async function checkForUpdate(): Promise { + setUpdaterSettings(); + return ( + (await autoUpdater.checkForUpdatesAndNotify({ + title: "Update Available", + body: "There is an update available.", + })) != null + ); +} + +/** + * Checks for update, downloads, quits, and installs app. + */ +export async function installUpdate(): Promise { + setUpdaterSettings(); + if (await checkForUpdate()) { + await autoUpdater.downloadUpdate(); + autoUpdater.quitAndInstall(); + } +} diff --git a/src/menu/items/checkForUpdates.ts b/src/menu/items/checkForUpdates.ts index 623ef450..d9b16808 100644 --- a/src/menu/items/checkForUpdates.ts +++ b/src/menu/items/checkForUpdates.ts @@ -1,9 +1,7 @@ import { MenuItemConstructorOptions } from "electron"; -import { autoUpdater } from "electron-updater"; +import { checkForUpdate } from "../../helpers/autoUpdate"; export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { label: "Check for Updates", - click: (): void => { - autoUpdater.checkForUpdatesAndNotify(); - }, + click: checkForUpdate, }; From eca835ad2a0a324824f45280b36e6fc39eeeadf2 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 01:05:32 -0500 Subject: [PATCH 261/385] Added an install button and cleaned up some of the menus --- src/helpers/autoUpdate.ts | 5 ++++- src/menu/appMenu.ts | 19 +++++++++---------- src/menu/contextMenu.ts | 13 ++++--------- src/menu/fileMenu.ts | 14 +++++++------- src/menu/helpMenu.ts | 2 +- src/menu/items/checkForUpdates.ts | 7 ------- src/menu/items/updates.ts | 12 ++++++++++++ src/menu/trayMenu.ts | 5 ++--- 8 files changed, 39 insertions(+), 38 deletions(-) delete mode 100644 src/menu/items/checkForUpdates.ts create mode 100644 src/menu/items/updates.ts diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts index 6bd8013d..8cf6d40a 100644 --- a/src/helpers/autoUpdate.ts +++ b/src/helpers/autoUpdate.ts @@ -1,4 +1,5 @@ import { autoUpdater } from "electron-updater"; +import { IS_MAC } from "./constants"; function setUpdaterSettings(): void { autoUpdater.autoDownload = false; @@ -13,7 +14,9 @@ export async function checkForUpdate(): Promise { return ( (await autoUpdater.checkForUpdatesAndNotify({ title: "Update Available", - body: "There is an update available.", + body: `There is an update available. It will not install until you click the button in the ${ + IS_MAC ? "app" : "file" + } menu.`, })) != null ); } diff --git a/src/menu/appMenu.ts b/src/menu/appMenu.ts index 069aba11..0c58fbc5 100644 --- a/src/menu/appMenu.ts +++ b/src/menu/appMenu.ts @@ -1,6 +1,10 @@ import { app, MenuItemConstructorOptions } from "electron"; import { aboutMenuItem } from "./items/about"; -import { checkForUpdatesMenuItem } from "./items/checkForUpdates"; +import { separator } from "./items/separator"; +import { + checkForUpdatesMenuItem, + installUpdatesMenuItem, +} from "./items/updates"; import { settingsMenu } from "./settingsMenu"; // This is the "Application" menu, which is only used on macOS @@ -9,21 +13,16 @@ export const appMenuTemplate: MenuItemConstructorOptions = { submenu: [ aboutMenuItem, checkForUpdatesMenuItem, - { - type: "separator", - }, + installUpdatesMenuItem, + separator, settingsMenu, - { - type: "separator", - }, + separator, { label: "Hide Android Messages Desktop", accelerator: "Command+H", click: (): void => app.hide(), }, - { - type: "separator", - }, + separator, { label: "Quit", accelerator: "Command+Q", diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index a5ff6869..904df49c 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -3,6 +3,7 @@ import { MenuItemConstructorOptions, remote, } from "electron"; +import { separator } from "./items/separator"; const { Menu, app } = remote; @@ -15,9 +16,7 @@ const standardMenuTemplate: MenuItemConstructorOptions[] = [ label: "Copy", role: "copy", }, - { - type: "separator", - }, + separator, { label: "Select All", role: "selectAll", @@ -33,9 +32,7 @@ const textMenuTemplate: MenuItemConstructorOptions[] = [ label: "Redo", role: "redo", }, - { - type: "separator", - }, + separator, { label: "Cut", role: "cut", @@ -48,9 +45,7 @@ const textMenuTemplate: MenuItemConstructorOptions[] = [ label: "Paste", role: "paste", }, - { - type: "separator", - }, + separator, { label: "Select All", role: "selectAll", diff --git a/src/menu/fileMenu.ts b/src/menu/fileMenu.ts index 9ff9ac72..3520fe79 100644 --- a/src/menu/fileMenu.ts +++ b/src/menu/fileMenu.ts @@ -1,6 +1,8 @@ import { app, MenuItemConstructorOptions } from "electron"; -import { IS_WINDOWS } from "../helpers/constants"; -import { checkForUpdatesMenuItem } from "./items/checkForUpdates"; +import { + checkForUpdatesMenuItem, + installUpdatesMenuItem, +} from "./items/updates"; import { separator } from "./items/separator"; const submenu: MenuItemConstructorOptions[] = [ @@ -8,13 +10,11 @@ const submenu: MenuItemConstructorOptions[] = [ label: "Quit Android Messages", click: (): void => app.quit(), }, + separator, + checkForUpdatesMenuItem, + installUpdatesMenuItem, ]; -if (!IS_WINDOWS) { - submenu.unshift(separator); - submenu.unshift(checkForUpdatesMenuItem); -} - export const fileMenuTemplate: MenuItemConstructorOptions = { label: "&File", submenu, diff --git a/src/menu/helpMenu.ts b/src/menu/helpMenu.ts index 6a08f49a..f9e3ce6d 100644 --- a/src/menu/helpMenu.ts +++ b/src/menu/helpMenu.ts @@ -1,7 +1,7 @@ import { MenuItemConstructorOptions, shell } from "electron"; import { IS_MAC, IS_WINDOWS } from "../helpers/constants"; import { aboutMenuItem } from "./items/about"; -import { checkForUpdatesMenuItem } from "./items/checkForUpdates"; +import { checkForUpdatesMenuItem } from "./items/updates"; import { separator } from "./items/separator"; const submenu: MenuItemConstructorOptions[] = [ diff --git a/src/menu/items/checkForUpdates.ts b/src/menu/items/checkForUpdates.ts deleted file mode 100644 index d9b16808..00000000 --- a/src/menu/items/checkForUpdates.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { MenuItemConstructorOptions } from "electron"; -import { checkForUpdate } from "../../helpers/autoUpdate"; - -export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { - label: "Check for Updates", - click: checkForUpdate, -}; diff --git a/src/menu/items/updates.ts b/src/menu/items/updates.ts new file mode 100644 index 00000000..3ee4f6c9 --- /dev/null +++ b/src/menu/items/updates.ts @@ -0,0 +1,12 @@ +import { MenuItemConstructorOptions } from "electron"; +import { checkForUpdate, installUpdate } from "../../helpers/autoUpdate"; + +export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { + label: "Check for Updates", + click: checkForUpdate, +}; + +export const installUpdatesMenuItem: MenuItemConstructorOptions = { + label: "Intall Updates", + click: installUpdate, +}; diff --git a/src/menu/trayMenu.ts b/src/menu/trayMenu.ts index c5776a57..059872dd 100644 --- a/src/menu/trayMenu.ts +++ b/src/menu/trayMenu.ts @@ -1,5 +1,6 @@ import { app, MenuItemConstructorOptions } from "electron"; import { IS_MAC } from "../helpers/constants"; +import { separator } from "./items/separator"; export const trayMenuTemplate: MenuItemConstructorOptions[] = [ { @@ -19,9 +20,7 @@ export const trayMenuTemplate: MenuItemConstructorOptions[] = [ } }, }, - { - type: "separator", - }, + separator, { label: "Quit Android Messages", click: (): void => { From e7521592b20818a6650953a7d2cd62c83889044a Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 02:12:43 -0500 Subject: [PATCH 262/385] Basic auto updater that requires manual interaction to trigger --- src/background.ts | 2 +- src/helpers/autoUpdate.ts | 29 +++++++++++++++++++---------- src/menu/items/updates.ts | 2 +- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/background.ts b/src/background.ts index acade25b..fd4d5078 100644 --- a/src/background.ts +++ b/src/background.ts @@ -83,7 +83,7 @@ if (!isFirstInstance) { }); } - checkForUpdate(); + checkForUpdate(true); // destructure from the settings const { width, height } = savedWindowSize.value; diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts index 8cf6d40a..799eb246 100644 --- a/src/helpers/autoUpdate.ts +++ b/src/helpers/autoUpdate.ts @@ -1,5 +1,7 @@ import { autoUpdater } from "electron-updater"; -import { IS_MAC } from "./constants"; +import { app, Notification } from "electron"; +import path from "path"; +import { RESOURCES_PATH } from "./constants"; function setUpdaterSettings(): void { autoUpdater.autoDownload = false; @@ -9,16 +11,23 @@ function setUpdaterSettings(): void { /** * Returns true if there is an update. */ -export async function checkForUpdate(): Promise { +export async function checkForUpdate( + showNotification: boolean +): Promise { setUpdaterSettings(); - return ( - (await autoUpdater.checkForUpdatesAndNotify({ + const results = await autoUpdater.checkForUpdates(); + const isUpdate = results.updateInfo.version != app.getVersion(); + if (isUpdate && showNotification) { + const notification = new Notification({ title: "Update Available", - body: `There is an update available. It will not install until you click the button in the ${ - IS_MAC ? "app" : "file" - } menu.`, - })) != null - ); + body: + 'There is an update available. Click "Install Update"' + + " in the file or app menu.", + icon: path.resolve(RESOURCES_PATH, "icons", "64x64.png"), + }); + notification.show(); + } + return isUpdate; } /** @@ -26,7 +35,7 @@ export async function checkForUpdate(): Promise { */ export async function installUpdate(): Promise { setUpdaterSettings(); - if (await checkForUpdate()) { + if (await checkForUpdate(false)) { await autoUpdater.downloadUpdate(); autoUpdater.quitAndInstall(); } diff --git a/src/menu/items/updates.ts b/src/menu/items/updates.ts index 3ee4f6c9..f8f9d1fe 100644 --- a/src/menu/items/updates.ts +++ b/src/menu/items/updates.ts @@ -3,7 +3,7 @@ import { checkForUpdate, installUpdate } from "../../helpers/autoUpdate"; export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { label: "Check for Updates", - click: checkForUpdate, + click: () => checkForUpdate(true), }; export const installUpdatesMenuItem: MenuItemConstructorOptions = { From b3ccca08295bc0075c700b214de4460187c81caa Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 02:17:53 -0500 Subject: [PATCH 263/385] added setting to disable checking for updates at launch --- src/background.ts | 5 ++++- src/helpers/settings.ts | 2 ++ src/menu/settingsMenu.ts | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index fd4d5078..804021be 100644 --- a/src/background.ts +++ b/src/background.ts @@ -22,6 +22,7 @@ const { trayEnabled, savedWindowSize, savedWindowPosition, + checkForUpdateOnLaunchEnabled, } = settings; let mainWindow: CustomBrowserWindow; @@ -83,7 +84,9 @@ if (!isFirstInstance) { }); } - checkForUpdate(true); + if (checkForUpdateOnLaunchEnabled.value) { + checkForUpdate(true); + } // destructure from the settings const { width, height } = savedWindowSize.value; diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 51751bd7..ce30a216 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -44,6 +44,7 @@ export interface JsonSettings { seenResetSettingsWarning: boolean; savedWindowSize: WindowSize; savedWindowPosition: WindowPosition | null; + checkForUpdateOnLaunchEnabled: boolean; } // wraps json settings in the setting type for export @@ -73,6 +74,7 @@ const defaultSettings: JsonSettings = { seenResetSettingsWarning: false, savedWindowSize: { width: 1100, height: 800 }, savedWindowPosition: null, + checkForUpdateOnLaunchEnabled: true, }; // create default settings file if it doesnt exist diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 061bbf4a..31b45b26 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -15,6 +15,7 @@ const { startInTrayEnabled, notificationSoundEnabled, hideNotificationContentEnabled, + checkForUpdateOnLaunchEnabled, } = settings; export const settingsMenu: MenuItemConstructorOptions = { @@ -74,6 +75,14 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { type: "checkbox", checked: notificationSoundEnabled.value, click: (item) => hideNotificationContentEnabled.next(item.checked), + }, + separator, + { + id: "checkForUpdateOnLaunchEnabledMenuItem", + label: "Check for Update on Launch", + type: "checkbox", + checked: checkForUpdateOnLaunchEnabled.value, + click: (item) => checkForUpdateOnLaunchEnabled.next(item.checked), } ); } From e28c64ce296919c1ec34e492ff8347801d0dd73d Mon Sep 17 00:00:00 2001 From: "V@no" Date: Sat, 20 Feb 2021 08:20:54 -0500 Subject: [PATCH 264/385] Fixed tray unread indicator not shown at tray initialization. --- src/helpers/trayManager.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 5a0cf0e0..d380e65b 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -11,6 +11,7 @@ export class TrayManager { public enabled = trayEnabled.value; public iconPath = this.getIconPath(); public overlayIconPath = this.getOverlayIconPath(); + private lastIcon = this.iconPath; public tray: Tray | null = null; @@ -42,7 +43,7 @@ export class TrayManager { public startIfEnabled(): void { if (!this.tray) { if (this.enabled) { - this.tray = new Tray(this.iconPath); + this.tray = new Tray(this.lastIcon); const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); this.tray.setContextMenu(trayContextMenu); this.tray.setToolTip("Android Messages"); @@ -117,12 +118,15 @@ export class TrayManager { } public setUnreadIcon(toggle: boolean): void { - if (this.tray && this.overlayIconPath != null) { + if (this.overlayIconPath != null) { if (toggle) { - this.tray.setImage(this.overlayIconPath); + this.lastIcon = this.overlayIconPath; } else { - this.tray.setImage(this.iconPath); + this.lastIcon = this.iconPath; } } + if (this.tray) { + this.tray.setImage(this.lastIcon); + } } } From f3c47311923736fa655c1e798e7ce9091c5bee4a Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 15:34:15 -0500 Subject: [PATCH 265/385] Conditionaly generate the guid if the os is windows --- package.json | 4 +++- src/helpers/constants.ts | 6 ++++++ src/helpers/trayManager.ts | 23 +++++++++++++++++++++-- yarn.lock | 10 ++++++++++ 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 0155fb59..4aba7f67 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,12 @@ "about-window": "1.13.4", "electron-updater": "4.3.5", "fs-jetpack": "^4.1.0", - "rxjs": "^6.6.3" + "rxjs": "^6.6.3", + "uuid": "^8.3.2" }, "devDependencies": { "@types/node": "14.14.30", + "@types/uuid": "^8.3.0", "@types/webpack": "^4.41.26", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 2c3404ef..25178847 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -34,3 +34,9 @@ export const SETTINGS_FILE = (): string => // Events export const EVENT_BRIDGE_INIT = "messages-bridge-init"; + +// UUID +/** + * An arbitrary v4 uuid generated on https://www.uuidgenerator.net/version4 + */ +export const UUID_NAMESPACE = "ddf09da3-3df8-4417-ae3b-62d3ed4bfb72"; diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index d380e65b..8d83bc96 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -1,8 +1,16 @@ import { app, Menu, Tray } from "electron"; import path from "path"; import { trayMenuTemplate } from "../menu/trayMenu"; -import { IS_LINUX, IS_MAC, IS_WINDOWS, RESOURCES_PATH } from "./constants"; +import { + IS_DEV, + IS_LINUX, + IS_MAC, + IS_WINDOWS, + RESOURCES_PATH, + UUID_NAMESPACE, +} from "./constants"; import { settings } from "./settings"; +import { v5 as uuidv5 } from "uuid"; // bring the settings into scoped const { trayEnabled, startInTrayEnabled, seenMinimizeToTrayWarning } = settings; @@ -43,7 +51,18 @@ export class TrayManager { public startIfEnabled(): void { if (!this.tray) { if (this.enabled) { - this.tray = new Tray(this.lastIcon); + // if the os is windows generate guid otherwise it is undefined + const guid = IS_WINDOWS + ? uuidv5( + `android-messages-desktop${ + // if is dev add an identifier + IS_DEV ? "-development" : "" + // append the app path incase that changes for some reason + }-${app.getAppPath()}`, + UUID_NAMESPACE + ) + : undefined; + this.tray = new Tray(this.lastIcon, guid); const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); this.tray.setContextMenu(trayContextMenu); this.tray.setToolTip("Android Messages"); diff --git a/yarn.lock b/yarn.lock index aeb80a19..0bcb6deb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -186,6 +186,11 @@ dependencies: source-map "^0.6.1" +"@types/uuid@^8.3.0": + version "8.3.0" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" + integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== + "@types/webpack-merge@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/webpack-merge/-/webpack-merge-4.1.5.tgz#265fbee4810474860d0f4c17e0107032881eed47" @@ -3307,6 +3312,11 @@ utila@~0.4: resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" From bd3b85f0380617fe42d5f10b31d933130da3b570 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 15:59:28 -0500 Subject: [PATCH 266/385] forgot to export the settings type --- src/helpers/settings.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index ce30a216..d2e05e63 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -48,7 +48,7 @@ export interface JsonSettings { } // wraps json settings in the setting type for export -type Settings = { +export type Settings = { [P in keyof JsonSettings]: Setting; }; From 5f16f340ac9e6a5086c3ea5dd41ad0f1760dae20 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 15:55:44 -0500 Subject: [PATCH 267/385] remove the sound setting in favor of the three dot menu --- src/bridge.ts | 6 ++++-- src/helpers/settings.ts | 2 -- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 1c505d66..8371bd71 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -62,9 +62,10 @@ The settings for this app have been reset. This is a one time occurance and is the result of behind the scenes work to clean up the code. -You may notice two missing settings: +You may notice three missing settings: - Enter to Send: Moved to the 3 dots menu + - Notification Sound: Moved to the 3 dots menu - Use System Theme: Removed for the time being in favor of manual operation `; dialog.showMessageBox({ @@ -106,7 +107,8 @@ window.Notification = function (title: string, options: NotificationOptions) { body: options.body || "", }; - notificationOpts.silent = !app.settings?.notificationSoundEnabled.value; + // let google handle making the noise + notificationOpts.silent = true; const notification = new ElectronNotification(notificationOpts); notification.addListener("click", () => { diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index d2e05e63..6c43209a 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -35,7 +35,6 @@ function createSetting(key: string, initial: T): BehaviorSubject { export interface JsonSettings { trayEnabled: boolean; - notificationSoundEnabled: boolean; hideNotificationContentEnabled: boolean; respectSystemDarkModeEnabled: boolean; startInTrayEnabled: boolean; @@ -65,7 +64,6 @@ type WindowPosition = { // default settings for the app const defaultSettings: JsonSettings = { trayEnabled: false, - notificationSoundEnabled: false, hideNotificationContentEnabled: false, respectSystemDarkModeEnabled: true, startInTrayEnabled: false, From 0d9fc0a7f2269e0ce2b660bfae6270d832d3a888 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 15:57:09 -0500 Subject: [PATCH 268/385] remove the menu entry --- src/menu/settingsMenu.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 31b45b26..1cfed28f 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -60,14 +60,6 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { // See: https://github.com/electron/electron/issues/8703 settingsMenu.submenu.push( - separator, - { - id: "notificationSoundEnabledMenuItem", - label: "Play Notification Sound", - type: "checkbox", - checked: notificationSoundEnabled.value, - click: (item) => notificationSoundEnabled.next(item.checked), - }, separator, { id: "hideNotificationContentMenuItem", From b6b7eab3e2e1b1c82b1d03ace217812b3a632720 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 15:57:42 -0500 Subject: [PATCH 269/385] forgot to remove the import --- src/menu/settingsMenu.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 1cfed28f..69039a31 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -13,7 +13,6 @@ const { autoHideMenuEnabled, trayEnabled, startInTrayEnabled, - notificationSoundEnabled, hideNotificationContentEnabled, checkForUpdateOnLaunchEnabled, } = settings; From 4f1b2e3e087153881dbcc60d2a172f51b3042ca6 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 15:58:40 -0500 Subject: [PATCH 270/385] Small bug where we were using the wrong setting in one --- src/menu/settingsMenu.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 69039a31..265269f4 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -64,7 +64,7 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { id: "hideNotificationContentMenuItem", label: "Hide Notification Content", type: "checkbox", - checked: notificationSoundEnabled.value, + checked: hideNotificationContentEnabled.value, click: (item) => hideNotificationContentEnabled.next(item.checked), }, separator, From 870f8f393fe57c8b759563a410a27d053dc8c867 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 16:22:03 -0500 Subject: [PATCH 271/385] catch errors from checking for updates and only install update if in prod --- src/helpers/autoUpdate.ts | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts index 799eb246..26b0e33e 100644 --- a/src/helpers/autoUpdate.ts +++ b/src/helpers/autoUpdate.ts @@ -1,7 +1,7 @@ import { autoUpdater } from "electron-updater"; import { app, Notification } from "electron"; import path from "path"; -import { RESOURCES_PATH } from "./constants"; +import { IS_DEV, RESOURCES_PATH } from "./constants"; function setUpdaterSettings(): void { autoUpdater.autoDownload = false; @@ -15,28 +15,33 @@ export async function checkForUpdate( showNotification: boolean ): Promise { setUpdaterSettings(); - const results = await autoUpdater.checkForUpdates(); - const isUpdate = results.updateInfo.version != app.getVersion(); - if (isUpdate && showNotification) { - const notification = new Notification({ - title: "Update Available", - body: - 'There is an update available. Click "Install Update"' + - " in the file or app menu.", - icon: path.resolve(RESOURCES_PATH, "icons", "64x64.png"), - }); - notification.show(); + const results = await autoUpdater.checkForUpdates().catch(() => null); + if (results != null) { + const isUpdate = results.updateInfo.version != app.getVersion(); + if (isUpdate && showNotification) { + const notification = new Notification({ + title: "Update Available", + body: + 'There is an update available. Click "Install Update"' + + " in the file or app menu.", + icon: path.resolve(RESOURCES_PATH, "icons", "64x64.png"), + }); + notification.show(); + } + return isUpdate; } - return isUpdate; + return false; } /** * Checks for update, downloads, quits, and installs app. */ export async function installUpdate(): Promise { - setUpdaterSettings(); - if (await checkForUpdate(false)) { - await autoUpdater.downloadUpdate(); - autoUpdater.quitAndInstall(); + if (!IS_DEV) { + setUpdaterSettings(); + if (await checkForUpdate(false)) { + await autoUpdater.downloadUpdate(); + autoUpdater.quitAndInstall(); + } } } From 2b0556cfaf9e8ca6d404921e6a2ef7af5d818fc8 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 23:02:00 -0500 Subject: [PATCH 272/385] implement monochrome icons and a setting for toggle --- resources/tray/icon_mono.png | Bin 0 -> 1851 bytes resources/tray/unread_icon_mono.png | Bin 0 -> 2138 bytes src/bridge.ts | 4 +- src/helpers/settings.ts | 2 + src/helpers/trayManager.ts | 78 ++++++++++++++-------------- src/menu/settingsMenu.ts | 8 +++ 6 files changed, 50 insertions(+), 42 deletions(-) create mode 100644 resources/tray/icon_mono.png create mode 100644 resources/tray/unread_icon_mono.png diff --git a/resources/tray/icon_mono.png b/resources/tray/icon_mono.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e72025bb3e43f190571044fccf83a34594ee70 GIT binary patch literal 1851 zcmV-B2gLY^P)EX>4Tx04R}tkv&MmKpe$iQ>CI62Rjt$kfAzR5EXIMDionYs1;guFuC*#ni!H4 z7e~Rh;NZt%)xpJCR|i)?5c~jfa&%I3krMxx6k5c1aNLh~_a1le0HIN3n$)S(glehxvqHp#<}FOz%wIeHZw;YAr?y=taLCdn;P*Xaa`4O$`^7T ztDLtuYtKlt6PRh$_2lEO)#`^9lShJny7(5ySo_p#$NPk`VvaHY5X8x3Iklk|F9 ziyr|4+rY(jTT}Lc%N-#4WXPuMN)B9yCeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00k3CL_t(|+U=U(Yg=U)$3O2$&PkKBUF^DO+QsTxp_O1( ze^7R@!59dNY;4Ft_7Awf!@KRq3vb+o7lPoWpbSOS7As>;XIF_hOIh74PEWSAwfWH` zCyy6-1KG@yCRy5?dA@Myfs}L3`+cA1`+VQ$eZhkV4<0;t@ZiCN2M-=R{Qsb;HzJ|{ z3kU$d+TUD>COprDkJmI%;;-vhh^yaGf4qsom7CNKy54J-jE;7_Ggemf8F>%Ru@ zB=81s3W&Qb0&>7#z^}k1;9C*-30Q9y4gQ+@peCW;WrMGN`!o7_8JGe-1TKrny+$PX zYr^~vun0^8k(v~68-{_`w3clF-vgTu`)30{DOCn;1GB&{z&|b*_W|Gta13}_M0^bi z&?FRrW#CKTH?6F0g#ip|0;Y6|G$ugf4lob=sPEkj6L=1IR!2m00(2_;4$J{RyCDih z8j5@f*az$p5u;fZsA3cN0Z0Ioz{ta%UMLi}d-pEsbegTLEkp#RcD8_+rpfT|FhfH_ z1OkD2@9)!ssJ2CbQc6T*75EN#9(Y|p;66BxLpq&ic6OGzxjAm$yh*WGtUhCB65TL} z#bO*idX&S54>LA4hR^pOy^}^}&R^GFDU}nEtH9U5i`p0&56=GT>MG~Xo#WcIYrC2T zsZ@$+G|I@xNIe3!1krISXV4}+XNH} z1#aB9!TIy&Sz21^%5qpKMKBoT#EBD}K7E>riHY7Jpj0Zcxw*;W;$qhuB8fzTY&P3l zA{Yn+7#$tu?Afy%KYqMxgFkcT3@1;XBo>Qxr>D@&3R7u}z74zu4Bgjl$mg+b8{4+Y z=ks0h0sZ~`jE;^HiA3=GTMpQc8zK$S*Vjip9w#1;chv-SD6Fc{MEf6AwCr>{yahP= zl6EvefFh8=om*uNumNQBrccWRl&Q4Ct^-+m`>;g4Z?}Oz^cY&N0(xJ4Llba|N`KG| z5G{b0sWf$Sos_`>umXHa5iSCQff;?t^*(IG&lxK0O20Y`9;1l4MQmWK;X{%$5`l#%=9|2~l>>LMrU|H<| zYdYUA>FahqN$&sv literal 0 HcmV?d00001 diff --git a/resources/tray/unread_icon_mono.png b/resources/tray/unread_icon_mono.png new file mode 100644 index 0000000000000000000000000000000000000000..15e73a3bb6fde60832317ce9ba83996fd4e5bd99 GIT binary patch literal 2138 zcmV-g2&MOlP)EX>4Tx04R}tkv&MmKpe$iQ>CI62Rjt$kfAzR5EXIMDionYs1;guFuC*#ni!H4 z7e~Rh;NZt%)xpJCR|i)?5c~jfa&%I3krMxx6k5c1aNLh~_a1le0HIN3n$)S(glehxvqHp#<}FOz%wIeHZw;YAr?y=taLCdn;P*Xaa`4O$`^7T ztDLtuYtKlt6PRh$_2lEO)#`^9lShJny7(5ySo_p#$NPk`VvaHY5X8x3Iklk|F9 ziyr|4+rY(jTT}Lc%N-#4WXPuMN)B9xK_$#ghO402y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00uHiL_t(|+U=TOY*SSn$3N%Zc3peB{~HV}G=m@_lOp0A z0bxc6Ap#mnNQenWh4DaqF)`7^KSX`-2@`!FivfcOFDAw?VgyB}@<$L5#9#uM8!j82 z48{su|J{3!54)XZYfA^LYoVW{54XLyz2|#=f4=ARLY_Q%^5n^r=YB=x^36Me3s29p zjwGgOpeVLtpbSuf0U<=MX_{dn1a>D(+;@tu<@1=l{}fm!{pN0y7Fw54-_9o8ppr!271b6mx+003-H+ zl8XYo?5##IbwDiwHUKNq$sC{&SP2xy-n0QoDRW8yGZ>`*w_^m}d37naf(1Z9y5+-4 zl@n6R&LIJY;mG#LP@GO#w74M}a27p7Bs2w)b~BT}Lck*#DL^r>0GOUcm~2B=rp{Pm z{P9bX(8@;B_R9wwiBbSW;s-hl*ap<(N-C(6Js2%*kiGyTqC6Jr1;C_S8a#lixe%q3 zz%)j4SroVdh8{0K1UL`;37EMefPK~+l!u>04)l$t2Ka#vq)i{*20MU{<9lSbQ#i+m zZN@|3Z%^0N3lPm9{IS#H1-K4013z0~lJyi!et^O!7NRa$gV}o0n&6b20zL)h>P0h9|Wdke-Th|J@z;l2K|LD^n<&=ISN&p}1V%s^#Tx-Pr%l$;emR5vst9nnTOsp}SQS1;eCcfD_5?J+mc#Q6soGK zsHmtwQIt^&kT7P15b*=LH0Yfv8ga4BMs;;H)z#JHD(S5IRqkPuR*hj%kg{WpNB$2_ z10lq173DkH_~`5FeZ{XwY9Ng z#R?3=$eaLfx0~A9S~hRq%;Cd_X>DyK8jU7vMPouR7^J?wo`!}7=Fgvx-EPlZ3OJok zX3w6@#*G_UzI-|1a5$rjp;*1qG>w{?8oXX_=8K@FY506Td_Lbj?E~&NU%koMMSN<-voSb9VhiC zDI;Lrx^?k~y}*mWhd^tV4*nYOCGb4(18F?yaZB5lz(bb;9^et6mci!;#?u6tR+~Ey zoB=LcbxV&oRJSca5)okVY4tJ&AEFq~eFYikRRW3JWS%^E^5n^rCr={&1LOVR1qP~q Qv;Y7A07*qoM6N<$f)dWuj{pDw literal 0 HcmV?d00001 diff --git a/src/bridge.ts b/src/bridge.ts index 8371bd71..84bdbada 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -15,9 +15,9 @@ function createUnreadListener() { _observer: MutationObserver ) => { if (document.querySelector(".unread") != null) { - app.trayManager?.setUnreadIcon(true); + app.trayManager?.setUnread(true); } else { - app.trayManager?.setUnreadIcon(false); + app.trayManager?.setUnread(false); } }; const observer = new MutationObserver(unreadObserver); diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 6c43209a..89be89f5 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -44,6 +44,7 @@ export interface JsonSettings { savedWindowSize: WindowSize; savedWindowPosition: WindowPosition | null; checkForUpdateOnLaunchEnabled: boolean; + monochromeIconEnabled: boolean; } // wraps json settings in the setting type for export @@ -73,6 +74,7 @@ const defaultSettings: JsonSettings = { savedWindowSize: { width: 1100, height: 800 }, savedWindowPosition: null, checkForUpdateOnLaunchEnabled: true, + monochromeIconEnabled: true, }; // create default settings file if it doesnt exist diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 8d83bc96..f113d4f9 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -3,7 +3,6 @@ import path from "path"; import { trayMenuTemplate } from "../menu/trayMenu"; import { IS_DEV, - IS_LINUX, IS_MAC, IS_WINDOWS, RESOURCES_PATH, @@ -13,39 +12,24 @@ import { settings } from "./settings"; import { v5 as uuidv5 } from "uuid"; // bring the settings into scoped -const { trayEnabled, startInTrayEnabled, seenMinimizeToTrayWarning } = settings; +const { + trayEnabled, + startInTrayEnabled, + seenMinimizeToTrayWarning, + monochromeIconEnabled, +} = settings; export class TrayManager { public enabled = trayEnabled.value; - public iconPath = this.getIconPath(); - public overlayIconPath = this.getOverlayIconPath(); - private lastIcon = this.iconPath; + private messagesAreUnread = false; public tray: Tray | null = null; constructor() { trayEnabled.subscribe((val) => this.handleTrayEnabledToggle(val)); - } - private getIconPath(): string { - if (IS_WINDOWS) { - // Re-use regular app .ico for the tray icon on Windows. - return path.resolve(RESOURCES_PATH, "icon.ico"); - } else { - // Mac tray icon filename MUST end in 'Template' and contain only black and transparent pixels. - // Otherwise, automatic inversion and dark mode appearance won't work. - // See: https://stackoverflow.com/questions/41664208/electron-tray-icon-change - const trayIconFileName = IS_MAC ? "icon_macTemplate.png" : "icon.png"; - return path.resolve(RESOURCES_PATH, "tray", trayIconFileName); - } - } - - private getOverlayIconPath(): string | null { - if (IS_WINDOWS) { - return path.resolve(RESOURCES_PATH, "tray", "unread_icon.ico"); - } else if (IS_LINUX) { - return path.resolve(RESOURCES_PATH, "tray", "unread_icon.png"); - } - return null; + monochromeIconEnabled.subscribe(() => + this.tray?.setImage(this.getIconPath()) + ); } public startIfEnabled(): void { @@ -62,7 +46,7 @@ export class TrayManager { UUID_NAMESPACE ) : undefined; - this.tray = new Tray(this.lastIcon, guid); + this.tray = new Tray(this.getIconPath(), guid); const trayContextMenu = Menu.buildFromTemplate(trayMenuTemplate); this.tray.setContextMenu(trayContextMenu); this.tray.setToolTip("Android Messages"); @@ -71,6 +55,33 @@ export class TrayManager { } } + /** + * + * Set the unread status of the tray + * + * @param val value to assugn to messagesAreUnread + */ + public setUnread(val: boolean): void { + this.messagesAreUnread = val; + this.tray?.setImage(this.getIconPath()); + } + + /** + * Gets the icon path taking into account all possible states and situations. + */ + private getIconPath(): string { + let filename: string; + if (IS_MAC) { + filename = "icon_macTemplate.png"; + } else { + const unread = this.messagesAreUnread ? "unread_" : ""; + const mono = monochromeIconEnabled.value ? "_mono" : ""; + filename = `${unread}icon${mono}.png`; + } + + return path.resolve(RESOURCES_PATH, "tray", filename); + } + private setupEventListeners() { if (this.tray != null) { this.tray.on("click", this.handleTrayClick); @@ -135,17 +146,4 @@ export class TrayManager { } } } - - public setUnreadIcon(toggle: boolean): void { - if (this.overlayIconPath != null) { - if (toggle) { - this.lastIcon = this.overlayIconPath; - } else { - this.lastIcon = this.iconPath; - } - } - if (this.tray) { - this.tray.setImage(this.lastIcon); - } - } } diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 265269f4..f3921af5 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -15,6 +15,7 @@ const { startInTrayEnabled, hideNotificationContentEnabled, checkForUpdateOnLaunchEnabled, + monochromeIconEnabled, } = settings; export const settingsMenu: MenuItemConstructorOptions = { @@ -68,6 +69,13 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { click: (item) => hideNotificationContentEnabled.next(item.checked), }, separator, + { + id: "monochromeIconEnabled", + label: "Use Monochrome Tray Icon", + type: "checkbox", + click: (item) => monochromeIconEnabled.next(item.checked), + }, + separator, { id: "checkForUpdateOnLaunchEnabledMenuItem", label: "Check for Update on Launch", From 83a20cec007e5035e5f882439b06e183b13b47cf Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 23:08:29 -0500 Subject: [PATCH 273/385] some basic tray cleanup --- src/helpers/trayManager.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index f113d4f9..7db77866 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -83,16 +83,12 @@ export class TrayManager { } private setupEventListeners() { - if (this.tray != null) { - this.tray.on("click", this.handleTrayClick); - } + this.tray?.on("click", this.handleTrayClick); } private destroyEventListeners() { - if (this.tray != null) { - this.tray.removeListener("click", this.handleTrayClick); - this.tray.removeListener("double-click", this.handleTrayClick); - } + this.tray?.removeListener("click", this.handleTrayClick); + this.tray?.removeListener("double-click", this.handleTrayClick); } private handleTrayClick(_event: Electron.KeyboardEvent) { @@ -100,11 +96,9 @@ export class TrayManager { } private destroy(): void { - if (this.tray) { - this.destroyEventListeners(); - this.tray.destroy(); - this.tray = null; - } + this.destroyEventListeners(); + this.tray?.destroy(); + this.tray = null; } public showMinimizeToTrayWarning(): void { From 9138f33bb53a0c5a4dd16ee34591c6baa54576ec Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 20 Feb 2021 23:27:03 -0500 Subject: [PATCH 274/385] cleaned up current unread observer --- src/bridge.ts | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 84bdbada..192ed817 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -9,17 +9,15 @@ const { Notification: ElectronNotification, app, dialog } = remote; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); -function createUnreadListener() { - const unreadObserver = ( - _mutationList: MutationRecord[], - _observer: MutationObserver - ) => { - if (document.querySelector(".unread") != null) { - app.trayManager?.setUnread(true); - } else { - app.trayManager?.setUnread(false); - } - }; +function unreadObserver(_m: MutationRecord[], _o: MutationObserver) { + if (document.querySelector(".unread") != null) { + app.trayManager?.setUnread(true); + } else { + app.trayManager?.setUnread(false); + } +} + +function createUnreadObserver() { const observer = new MutationObserver(unreadObserver); const node = document.querySelector("main"); if (node) { @@ -37,10 +35,9 @@ window.addEventListener("load", () => { observer: MutationObserver ) => { if (document.querySelector("mw-main-nav")) { - createUnreadListener(); + createUnreadObserver(); observer.disconnect(); } - // In the future we could detect the "you've been signed in elsewhere" modal and notify the user here }; const observer = new MutationObserver(onInit); From fd33c137e515db0e179e03a3e28058041b13015d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 00:53:53 -0500 Subject: [PATCH 275/385] Basic implementation of the showing conversations in tray menu --- src/bridge.ts | 73 +++++++++++++++++++++++++++++--------- src/helpers/constants.ts | 6 ++++ src/helpers/trayManager.ts | 48 ++++++++++++++++++++++++- src/menu/trayMenu.ts | 2 +- 4 files changed, 111 insertions(+), 18 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 192ed817..17e2de3a 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -9,7 +9,7 @@ const { Notification: ElectronNotification, app, dialog } = remote; // Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); -function unreadObserver(_m: MutationRecord[], _o: MutationObserver) { +function unreadObserver() { if (document.querySelector(".unread") != null) { app.trayManager?.setUnread(true); } else { @@ -19,31 +19,72 @@ function unreadObserver(_m: MutationRecord[], _o: MutationObserver) { function createUnreadObserver() { const observer = new MutationObserver(unreadObserver); - const node = document.querySelector("main"); - if (node) { - observer.observe(node, { + observer.observe( + (document.body.querySelector( + "mws-conversations-list" + ) as unknown) as Element, + { subtree: true, attributes: true, attributeFilter: ["data-e2e-is-unread"], - }); - } + } + ); + return observer; +} + +function recentThreadObserver() { + const conversations = Array.from( + document.body.querySelectorAll("mws-conversation-list-item") + ).slice(0, 3); + + const data = conversations.map((conversation) => { + const name = conversation.querySelector("a div.text-content h3.name span") + ?.textContent; + const canvas = conversation.querySelector( + "a div.avatar-container canvas" + ) as HTMLCanvasElement | null; + + const image = canvas?.toDataURL(); + + const recentMessage = conversation.querySelector( + "a div.text-content div.snippet-text mws-conversation-snippet span" + )?.textContent; + + const click = () => void conversation.querySelector("a")?.click(); + + return { name, image, recentMessage, click }; + }); + app.trayManager?.setRecentConversations(data); +} + +function createRecentThreadObserver() { + const observer = new MutationObserver(recentThreadObserver); + observer.observe( + (document.body.querySelector( + "mws-conversations-list" + ) as unknown) as Element, + { + attributes: false, + subtree: true, + childList: true, + } + ); + return observer; } window.addEventListener("load", () => { - const onInit = ( - _mutationsList: MutationRecord[], - observer: MutationObserver - ) => { - if (document.querySelector("mw-main-nav")) { + const conversationListObserver = new MutationObserver(() => { + if (document.querySelector("mws-conversations-list") != null) { createUnreadObserver(); - observer.disconnect(); + createRecentThreadObserver(); + conversationListObserver.disconnect(); } - }; + }); - const observer = new MutationObserver(onInit); - observer.observe(document.body, { + conversationListObserver.observe(document.body, { + attributes: false, + subtree: true, childList: true, - attributes: true, }); // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 25178847..faa2e74d 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -40,3 +40,9 @@ export const EVENT_BRIDGE_INIT = "messages-bridge-init"; * An arbitrary v4 uuid generated on https://www.uuidgenerator.net/version4 */ export const UUID_NAMESPACE = "ddf09da3-3df8-4417-ae3b-62d3ed4bfb72"; + +/** + * Initial image AMD loads for icons. Used to check against and ignore when populating tray context menu. + */ +export const INITIAL_ICON_IMAGE = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAEYklEQVR4Xu3UAQkAAAwCwdm/9HI83BLIOdw5AgQIRAQWySkmAQIEzmB5AgIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlACBB1YxAJfjJb2jAAAAAElFTkSuQmCC"; diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 7db77866..98369cb3 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -1,7 +1,14 @@ -import { app, Menu, Tray } from "electron"; +import { + app, + Menu, + MenuItemConstructorOptions, + nativeImage, + Tray, +} from "electron"; import path from "path"; import { trayMenuTemplate } from "../menu/trayMenu"; import { + INITIAL_ICON_IMAGE, IS_DEV, IS_MAC, IS_WINDOWS, @@ -10,6 +17,8 @@ import { } from "./constants"; import { settings } from "./settings"; import { v5 as uuidv5 } from "uuid"; +import { separator } from "../menu/items/separator"; +import jetpack from "fs-jetpack"; // bring the settings into scoped const { @@ -19,6 +28,13 @@ const { monochromeIconEnabled, } = settings; +interface Conversation { + name: string | null | undefined; + image: string | undefined; + recentMessage: string | null | undefined; + click: () => void; +} + export class TrayManager { public enabled = trayEnabled.value; private messagesAreUnread = false; @@ -66,6 +82,36 @@ export class TrayManager { this.tray?.setImage(this.getIconPath()); } + public setRecentConversations(data: Conversation[]): void { + const conversationMenuItems: MenuItemConstructorOptions[] = data.map( + ({ name, click, image, recentMessage }) => { + const icon = + image != null && image != INITIAL_ICON_IMAGE + ? nativeImage.createFromDataURL(image) + : undefined; + + return { + label: name || "Name not Found", + sublabel: recentMessage || undefined, + icon, + click: () => { + if (!app.mainWindow?.isVisible()) { + app.mainWindow?.show(); + } + click(); + }, + }; + } + ); + this.tray?.setContextMenu( + Menu.buildFromTemplate([ + ...conversationMenuItems, + separator, + ...trayMenuTemplate, + ]) + ); + } + /** * Gets the icon path taking into account all possible states and situations. */ diff --git a/src/menu/trayMenu.ts b/src/menu/trayMenu.ts index 059872dd..0781e787 100644 --- a/src/menu/trayMenu.ts +++ b/src/menu/trayMenu.ts @@ -1,4 +1,4 @@ -import { app, MenuItemConstructorOptions } from "electron"; +import { app, MenuItemConstructorOptions, nativeImage } from "electron"; import { IS_MAC } from "../helpers/constants"; import { separator } from "./items/separator"; From 9e7c50ebd9c84eb9b082934a377fdec7b1e1dfc6 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 00:59:14 -0500 Subject: [PATCH 276/385] Added constant to control number of recent conversations to show --- src/bridge.ts | 8 ++++++-- src/helpers/constants.ts | 2 ++ src/helpers/trayManager.ts | 1 - 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 17e2de3a..6168a649 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,6 +1,10 @@ import { remote, NotificationConstructorOptions } from "electron"; import path from "path"; -import { IS_DEV, RESOURCES_PATH } from "./helpers/constants"; +import { + IS_DEV, + RECENT_CONVERSATION_TRAY_COUNT, + RESOURCES_PATH, +} from "./helpers/constants"; import { popupContextMenu } from "./menu/contextMenu"; import { getProfileImg } from "./helpers/profileImage"; @@ -35,7 +39,7 @@ function createUnreadObserver() { function recentThreadObserver() { const conversations = Array.from( document.body.querySelectorAll("mws-conversation-list-item") - ).slice(0, 3); + ).slice(0, RECENT_CONVERSATION_TRAY_COUNT); const data = conversations.map((conversation) => { const name = conversation.querySelector("a div.text-content h3.name span") diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index faa2e74d..90670b4b 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -46,3 +46,5 @@ export const UUID_NAMESPACE = "ddf09da3-3df8-4417-ae3b-62d3ed4bfb72"; */ export const INITIAL_ICON_IMAGE = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAEYklEQVR4Xu3UAQkAAAwCwdm/9HI83BLIOdw5AgQIRAQWySkmAQIEzmB5AgIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlACBB1YxAJfjJb2jAAAAAElFTkSuQmCC"; + +export const RECENT_CONVERSATION_TRAY_COUNT = 3; diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 98369cb3..352bc0c6 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -18,7 +18,6 @@ import { import { settings } from "./settings"; import { v5 as uuidv5 } from "uuid"; import { separator } from "../menu/items/separator"; -import jetpack from "fs-jetpack"; // bring the settings into scoped const { From 658d99576be52dc4b36af2d45f2a00ecc2d1ab4e Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 01:07:41 -0500 Subject: [PATCH 277/385] Added setting to enable and disable icons in the tray menu --- src/bridge.ts | 3 +++ src/helpers/settings.ts | 2 ++ src/helpers/trayManager.ts | 5 ++++- src/menu/settingsMenu.ts | 10 ++++++++++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/bridge.ts b/src/bridge.ts index 6168a649..2b4c755a 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -81,6 +81,9 @@ window.addEventListener("load", () => { if (document.querySelector("mws-conversations-list") != null) { createUnreadObserver(); createRecentThreadObserver(); + app.settings?.showIconsInRecentConversationTrayEnabled.subscribe( + recentThreadObserver + ); conversationListObserver.disconnect(); } }); diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 89be89f5..b3ef37e6 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -45,6 +45,7 @@ export interface JsonSettings { savedWindowPosition: WindowPosition | null; checkForUpdateOnLaunchEnabled: boolean; monochromeIconEnabled: boolean; + showIconsInRecentConversationTrayEnabled: boolean; } // wraps json settings in the setting type for export @@ -75,6 +76,7 @@ const defaultSettings: JsonSettings = { savedWindowPosition: null, checkForUpdateOnLaunchEnabled: true, monochromeIconEnabled: true, + showIconsInRecentConversationTrayEnabled: true, }; // create default settings file if it doesnt exist diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 352bc0c6..bc995502 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -25,6 +25,7 @@ const { startInTrayEnabled, seenMinimizeToTrayWarning, monochromeIconEnabled, + showIconsInRecentConversationTrayEnabled, } = settings; interface Conversation { @@ -85,7 +86,9 @@ export class TrayManager { const conversationMenuItems: MenuItemConstructorOptions[] = data.map( ({ name, click, image, recentMessage }) => { const icon = - image != null && image != INITIAL_ICON_IMAGE + image != null && + image != INITIAL_ICON_IMAGE && + showIconsInRecentConversationTrayEnabled.value ? nativeImage.createFromDataURL(image) : undefined; diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index f3921af5..10d76f22 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -16,6 +16,7 @@ const { hideNotificationContentEnabled, checkForUpdateOnLaunchEnabled, monochromeIconEnabled, + showIconsInRecentConversationTrayEnabled, } = settings; export const settingsMenu: MenuItemConstructorOptions = { @@ -73,8 +74,17 @@ if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { id: "monochromeIconEnabled", label: "Use Monochrome Tray Icon", type: "checkbox", + checked: monochromeIconEnabled.value, click: (item) => monochromeIconEnabled.next(item.checked), }, + { + id: "showIconsInRecentConversationTrayEnabled", + label: "Show Icons in Tray Menu", + type: "checkbox", + checked: showIconsInRecentConversationTrayEnabled.value, + click: (item) => + showIconsInRecentConversationTrayEnabled.next(item.checked), + }, separator, { id: "checkForUpdateOnLaunchEnabledMenuItem", From 9939ff3a6b42bd22d3bc11f07b7d0f712c22d8bd Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 01:08:48 -0500 Subject: [PATCH 278/385] lint cleaning --- src/helpers/trayManager.ts | 2 +- src/menu/trayMenu.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index bc995502..aa5c18bb 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -139,7 +139,7 @@ export class TrayManager { this.tray?.removeListener("double-click", this.handleTrayClick); } - private handleTrayClick(_event: Electron.KeyboardEvent) { + private handleTrayClick() { app.mainWindow?.show(); } diff --git a/src/menu/trayMenu.ts b/src/menu/trayMenu.ts index 0781e787..059872dd 100644 --- a/src/menu/trayMenu.ts +++ b/src/menu/trayMenu.ts @@ -1,4 +1,4 @@ -import { app, MenuItemConstructorOptions, nativeImage } from "electron"; +import { app, MenuItemConstructorOptions } from "electron"; import { IS_MAC } from "../helpers/constants"; import { separator } from "./items/separator"; From 391d1d0d7df6c9b4824bd63e6dab592df99824dd Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 01:25:21 -0500 Subject: [PATCH 279/385] Electron version bump --- package.json | 6 +++--- yarn.lock | 54 ++++++++++++++++++++++++++-------------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index 4aba7f67..2e6e9866 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@types/node": "14.14.30", + "@types/node": "14.14.31", "@types/uuid": "^8.3.0", "@types/webpack": "^4.41.26", "@types/webpack-merge": "^4.1.5", @@ -43,12 +43,12 @@ "@typescript-eslint/parser": "^4.15.1", "cross-env": "^7.0.2", "css-loader": "^5.0.0", - "electron": "11.1.0", + "electron": "11.3.0", "electron-builder": "22.9.1", "eslint": "^7.20.0", "eslint-config-prettier": "^7.2.0", "eslint-plugin-prettier": "^3.3.1", - "html-webpack-plugin": "^5.1.0", + "html-webpack-plugin": "^5.2.0", "png2icons": "^2.0.1", "prettier": "^2.1.2", "source-map-support": "^0.5.19", diff --git a/yarn.lock b/yarn.lock index 0bcb6deb..f58f0132 100644 --- a/yarn.lock +++ b/yarn.lock @@ -154,15 +154,15 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== -"@types/node@*", "@types/node@14.14.30": - version "14.14.30" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.30.tgz#7d5162eec085ba34f8cb9011e9ba12119f76f961" - integrity sha512-gUWhy8s45fQp4PqqKecsnOkdW0kt1IaKjgOIR3HPokkzTmQj9ji2wWFID5THu1MKrtO+d4s2lVrlEhXUsPXSvg== +"@types/node@*", "@types/node@14.14.31": + version "14.14.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" + integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== "@types/node@^12.0.12": - version "12.20.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.3.tgz#fbabde59d96c23a80e337ca6a71b464da2a0a824" - integrity sha512-63cSd8J30Sr4/aFKKfDmCEM4GMH3W2efWT0Ii/B+Ohm3id0TU2xPEBFktiq3nXCZcN6VwVvpyv75I4zTP7YO/w== + version "12.20.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.4.tgz#73687043dd00fcb6962c60fbf499553a24d6bdf2" + integrity sha512-xRCgeE0Q4pT5UZ189TJ3SpYuX/QGl6QIAOAIeDSbAVAd2gX1NxSZup4jNVK7cxIeP8KDSbJgcckun495isP1jQ== "@types/semver@^7.3.1": version "7.3.4" @@ -759,9 +759,9 @@ camelcase@^6.2.0: integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-lite@^1.0.30001181: - version "1.0.30001187" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001187.tgz#5706942631f83baa5a0218b7dfa6ced29f845438" - integrity sha512-w7/EP1JRZ9552CyrThUnay2RkZ1DXxKe/Q2swTC4+LElLh9RRYrL1Z+27LlakB8kzY0fSmHw9mc7XYDUKAKWMA== + version "1.0.30001190" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001190.tgz#acc6d4a53c68be16cfc314d55c9cab637e558cba" + integrity sha512-62KVw474IK8E+bACBYhRS0/L6o/1oeAVkpF2WetjV58S5vkzNh0/Rz3lD8D4YCbOTqi0/aD4X3LtoP7V5xnuAg== chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" @@ -1186,9 +1186,9 @@ electron-publish@22.9.1: mime "^2.4.6" electron-to-chromium@^1.3.649: - version "1.3.668" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.668.tgz#87bab4d2863d865a6996b592db79f94e1cc5f768" - integrity sha512-TJzc4pxcplsWWS2hP01qQtwMIS+/3VLm4tkhsXbFwx3IIroXyidalrwcaJH+cNcrAdzSJ5xv0oeyGMS7d0i3kg== + version "1.3.671" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.671.tgz#8feaed6eae42d279fa4611f58c42a5a1eb81b2a0" + integrity sha512-RTD97QkdrJKaKwRv9h/wGAaoR2lGxNXEcBXS31vjitgTPwTWAbLdS7cEsBK68eEQy7p6YyT8D5BxBEYHu2SuwQ== electron-updater@4.3.5: version "4.3.5" @@ -1203,10 +1203,10 @@ electron-updater@4.3.5: lodash.isequal "^4.5.0" semver "^7.3.2" -electron@11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-11.1.0.tgz#8dfdf579d1eb79feef3e3d2937fc022e72129c90" - integrity sha512-RFAhR/852VMaRd9NSe7jprwSoG9dLc6u1GwnqRWg+/3cy/8Zrwt1Betw1lXiZH7hGuB9K2cqju83Xv5Pq5ZSGA== +electron@11.3.0: + version "11.3.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-11.3.0.tgz#87e8528fd23ae53b0eeb3a738f1fe0a3ad27c2db" + integrity sha512-MhdS0gok3wZBTscLBbYrOhLaQybCSAfkupazbK1dMP5c+84eVMxJE/QGohiWQkzs0tVFIJsAHyN19YKPbelNrQ== dependencies: "@electron/get" "^1.0.1" "@types/node" "^12.0.12" @@ -1525,9 +1525,9 @@ fd-slicer@~1.1.0: pend "~1.2.0" file-entry-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" - integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" @@ -1786,10 +1786,10 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-webpack-plugin@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.1.0.tgz#1c11bbe01ab9d1262c4b601edebcf394364b1f60" - integrity sha512-2axkp+2NHmvHUWrKe1dY4LyM3WatQEdFChr42OY7R/Ad7f0AQzaKscGCcqN/FtQBxo8rdfJP7M3RMFDttqok3g== +html-webpack-plugin@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.2.0.tgz#d675ad0027a89de6b3d9950e0b57656dcfd97fbf" + integrity sha512-0wkVlJKq7edCN793gdLgdAm5m196qI2vb5SGXy4AtGOFB/lYKyS10+3Vkhe6Bo0acddAW3QVw+0ysgWoko/IEQ== dependencies: "@types/html-minifier-terser" "^5.0.0" html-minifier-terser "^5.0.1" @@ -2151,9 +2151,9 @@ lodash.isequal@^4.5.0: integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== lower-case@^2.0.2: version "2.0.2" From c58fd21f2fa0d0d2696837d6f46553e3f903de7b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 02:35:37 -0500 Subject: [PATCH 280/385] used waifu2x to upscale the mac icon --- resources/tray/icon_macTemplate.png | Bin 439 -> 682 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/tray/icon_macTemplate.png b/resources/tray/icon_macTemplate.png index a34a7347ae796860d004f035d8acb904b17071cf..85a928079e496d813fd2c61d678dffe9e7f34106 100644 GIT binary patch delta 676 zcmV;V0$csJ1F8ifiBL{Q4GJ0x0000DNk~Le0000W0000W2m}BC0NHc0e~}>*e*$7l zM??Sss*NKu00070Nkl*)%SJ5t2b6BQlCD}R3NA#nWMLJR610Q{om4Q1Gnvf2$Hl!)GR-8p zdCubA%RRsE^PJ~7=Q+Vj+vI>9f5sfKLoZU3Zn*2QzeVfXpyPfsWlj`Dsg~4&nmbPU zbZv3sN+DZqq^{{%P5yz2b>vZ$d1z-h`LLHIIb4YkYK zX+f{gUDhZZo)d)JUynb0y{r~9<}Jujk$0wwAk{Qv2&szu4x3$~dT;e#mj<56q%vtS zGEt@}GiB@l1Kg$FRh|o%nrtenJJfBB+dL@M(kBeAmfs%d*S(jn>szZti9sjbHm#y_tzam*(xOVjxkk=W-;`+aW!sX5P0xaUtVys_AM#lHhvPiPJ(7jQ8E0000< KMNUMnLSTZgA3PQS literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{Xiaj ziKnkC`x7=+K1ox%P1~jeh4y>8IEHAP@4aa2=aeYW`f#~{O4*UNQ^zKqj=IyJec(c7 zOyiaUZjT72>0jo2+B4I5X5#X76HlEwHF@GX+pRt( zk7i37ACLd|H*UvgCv8S&e!2P|t{lP|cTT>%6Sg)%Cnja$OoL@YhdkLNI7G7*=cG1d zC(dm+mdUn5=w6WP;>nD9t*KE)Tk2;9Tngsi&i-*?_*OZeRs-`3|G)Hl&G`5EO1+)- z%7ChEAM;lF-2K4lE1&Da`=jF^&?~AXt`Q|Ei6yC4$wjF^iowXh$UxV?OxM6P#L&db t$kfWzP}{)3%D~`Rt&bCmhTQy=%(P0}8m23J`3Ka%;OXk;vd$@?2>^8qo0k9p From a5887ba442b8331eb1f03f174ef7399a70f55ff9 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 03:18:34 -0500 Subject: [PATCH 281/385] manual cleanup after automatic scaling --- resources/tray/icon_macTemplate.png | Bin 682 -> 424 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/tray/icon_macTemplate.png b/resources/tray/icon_macTemplate.png index 85a928079e496d813fd2c61d678dffe9e7f34106..211082d02c947138f4a25672640caf2a5e238be5 100644 GIT binary patch delta 409 zcmV;K0cQTH1*ij%8Gi-<0047(dh`GQ00eVFNmK|32nc)#WQYI&0bfZ(K~z{r%~uHy z!axYL#w-5+tw!Uy)0BoHEPK_p2{9_mOktpO*yLYt=g5!~GS%4wwJ_cIojOeof0Mdb&wh*IPVr?JbcT0kS zA0E>fp(z*qF=){5)|U0PkZ4&*0W0xQS27BevW##aDwVcV(4ga=i;|YCt14XZ9JaCFGG$L*b#~iG6%_HN2a;6`%KN40Mn>c4b00000NkvXXu0mjf DxsS9m delta 669 zcmV;O0%HBB1F8j(8Gi%-007x@vVQ;o00d`2O+f$vv5yP*)%SJ5t2b6BQlCD}R3NA#nWMLJR610Q{om4Q1Gnvf2$A87WPBP6Txp~gw-pf6| z@AI7JIp;aSO55as9mX87LoZU3Zn*2QzeVfXpyPfsWlj`Dsg~4&nmbPUbZv3sN+DZq zq^{{%P5yz2b>vZ$d1z-h`LLHIIb4YkYKX+f{gUDhZZ zo)d)JUw@B3e7&p|Gv+PGP?2}0iXhcAWC*E>`wp93qHpzImj<56q%vtSGEt@}GiB@l z1Kg$FRh|o%nrtenJJfBB+dL@M(kBeAmfs%d*S(jn>szZti9sjbHm#y_tz zam*(xOVjxkk=W-;`+aW!sX5P0xaUtVys_AM#TLHL-s00000NkvXXu0mjf D2k$(m From ca221c4a3ed9eb34b88eef3912e634a105462bf1 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 17:43:20 -0500 Subject: [PATCH 282/385] use app.getname for the guid path --- src/helpers/trayManager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index aa5c18bb..b555cac0 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -54,7 +54,7 @@ export class TrayManager { // if the os is windows generate guid otherwise it is undefined const guid = IS_WINDOWS ? uuidv5( - `android-messages-desktop${ + `${app.getName()}${ // if is dev add an identifier IS_DEV ? "-development" : "" // append the app path incase that changes for some reason From 2ae6ef55f8e0b5e200c243488cc35d0d68bef84d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 18:15:06 -0500 Subject: [PATCH 283/385] Reorganizes some settings for the tray icon --- src/bridge.ts | 4 +++- src/helpers/trayManager.ts | 28 ++++++++++++------------- src/menu/settingsMenu.ts | 42 +++++++++++++++++--------------------- 3 files changed, 35 insertions(+), 39 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 2b4c755a..139e75e8 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -95,7 +95,9 @@ window.addEventListener("load", () => { }); // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) - if (!app.settings?.startInTrayEnabled.value) { + if ( + !(app.settings?.startInTrayEnabled.value && app.settings?.trayEnabled.value) + ) { app.mainWindow?.show(); } diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index b555cac0..471de1bb 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -164,28 +164,26 @@ export class TrayManager { public handleTrayEnabledToggle(newValue: boolean): void { this.enabled = newValue; - const liveStartInTrayMenuItemRef = Menu.getApplicationMenu()?.getMenuItemById( - "startInTrayMenuItem" - ); + const menuItemIds = [ + "startInTrayMenuItem", + "monochromeIconEnabledMenuItem", + "showIconsInRecentConversationTrayEnabledMenuItem", + ]; if (newValue) { this.startIfEnabled(); - if (liveStartInTrayMenuItemRef != null) { - liveStartInTrayMenuItemRef.enabled = true; - } - } - if (!newValue) { + } else { this.destroy(); - startInTrayEnabled.next(false); - - if (liveStartInTrayMenuItemRef != null) { - liveStartInTrayMenuItemRef.enabled = false; - liveStartInTrayMenuItemRef.checked = false; - } - if (!app.mainWindow?.isVisible()) { app.mainWindow?.show(); } } + + for (const id of menuItemIds) { + const item = Menu.getApplicationMenu()?.getMenuItemById(id); + if (item != null) { + item.enabled = newValue; + } + } } } diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 10d76f22..ce0fa5f3 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -21,7 +21,6 @@ const { export const settingsMenu: MenuItemConstructorOptions = { label: IS_MAC ? "&Preferences" : "&Settings", - accelerator: IS_MAC ? "Alt+P" : "Alt+S", submenu: [ { // This option doesn't apply to Mac, so this hides it but keeps the order of menu items @@ -37,6 +36,10 @@ export const settingsMenu: MenuItemConstructorOptions = { window?.setAutoHideMenuBar(autoHideMenuEnabled.value); }, }, + { + ...separator, + visible: !IS_MAC, + }, { id: "enableTrayIconMenuItem", label: IS_MAC ? "Enable Menu Bar Icon" : "Enable Tray Icon", @@ -53,45 +56,38 @@ export const settingsMenu: MenuItemConstructorOptions = { enabled: trayEnabled.value, click: (item: MenuItem): void => startInTrayEnabled.next(item.checked), }, - ], -}; - -if (settingsMenu.submenu != null && !(settingsMenu.submenu instanceof Menu)) { - // Electron doesn't seem to support the visible property for submenus, so push it instead of hiding it in non-Windows - // See: https://github.com/electron/electron/issues/8703 - - settingsMenu.submenu.push( - separator, { - id: "hideNotificationContentMenuItem", - label: "Hide Notification Content", - type: "checkbox", - checked: hideNotificationContentEnabled.value, - click: (item) => hideNotificationContentEnabled.next(item.checked), - }, - separator, - { - id: "monochromeIconEnabled", + id: "monochromeIconEnabledMenuItem", label: "Use Monochrome Tray Icon", type: "checkbox", checked: monochromeIconEnabled.value, + enabled: trayEnabled.value, click: (item) => monochromeIconEnabled.next(item.checked), }, { - id: "showIconsInRecentConversationTrayEnabled", + id: "showIconsInRecentConversationTrayEnabledMenuItem", label: "Show Icons in Tray Menu", type: "checkbox", checked: showIconsInRecentConversationTrayEnabled.value, + enabled: trayEnabled.value, click: (item) => showIconsInRecentConversationTrayEnabled.next(item.checked), }, separator, + { + id: "hideNotificationContentMenuItem", + label: "Hide Notification Content", + type: "checkbox", + checked: hideNotificationContentEnabled.value, + click: (item) => hideNotificationContentEnabled.next(item.checked), + }, + separator, { id: "checkForUpdateOnLaunchEnabledMenuItem", label: "Check for Update on Launch", type: "checkbox", checked: checkForUpdateOnLaunchEnabled.value, click: (item) => checkForUpdateOnLaunchEnabled.next(item.checked), - } - ); -} + }, + ], +}; From 99469a0a681dac246f34793e9ef68f00ecb4af56 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 18:48:43 -0500 Subject: [PATCH 284/385] bump version for next release --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2e6e9866..52dd3471 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "4.5.4", + "version": "5.0.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" }, - "license": "SEE LICENSE IN LISCENSE", + "license": "SEOrangeDrangon-patch-1E LICENSE IN LISCENSE", "copyright": "Copyright 2020 Kyle Rosenberg", "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", "repository": { From 635f8478b84b734ad0964a5d4d2c856d75693ef5 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 19:01:06 -0500 Subject: [PATCH 285/385] Create master.yml --- .github/workflows/master.yml | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/master.yml diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml new file mode 100644 index 00000000..3abd5528 --- /dev/null +++ b/.github/workflows/master.yml @@ -0,0 +1,51 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: master + +on: + push: + branches: [ master ] + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - macos-latest + - windows-latest + - ubuntu-latest + node-version: + - 15 + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: ./node_modules + key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + env: + cache-name: node-modules + + - run: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + name: Install Linux Dependencies + if: (startsWith(matrix.os, 'ubuntu')) + + - run: yarn install --frozen-lockfile + + - run: yarn dist --publish onTagOrDraft + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - name: Upload Build + uses: actions/upload-artifact@v2.2.2 + with: + name: ${{ matrix.os }}-${{ matrix.node-version }} + path: ./dist From 07dfbb155895d8811a1157526bfae9ff224adef0 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 19:04:11 -0500 Subject: [PATCH 286/385] add pull request build --- .github/workflows/pull-request.yml | 48 ++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/pull-request.yml diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 00000000..60839f6a --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,48 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: pull request + +on: + pull_request: + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - macos-latest + - windows-latest + - ubuntu-latest + node-version: + - 15 + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: ./node_modules + key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + env: + cache-name: node-modules + + - run: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + name: Install Linux Dependencies + if: (startsWith(matrix.os, 'ubuntu')) + + - run: yarn install --frozen-lockfile + + - run: yarn dist --publish never + + - name: Upload Build + uses: actions/upload-artifact@v2.2.2 + with: + name: ${{ matrix.os }}-${{ matrix.node-version }} + path: ./dist From 9e979951714abef7430beea2ca112cb158f44b64 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 21:23:41 -0500 Subject: [PATCH 287/385] remove azure pipelines --- azure-pipelines.yml | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 14aa8035..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,36 +0,0 @@ -trigger: -- master - -strategy: - matrix: - linux: - imageName: 'ubuntu-latest' - mac: - imageName: 'macos-latest' - windows: - imageName: 'windows-latest' - -pool: - vmImage: $(imageName) - -steps: -- task: NodeTool@0 - inputs: - versionSpec: '12.x' - displayName: 'Install Node.js' - -- script: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools - displayName: 'Installing Linux Dependencies' - condition: startsWith(variables['imageName'], 'ubuntu') - -- script: yarn install --frozen-lockfile - displayName: 'yarn install' - -- script: yarn dist --publish never - displayName: 'yarn dist' - -- task: PublishBuildArtifacts@1 - inputs: - PathtoPublish: 'dist' - ArtifactName: '$(imageName)' - publishLocation: 'Container' From 5103681655e3443737a6b66ea8ba73210b73af54 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 21:43:14 -0500 Subject: [PATCH 288/385] update the readme for the new badge --- README.md | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index fa2b84e9..8d7467c6 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,9 @@ -# Android Messagesâ„¢ Desktop +# Android Messagesâ„¢ Desktop ![master status](https://github.com/OrangeDrangon/android-messages-desktop/actions/workflows/master.yml/badge.svg) -Run Android Messages as a desktop app, a la iMessage. For those of us that -prefer not to have a browser tab always open for this sort of thing. +Run Android Messages as a desktop app, a la iMessage. For those of us that prefer not to have a browser tab always open for this sort of thing. **Not affiliated with Google in any way. Android is a trademark of Google LLC.** -| Platform | Status | -| -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Windows | ![Windows Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20windows) | -| Mac | ![Mac Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20mac) | -| Linux | ![Linux Build Status](https://dev.azure.com/Drangon/android-messages-desktop/_apis/build/status/OrangeDrangon.android-messages-desktop?branchName=master&jobName=Job&configuration=Job%20linux) | - Inspired by: - [Google Play Music Desktop Player](https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-) @@ -18,20 +11,15 @@ Inspired by: # Download -Head over to the -[latest releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) -page! +Head over to the [latest releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) page! -**Important Note 1:** We currently have builds for Windows and macOS, and Linux. -I test releases on Arch Linux. I would love help testing in additional places. +**Important Note 1:** We currently have builds for Windows and macOS, and Linux. I test releases on Arch Linux and to a lesser degree Windows. I would love help testing in additional places. -**Important Note 2:** Neither the MacOS nor the Windows binaries are signed -right now. I am willing to add this but I do not have the certificates required -at this time. +**Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. # Contributions -The code is pretty ugly but feel free to take a look. +The code is pretty ugly but getting better every day. Feel free to take a look. Steps to contribute: 1. Fork @@ -39,4 +27,4 @@ Steps to contribute: 3. Edit 4. `yarn install` for dependencies 5. `yarn start` to build and run assuming you have electron installed. -6. Open a pull request when you think it is ready +6. Open a pull request when you think it is ready or for feedback during the dev process From 88650d4f3e1e1ebb4157571391aa711dfdae4109 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 23:13:24 -0500 Subject: [PATCH 289/385] fixes issue #317 --- src/bridge.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bridge.ts b/src/bridge.ts index 139e75e8..e51c2737 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -84,6 +84,7 @@ window.addEventListener("load", () => { app.settings?.showIconsInRecentConversationTrayEnabled.subscribe( recentThreadObserver ); + app.settings?.trayEnabled.subscribe(recentThreadObserver); conversationListObserver.disconnect(); } }); From 38830ea88d04d25bc60462f65ffbe68bd8c21488 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 21 Feb 2021 23:32:32 -0500 Subject: [PATCH 290/385] fix license --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 52dd3471..28142d67 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" }, - "license": "SEOrangeDrangon-patch-1E LICENSE IN LISCENSE", + "license": "MIT", "copyright": "Copyright 2020 Kyle Rosenberg", "homepage": "https://github.com/OrangeDrangon/android-messages-desktop", "repository": { From ff11947fe7fffb3837d08fda3bdec4d61e2a2147 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 24 Feb 2021 20:26:30 -0500 Subject: [PATCH 291/385] dependency bump --- package.json | 12 ++-- yarn.lock | 160 +++++++++++++++++++++++++-------------------------- 2 files changed, 86 insertions(+), 86 deletions(-) diff --git a/package.json b/package.json index 28142d67..cb41cdd3 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "about-window": "1.13.4", "electron-updater": "4.3.5", "fs-jetpack": "^4.1.0", - "rxjs": "^6.6.3", + "rxjs": "^6.6.6", "uuid": "^8.3.2" }, "devDependencies": { @@ -39,14 +39,14 @@ "@types/webpack": "^4.41.26", "@types/webpack-merge": "^4.1.5", "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^4.15.1", - "@typescript-eslint/parser": "^4.15.1", + "@typescript-eslint/eslint-plugin": "^4.15.2", + "@typescript-eslint/parser": "^4.15.2", "cross-env": "^7.0.2", "css-loader": "^5.0.0", "electron": "11.3.0", "electron-builder": "22.9.1", "eslint": "^7.20.0", - "eslint-config-prettier": "^7.2.0", + "eslint-config-prettier": "^8.1.0", "eslint-plugin-prettier": "^3.3.1", "html-webpack-plugin": "^5.2.0", "png2icons": "^2.0.1", @@ -55,8 +55,8 @@ "style-loader": "^2.0.0", "ts-loader": "^8.0.17", "ts-node": "^9.1.1", - "typescript": "^4.1.5", - "webpack": "^5.23.0", + "typescript": "^4.2.2", + "webpack": "^5.24.2", "webpack-cli": "^4.5.0", "webpack-merge": "^5.7.3", "webpack-node-externals": "^2.5.2" diff --git a/yarn.lock b/yarn.lock index f58f0132..8e4fa4a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -238,13 +238,13 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.15.1": - version "4.15.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.1.tgz#835f64aa0a403e5e9e64c10ceaf8d05c3f015180" - integrity sha512-yW2epMYZSpNJXZy22Biu+fLdTG8Mn6b22kR3TqblVk50HGNV8Zya15WAXuQCr8tKw4Qf1BL4QtI6kv6PCkLoJw== +"@typescript-eslint/eslint-plugin@^4.15.2": + version "4.15.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.2.tgz#981b26b4076c62a5a55873fbef3fe98f83360c61" + integrity sha512-uiQQeu9tWl3f1+oK0yoAv9lt/KXO24iafxgQTkIYO/kitruILGx3uH+QtIAHqxFV+yIsdnJH+alel9KuE3J15Q== dependencies: - "@typescript-eslint/experimental-utils" "4.15.1" - "@typescript-eslint/scope-manager" "4.15.1" + "@typescript-eslint/experimental-utils" "4.15.2" + "@typescript-eslint/scope-manager" "4.15.2" debug "^4.1.1" functional-red-black-tree "^1.0.1" lodash "^4.17.15" @@ -252,60 +252,60 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.15.1": - version "4.15.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.1.tgz#d744d1ac40570a84b447f7aa1b526368afd17eec" - integrity sha512-9LQRmOzBRI1iOdJorr4jEnQhadxK4c9R2aEAsm7WE/7dq8wkKD1suaV0S/JucTL8QlYUPU1y2yjqg+aGC0IQBQ== +"@typescript-eslint/experimental-utils@4.15.2": + version "4.15.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36" + integrity sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.15.1" - "@typescript-eslint/types" "4.15.1" - "@typescript-eslint/typescript-estree" "4.15.1" + "@typescript-eslint/scope-manager" "4.15.2" + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/typescript-estree" "4.15.2" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^4.15.1": - version "4.15.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.1.tgz#4c91a0602733db63507e1dbf13187d6c71a153c4" - integrity sha512-V8eXYxNJ9QmXi5ETDguB7O9diAXlIyS+e3xzLoP/oVE4WCAjssxLIa0mqCLsCGXulYJUfT+GV70Jv1vHsdKwtA== +"@typescript-eslint/parser@^4.15.2": + version "4.15.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.2.tgz#c804474321ef76a3955aec03664808f0d6e7872e" + integrity sha512-SHeF8xbsC6z2FKXsaTb1tBCf0QZsjJ94H6Bo51Y1aVEZ4XAefaw5ZAilMoDPlGghe+qtq7XdTiDlGfVTOmvA+Q== dependencies: - "@typescript-eslint/scope-manager" "4.15.1" - "@typescript-eslint/types" "4.15.1" - "@typescript-eslint/typescript-estree" "4.15.1" + "@typescript-eslint/scope-manager" "4.15.2" + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/typescript-estree" "4.15.2" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.15.1": - version "4.15.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.1.tgz#f6511eb38def2a8a6be600c530c243bbb56ac135" - integrity sha512-ibQrTFcAm7yG4C1iwpIYK7vDnFg+fKaZVfvyOm3sNsGAerKfwPVFtYft5EbjzByDJ4dj1WD8/34REJfw/9wdVA== +"@typescript-eslint/scope-manager@4.15.2": + version "4.15.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f" + integrity sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ== dependencies: - "@typescript-eslint/types" "4.15.1" - "@typescript-eslint/visitor-keys" "4.15.1" + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/visitor-keys" "4.15.2" -"@typescript-eslint/types@4.15.1": - version "4.15.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.1.tgz#da702f544ef1afae4bc98da699eaecd49cf31c8c" - integrity sha512-iGsaUyWFyLz0mHfXhX4zO6P7O3sExQpBJ2dgXB0G5g/8PRVfBBsmQIc3r83ranEQTALLR3Vko/fnCIVqmH+mPw== +"@typescript-eslint/types@4.15.2": + version "4.15.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" + integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ== -"@typescript-eslint/typescript-estree@4.15.1": - version "4.15.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.1.tgz#fa9a9ff88b4a04d901ddbe5b248bc0a00cd610be" - integrity sha512-z8MN3CicTEumrWAEB2e2CcoZa3KP9+SMYLIA2aM49XW3cWIaiVSOAGq30ffR5XHxRirqE90fgLw3e6WmNx5uNw== +"@typescript-eslint/typescript-estree@4.15.2": + version "4.15.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa" + integrity sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw== dependencies: - "@typescript-eslint/types" "4.15.1" - "@typescript-eslint/visitor-keys" "4.15.1" + "@typescript-eslint/types" "4.15.2" + "@typescript-eslint/visitor-keys" "4.15.2" debug "^4.1.1" globby "^11.0.1" is-glob "^4.0.1" semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.15.1": - version "4.15.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.1.tgz#c76abbf2a3be8a70ed760f0e5756bf62de5865dd" - integrity sha512-tYzaTP9plooRJY8eNlpAewTOqtWW/4ff/5wBjNVaJ0S0wC4Gpq/zDVRTJa5bq2v1pCNQ08xxMCndcvR+h7lMww== +"@typescript-eslint/visitor-keys@4.15.2": + version "4.15.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9" + integrity sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg== dependencies: - "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/types" "4.15.2" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.11.0": @@ -759,9 +759,9 @@ camelcase@^6.2.0: integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== caniuse-lite@^1.0.30001181: - version "1.0.30001190" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001190.tgz#acc6d4a53c68be16cfc314d55c9cab637e558cba" - integrity sha512-62KVw474IK8E+bACBYhRS0/L6o/1oeAVkpF2WetjV58S5vkzNh0/Rz3lD8D4YCbOTqi0/aD4X3LtoP7V5xnuAg== + version "1.0.30001191" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz#bacb432b6701f690c8c5f7c680166b9a9f0843d9" + integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw== chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" @@ -1186,9 +1186,9 @@ electron-publish@22.9.1: mime "^2.4.6" electron-to-chromium@^1.3.649: - version "1.3.671" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.671.tgz#8feaed6eae42d279fa4611f58c42a5a1eb81b2a0" - integrity sha512-RTD97QkdrJKaKwRv9h/wGAaoR2lGxNXEcBXS31vjitgTPwTWAbLdS7cEsBK68eEQy7p6YyT8D5BxBEYHu2SuwQ== + version "1.3.673" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.673.tgz#b4f81c930b388f962b7eba20d0483299aaa40913" + integrity sha512-ms+QR2ckfrrpEAjXweLx6kNCbpAl66DcW//3BZD4BV5KhUgr0RZRce1ON/9J3QyA3JO28nzgb5Xv8DnPr05ILg== electron-updater@4.3.5: version "4.3.5" @@ -1290,10 +1290,10 @@ errno@^0.1.3: dependencies: prr "~1.0.1" -es-module-lexer@^0.3.26: - version "0.3.26" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.3.26.tgz#7b507044e97d5b03b01d4392c74ffeb9c177a83b" - integrity sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA== +es-module-lexer@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.0.tgz#21f4181cc8b7eee06855f1c59e6087c7bc4f77b0" + integrity sha512-iuEGihqqhKWFgh72Q/Jtch7V2t/ft8w8IPP2aEN8ArYKO+IWyo6hsi96hCdgyeEDQIV3InhYQ9BlwUFPGXrbEQ== es6-error@^4.1.1: version "4.1.1" @@ -1320,10 +1320,10 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz#f4a4bd2832e810e8cc7c1411ec85b3e85c0c53f9" - integrity sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg== +eslint-config-prettier@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6" + integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw== eslint-plugin-prettier@^3.3.1: version "3.3.1" @@ -1511,9 +1511,9 @@ fastest-levenshtein@^1.0.12: integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== fastq@^1.6.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.10.1.tgz#8b8f2ac8bf3632d67afcd65dac248d5fdc45385e" - integrity sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== dependencies: reusify "^1.0.4" @@ -1694,9 +1694,9 @@ globals@^12.1.0: type-fest "^0.8.1" globalthis@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.1.tgz#40116f5d9c071f9e8fb0037654df1ab3a83b7ef9" - integrity sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" + integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== dependencies: define-properties "^1.1.3" @@ -2304,9 +2304,9 @@ no-case@^3.0.4: tslib "^2.0.3" node-releases@^1.1.70: - version "1.1.70" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" - integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== + version "1.1.71" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" + integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== normalize-package-data@^2.5.0: version "2.5.0" @@ -2791,10 +2791,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^6.6.3: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== +rxjs@^6.6.6: + version "6.6.6" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" + integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== dependencies: tslib "^1.9.0" @@ -3237,10 +3237,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" - integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== +typescript@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" + integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== uniq@^1.0.1: version "1.0.1" @@ -3379,10 +3379,10 @@ webpack-sources@^2.1.1: source-list-map "^2.0.1" source-map "^0.6.1" -webpack@^5.23.0: - version "5.23.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.23.0.tgz#9ed57e9a54b267b3549899271ad780cddc6ee316" - integrity sha512-RC6dwDuRxiU75F8XC4H08NtzUrMfufw5LDnO8dTtaKU2+fszEdySCgZhNwSBBn516iNaJbQI7T7OPHIgCwcJmg== +webpack@^5.24.2: + version "5.24.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.24.2.tgz#33790dad631e8b639f4246d762e257720875fe54" + integrity sha512-uxxKYEY4kMNjP+D2Y+8aw5Vd7ar4pMuKCNemxV26ysr1nk0YDiQTylg9U3VZIdkmI0YHa0uC8ABxL+uGxGWWJg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.46" @@ -3393,7 +3393,7 @@ webpack@^5.23.0: browserslist "^4.14.5" chrome-trace-event "^1.0.2" enhanced-resolve "^5.7.0" - es-module-lexer "^0.3.26" + es-module-lexer "^0.4.0" eslint-scope "^5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -3472,9 +3472,9 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yargs-parser@^20.2.2: - version "20.2.5" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.5.tgz#5d37729146d3f894f39fc94b6796f5b239513186" - integrity sha512-jYRGS3zWy20NtDtK2kBgo/TlAoy5YUuhD9/LZ7z7W4j1Fdw2cqD0xEEclf8fxc8xjD6X5Qr+qQQwCEsP8iRiYg== + version "20.2.6" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" + integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== yargs@^16.0.3: version "16.2.0" From 825e25bf3d701d9885e016a14b88c93d4d25c0d1 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 25 Feb 2021 20:10:53 -0500 Subject: [PATCH 292/385] Harmless typos are harmless. --- src/menu/items/updates.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/menu/items/updates.ts b/src/menu/items/updates.ts index f8f9d1fe..ce0ce159 100644 --- a/src/menu/items/updates.ts +++ b/src/menu/items/updates.ts @@ -7,6 +7,6 @@ export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { }; export const installUpdatesMenuItem: MenuItemConstructorOptions = { - label: "Intall Updates", + label: "Install Updates", click: installUpdate, }; From 204d516995c97de99e14a2f7e676c34e7f00c4a9 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 25 Feb 2021 20:18:21 -0500 Subject: [PATCH 293/385] Add option to not open bridge dev tools on launch --- src/app.ts | 2 +- src/helpers/settings.ts | 1 + src/menu/devMenu.ts | 15 ++++++++++++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/app.ts b/src/app.ts index ed528af3..6c008b6f 100644 --- a/src/app.ts +++ b/src/app.ts @@ -9,7 +9,7 @@ const androidMessagesWebview = document.getElementById( ) as WebviewTag; androidMessagesWebview.addEventListener("dom-ready", () => { - if (IS_DEV) { + if (IS_DEV && app.settings?.showBridgeWebtoolsOnLaunch.value) { androidMessagesWebview.openDevTools(); } app.mainWindow?.on("focus", () => { diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index b3ef37e6..0352e9e1 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -46,6 +46,7 @@ export interface JsonSettings { checkForUpdateOnLaunchEnabled: boolean; monochromeIconEnabled: boolean; showIconsInRecentConversationTrayEnabled: boolean; + showBridgeWebtoolsOnLaunch: boolean; } // wraps json settings in the setting type for export diff --git a/src/menu/devMenu.ts b/src/menu/devMenu.ts index b36d597b..b8c1596f 100644 --- a/src/menu/devMenu.ts +++ b/src/menu/devMenu.ts @@ -1,6 +1,9 @@ -import { app } from "electron"; +import { app, MenuItemConstructorOptions } from "electron"; +import { settings } from "../helpers/settings"; -export const devMenuTemplate = { +const { showBridgeWebtoolsOnLaunch } = settings; + +export const devMenuTemplate: MenuItemConstructorOptions = { label: "&Development", submenu: [ { @@ -9,7 +12,13 @@ export const devMenuTemplate = { click: (): void => app.mainWindow?.webContents.reloadIgnoringCache(), }, { - label: "Developer Tools", + label: "Bridge Dev Tools on Launch", + type: "checkbox", + checked: showBridgeWebtoolsOnLaunch.value, + click: (item) => showBridgeWebtoolsOnLaunch.next(item.checked), + }, + { + label: "App Dev Tools", accelerator: "CmdOrCtrl+Shift+I", click: (): void => app.mainWindow?.webContents.openDevTools(), }, From da560ec4eb3b1fd1cf42944a3c207c8f94e56e3c Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 25 Feb 2021 20:25:30 -0500 Subject: [PATCH 294/385] Hide install update button when there is no update to avoid ui problems --- src/helpers/autoUpdate.ts | 14 ++++++++++---- src/helpers/settings.ts | 3 +++ src/menu/items/updates.ts | 3 +++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts index 26b0e33e..c221b011 100644 --- a/src/helpers/autoUpdate.ts +++ b/src/helpers/autoUpdate.ts @@ -1,7 +1,8 @@ import { autoUpdater } from "electron-updater"; -import { app, Notification } from "electron"; +import { app, Menu, Notification } from "electron"; import path from "path"; import { IS_DEV, RESOURCES_PATH } from "./constants"; +import { settings } from "./settings"; function setUpdaterSettings(): void { autoUpdater.autoDownload = false; @@ -16,8 +17,9 @@ export async function checkForUpdate( ): Promise { setUpdaterSettings(); const results = await autoUpdater.checkForUpdates().catch(() => null); + let isUpdate = false; if (results != null) { - const isUpdate = results.updateInfo.version != app.getVersion(); + isUpdate = results.updateInfo.version != app.getVersion(); if (isUpdate && showNotification) { const notification = new Notification({ title: "Update Available", @@ -28,9 +30,13 @@ export async function checkForUpdate( }); notification.show(); } - return isUpdate; } - return false; + const installUpdateMenuItem = Menu.getApplicationMenu()?.getMenuItemById("installUpdateMenuItem"); + if (installUpdateMenuItem != null) { + installUpdateMenuItem.visible = isUpdate; + } + settings.isUpdate.next(isUpdate); + return isUpdate; } /** diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 0352e9e1..692ec3fd 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -46,6 +46,7 @@ export interface JsonSettings { checkForUpdateOnLaunchEnabled: boolean; monochromeIconEnabled: boolean; showIconsInRecentConversationTrayEnabled: boolean; + isUpdate: boolean; showBridgeWebtoolsOnLaunch: boolean; } @@ -78,6 +79,8 @@ const defaultSettings: JsonSettings = { checkForUpdateOnLaunchEnabled: true, monochromeIconEnabled: true, showIconsInRecentConversationTrayEnabled: true, + isUpdate: false, + showBridgeWebtoolsOnLaunch: true, }; // create default settings file if it doesnt exist diff --git a/src/menu/items/updates.ts b/src/menu/items/updates.ts index ce0ce159..62ccd894 100644 --- a/src/menu/items/updates.ts +++ b/src/menu/items/updates.ts @@ -1,5 +1,6 @@ import { MenuItemConstructorOptions } from "electron"; import { checkForUpdate, installUpdate } from "../../helpers/autoUpdate"; +import { settings } from "../../helpers/settings"; export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { label: "Check for Updates", @@ -7,6 +8,8 @@ export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { }; export const installUpdatesMenuItem: MenuItemConstructorOptions = { + id: "installUpdateMenuItem", label: "Install Updates", + visible: settings.isUpdate.value, click: installUpdate, }; From 9895ff5ce4ed9e409257c033bf05f09ef3b7e592 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 25 Feb 2021 20:44:42 -0500 Subject: [PATCH 295/385] non deterministic way of showing icons on load --- src/bridge.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/bridge.ts b/src/bridge.ts index e51c2737..d004f1ec 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -85,6 +85,7 @@ window.addEventListener("load", () => { recentThreadObserver ); app.settings?.trayEnabled.subscribe(recentThreadObserver); + setTimeout(recentThreadObserver, 3000); conversationListObserver.disconnect(); } }); From e538319274d04b223ba7c6da688b9996e3f99818 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 25 Feb 2021 21:11:23 -0500 Subject: [PATCH 296/385] Deterministic icons on load that is off by at most .25 seconds. --- src/bridge.ts | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/bridge.ts b/src/bridge.ts index d004f1ec..936655d5 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,6 +1,7 @@ import { remote, NotificationConstructorOptions } from "electron"; import path from "path"; import { + INITIAL_ICON_IMAGE, IS_DEV, RECENT_CONVERSATION_TRAY_COUNT, RESOURCES_PATH, @@ -85,7 +86,24 @@ window.addEventListener("load", () => { recentThreadObserver ); app.settings?.trayEnabled.subscribe(recentThreadObserver); - setTimeout(recentThreadObserver, 3000); + + // keep trying to get an image that isnt blank until they load + const interval = setInterval(() => { + const conversation = document.body.querySelector( + "mws-conversation-list-item" + ); + if (conversation) { + const canvas = conversation.querySelector( + "a div.avatar-container canvas" + ) as HTMLCanvasElement | null; + + if (canvas != null && canvas.toDataURL() != INITIAL_ICON_IMAGE) { + console.log(canvas.toDataURL()); + recentThreadObserver(); + clearInterval(interval); + } + } + }, 250); conversationListObserver.disconnect(); } }); From ecc3794f788105e07cbd2b65362d80473735ba6b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 25 Feb 2021 21:59:40 -0500 Subject: [PATCH 297/385] Fixed error where it would say there was an update if the available version was less than the current version --- src/helpers/autoUpdate.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts index c221b011..a0f459c1 100644 --- a/src/helpers/autoUpdate.ts +++ b/src/helpers/autoUpdate.ts @@ -19,7 +19,9 @@ export async function checkForUpdate( const results = await autoUpdater.checkForUpdates().catch(() => null); let isUpdate = false; if (results != null) { - isUpdate = results.updateInfo.version != app.getVersion(); + console.log(results.updateInfo.version, app.getVersion(), results.updateInfo.version > app.getVersion()); + + isUpdate = results.updateInfo.version > app.getVersion(); if (isUpdate && showNotification) { const notification = new Notification({ title: "Update Available", From b61fa1ef8e7d7a97684fa0dfc3b6de83eb69f41f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 00:09:02 -0500 Subject: [PATCH 298/385] add aaction for bumping dependencies --- .github/workflows/dependency-bump.yml | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/dependency-bump.yml diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml new file mode 100644 index 00000000..5732dc3a --- /dev/null +++ b/.github/workflows/dependency-bump.yml @@ -0,0 +1,60 @@ +name: dependency bump + +on: + schedule: + cron: "0 10 5 ? * * *" + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - ubuntu-latest + node-version: + - 15 + + env: + BRANCH_NAME: dependency-bump + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - run: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + name: Install Linux Dependencies + if: (startsWith(matrix.os, 'ubuntu')) + + - run: | + git config user.name github actions + git config user.email actions@github.com + name: configure git user + + - run: | + git checkout $GITHUB_REF + git branch $BRANCH_NAME + git checkout $BRANCH_NAME + name: configure git branch + + - run: yarn upgrade --latest + + - run: | + git add . + git commit -m "Dependency Bump" + name: create git commit + + - run: git push --set-upstream origin $BRANCH_NAME --force + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: ./node_modules + key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + env: + cache-name: node-modules + + + From 68b101ab3a9a617bb583ffdacf16a8f8ec925831 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 00:11:44 -0500 Subject: [PATCH 299/385] fix type of arguement in schedule --- .github/workflows/dependency-bump.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml index 5732dc3a..09a4ee8e 100644 --- a/.github/workflows/dependency-bump.yml +++ b/.github/workflows/dependency-bump.yml @@ -2,7 +2,7 @@ name: dependency bump on: schedule: - cron: "0 10 5 ? * * *" + - cron: "0 10 5 ? * * *" jobs: build: From 889c27d2b6880acf490c32a7f8964c895bb5db26 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 00:16:14 -0500 Subject: [PATCH 300/385] fix cron syntax --- .github/workflows/dependency-bump.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml index 09a4ee8e..652a8430 100644 --- a/.github/workflows/dependency-bump.yml +++ b/.github/workflows/dependency-bump.yml @@ -2,7 +2,7 @@ name: dependency bump on: schedule: - - cron: "0 10 5 ? * * *" + - cron: "0 0 * * *" jobs: build: From 3bdaf9f2572d317489328931324631b9a7c73985 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 00:18:18 -0500 Subject: [PATCH 301/385] change the trigger time to see if it actually runs --- .github/workflows/dependency-bump.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml index 652a8430..77c32354 100644 --- a/.github/workflows/dependency-bump.yml +++ b/.github/workflows/dependency-bump.yml @@ -2,7 +2,7 @@ name: dependency bump on: schedule: - - cron: "0 0 * * *" + - cron: "20 5 * * *" jobs: build: From 2117f50475e6fd735a8b17edf815015bf5a5b4b7 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 00:24:39 -0500 Subject: [PATCH 302/385] allow manual trigger --- .github/workflows/dependency-bump.yml | 61 +++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/dependency-bump.yml diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml new file mode 100644 index 00000000..1cc2591e --- /dev/null +++ b/.github/workflows/dependency-bump.yml @@ -0,0 +1,61 @@ +name: dependency bump + +on: + schedule: + - cron: "0 0 * * *" + workflow_dispatch: + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: + - ubuntu-latest + node-version: + - 15 + + env: + BRANCH_NAME: dependency-bump + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - run: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + name: Install Linux Dependencies + if: (startsWith(matrix.os, 'ubuntu')) + + - run: | + git config user.name github actions + git config user.email actions@github.com + name: configure git user + + - run: | + git checkout $GITHUB_REF + git branch $BRANCH_NAME + git checkout $BRANCH_NAME + name: configure git branch + + - run: yarn upgrade --latest + + - run: | + git add . + git commit -m "Dependency Bump" + name: create git commit + + - run: git push --set-upstream origin $BRANCH_NAME --force + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: ./node_modules + key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + env: + cache-name: node-modules + + + From cda4427af05b9f9c6fac191146332da53a22dab9 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 00:31:12 -0500 Subject: [PATCH 303/385] remove dependabot --- .github/dependabot.yml | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index dc6a5c7b..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,12 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "npm" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "daily" - open-pull-requests-limit: 10 From 69f0bf42cbe0318109377903a4a77716ca657222 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 02:31:57 -0500 Subject: [PATCH 304/385] fix potential bug where if auto update check is disabled the app may incorrectly think there is an update after the update was installed --- src/helpers/autoUpdate.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts index a0f459c1..0fbc8aed 100644 --- a/src/helpers/autoUpdate.ts +++ b/src/helpers/autoUpdate.ts @@ -49,6 +49,7 @@ export async function installUpdate(): Promise { setUpdaterSettings(); if (await checkForUpdate(false)) { await autoUpdater.downloadUpdate(); + settings.isUpdate.next(false); autoUpdater.quitAndInstall(); } } From 9a61a5c6c4a1a48de4bb15b59628a1543189a20a Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 26 Feb 2021 02:35:21 -0500 Subject: [PATCH 305/385] move quite android messages to the bottom of the file menu --- CHANGELOG.md | 23 +++++++++++++++++++++++ src/menu/fileMenu.ts | 20 +++++++++----------- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index beac8a93..0b479bf8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,29 @@ # Changelog +## [5.0.0] - 2021-02-26 + +This is a release with a lot of changes under the hood along with a lot of interesting new feature for users. + +## Added + +- Recent contacts in the tray menu +- Optional monochrome tray icon +- Manual auto update triggering +- Automatic update checking and user notification +- Remember window position size and location from previous launch +- Setting to control if the app checks for updates at launch + +## Changed + +- The settings manager has been gutted and all user setting have been reset. This is a one time occurance due to the annoyance with an npm package I was having. +- Upscaled the mac tray icon template +- The application now gives up on trying to control some settings google has toggle switches for +- Application no longer requires restart to disable the tray icon on linux + ## [4.5.4] - 2021-02-09 ## Fixed + - Issue perventing window from showing when a phone is not paired - Redundant event listener @@ -19,11 +40,13 @@ Everything should be fixed Bug fixes galor ## Fixed + - Bug with unread messages dot - Bug with notifications not being sent until a conversation is opened - Bug with image cache existing causing problems on slow networks ## Added + - Tooltip on tray icon - Images are saved with date as filename diff --git a/src/menu/fileMenu.ts b/src/menu/fileMenu.ts index 3520fe79..ff44f26b 100644 --- a/src/menu/fileMenu.ts +++ b/src/menu/fileMenu.ts @@ -5,17 +5,15 @@ import { } from "./items/updates"; import { separator } from "./items/separator"; -const submenu: MenuItemConstructorOptions[] = [ - { - label: "Quit Android Messages", - click: (): void => app.quit(), - }, - separator, - checkForUpdatesMenuItem, - installUpdatesMenuItem, -]; - export const fileMenuTemplate: MenuItemConstructorOptions = { label: "&File", - submenu, + submenu: [ + checkForUpdatesMenuItem, + installUpdatesMenuItem, + separator, + { + label: "Quit Android Messages", + click: (): void => app.quit(), + }, + ], }; From f01830723ae5d7cc505b793317a870ac77e70e1c Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 1 Mar 2021 15:17:35 -0500 Subject: [PATCH 306/385] change events that trigger github action on pull request --- .github/workflows/pull-request.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 60839f6a..064de0b4 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -5,6 +5,7 @@ name: pull request on: pull_request: + types: [opened, synchronize, reopened, edited] jobs: build: From 51e80ad46e4e38ac0b7e6749cd1938e99921bba2 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 31 Mar 2021 21:06:14 -0400 Subject: [PATCH 307/385] potentially working universal binaries --- electron-builder.js | 5 +- package.json | 2 +- yarn.lock | 601 ++++++++++++++++++++++++++++++++------------ 3 files changed, 447 insertions(+), 161 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index 31387c74..213d5f59 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -21,7 +21,10 @@ module.exports = { }, mac: { category: "public.app-category.social-networking", - target: ["zip", "dmg"], + target: { + target: "default", + arch: "universal" + } }, portable: { artifactName: "${productName}-v${version}-${os}-${arch}.portable.${ext}", diff --git a/package.json b/package.json index cb41cdd3..e3752dc3 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "cross-env": "^7.0.2", "css-loader": "^5.0.0", "electron": "11.3.0", - "electron-builder": "22.9.1", + "electron-builder": "^22.10.5", "eslint": "^7.20.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-prettier": "^3.3.1", diff --git a/yarn.lock b/yarn.lock index 8e4fa4a0..50274682 100644 --- a/yarn.lock +++ b/yarn.lock @@ -57,6 +57,17 @@ global-agent "^2.0.2" global-tunnel-ng "^2.7.1" +"@electron/universal@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.4.tgz#231ac246c39d45b80e159bd21c3f9027dcaa10f5" + integrity sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA== + dependencies: + "@malept/cross-spawn-promise" "^1.1.0" + asar "^3.0.3" + debug "^4.3.1" + dir-compare "^2.4.0" + fs-extra "^9.0.1" + "@eslint/eslintrc@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" @@ -73,6 +84,13 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@malept/cross-spawn-promise@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d" + integrity sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ== + dependencies: + cross-spawn "^7.0.1" + "@nodelib/fs.scandir@2.1.4": version "2.1.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" @@ -137,13 +155,21 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== -"@types/fs-extra@^9.0.1": - version "9.0.7" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.7.tgz#a9ef2ffdab043def080c5bec94c03402f793577f" - integrity sha512-YGq2A6Yc3bldrLUlm17VNWOnUbnEzJ9CMgOeLFtQF3HOCN5lQBO8VyjG00a5acA5NNSM30kHVGp1trZgnVgi1Q== +"@types/fs-extra@^9.0.7": + version "9.0.9" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.9.tgz#11ed43b3f3c6b3490f1ef9bd17f58da896e2d861" + integrity sha512-5TqDycCl0oMzwzd1cIjSJWMKMvLCDVErle4ZTjU4EmHDURR/+yZghe6GDHMCpHtcVfq0x0gMoOM546/5TbYHrg== dependencies: "@types/node" "*" +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + "@types/html-minifier-terser@^5.0.0": version "5.1.1" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" @@ -154,6 +180,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== +"@types/minimatch@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" + integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== + "@types/node@*", "@types/node@14.14.31": version "14.14.31" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" @@ -164,6 +195,14 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.4.tgz#73687043dd00fcb6962c60fbf499553a24d6bdf2" integrity sha512-xRCgeE0Q4pT5UZ189TJ3SpYuX/QGl6QIAOAIeDSbAVAd2gX1NxSZup4jNVK7cxIeP8KDSbJgcckun495isP1jQ== +"@types/plist@^3.0.1": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01" + integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw== + dependencies: + "@types/node" "*" + xmlbuilder ">=11.0.1" + "@types/semver@^7.3.1": version "7.3.4" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.4.tgz#43d7168fec6fa0988bb1a513a697b29296721afb" @@ -191,6 +230,11 @@ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== +"@types/verror@^1.10.3": + version "1.10.4" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz#805c0612b3a0c124cf99f517364142946b74ba3b" + integrity sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg== + "@types/webpack-merge@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/webpack-merge/-/webpack-merge-4.1.5.tgz#265fbee4810474860d0f4c17e0107032881eed47" @@ -231,7 +275,7 @@ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== -"@types/yargs@^15.0.5": +"@types/yargs@^15.0.13": version "15.0.13" resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== @@ -518,6 +562,11 @@ ansi-regex@^2.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" @@ -542,37 +591,38 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -app-builder-bin@3.5.10: - version "3.5.10" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.10.tgz#4a7f9999fccc0c435b6284ae1366bc76a17c4a7d" - integrity sha512-Jd+GW68lR0NeetgZDo47PdWBEPdnD+p0jEa7XaxjRC8u6Oo/wgJsfKUkORRgr2NpkD19IFKN50P6JYy04XHFLQ== +app-builder-bin@3.5.12: + version "3.5.12" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.12.tgz#bbe174972cc1f481f73d6d92ad47a8b4c7eb4530" + integrity sha512-lQARM2AielmFoBeIo6LZigAe+58Wwe07ZWkt+wVeDxzyieNmeWjlvz/V5dKzinydwdHd+CNswN86sww46yijjA== -app-builder-lib@22.9.1: - version "22.9.1" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.9.1.tgz#ccb8f1a02b628514a5dfab9401fa2a976689415c" - integrity sha512-KfXim/fiNwFW2SKffsjEMdAU7RbbEXn62x5YyXle1b4j9X/wEHW9iwox8De6y0hJdR+/kCC/49lI+VgNwLhV7A== +app-builder-lib@22.10.5: + version "22.10.5" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.5.tgz#24a88581c891e5b187a0d569aa44e7c4a0dc8de2" + integrity sha512-/W8nlGamJCtKlQtsMWwU9vb+cX4pTNY+rJWCuc7oXUykVSMS50W7LhQusIjCelNfymUQ1XCu6cXEY/ylqhX12A== dependencies: "7zip-bin" "~5.0.3" "@develar/schema-utils" "~2.6.5" + "@electron/universal" "1.0.4" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.9.1" - builder-util-runtime "8.7.2" + builder-util "22.10.5" + builder-util-runtime "8.7.3" chromium-pickle-js "^0.2.0" - debug "^4.3.0" - ejs "^3.1.5" - electron-publish "22.9.1" - fs-extra "^9.0.1" - hosted-git-info "^3.0.5" + debug "^4.3.2" + ejs "^3.1.6" + electron-publish "22.10.5" + fs-extra "^9.1.0" + hosted-git-info "^3.0.8" is-ci "^2.0.0" - isbinaryfile "^4.0.6" - js-yaml "^3.14.0" + istextorbinary "^5.12.0" + js-yaml "^4.0.0" lazy-val "^1.0.4" minimatch "^3.0.4" - normalize-package-data "^2.5.0" + normalize-package-data "^3.0.0" read-config-file "6.0.0" sanitize-filename "^1.6.3" - semver "^7.3.2" + semver "^7.3.4" temp-file "^3.3.7" arg@^4.1.0: @@ -587,11 +637,33 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +asar@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz#1fef03c2d6d2de0cbad138788e4f7ae03b129c7b" + integrity sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw== + dependencies: + chromium-pickle-js "^0.2.0" + commander "^5.0.0" + glob "^7.1.6" + minimatch "^3.0.4" + optionalDependencies: + "@types/glob" "^7.1.1" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -617,11 +689,21 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= +base64-js@^1.3.1, base64-js@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== +binaryextensions@^4.15.0: + version "4.15.0" + resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-4.15.0.tgz#c63a502e0078ff1b0e9b00a9f74d3c2b0f8bd32e" + integrity sha512-MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw== + bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" @@ -644,19 +726,19 @@ boolean@^3.0.1: resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570" integrity sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g== -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== +boxen@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz#64fe9b16066af815f51057adcc800c3730120854" + integrity sha512-5bvsqw+hhgUi3oYGK0Vf4WpIkyemp60WBInn7+WNfoISzAqk/HX4L7WNROq38E6UR/y3YADpv6pEm4BfkeEAdA== dependencies: ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.0" + type-fest "^0.20.2" widest-line "^3.1.0" + wrap-ansi "^7.0.0" brace-expansion@^1.1.7: version "1.1.11" @@ -689,11 +771,24 @@ buffer-crc32@~0.2.3: resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= +buffer-equal@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +buffer@^5.1.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + builder-util-runtime@8.7.2: version "8.7.2" resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz#d93afc71428a12789b437e13850e1fa7da956d72" @@ -702,22 +797,30 @@ builder-util-runtime@8.7.2: debug "^4.1.1" sax "^1.2.4" -builder-util@22.9.1: - version "22.9.1" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.9.1.tgz#b7087a5cde477f90d718ca5d7fafb6ae261b16af" - integrity sha512-5hN/XOaYu4ZQUS6F+5CXE6jTo+NAnVqAxDuKGSaHWb9bejfv/rluChTLoY3/nJh7RFjkoyVjvFJv7zQDB1QmHw== +builder-util-runtime@8.7.3: + version "8.7.3" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz#0aaafa52d25295c939496f62231ca9ff06c30e40" + integrity sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ== + dependencies: + debug "^4.3.2" + sax "^1.2.4" + +builder-util@22.10.5: + version "22.10.5" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.5.tgz#8d0b04a3be6acc74938679aa90dcb3181b1ae86b" + integrity sha512-/MkLhmyo1gU3xMwXJxccQaRj/9tm5eTd6ZyebTf8SYouY4r3hRser+LxhOm/f8Z9W6oJvfPe0jc9TFsxYfMcsg== dependencies: "7zip-bin" "~5.0.3" "@types/debug" "^4.1.5" - "@types/fs-extra" "^9.0.1" - app-builder-bin "3.5.10" + "@types/fs-extra" "^9.0.7" + app-builder-bin "3.5.12" bluebird-lst "^1.0.9" - builder-util-runtime "8.7.2" + builder-util-runtime "8.7.3" chalk "^4.1.0" - debug "^4.3.0" - fs-extra "^9.0.1" + debug "^4.3.2" + fs-extra "^9.1.0" is-ci "^2.0.0" - js-yaml "^3.14.0" + js-yaml "^4.0.0" source-map-support "^0.5.19" stat-mode "^1.0.0" temp-file "^3.3.7" @@ -748,11 +851,6 @@ camel-case@^4.1.1: pascal-case "^3.1.2" tslib "^2.0.3" -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - camelcase@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" @@ -772,14 +870,6 @@ chalk@^2.0.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^4.0.0, chalk@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" @@ -812,11 +902,19 @@ clean-css@^4.2.3: dependencies: source-map "~0.6.0" -cli-boxes@^2.2.0: +cli-boxes@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== +cli-truncate@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086" + integrity sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA== + dependencies: + slice-ansi "^1.0.0" + string-width "^2.0.0" + cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -871,6 +969,18 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + +commander@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + dependencies: + graceful-readlink ">= 1.0.0" + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -881,6 +991,11 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + commander@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" @@ -926,11 +1041,18 @@ core-js@^3.6.5: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ== -core-util-is@~1.0.0: +core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +crc@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -1002,13 +1124,20 @@ debug@^2.6.9: dependencies: ms "2.0.0" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.0: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" +debug@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" @@ -1048,6 +1177,16 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +dir-compare@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631" + integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA== + dependencies: + buffer-equal "1.0.0" + colors "1.0.3" + commander "2.9.0" + minimatch "3.0.4" + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -1055,17 +1194,34 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@22.9.1: - version "22.9.1" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.9.1.tgz#64647224f37ee47fc9bd01947c21cc010a30511f" - integrity sha512-jc+DAirqmQrNT6KbDHdfEp8D1kD0DBTnsLhwUR3MX+hMBun5bT134LQzpdK0GKvd22GqF8L1Cz/NOgaVjscAXQ== +dmg-builder@22.10.5: + version "22.10.5" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.5.tgz#65a33c106ead5a350c7de8997c546559bd6e0e7c" + integrity sha512-58FEpfH8PEFqjbUNka4bYr52snRT8+LSXrP4gy6EZWOVICbOlmTOYj988pfoLam5C5iXb3odmyUQqwWOxlsEUw== dependencies: - app-builder-lib "22.9.1" - builder-util "22.9.1" - fs-extra "^9.0.1" + app-builder-lib "22.10.5" + builder-util "22.10.5" + fs-extra "^9.1.0" iconv-lite "^0.6.2" - js-yaml "^3.14.0" + js-yaml "^4.0.0" sanitize-filename "^1.6.3" + optionalDependencies: + dmg-license "^1.0.8" + +dmg-license@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.8.tgz#d52e234815f1a07a59706e5f2a2fea71991cf784" + integrity sha512-47GOb6b4yVzpovXC34heXElpH++ICg9GuWBeOTaokUNLAoAdWpE4VehudYEEtu96j2jXsgQWYf78nW7r+0Y3eg== + dependencies: + "@types/plist" "^3.0.1" + "@types/verror" "^1.10.3" + ajv "^6.10.0" + cli-truncate "^1.1.0" + crc "^3.8.0" + iconv-corefoundation "^1.1.5" + plist "^3.0.1" + smart-buffer "^4.0.2" + verror "^1.10.0" doctrine@^3.0.0: version "3.0.0" @@ -1144,46 +1300,54 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -ejs@^3.1.5: +editions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/editions/-/editions-6.1.0.tgz#ba6c6cf9f4bb571d9e53ea34e771a602e5a66549" + integrity sha512-h6nWEyIocfgho9J3sTSuhU/WoFOu1hTX75rPBebNrbF38Y9QFDjCDizYXdikHTySW7Y3mSxli8bpDz9RAtc7rA== + dependencies: + errlop "^4.0.0" + version-range "^1.0.0" + +ejs@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== dependencies: jake "^10.6.1" -electron-builder@22.9.1: - version "22.9.1" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.9.1.tgz#a2962db6f2757bc01d02489f38fafe0809f68f60" - integrity sha512-GXPt8l5Mxwm1QKYopUM6/Tdh9W3695G6Ax+IFyj5pQ51G4SD5L1uq4/RkPSsOgs3rP7jNSV6g6OfDzdtVufPdA== +electron-builder@^22.10.5: + version "22.10.5" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.5.tgz#03b156b93e6012609027c3aaa69201a3ad21e454" + integrity sha512-0q/289UUJUhRou6lZKDz/wzK6WprIQ6VXMTmaI+w9qXvSNugPC9UA5s2zXInOkjZOvO/xKnjeyiavrVSHYF3tA== dependencies: - "@types/yargs" "^15.0.5" - app-builder-lib "22.9.1" + "@types/yargs" "^15.0.13" + app-builder-lib "22.10.5" bluebird-lst "^1.0.9" - builder-util "22.9.1" - builder-util-runtime "8.7.2" + builder-util "22.10.5" + builder-util-runtime "8.7.3" chalk "^4.1.0" - dmg-builder "22.9.1" - fs-extra "^9.0.1" + dmg-builder "22.10.5" + fs-extra "^9.1.0" is-ci "^2.0.0" lazy-val "^1.0.4" read-config-file "6.0.0" sanitize-filename "^1.6.3" - update-notifier "^4.1.1" - yargs "^16.0.3" + update-notifier "^5.1.0" + yargs "^16.2.0" -electron-publish@22.9.1: - version "22.9.1" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.9.1.tgz#7cc76ac4cc53efd29ee31c1e5facb9724329068e" - integrity sha512-ducLjRJLEeU87FaTCWaUyDjCoLXHkawkltP2zqS/n2PyGke54ZIql0tBuUheht4EpR8AhFbVJ11spSn1gy8r6w== +electron-publish@22.10.5: + version "22.10.5" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz#9cbe46266b6c79d8c6e99840755682e2262d3543" + integrity sha512-dHyuazv3P3j1Xyv7pdwTwAvxWab2pCb0G0Oa6qWQoCc4b1/mRGY00M7AvYW1cPuUijj9zYAf1HmXfM6MifaMlA== dependencies: - "@types/fs-extra" "^9.0.1" + "@types/fs-extra" "^9.0.7" bluebird-lst "^1.0.9" - builder-util "22.9.1" - builder-util-runtime "8.7.2" + builder-util "22.10.5" + builder-util-runtime "8.7.3" chalk "^4.1.0" - fs-extra "^9.0.1" + fs-extra "^9.1.0" lazy-val "^1.0.4" - mime "^2.4.6" + mime "^2.5.0" electron-to-chromium@^1.3.649: version "1.3.673" @@ -1283,6 +1447,11 @@ envinfo@^7.7.3: resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.4.tgz#c6311cdd38a0e86808c1c9343f667e4267c4a320" integrity sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ== +errlop@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz#8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b" + integrity sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ== + errno@^0.1.3: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" @@ -1473,6 +1642,11 @@ extract-zip@^1.0.3: mkdirp "^0.5.4" yauzl "^2.10.0" +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + fast-deep-equal@^3.1.1: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -1575,7 +1749,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.1: +fs-extra@^9.0.1, fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -1644,7 +1818,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.1.3: +glob@^7.1.3, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -1669,12 +1843,12 @@ global-agent@^2.0.2: semver "^7.3.2" serialize-error "^7.0.1" -global-dirs@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" - integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== +global-dirs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" + integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== dependencies: - ini "1.3.7" + ini "2.0.0" global-tunnel-ng@^2.7.1: version "2.7.1" @@ -1734,6 +1908,11 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -1761,18 +1940,20 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -hosted-git-info@^3.0.5: +hosted-git-info@^3.0.8: version "3.0.8" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== dependencies: lru-cache "^6.0.0" +hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + dependencies: + lru-cache "^6.0.0" + html-minifier-terser@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" @@ -1820,6 +2001,14 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +iconv-corefoundation@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz#90596d444a579aeb109f5ca113f6bb665a41be2b" + integrity sha512-hI4m7udfV04OcjleOmDaR4gwXnH4xumxN+ZmywHDiKf2CmAzsT9SVYe7Y4pdnQbyZfXwAQyrElykbE5PrPRfmQ== + dependencies: + cli-truncate "^1.1.0" + node-addon-api "^1.6.3" + iconv-lite@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" @@ -1832,6 +2021,11 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -1886,10 +2080,10 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.4, ini@~1.3.0: version "1.3.8" @@ -1937,18 +2131,18 @@ is-glob@^4.0.0, is-glob@^4.0.1: dependencies: is-extglob "^2.1.1" -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" + global-dirs "^3.0.0" + is-path-inside "^3.0.2" -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== +is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== is-number@^7.0.0: version "7.0.0" @@ -1960,10 +2154,10 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-inside@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz#f5220fc82a3e233757291dddc9c5877f2a1f3017" - integrity sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-object@^2.0.4: version "2.0.4" @@ -1992,11 +2186,6 @@ isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= -isbinaryfile@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz#edcb62b224e2b4710830b67498c8e4e5a4d2610b" - integrity sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -2007,6 +2196,15 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +istextorbinary@^5.12.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-5.12.0.tgz#2f84777838668fdf524c305a2363d6057aaeec84" + integrity sha512-wLDRWD7qpNTYubk04+q3en1+XZGS4vYWK0+SxNSXJLaITMMEK+J3o/TlOMyULeH1qozVZ9uUkKcyMA8odyxz8w== + dependencies: + binaryextensions "^4.15.0" + editions "^6.1.0" + textextensions "^5.11.0" + jake@^10.6.1: version "10.8.2" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" @@ -2039,6 +2237,13 @@ js-yaml@^3.13.1, js-yaml@^3.14.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + json-buffer@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" @@ -2104,7 +2309,7 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -latest-version@^5.0.0: +latest-version@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== @@ -2236,7 +2441,7 @@ mime-types@^2.1.27: dependencies: mime-db "1.46.0" -mime@^2.4.6: +mime@^2.5.0: version "2.5.2" resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== @@ -2251,7 +2456,7 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -2303,19 +2508,24 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-addon-api@^1.6.3: + version "1.7.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" + integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== + node-releases@^1.1.70: version "1.1.71" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== +normalize-package-data@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" + integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" + hosted-git-info "^4.0.1" + resolve "^1.20.0" + semver "^7.3.4" validate-npm-package-license "^3.0.1" normalize-url@^4.1.0: @@ -2487,6 +2697,15 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +plist@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.2.tgz#74bbf011124b90421c22d15779cee60060ba95bc" + integrity sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ== + dependencies: + base64-js "^1.5.1" + xmlbuilder "^9.0.7" + xmldom "^0.5.0" + png2icons@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" @@ -2607,7 +2826,7 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -pupa@^2.0.1: +pupa@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== @@ -2738,7 +2957,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.10.0, resolve@^1.9.0: +resolve@^1.20.0, resolve@^1.9.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -2846,11 +3065,6 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5": - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -2906,6 +3120,13 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slice-ansi@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== + dependencies: + is-fullwidth-code-point "^2.0.0" + slice-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" @@ -2915,6 +3136,11 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +smart-buffer@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" + integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== + source-list-map@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -2979,6 +3205,14 @@ stat-mode@^1.0.0: resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== +string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string-width@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -3018,6 +3252,13 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + strip-ansi@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" @@ -3104,11 +3345,6 @@ temp-file@^3.3.7: async-exit-hook "^2.0.1" fs-extra "^8.1.0" -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - terser-webpack-plugin@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" @@ -3144,6 +3380,11 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +textextensions@^5.11.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-5.12.0.tgz#b908120b5c1bd4bb9eba41423d75b176011ab68a" + integrity sha512-IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w== + to-readable-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" @@ -3220,6 +3461,11 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -3264,22 +3510,23 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -update-notifier@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" - integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== +update-notifier@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" + integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== dependencies: - boxen "^4.2.0" - chalk "^3.0.0" + boxen "^5.0.0" + chalk "^4.1.0" configstore "^5.0.1" has-yarn "^2.1.0" import-lazy "^2.1.0" is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" + is-installed-globally "^0.4.0" + is-npm "^5.0.0" is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" + latest-version "^5.1.0" + pupa "^2.1.1" + semver "^7.3.4" semver-diff "^3.1.1" xdg-basedir "^4.0.0" @@ -3330,6 +3577,27 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +verror@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +version-compare@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/version-compare/-/version-compare-1.1.0.tgz#7b3e67e7e6cec5c72d9c9e586f8854e419ade17c" + integrity sha512-zVKtPOJTC9x23lzS4+4D7J+drq80BXVYAmObnr5zqxxFVH7OffJ1lJlAS7LYsQNV56jx/wtbw0UV7XHLrvd6kQ== + +version-range@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/version-range/-/version-range-1.1.0.tgz#1c233064202ee742afc9d56e21da3b2e15260acf" + integrity sha512-R1Ggfg2EXamrnrV3TkZ6yBNgITDbclB3viwSjbZ3+eK0VVNK4ajkYJTnDz5N0bIMYDtK9MUBvXJUnKO5RWWJ6w== + dependencies: + version-compare "^1.0.0" + watchpack@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" @@ -3461,6 +3729,21 @@ xdg-basedir@^4.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== +xmlbuilder@>=11.0.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== + +xmlbuilder@^9.0.7: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + +xmldom@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e" + integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA== + y18n@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" @@ -3476,7 +3759,7 @@ yargs-parser@^20.2.2: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== -yargs@^16.0.3: +yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== From cecbcf0b26473bfbed4cf63860e8a784a9b323c7 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 1 Apr 2021 01:07:10 +0000 Subject: [PATCH 308/385] Restyled by clang-format --- electron-builder.js | 51 +++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index 213d5f59..cd5b8ad4 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,36 +1,33 @@ module.exports = { - appId: "pw.electron.android-messages", - artifactName: "${productName}-v${version}-${os}-${arch}.${ext}", - productName: "AndroidMessages", - copyright: "Copyright 2020 Kyle Rosenberg", - files: ["app/**/*", "resources/**/*"], - directories: { - buildResources: "resources", - output: "dist", + appId : "pw.electron.android-messages", + artifactName : "${productName}-v${version}-${os}-${arch}.${ext}", + productName : "AndroidMessages", + copyright : "Copyright 2020 Kyle Rosenberg", + files : [ "app/**/*", "resources/**/*" ], + directories : { + buildResources : "resources", + output : "dist", }, - linux: { - target: ["AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip"], - executableName: "AndroidMessages", - category: "Internet", - desktop: { - StartupWMClass: "android-messages-desktop", + linux : { + target : [ "AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip" ], + executableName : "AndroidMessages", + category : "Internet", + desktop : { + StartupWMClass : "android-messages-desktop", }, }, - win: { - target: ["nsis", "portable"], + win : { + target : [ "nsis", "portable" ], }, - mac: { - category: "public.app-category.social-networking", - target: { - target: "default", - arch: "universal" - } + mac : { + category : "public.app-category.social-networking", + target : {target : "default", arch : "universal"} }, - portable: { - artifactName: "${productName}-v${version}-${os}-${arch}.portable.${ext}", + portable : { + artifactName : "${productName}-v${version}-${os}-${arch}.portable.${ext}", }, - nsis: { - allowToChangeInstallationDirectory: true, - oneClick: false, + nsis : { + allowToChangeInstallationDirectory : true, + oneClick : false, }, }; From 404cd9ef79efba772574bc9a46469ea580c9baeb Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Thu, 1 Apr 2021 01:07:15 +0000 Subject: [PATCH 309/385] Restyled by prettier --- electron-builder.js | 48 ++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index cd5b8ad4..b9662530 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,33 +1,33 @@ module.exports = { - appId : "pw.electron.android-messages", - artifactName : "${productName}-v${version}-${os}-${arch}.${ext}", - productName : "AndroidMessages", - copyright : "Copyright 2020 Kyle Rosenberg", - files : [ "app/**/*", "resources/**/*" ], - directories : { - buildResources : "resources", - output : "dist", + appId: "pw.electron.android-messages", + artifactName: "${productName}-v${version}-${os}-${arch}.${ext}", + productName: "AndroidMessages", + copyright: "Copyright 2020 Kyle Rosenberg", + files: ["app/**/*", "resources/**/*"], + directories: { + buildResources: "resources", + output: "dist", }, - linux : { - target : [ "AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip" ], - executableName : "AndroidMessages", - category : "Internet", - desktop : { - StartupWMClass : "android-messages-desktop", + linux: { + target: ["AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip"], + executableName: "AndroidMessages", + category: "Internet", + desktop: { + StartupWMClass: "android-messages-desktop", }, }, - win : { - target : [ "nsis", "portable" ], + win: { + target: ["nsis", "portable"], }, - mac : { - category : "public.app-category.social-networking", - target : {target : "default", arch : "universal"} + mac: { + category: "public.app-category.social-networking", + target: { target: "default", arch: "universal" }, }, - portable : { - artifactName : "${productName}-v${version}-${os}-${arch}.portable.${ext}", + portable: { + artifactName: "${productName}-v${version}-${os}-${arch}.portable.${ext}", }, - nsis : { - allowToChangeInstallationDirectory : true, - oneClick : false, + nsis: { + allowToChangeInstallationDirectory: true, + oneClick: false, }, }; From 582253fb066ad46a11082d0878cd2515be70498b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 6 Apr 2021 03:07:29 -0400 Subject: [PATCH 310/385] downscaled the icon to match specifications https://web.archive.org/web/20210210071004/https://iconhandbook.co.uk/reference/chart/osx/ Closes #334 --- resources/tray/icon_macTemplate.png | Bin 424 -> 503 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/tray/icon_macTemplate.png b/resources/tray/icon_macTemplate.png index 211082d02c947138f4a25672640caf2a5e238be5..e74274cb9dfa0b622fbad8deb0bd49e4537dd888 100644 GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0vp^Vj#@H0wnYHF4+L2SkfJR9T^xl_H+M9WCijSl0AZa z85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP=YDR+ueoXe|!I#{Xiaj ziKnkC`%@M+b~dZ?>o@HVScgiqkh4|jpwYaR=GAOd}*Fvb*ppQ^5rfPFC;qzSG~RX>DXFx%#KQPc=&W-sF&sfGJ0p=FR0)T5snfEo)!c zkv=`{RBOG{|}X~`}cLN*WZtc`x*JOS2~*L?t1_X3e^(Vh?11Vl2ohYqEsNo zU}RuqsB2)PYh)N=U}0qlL?+q>237_JOJC;#BLqo9ZhlH;S|z#$GoT)b2HyMqRzM95 Mp00i_>zopr00kYrI{*Lx literal 424 zcmV;Z0ayNsP)sNz+wOk_6)Y8yCedyss7Q)RY{1zfwh+e@F(wznm&)|;4x*P8-e>o;Ls}r zz@4Wp7vZl;U=omZTT27o2|xp*0Qs;{r&MLjX~%(sE*NJ3x~|70jOeof z0Mdb&wh*IPVr?JbcT0kSA0E>fp(z*qF=){5)|U0PkZ4&*0W0xQS27BevW##aDwVcV z(4ga=i;|YCt14XZ9JaCFGG$L*b#~iG6%_HN2a;6`%KUNu= SIA=cq0000 Date: Tue, 6 Apr 2021 03:41:47 -0400 Subject: [PATCH 311/385] Changed iconography over to new icons All credit goes to @ceiphr for creating them for the project. Thanks a lot. --- resources/blue_icon.svg | 73 +++++++++++++++++++++++++++++ resources/icon.icns | Bin 153724 -> 49685 bytes resources/icon.ico | Bin 31160 -> 4286 bytes resources/icons/1024x1024.png | Bin 41493 -> 18316 bytes resources/icons/128x128.png | Bin 3747 -> 2013 bytes resources/icons/16x16.png | Bin 609 -> 407 bytes resources/icons/24x24.png | Bin 824 -> 552 bytes resources/icons/256x256.png | Bin 7655 -> 4010 bytes resources/icons/32x32.png | Bin 1031 -> 663 bytes resources/icons/48x48.png | Bin 1362 -> 881 bytes resources/icons/512x512.png | Bin 29141 -> 8218 bytes resources/icons/64x64.png | Bin 1864 -> 1104 bytes resources/tray/icon.png | Bin 1031 -> 663 bytes resources/tray/unread_icon.ico | Bin 33820 -> 0 bytes resources/tray/unread_icon.png | Bin 1372 -> 711 bytes resources/unread_blue_icon.svg | 82 +++++++++++++++++++++++++++++++++ 16 files changed, 155 insertions(+) create mode 100644 resources/blue_icon.svg delete mode 100644 resources/tray/unread_icon.ico create mode 100644 resources/unread_blue_icon.svg diff --git a/resources/blue_icon.svg b/resources/blue_icon.svg new file mode 100644 index 00000000..db754625 --- /dev/null +++ b/resources/blue_icon.svg @@ -0,0 +1,73 @@ + + + + + + image/svg+xml + + Messages + + + + + + Messages + + + + + diff --git a/resources/icon.icns b/resources/icon.icns index 74ad5c0ebcc51bdba47843f4419bf322ef8c2041..d7211de7069982ebe0e01254cc6ef090682e3a86 100644 GIT binary patch literal 49685 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 z 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 diff --git a/resources/icon.ico b/resources/icon.ico index dbac72b44b0b489de0c89c5a654a1a50c1ce1000..41d84196a350e75a350dd792ace52d14b16bb89d 100644 GIT binary patch literal 4286 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%0Aamfx< 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
cybb(+Hm>=FF4MW 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 P1p|YptDnm{r-UW|xV6en diff --git a/resources/icons/128x128.png b/resources/icons/128x128.png index 5476e3bad8dbe712daf261debc1be9a9b560a567..982a32cf6776a8727574135c3a604a3a0530db66 100644 GIT binary patch delta 1999 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 literal 3747 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 R{SR9J7#f)Bm+CrG{{y`ixH$j- diff --git a/resources/icons/16x16.png b/resources/icons/16x16.png index 49906cef81c82203738dd81ac41ad2bcd4c421e2..e72b58d17673d77f8a680c9d84c640c5434175a7 100644 GIT binary patch delta 392 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 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+0817l2pPlzi}fmHDe+M(^| z-`{!q;pXEH+s?fYn)0f7`K^y1KfZhaF>Kmv>C7t!&Od$m=F^VzUmraGwBpDssp98W zrDtBgdH?#|$44(d-F^D$j;|!_(JaJbwA<(*4i3pM1Lc`16$qpU>a@ z{PfkQi+A3fzW(z1!_OD)et!M-` znLOgbf%ckloI|LW5Mw1D9&UlQaO3=HPn)i*xeUSqKS&tHy7lcmqgJm9=w zl(Y6D*G0pd>ufnD$O4rzCV9KN6gzU-o&$2&OFVsD*`Khn@=2Q7ZQ3>+C|&F6;uvCa zdhO)!@Iwv)t(t8@&75}|c3s<=(Av=@6=<*`fwB7i-rxV_?>K2Ku&bE=>`a|?dU@Kq zv)}kPtuC^dEg@d8)7GzjnlVG%Hpvx_BG!w3*jjKvqwo7nhJ*ZTK5?@t2(WDBVlz%ru&N~c9oom zVw_ItYp*=S#T4clbcEqT!<#56v8j_{Tn<>Bou!?VX-VC& zn6c*@H$&OQw_Zy6-cR?|vdFyH-x2gc;P0aqAv!Xr)g@Wxys8y=p>gh9;IBtU?$V{D zzE+YK(i)`-i>u4yuO5DUd9xjN=`8*A`R_w(Yw9GI|9owCBbnDs>)Z3WF43~nDY!Z=E?ubmdmLZ_Ad)vMkzt_|e(xGB5hW>!C8<`) zMX5lF!N|bKK-a)b*T6Ky(8S8f)XLOQ+rYrez~EV}j}wZ9-29Zxv`X9>rYn5;2h_me M>FVdQ&MBb@0GM&|q5uE@ diff --git a/resources/icons/48x48.png b/resources/icons/48x48.png index e2b120662487758a0246fb760ad60a004434bae2..79b94056d6408190886d24f9b307ff0a6fa0e920 100644 GIT binary patch delta 869 zcmV-r1DgEO3h@Sz8Gi-<00374`G)`i010qNS#tmY1E&B01E&Ezl(`rH000?uMObuG zZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0000EbVXQnRB3cNN+P@5pEaM7QI5xCJHFfbQlU{H}@s5LXr6gtl2IP;$GomL7nbKmpbdGki1 z_gl@JbC~;m_nvz>1Gu=jxVX6d!?65-+!b!p$m87%F#v!HBCn>-|Gd|5f1R;1+fi5sVCQ0pu3UJ{6avF{3Q z52TP?rJP(O)KH+8YXAV`tFaM)j^@YTb#Fs+1NT0al#BgK7@W*~J$VL3B8dI)_?ll`!&6LEmWF(p?ia@Zg*u`*%7! zte$Aug1H3^Z@*+WtQBsdshC!jC=oI$VQ#_NI>IN=^>PUV6Dw%i>P!n|RKnP_ig3aq z1DXzuOew;`oZ|m`h5SB-(+8{Iud?S|)d|C&vwxWRZSPJA8|dq(!;#&UwiaEZ^JEQL z@BBh4Q~Ycqyp2^})9FJ9uLtl*_I^+J1kOKApuNp!dlp*G5?+7IU@>iPBoQ_cPwMC$ zUbeMpk#PIWyoDrMbVN#V#Cbte0|aT(87)OX_`nOB8elcr5Dc7`8)EDcFK%ie5|q;n zbY9&VN!DSY{%9yL#LI2?jD|yv&xqj`IDaq8#1o(L=Ymnv@*~{X89B_Pipv1C0W44& vZAMUxfyQ;v<7h~J@9bJGE-o%EE}O_-d*kRIUHpmc00000NkvXXu0mjfSUrwH literal 1362 zcmc(de^AnQ7{@>U`f8DAzYgVeks8@VM~2xr>%efp{E;FBIx;NnhuLYx>gw7hW@+it znk(mV7wuXRF=y@cG~G%5AWS4QO(aMRA&?)+m+$m+-5UM5Klbe)ujjd% zokb5`iCqZ*2xc;9EUywjb&#KT^7Sj)yyAa^nn?xVaXsooVSv};4l!7n0G!7IP*DZI zvUgQs1>jpRILils+ynroT=X<21puF+>X^(OGJ*=2O`d=dk zGu$(3k1JD~tS-CLJv!x?vcU2&WYXku&bc*u$Iyh;YKI3V5RJiOvccMSo*^AFX7s$! zAtP@+&$Y;`(>?MjW_vZ|F}{a~^&W@I{mu&O&G36Wta^jIG2ds%;Y zsXqMhXxM>)FrGZDpf9}mCAR$C$B!S;8^k%@a}orstXu$4^ee5eol6X#hYKuCcJxz@ zn_Jb`RGkNpNEV+=IGDLzG5Oy}SGkt8OG6ieyqwR$bULl+%m}p0YXSw#%(TE6C;%P) zWwQTrHvqmFOd6HVcz%d4_T$q6GE@XvsUsr7Q7R*dGLGI1!*=ZGJSS)XA<3IDyMntf zki#nKH#~rRsF5;CHt2#j7Dh%;xc;?JLQZ4~r4hB??{*Wq0H?lupPE_?8YttqpLd5c zqK=1#;$_sY0rQd=y_ynwSIDW3m7`wC2k0W`Sb_vP9CUyag3=@tX;x!ZNrSNb`?|-z zYjZoG@EQo87c`-Y=t85?o1i>=DMR(o9yO5%U^x#mBJ)t-_kxG+>%^uY|yld%YUm;N{%*AR`G-> z+)KVu`h!&XFwaSl79MTN;A~eQQ5l#x4*HN$E%Z4Ka1yX#In*? zu8HRL?o9twO|2 z@#sf5XZL)OXtm!Vu8yva!uam{0l$X|U+a3o>MPhHjWq@BSuYxIxk%yNuL-0Vm3ejvYSt-@t7g^0yZN%(N_8ODezeA0zdW>Hq)$ diff --git a/resources/icons/512x512.png b/resources/icons/512x512.png index a960bf4ca8870e7c9f03f34d8933d2c5678fda2d..b3d0b8ca5b38061dfd90429b5881249c492db48c 100644 GIT binary patch literal 8218 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 literal 29141 zcmd2?g;!MF*S<4!cXxLSQqr9Q(jg^{(jbj=hZ52ujkHRKG@^tc7{JgVNJvWl&b(`V z|HHRtErxsN-h0m3=Q;cA{p{z)Kh#mh!=}cDAP7%gO-Ubu;NV|4gozHmP6B2x!56Bd zytX_9HKpQQ+n|ACMmsfqZ3qfvhoJB%2tr;Gz70XXf)MoE8iFKqAc(>vze7(N{D5w& zsj39sAwR|4l`kR4V^3X4{!ze>Ki&R5wDYewwUy1A?Z@PaABvobf1XJBx*y=@_oZ<0 znekb`q?rT<_owmx=0{TR?O&o2d{RW-75xGXQKGT>+GAoZOo9TDnv2hu7qaUoM zJ2L3z8DzKv^k>Vh|HAxQ?pj=~i@K-oI;~Fb_D61(H|B2-{9fO6{(Vj4mHQAP%(%{H z85>V!HT_r4%5#1ZaVn5e$9sn2k;lq|qW8k@Ayt~a@=@41@m-77k?c=_o5?`@A}J

5gVGf}ZE{deRDXH}BTpEAx)-2sMHb8&V+7 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%0A+W^tVE2j%&)U+&p%|vd9cx}P|SqR)K?Qf zGBkS@#U>MYx5iW&d@S@&;=6}N013uU^n-k7*bdwS5?Sz#L)~!f&a$|v^}oR@a15)} zW>w}_juI*R$zf`3J#-x=P2PF19WslyMC-o$2*xoo4>@7>iGVXh*-`jlc@Oy8ynl2I zjlSjMw)=)Q^+HgZDzC*&9<*x`aOo9J5S_ehMT0pw1}v_35j<5 z{XDtZcDFztsy zVsW>{g-u?pp5MNR_%ApI7DJIhkV{k|-nPx}K|119LZ_+&j!2C6xkV*teO4kFB4v>a z-SjV#ko6k^lN8I?#t0|4(!Af@h6CE6Q zk3ryy!|b6)Oi7+e$g+S_iv$Azc3&*X&K*PE^Q_}~{?zvcMcr(#>Tr^gH}nh^e0_Q| z-5#Zvj%)#NwZQ?^fJUw*ZCH2E;t&Gi0N^FEBco@k!@i9H^u)ZMi_VO+>h@GnQN)s{Zy>fvic#PRS-_yHw(bQTI%rh>b zMCr}Ii^FdB!Y>UAFnr<_ho3s|j)d%a4t~bWF3<6^Gu7XNh`Su%_~p{cN)|lNNzF`u zz+!ilB#J)^=YppnDzH+GcvNL^6?7zY(T_RBw&$p(0dOC{AM~>eQ5Zcn&V9W!lIz(! z-ir$n6c`#fG|?h{XkeHnn}1Z-C8D|=<^X=n`}Pvwo}U)FS}g2BR>Id$2r?OBq zie{o`@dTvB3ru&KBrxonIb>>G1kV5>hOcHXTokbBeEpP<+8gbiPf1I6y;G1;vt?zh zF-A@9tMibw%U>EPT(TG%zo|{BvmxT&*6oI_Q71)i(1Yiegpn%LyoKTEo13oZ6~hd4 zf^`?%bLyf8?wfGYQ)fLpxVz-|I~tTvJ$4>Z?9>kB!o$<=IcUX(yeH*ZdD@`~60%mX zCY;a8&IQ*sINz<^wD6?pxHg!F5Cy#i+lWY}p?Ikc)*Zi5vQ7)A@R|RQb=@juQJVCh zbscZ$a@;A@;QtR!eyJg^{!ys0t_`X!O}X~qgeZB<$o87srEBi$u7U3G4@yy9QT~X$ z@)3EZa|*}R6_wPL6lCS))#c@XMV{3EzrJwQ&+W?P>;LaBMzCV_|S*E^l&Yo9;Xs0000EbVXQnRB3cP5jGN~6?PVG%J=TNg#_MNko>APt3Htflo-5b+QXDM+=kCfR12FUU5VYw(RO@~`G3^JK+jCjr7H~R>CZnPmHNH$3S*@Je3(n7J|-iiU$V90lPijV(j+V{ zlE6T^kUzcSz~xrItXS@DXLVc%ATD&|{bdo3hlB`<~xMk~YU|x%)_<1GWpWjz2 zVU+>bKTGA6U{If?m{IDTTH#d&0JL^2W`R*Hg5u}Vo_~X5o4kTm4fs2=ZAl^e^=XQg z7Ac%vo(7WB?;rndboK@Qj?YI*DnyPSSxJ0Q^eSj&!-CpZG z4FHf*9k47hTr2O5$2Rcp(;Y$eYUAbJGS7W6i>%^-rDVcuUDXn}$z-;BM4`T_mGkU_ zzN0o4_J7=Kvt^U#eR@*U0Dy$790feLmgg>&LSIw|mvR-x=iJciYL)=Ncy`NdcmL!E zLXoW&&z@UgWTHavcBd&lKuWlLy}}Q_E#mrad{^UZ06;}pCv7FG8lV)M9Vu~kWNkbN zVeu^i0I{sr`}YG+0vYgsCQu3Z(b*>0-ECusZ-2rK;p&XbKeOQ*AT+>$C+=_M#ETp0 zXpO%C-b5+*`eKpyP8UM2ja&i;_ibqE%>xJlulBW*zC*)4z>h1_^*wrxX09liTL?b~ zBbUI@p?PL*NcL{EX=!2)`273=i{ti%5fC@BVN#RD5K@k!S(@J&=fF>~@-w(G}Q3E}nu zN%+U7e7aSO5S3 M07*qoM6N<$f_;wu5dZ)H literal 1864 zcmds$=~t6?7RP^JSSA$}1R+6&pvbO9EIJLKfFMl;M2J$02q=hD0kMEfi=+ybDpa(C zS`(Nkimh!?K!(j|SR^2X5S9?K60$&6$n!jj(~M#>FXzSl19Q&3_j|tg+|PY=@Arub zu?}b~8UWxx{4_erq7nZ|`xTa2*Z!^6BB-3m_(%YnZ+!GF)5hX)$3IPq2jHR)0OWE2 z%$62;0f1sW0O||?2zLQ+Jwxp}5C(wt-xK3VF_r=BR}25IL4BnYDwep?rM6N1H@|6v zN>yTo-e54uRffzu&6l;4`bEQ`+Zs&n^n)%jM+|p!jJ!FRE7fl}x8Rq@7Rj`|Q^<3c z@qVvKq<}K1YHXn*?fRHX3ylh4i4yAK7{yAcj=q37#sB4%WI+qDgzzvQ846QK zoo$q>p%)zEhyc+o8kjtUD}_79j2xl%C3}8g8kwAhe;+bU&BCvz5t#~Ni{Pdq)7%0y zI}hpfhF6maV-nHm4D%YOZweWlK^kA1SOWOk^M4KT5$OV?)Ij4BSg3#|#JVR;)8djr zAcuvrMY#(4bI?vhxPl#mR7ZFmW_e-0XWcz#WG zhtVO7uxo=sMC^bGpmT46D@2pJ_eUXq7I+XBiRx%~$*$T&BMj zcb8Rr^1NFMONa?S)Hl2pyex%7C+1(4=$1cntasL>5jwg$lht}|bMm|ioqx-lcKzyO zSC^sTi9SI-`NmUE#UOi{xrJO7fvZi-AeT`(njjwPOVYm+Wygi~T3J@N3l7jwA ztt~=I3Vo>cx3O<138-3a|F|TOYG;3tzdF%m_E^KA5NI{_sS#P8>YA=tKIlrabMdx~ zzVHcp>6(+3IqB-u4I5OThaJk413b!S<^JRM2zlm}j$V9p<@YYfwtM}0xb<+v=_(sM zV?AZ#>WDW-ZsQr&ZYNhg8g0$J*_hy3%1&p1FczpNc5vO|v?4gzb*rPz?Uq1{KOk{= zEsA4gpMBjMC=S16F=Yfjn(WkNBp5Bum?pBwWIk*DsDCaa)8H^Qyt-M0l?3W+{Uyb#L#-Ta2-%JsXA5t9p6ujvF=G60q@61GfC^_<_$T zx?zWTxSHBnB?>h{h5_Nm%eM9cRs_aklLG!ci^ z`uh0Bs|ANQrJi4wnQcMzCV_|S*E^l&Yo9;Xs0000EbVXQnRB3crNJnd_ba5$UkU|GR&^kDjf}={YMQtLswlP22B;MoF=qpLc>ua)TKGVJD-gm#> zd(OM}LXRH*J5q1h$=n6tbmtXREyHTO5PP-!SgK78oVmT#w_B_Ha2o0YA1sl}pVP5- z&Y%UbIyta|$bWnn#R1M5)y2e}wf+VJ0H$Wff!!{fuzyvibM&e)9B9^DMSCu(Dod=%k;J$N%tq!LYVj zYdPL_+0;UT)I!0Vx(hs>?#|IR15;P}xHuAaeGz4M4A+cbd|6*=Shs9pZ_K z1R>~m|9?S42CQR7`Fjm8HoHwUB={_Mix&3`wbrMuy@6ahUK~tjH-QuNSYc1W>FOw` zW}V%pB~avLXVe-I)l6FhMsys=cU)bW{_@a1u(_6njo;ijZ;7N3MnM8c(G~Qg5vDiN ku_quMs%4KJ{|dhWivyo1OQa6B00000NkvXXt^-0~f~piO2mk;8 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+0817l2pPlzi}fmHDe+M(^| z-`{!q;pXEH+s?fYn)0f7`K^y1KfZhaF>Kmv>C7t!&Od$m=F^VzUmraGwBpDssp98W zrDtBgdH?#|$44(d-F^D$j;|!_(JaJbwA<(*4i3pM1Lc`16$qpU>a@ z{PfkQi+A3fzW(z1!_OD)et!M-` znLOgbf%ckloI|LW5Mw1D9&UlQaO3=HPn)i*xeUSqKS&tHy7lcmqgJm9=w zl(Y6D*G0pd>ufnD$O4rzCV9KN6gzU-o&$2&OFVsD*`Khn@=2Q7ZQ3>+C|&F6;uvCa zdhO)!@Iwv)t(t8@&75}|c3s<=(Av=@6=<*`fwB7i-rxV_?>K2Ku&bE=>`a|?dU@Kq zv)}kPtuC^dEg@d8)7GzjnlVG%Hpvx_BG!w3*jjKvqwo7nhJ*ZTK5?@t2(WDBVlz%ru&N~c9oom zVw_ItYp*=S#T4clbcEqT!<#56v8j_{Tn<>Bou!?VX-VC& zn6c*@H$&OQw_Zy6-cR?|vdFyH-x2gc;P0aqAv!Xr)g@Wxys8y=p>gh9;IBtU?$V{D zzE+YK(i)`-i>u4yuO5DUd9xjN=`8*A`R_w(Yw9GI|9owCBbnDs>)Z3WF43~nDY!Z=E?ubmdmLZ_Ad)vMkzt_|e(xGB5hW>!C8<`) zMX5lF!N|bKK-a)b*T6Ky(8S8f)XLOQ+rYrez~EV}j}wZ9-29Zxv`X9>rYn5;2h_me M>FVdQ&MBb@0GM&|q5uE@ diff --git a/resources/tray/unread_icon.ico b/resources/tray/unread_icon.ico deleted file mode 100644 index bdb8004de86d6135bb9813f53d3f7eef15b6f364..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33820 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 Q^7X(`duO{2l7Gto0f`?C`Tzg` diff --git a/resources/tray/unread_icon.png b/resources/tray/unread_icon.png index 5c8454ffd58daa76c44ba2b6031a351f7f2045d2..ed259b2bd87cbc9893ff9ff83ced5de995dbe62e 100644 GIT binary patch delta 688 zcmV;h0#E(i3daSIBYyx1a7bBm0007S0007S0cE)v1ONa48FWQhbW?9;ba!ELWdL_~ zcP?peYja~^aAhuUa%Y?FJQ@H101k9TSaeirbZlh+O=WX)VP|D?fr6_>0006yNklg(UK=oO9qtR~3{?}30q21m zI>7$Eh0sd5G=BxuPTV#=^Oses3qS+-JiKQKr6#-<2YBCc$SU<}-2i}DHhX~;uMG?y zyUuc;tu~wn?n6z>BUg<*rk6@`-Ukbsxgzs6? zy@82KyXol)xKsa2e`=Y#PdD$Pt%28H*XZidX>$1;{>+)o%$F_mwq=JVa|})9+^IXj z<>~eg+kXy>o(*xTyV>zYWGtCn9AD(+%$lS5wq;wJ6}~O}qJjYk=+0lL>wwl`3jeMF zF5Fq9wMpUAoE6Qlnv|_ioxOp%L^vOf8}mSWC6-$isCKm-M2za;rduGW$KI&bqeN1+ z223TrK-P10VeH#TWW(YtH#U4__MoQJ5Q-j9{weL~D&&)?7@JLW-Uj8-UN&g(zwjFe W6ddBYy=WNklUzxw_A%uESyVu-k=sS>%aV9aRLG0F5vF`*aWl!p%V8r zFbez%e4NduK0A2)>5Wmx-JwJ_2{^!z!M>R@<`qF^Rv&!7GJyba6nGGL6u1^p)nv>d zxsCA?y?X}tHh*~mr zf&+v^WLxjZxz3Q%#X$q$HvsPe_W^FTza>k{CFe*zAcoR08A&DEq)Wq%|D$Qtuw&*b>IzNt96WcH5$ zj|0kDFc$0;43y@)sw0|?(VdGC!l1BNU>x`C#pKkJn>$yXzU|OQb0q*)0^0${T3Fg3 ztZJ*OO%%`H!sry7RqgC%Grz@;a&xMm8tZW?(!rtVhN+X0uKtM4Fr3Z6@@!Fv*6Vn;AmqrQXbOh0^r~HY&4Rac($8RzKC`*o$E*L9}&nQ9~B7t}9QDNIH4)@>apmhidN3o$OTDvIFz!o4JBybJ> zS})A%a=L~+U(GNaOH-PJ*`L#C=#MFe;tC4|KYwFEE4X8wranTx`bBxV9>1j*2y_F@ zK@Y7Jzh8>5@5p2kcq%Ilj4K9Wim(IAn+=zzgfo{F7ZZZ9b6RMwg<7{ljbJJMeo`Q? z96vQh=BY6Ki7>{@MHop4^?&xQS7fS~ zmwyt7Ck02rvStewL@cSSpi8>SBKmC%W?+5`1QCId1BsN-(P+r#;Pj{;BIEhBZ>+I? zF9>{N7YIK~AigLOz!;cJ2~D+@!EuEMtZVlG!PT&&){-;D;0q)n5iG$V;88&bLHaoZ z6G>rt#3Bw{niO2^Lu5VZ8P>Gc8&fL zCb)HtOKU?}z~bl@&Rop!bsvnGCX_Cd)iGc*FgUccy=XW56L<^%JW#wm-5O3#h3Gkw z0_)8SKD#klRfi5mP`WJlS>Sbi(SH}dA&`X@{G-^N^Fvf)^RE1Tz(YV{XlJ`$<`Rc7 z;2C_8%oDhpQPGY7JIJs9St}5jWt0csj$f;P%YMqoJXL~KoPofL!}#}s&+!}7m0Awi z4{XK1uoQsgVi@%>Y=Kr6-?`*yJU3F@{8UOF>FV&&$ke(v8@c;k- M07*qoM6N<$g3-@=#sB~S diff --git a/resources/unread_blue_icon.svg b/resources/unread_blue_icon.svg new file mode 100644 index 00000000..ba8d1aad --- /dev/null +++ b/resources/unread_blue_icon.svg @@ -0,0 +1,82 @@ + + + + + + image/svg+xml + + Messages + + + + + + Messages + + + + + + From 5748609d276f0f2b27b406543e375ad88f5afe30 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 6 Apr 2021 03:43:05 -0400 Subject: [PATCH 312/385] Bump version for release --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b479bf8..85add1e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## [5.1.0] - 2021-02-26 + +the release of changing things that are broken on macos. also updated color icons to match the monochrome ones. + +## Fixed + +- Downscaled the tray icon for macos +- Build macos as a universal binary instead of x86_64 + ## [5.0.0] - 2021-02-26 This is a release with a lot of changes under the hood along with a lot of interesting new feature for users. diff --git a/package.json b/package.json index e3752dc3..aa42f13f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.0.0", + "version": "5.1.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 294ee69993ba3b3cb5495ea82afcf07e166cdd2d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 6 Apr 2021 03:54:06 -0400 Subject: [PATCH 313/385] i guess the .ico was not high res. that does not get my hopes up for the .icns but i want to go to bed --- resources/icon.icns | Bin 49685 -> 48553 bytes resources/icon.ico | Bin 4286 -> 432254 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/icon.icns b/resources/icon.icns index d7211de7069982ebe0e01254cc6ef090682e3a86..f20b786cba89f28f45d7303e2b821b7f45350bb1 100644 GIT binary patch literal 48553 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 literal 49685 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 z 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 literal 4286 zcmeH}O=uHA6vw9sRuQZhW23c=wvnLTDtJ(-c+!L7Mercrdhp}YXuoU~F$xNTA|eWk zC@Shf5B4hNqV(dSqG&)-v4+i86PlVPX_Dvv?abyw60_OlAearmeUsVQ_kZ(d<|RV3 z;Nx%zzKh2zgs=%ATmW5SC*Xel!n4R;iR@_Jn;H1`GN7GUEfkAkR|0z-wBy}nK=)Z~ zw#GQvZQu#`0DN`u3GaHraj+az41u31SotHD;8w2+P&iPZ&NNvMc0)F>{ zvTLFGJ7B*6^^To1cYAH*-!*)c*lShvop|n-`gRJO+Cbrp+bMi$hbcmyEu@|7Fy>p% zK7j8Qj^WRX`+(Ai_Gk~yzkNp8xd>(BVG~3s6ZuZj+lNRSSXEA&`yK*w`Xk+xn0!Q; zn4dDypC<6rg65-{TL&AU&ufMpjI5{7xnAPDnjv^*vz)h^_l=@-KbV}q)Yk^rQgD1D z1y64>4`SdrbjDqXXN`Fo_CQ zD3|(Wjrm!ceLiMEU*?~47`d{WB3JiVB7Aul1%}tvl7AP@hX(TdC@|DXfuSx-@cz;3 zm*KC%`GcNO`}@&e(Dk7kf8n9j=hxtkC6XUs%JaxI^e^kL^gCgvnVSbFFve#PwLs4QuI4WM{wQtE zeJ_|+V~nwK?FMX!zYe$#71n Date: Tue, 6 Apr 2021 03:54:59 -0400 Subject: [PATCH 314/385] version bump 2 --- CHANGELOG.md | 6 +++++- package.json | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85add1e5..e8704265 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog -## [5.1.0] - 2021-02-26 +## [5.1.1] - 2021-04-06 + +High res ico file. + +## [5.1.0] - 2021-04-06 the release of changing things that are broken on macos. also updated color icons to match the monochrome ones. diff --git a/package.json b/package.json index aa42f13f..e9c6ec2a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.1.0", + "version": "5.1.1", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" @@ -22,7 +22,7 @@ "dist": "yarn build && yarn package", "build": "webpack --mode=production", "build:dev": "webpack --mode=development", - "icons": "png2icons assets/android_messages_desktop_icon.png resources/icon -all -i", + "icons": "png2icons resources/icons/1024x1024.png resources/icon -all -i", "lint": "eslint --fix --ext .ts,.js ./src", "package": "yarn electron-builder --config electron-builder.js" }, From e87c18252b2d4caa46b1724ed7c3add5ae9e3a27 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 29 Sep 2021 18:44:27 -0400 Subject: [PATCH 315/385] reduce frequencey of depenency bump runs --- .github/workflows/dependency-bump.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml index 1cc2591e..665a25e3 100644 --- a/.github/workflows/dependency-bump.yml +++ b/.github/workflows/dependency-bump.yml @@ -2,7 +2,7 @@ name: dependency bump on: schedule: - - cron: "0 0 * * *" + - cron: "0 0 0 * *" workflow_dispatch: jobs: From 0e3fec3fc204db3765e049e7577524b8c652e1d5 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:40:31 -0500 Subject: [PATCH 316/385] Formatting fix --- src/background.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/background.ts b/src/background.ts index 7498649a..fc5279c0 100644 --- a/src/background.ts +++ b/src/background.ts @@ -176,13 +176,15 @@ if (!isFirstInstance) { // block Google collecting data mainWindow.webContents.session.webRequest.onBeforeRequest( { - urls: ["https://messages.google.com/web/jserror?*", "https://play.google.com/log?*", "https://www.google-analytics.com/analytics.js"] + urls: [ + "https://messages.google.com/web/jserror?*", + "https://play.google.com/log?*", + "https://www.google-analytics.com/analytics.js", + ], }, - (details, callback) => - { - callback({cancel: true}); + (details, callback) => { + callback({ cancel: true }); } ); - - });//onready + }); //onready } From c63ed5f3a8e15a3cfa7a797e9cbcb727928f78cf Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:41:39 -0500 Subject: [PATCH 317/385] Extract webpack modules into individial targets --- webpack.config.ts | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/webpack.config.ts b/webpack.config.ts index 16fa17fc..5d001a1d 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -6,7 +6,6 @@ import path from "path"; import merge from "webpack-merge"; const base: Configuration = { - target: "electron-renderer", mode: process.env.NODE_ENV === "development" ? "development" : "production", externals: [nodeExternals()], devtool: "source-map", @@ -38,17 +37,34 @@ const base: Configuration = { ], }; -const app = merge(base, { +const main = merge(base, { + name: "background", + target: "electron-main", + entry: "./src/background.ts", + output: { + filename: "background.js", + path: path.resolve(__dirname, "app"), + }, +}); + +const renderer = merge(base, { name: "app", - entry: { - background: "./src/background.ts", - app: "./src/app.ts", - bridge: "./src/bridge.ts", + target: "electron-renderer", + entry: "./src/app.ts", + output: { + filename: "app.js", + path: path.resolve(__dirname, "app"), }, +}); + +const preload = merge(base, { + name: "bridge", + target: "electron-preload", + entry: "./src/bridge.ts", output: { - filename: "[name].js", + filename: "bridge.js", path: path.resolve(__dirname, "app"), }, }); -export default [app]; +export default [main, renderer, preload]; From f497a2c1aa54ca74ddce641fcf81845e88d916c2 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:42:31 -0500 Subject: [PATCH 318/385] Dont check for updates in dev mode --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index fc5279c0..f34eb156 100644 --- a/src/background.ts +++ b/src/background.ts @@ -84,7 +84,7 @@ if (!isFirstInstance) { }); } - if (checkForUpdateOnLaunchEnabled.value) { + if (checkForUpdateOnLaunchEnabled.value && !IS_DEV) { checkForUpdate(true); } From 1f3bb0631246dd0fd0405c83becbeedf1e76ac36 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:45:07 -0500 Subject: [PATCH 319/385] Remove webview tag and load android messages directly --- src/background.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/background.ts b/src/background.ts index f34eb156..c6ed1347 100644 --- a/src/background.ts +++ b/src/background.ts @@ -124,13 +124,13 @@ if (!isFirstInstance) { }) ); - mainWindow.loadFile(path.resolve(BASE_APP_PATH, "app", "index.html")); - // Quick and dirty way for renderer process to access mainWindow for communication app.mainWindow = mainWindow; app.trayManager = trayManager; app.settings = settings; + mainWindow.loadURL("https://messages.google.com/web/"); + trayManager.startIfEnabled(); let quitViaContext = false; From 88fef605f3db964e04d2bf92f667d143fa14650c Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:45:47 -0500 Subject: [PATCH 320/385] Remove now uneeded files --- src/app.ts | 24 ------------------------ src/index.html | 12 ------------ src/stylesheets/main.css | 20 -------------------- webpack.config.ts | 19 +------------------ 4 files changed, 1 insertion(+), 74 deletions(-) delete mode 100644 src/app.ts delete mode 100644 src/index.html delete mode 100644 src/stylesheets/main.css diff --git a/src/app.ts b/src/app.ts deleted file mode 100644 index 6c008b6f..00000000 --- a/src/app.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { remote, WebviewTag } from "electron"; -import { IS_MAC, IS_DEV } from "./helpers/constants"; -import "./stylesheets/main.css"; - -const app = remote.app; - -const androidMessagesWebview = document.getElementById( - "androidMessagesWebview" -) as WebviewTag; - -androidMessagesWebview.addEventListener("dom-ready", () => { - if (IS_DEV && app.settings?.showBridgeWebtoolsOnLaunch.value) { - androidMessagesWebview.openDevTools(); - } - app.mainWindow?.on("focus", () => { - // Dispatches a focus event for QOL allowing the webview to put our cursor where it belongs - androidMessagesWebview.dispatchEvent(new Event("focus")); - }); - if (IS_MAC) { - androidMessagesWebview.insertCSS( - ".main-nav-header .logo {text-align:center; transform: translateX(10px)}" - ); - } -}); diff --git a/src/index.html b/src/index.html deleted file mode 100644 index 48a5315b..00000000 --- a/src/index.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - Android Messages - - - - - - - diff --git a/src/stylesheets/main.css b/src/stylesheets/main.css deleted file mode 100644 index e00301a5..00000000 --- a/src/stylesheets/main.css +++ /dev/null @@ -1,20 +0,0 @@ -html, -body { - width: 100%; - height: 100%; - margin: 0; - padding: 0; -} - -body { - display: flex; - justify-content: center; - align-items: center; - font-family: sans-serif; - color: #525252; -} - -#androidMessagesWebview { - width: 100%; - height: 100%; -} diff --git a/webpack.config.ts b/webpack.config.ts index 5d001a1d..7b7fc388 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -1,6 +1,5 @@ import { Configuration } from "webpack"; import nodeExternals from "webpack-node-externals"; -import HTMLWebpackPlguin from "html-webpack-plugin"; import process from "process"; import path from "path"; import merge from "webpack-merge"; @@ -29,12 +28,6 @@ const base: Configuration = { resolve: { extensions: [".ts", ".js", ".css"], }, - plugins: [ - new HTMLWebpackPlguin({ - template: "./src/index.html", - inject: false, - }), - ], }; const main = merge(base, { @@ -47,16 +40,6 @@ const main = merge(base, { }, }); -const renderer = merge(base, { - name: "app", - target: "electron-renderer", - entry: "./src/app.ts", - output: { - filename: "app.js", - path: path.resolve(__dirname, "app"), - }, -}); - const preload = merge(base, { name: "bridge", target: "electron-preload", @@ -67,4 +50,4 @@ const preload = merge(base, { }, }); -export default [main, renderer, preload]; +export default [main, preload]; From 0b3518bd2c2665d6196d4b7f9a4445fc24052258 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:46:10 -0500 Subject: [PATCH 321/385] Update webContent preferences to reflect current needs. --- src/background.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index c6ed1347..a7633b19 100644 --- a/src/background.ts +++ b/src/background.ts @@ -105,8 +105,9 @@ if (!isFirstInstance) { : undefined, webPreferences: { nodeIntegration: true, - webviewTag: true, + contextIsolation: false, enableRemoteModule: true, + preload: path.resolve(app.getAppPath(), "bridge.js"), }, }); From cce59de89a117aade3a02bf32c20bc062b0313b6 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:48:22 -0500 Subject: [PATCH 322/385] remove unused settings --- src/helpers/settings.ts | 4 ---- src/menu/devMenu.ts | 9 --------- 2 files changed, 13 deletions(-) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 692ec3fd..d19012bd 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -36,7 +36,6 @@ function createSetting(key: string, initial: T): BehaviorSubject { export interface JsonSettings { trayEnabled: boolean; hideNotificationContentEnabled: boolean; - respectSystemDarkModeEnabled: boolean; startInTrayEnabled: boolean; autoHideMenuEnabled: boolean; seenMinimizeToTrayWarning: boolean; @@ -47,7 +46,6 @@ export interface JsonSettings { monochromeIconEnabled: boolean; showIconsInRecentConversationTrayEnabled: boolean; isUpdate: boolean; - showBridgeWebtoolsOnLaunch: boolean; } // wraps json settings in the setting type for export @@ -69,7 +67,6 @@ type WindowPosition = { const defaultSettings: JsonSettings = { trayEnabled: false, hideNotificationContentEnabled: false, - respectSystemDarkModeEnabled: true, startInTrayEnabled: false, autoHideMenuEnabled: false, seenMinimizeToTrayWarning: false, @@ -80,7 +77,6 @@ const defaultSettings: JsonSettings = { monochromeIconEnabled: true, showIconsInRecentConversationTrayEnabled: true, isUpdate: false, - showBridgeWebtoolsOnLaunch: true, }; // create default settings file if it doesnt exist diff --git a/src/menu/devMenu.ts b/src/menu/devMenu.ts index b8c1596f..bc1e1865 100644 --- a/src/menu/devMenu.ts +++ b/src/menu/devMenu.ts @@ -1,7 +1,4 @@ import { app, MenuItemConstructorOptions } from "electron"; -import { settings } from "../helpers/settings"; - -const { showBridgeWebtoolsOnLaunch } = settings; export const devMenuTemplate: MenuItemConstructorOptions = { label: "&Development", @@ -11,12 +8,6 @@ export const devMenuTemplate: MenuItemConstructorOptions = { accelerator: "CmdOrCtrl+R", click: (): void => app.mainWindow?.webContents.reloadIgnoringCache(), }, - { - label: "Bridge Dev Tools on Launch", - type: "checkbox", - checked: showBridgeWebtoolsOnLaunch.value, - click: (item) => showBridgeWebtoolsOnLaunch.next(item.checked), - }, { label: "App Dev Tools", accelerator: "CmdOrCtrl+Shift+I", From 839970842f43a67d899bdfbbfbf1d0cf977766f4 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:50:28 -0500 Subject: [PATCH 323/385] remove unused constants --- src/helpers/constants.ts | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 90670b4b..256f035a 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -2,22 +2,8 @@ import process from "process"; import path from "path"; import { app } from "electron"; -export const osMap = { - win32: "Windows", - darwin: "macOS", - linux: "Linux", - aix: "AIX", - android: "Android", - freebsd: "FreeBSD", - openbsd: "OpenBSD", - sunos: "SunOS", - cygwin: "CygWin", - netbsd: "NetBSD", -}; - // Operating system const OS_NAME = process.platform; -export const OS_NAME_FRIENDLY = osMap[OS_NAME]; export const IS_WINDOWS = OS_NAME === "win32"; export const IS_MAC = OS_NAME === "darwin"; export const IS_LINUX = OS_NAME === "linux"; @@ -32,9 +18,6 @@ export const SETTINGS_FILE = (): string => ? path.resolve(app.getPath("userData"), `settings.json`) : path.resolve(BASE_APP_PATH, "settings.json"); -// Events -export const EVENT_BRIDGE_INIT = "messages-bridge-init"; - // UUID /** * An arbitrary v4 uuid generated on https://www.uuidgenerator.net/version4 From da3e7233e0a83ee7f6db9266ebbe3a4c11724855 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:58:33 -0500 Subject: [PATCH 324/385] Rename option --- src/menu/devMenu.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/menu/devMenu.ts b/src/menu/devMenu.ts index bc1e1865..09076cbc 100644 --- a/src/menu/devMenu.ts +++ b/src/menu/devMenu.ts @@ -9,9 +9,9 @@ export const devMenuTemplate: MenuItemConstructorOptions = { click: (): void => app.mainWindow?.webContents.reloadIgnoringCache(), }, { - label: "App Dev Tools", + label: "Development Tools", accelerator: "CmdOrCtrl+Shift+I", - click: (): void => app.mainWindow?.webContents.openDevTools(), + click: (): void => app.mainWindow?.webContents.toggleDevTools(), }, { label: "Quit", From 2edbbd0e17b16a22369c94a2b58a7e17846feffc Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 22:58:43 -0500 Subject: [PATCH 325/385] Dont check for updates in dev mode --- src/menu/items/updates.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/menu/items/updates.ts b/src/menu/items/updates.ts index 62ccd894..bc28b480 100644 --- a/src/menu/items/updates.ts +++ b/src/menu/items/updates.ts @@ -1,10 +1,15 @@ import { MenuItemConstructorOptions } from "electron"; import { checkForUpdate, installUpdate } from "../../helpers/autoUpdate"; +import { IS_DEV } from "../../helpers/constants"; import { settings } from "../../helpers/settings"; export const checkForUpdatesMenuItem: MenuItemConstructorOptions = { label: "Check for Updates", - click: () => checkForUpdate(true), + click: () => { + if (!IS_DEV) { + checkForUpdate(true); + } + }, }; export const installUpdatesMenuItem: MenuItemConstructorOptions = { From fd3b6a97298633616ad45fe95b448517835953b4 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 16 Nov 2021 23:26:19 -0500 Subject: [PATCH 326/385] version bump --- CHANGELOG.md | 3 +++ package.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8704265..4f23335b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## [5.2.0] - 2021-11-16 +Google broke everything. Lets fix it. + ## [5.1.1] - 2021-04-06 High res ico file. diff --git a/package.json b/package.json index e9c6ec2a..277de787 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.1.1", + "version": "5.2.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From e47d619e616e1d76b9fe7d6b655b063b3e63757a Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 17 Nov 2021 12:25:49 -0500 Subject: [PATCH 327/385] Handle links using native default applications Resolves #343 --- src/background.ts | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/background.ts b/src/background.ts index a7633b19..251227b1 100644 --- a/src/background.ts +++ b/src/background.ts @@ -163,15 +163,9 @@ if (!isFirstInstance) { } }); - app.on("web-contents-created", (e, contents) => { - // Check for a webview - if (contents.getType() == "webview") { - // Listen for any new window events - contents.on("new-window", (e, url) => { - e.preventDefault(); - shell.openExternal(url); - }); - } + mainWindow.webContents.on("new-window", (e, url) => { + e.preventDefault(); + shell.openExternal(url); }); // block Google collecting data From bbc25e8a7b61d2b7731d7158064487a247be42ea Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 17 Nov 2021 13:02:34 -0500 Subject: [PATCH 328/385] Potential fix. Cannot build production version locally for some reason. --- src/bridge.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/bridge.ts b/src/bridge.ts index 936655d5..d54162ca 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -6,14 +6,11 @@ import { RECENT_CONVERSATION_TRAY_COUNT, RESOURCES_PATH, } from "./helpers/constants"; -import { popupContextMenu } from "./menu/contextMenu"; import { getProfileImg } from "./helpers/profileImage"; +import { popupContextMenu } from "./menu/contextMenu"; const { Notification: ElectronNotification, app, dialog } = remote; -// Electron (or the build of Chromium it uses?) does not seem to have any default right-click menu, this adds our own. -remote.getCurrentWebContents().addListener("context-menu", popupContextMenu); - function unreadObserver() { if (document.querySelector(".unread") != null) { app.trayManager?.setUnread(true); @@ -78,6 +75,8 @@ function createRecentThreadObserver() { } window.addEventListener("load", () => { + remote.app.mainWindow?.webContents.on("context-menu", popupContextMenu); + const conversationListObserver = new MutationObserver(() => { if (document.querySelector("mws-conversations-list") != null) { createUnreadObserver(); From 80c2e3fa7f4f8de5cbd5330865cfb82204631384 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 17 Nov 2021 19:53:10 -0500 Subject: [PATCH 329/385] vastly simplify menu code for testing --- src/background.ts | 3 ++ src/bridge.ts | 2 - src/menu/contextMenu.ts | 117 +++++++++++----------------------------- 3 files changed, 34 insertions(+), 88 deletions(-) diff --git a/src/background.ts b/src/background.ts index 251227b1..44f33017 100644 --- a/src/background.ts +++ b/src/background.ts @@ -13,6 +13,7 @@ import { settings } from "./helpers/settings"; import { TrayManager } from "./helpers/trayManager"; import { CustomBrowserWindow } from "./helpers/window"; import { baseMenuTemplate } from "./menu/baseMenu"; +import { popupContextMenu } from "./menu/contextMenu"; import { devMenuTemplate } from "./menu/devMenu"; import { helpMenuTemplate } from "./menu/helpMenu"; @@ -168,6 +169,8 @@ if (!isFirstInstance) { shell.openExternal(url); }); + mainWindow.webContents.on("context-menu", popupContextMenu); + // block Google collecting data mainWindow.webContents.session.webRequest.onBeforeRequest( { diff --git a/src/bridge.ts b/src/bridge.ts index d54162ca..9351e949 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -75,8 +75,6 @@ function createRecentThreadObserver() { } window.addEventListener("load", () => { - remote.app.mainWindow?.webContents.on("context-menu", popupContextMenu); - const conversationListObserver = new MutationObserver(() => { if (document.querySelector("mws-conversations-list") != null) { createUnreadObserver(); diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index 904df49c..8e88e30e 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -1,12 +1,11 @@ import { ContextMenuParams, + Menu, MenuItemConstructorOptions, - remote, + app, } from "electron"; import { separator } from "./items/separator"; -const { Menu, app } = remote; - // WARNING THIS IS THE ONLY PLACE LEFT WITH FORCE TYPECASTS TO ANY // IT HAS NO SIDE EFFECTS // I WOULD NOT DO IT BUT I AM NOT POSITIVE HOW TO PROPERLY TYPE IT @@ -52,91 +51,37 @@ const textMenuTemplate: MenuItemConstructorOptions[] = [ }, ]; -export const popupContextMenu = async ( - event: Electron.Event, +export const popupContextMenu = ( + _event: Electron.Event, params: ContextMenuParams -): Promise => { - switch (params.mediaType) { - case "video": - case "image": - if (params.srcURL && params.srcURL.length) { - const mediaType = - params.mediaType[0].toUpperCase() + params.mediaType.slice(1); - const mediaInputMenu = Menu.buildFromTemplate([ - { - label: `Save ${mediaType} As...`, - click: () => { - const link = document.createElement("a"), - d = new Date(), - download = (url: string) => { - link.href = url; - link.download = - "IMG_" + - d.getFullYear() + - pad(d.getMonth() + 1) + - pad(d.getDate()) + - "_" + - pad(d.getHours()) + - pad(d.getMinutes()) + - pad(d.getSeconds()); - document.body.appendChild(link); - link.click(); - document.body.removeChild(link); - }, - pad = (t: number) => ("0" + t).substr(-2); - - if (params.srcURL.match(/^blob:/i)) { - download(params.srcURL); - } else { - //using AJAX to prevent non-blob images from being opened instead of downloaded (i.e preview of web links) - const xhr = new XMLHttpRequest(); - xhr.open("GET", params.srcURL, true); - xhr.responseType = "blob"; - xhr.onload = function () { - const url = window.URL.createObjectURL(this.response); - download(url); - window.URL.revokeObjectURL(url); - }; - xhr.send(); - } - }, - }, - ]); - mediaInputMenu.popup({ - window: remote.getCurrentWindow(), - callback: () => { - (mediaInputMenu as unknown) = null; // Unsure if memory would leak without this (Clean up, clean up, everybody do your share) - }, +) => { + let menu: any = Menu.buildFromTemplate([]); + if (params.mediaType === "none" && params.isEditable) { + const textMenuTemplateCopy = [...textMenuTemplate]; + if (params.misspelledWord) { + textMenuTemplateCopy.unshift( + { type: "separator" }, + { + label: "Add to Dictionary", + click: () => + app.mainWindow?.webContents.session.addWordToSpellCheckerDictionary( + params.misspelledWord + ), + }, + { type: "separator" } + ); + for (const suggestion of params.dictionarySuggestions.reverse()) { + textMenuTemplateCopy.unshift({ + label: suggestion, + click: () => + app.mainWindow?.webContents.replaceMisspelling(suggestion), }); } - break; - default: - if (params.isEditable) { - const textMenuTemplateCopy = [...textMenuTemplate]; - if (params.misspelledWord) { - textMenuTemplateCopy.unshift({ type: "separator" }); - textMenuTemplateCopy.unshift({ - label: "Add to Dictionary", - click: () => - app.mainWindow?.webContents.session.addWordToSpellCheckerDictionary( - params.misspelledWord - ), - }); - textMenuTemplateCopy.unshift({ type: "separator" }); - for (const suggestion of params.dictionarySuggestions.reverse()) { - textMenuTemplateCopy.unshift({ - label: suggestion, - click: () => - remote.getCurrentWebContents().replaceMisspelling(suggestion), - }); - } - } - const textInputMenu = Menu.buildFromTemplate(textMenuTemplateCopy); - textInputMenu.popup(); - } else { - // Omit options pertaining to input fields if this isn't one - const standardInputMenu = Menu.buildFromTemplate(standardMenuTemplate); - standardInputMenu.popup(); - } + } + menu = Menu.buildFromTemplate(textMenuTemplateCopy); + } else { + menu = Menu.buildFromTemplate(standardMenuTemplate); } + + menu?.popup(); }; From 512570261a962981394a5866674a1a69ece828dc Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Nov 2021 13:30:26 -0500 Subject: [PATCH 330/385] basic general menu. not sure it does anything --- src/menu/contextMenu.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index 8e88e30e..6ee0c1d8 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -55,7 +55,7 @@ export const popupContextMenu = ( _event: Electron.Event, params: ContextMenuParams ) => { - let menu: any = Menu.buildFromTemplate([]); + let menu: any = Menu.buildFromTemplate(standardMenuTemplate); if (params.mediaType === "none" && params.isEditable) { const textMenuTemplateCopy = [...textMenuTemplate]; if (params.misspelledWord) { From dcbb5c8fa1dc34cc364ce06727f216efe8dd2169 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Nov 2021 13:36:50 -0500 Subject: [PATCH 331/385] remove changelog file --- CHANGELOG.md | 470 --------------------------------------------------- 1 file changed, 470 deletions(-) delete mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 4f23335b..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,470 +0,0 @@ -# Changelog - -## [5.2.0] - 2021-11-16 -Google broke everything. Lets fix it. - -## [5.1.1] - 2021-04-06 - -High res ico file. - -## [5.1.0] - 2021-04-06 - -the release of changing things that are broken on macos. also updated color icons to match the monochrome ones. - -## Fixed - -- Downscaled the tray icon for macos -- Build macos as a universal binary instead of x86_64 - -## [5.0.0] - 2021-02-26 - -This is a release with a lot of changes under the hood along with a lot of interesting new feature for users. - -## Added - -- Recent contacts in the tray menu -- Optional monochrome tray icon -- Manual auto update triggering -- Automatic update checking and user notification -- Remember window position size and location from previous launch -- Setting to control if the app checks for updates at launch - -## Changed - -- The settings manager has been gutted and all user setting have been reset. This is a one time occurance due to the annoyance with an npm package I was having. -- Upscaled the mac tray icon template -- The application now gives up on trying to control some settings google has toggle switches for -- Application no longer requires restart to disable the tray icon on linux - -## [4.5.4] - 2021-02-09 - -## Fixed - -- Issue perventing window from showing when a phone is not paired -- Redundant event listener - -## [4.5.3] - 2021-02-09 - -Make the app load again - -## [4.5.1] - 2021-01-22 - -Everything should be fixed - -## [4.5.0] - 2021-01-22 - -Bug fixes galor - -## Fixed - -- Bug with unread messages dot -- Bug with notifications not being sent until a conversation is opened -- Bug with image cache existing causing problems on slow networks - -## Added - -- Tooltip on tray icon -- Images are saved with date as filename - -## [4.4.0] - 2020-12-19 - -Google Fi integration - -## Added - -- google fi integration - -## [4.3.1] - 2020-12-14 - -MacOS can move the window! - -## Fixed - -- Monthlong bug where you cant move the window with a one line change :) - -## [4.3.0] - 2020-12-04 - -Google broke some things and there was some other stuff that has always been -broken. - -Expect a major change under the hood SoonTM with numerous enhancements and -quality of life improvements as requested by the community. - -## Fixed - -- Bug with behavior of autohid menu when setting is toggled -- Bug breaking icons in notifications -- Bug with groupchat icons in notifications -- Cleaned out old dependencies that were no longer needed - -## [4.2.0] - 2020-08-11 - -Era of polish. Unless good ideas come in this application is essentially feature -complete. Only refinements are needed from here on out. - -### Added - -- Unread notification indicator on both linux and windows that actually works -- Window goes flashy when a notification comes in (open to making this a setting - if requested) - -### Fixed - -- Bug causing duplicating notifications - -## [4.1.0] - 2020-06-12 - -This should probably be a patch instead of a minor version. There are no -breaking changes just a small bug fix. - -### Added - -- Behind the Scenes: Added CI - -### Changed - -- Under the hood: Bumped electron to 9.0.3 - -### Fixed - -- Bug preventing Windows Launch - -## [4.0.0] - 2020-06-07 - -### Added - -- Added the image of the message sender to the notification - -### Changed - -- Possibly fixed many of the issues people were having with shortcuts -- Under the hood: switched to typescript -- Under the hood: refactored a lot of things -- Under the hood: updated all of the dependencies multiple major versions - -## [3.1.0] - 2019-11-26 - -### Added - -- Setting to follow (sync) system dark mode setting, changing from dark to light - and vice versa as the operating system does -- This overrides the - Google-provided setting within the 3-dot menu -- Setting and keyboard shortcut (Command or Control +/-) to zoom the application - in or out a la a web browser allows a page - -### Changed - -- Under the hood: Notarize the macOS build of the app per Apple requirements -- Under the hood: Update electron from 6.0.7 to 7.0.1 - -## [3.0.0] - 2019-09-04 - -### Changed - -- No longer prompt Linux users for sudo -- Under the hood: Update electron from 4.0.4 to 6.0.7 -- Under the hood: Update spellchecker and related electron dependencies - -### Fixed - -- Change location of dictionary files to the correct directory as specified by - Electron, which manifested as a request for sudo on Linux, a JavaScript error - on startup, and/or the spellchecker not working - -## [2.0.0] - 2019-05-26 - -### Added - -- 32-bit (x86) builds for Windows -- Portable builds for Windows -- KNOWN ISSUE: Portable builds for Windows cannot display system notifications -- Setting to hide sender name and message preview in notifications -- Under the hood: Method for detecting when user logs in or out (auth vs. - de-auth) -- Under the hood: System to execute commands as root user (see item under Fixed - below) - -### Changed - -- Update icon to match current style of official icon -- Update icon to have a bit more space around the outside (padding) -- Under the hood: Refactor spellchecking dictionary manager logic and error - handling - -### Fixed - -- Javascript error on launch for Linux users (resulting from dist dictionaries - folder being owned by root--Linux users are now prompted to allow changing - ownership of the dictionaries folder to the current user) - -## [1.0.1] - 2019-04-16 - -### Fixed - -- Clicking links in text messages now opens them in your browser again instead - of doing nothing (big oof) - -## [1.0.0] - 2019-04-05 - -### Changed - -- _BREAKING CHANGE_ Migrate to new URL provided by Google (messages.android.com - -> messages.google.com, requires signing in again) -- Under the hood: Associated changes and fixes relating to URL change - -## [0.9.1] - 2019-03-03 - -### Fixed - -- Spell check now works again (abruptly stopped working after the release of - 0.9.0 due to new HTTP security header) - -## [0.9.0] - 2019-02-18 - -### Added - -- Setting to disable notification sound -- Setting to disable sending message when pressing enter - -### Changed - -- Use inline window buttons on Mac (looks more similar to iMessage) -- Update electron from 3.1.3 to 4.0.4 (see note under Fixed) -- Update README.md -- Under the hood: Method to communicate user settings changes to webview -- Under the hood: Revamp link opening method -- Under the hood: Electron 4-related API changes -- Under the hood: Code cleanup - -### Fixed - -- Localization of Messages page (buttons and text provided by Google) (this - appeared to be broken in Electron 3) -- The link to a support page shown when the app can't detect the phone should - now open in system web browser like other links - -## [0.8.0] - 2019-02-12 - -### Added - -- Spellchecking for various languages (see notes in README) -- Manually refreshing the webview for those times when the app gets all 🤪 - (Accessible by pressing Ctrl+R or Cmd+R) -- Full screen toggle item to View menu - -### Changed - -- Update electron from 2.0.12 to 3.1.3 (Electron 3 is required by - electron-updater 4 which is required by electron-builder 20) - -### Fixed - -- Location of Check for Updates menu item on Windows (Now under Help) - -## [0.7.1] - 2018-11-17 - -### Changed - -- Update electron from 2.0.2 to 2.0.12 - -## [0.7.0] - 2018-07-25 - -### Added - -- Toggle for tray shortcut to make app visible on Windows (single or - double-click, previously there was no preference and the shortcut was - double-click) - -### Changed - -- Under the hood: Overhaul communication between main process and webview to - faciliate notification customization - -### Fixed - -- Clicking a notification now highlights that conversation (this was working - before 0.6.0 and accidentally broken when making app visible on notification - click...now clicking shows the app _and_ highlights the conversation 🎉) - -## [0.6.0] - 2018-07-20 - -### Added - -- Visual indicator (badge) to Windows tray icon when notification comes in -- Link to package for this app on AUR (for Arch Linux users) - -### Changed - -- Clicking notification now makes app visible and focused -- Under the hood: Method of displaying notification (with our bridge/ipc) -- Update README.md - -### Fixed - -- Linux now respects your choice when asking to restart the app -- Typos in README.md corrected - -## [0.5.0] - 2018-07-17 - -### Added - -- Setting to start in tray (automatically hide app on start) -- Setting to make tray/menu bar functionality optional -- Preferences on Mac - -### Changed - -- Default to enabling tray only on Windows and Mac -- Refine window minimizing and closing UX further: - - On Windows and Linux, closing window when tray icon is disabled now closes - the app entirely - - On Windows and Linux, when the tray icon is disabled, the option to start in - tray is disabled -- Make certain UI language more platform-specific -- KNOWN ISSUE: Toggling the tray from on to off while using Linux requires an - app restart for now -- Refactor some tray code into a new class to manage it, TrayManager - -### Fixed - -- Mac tray (menu bar) icon now inverts correctly when selected or Finder is in - dark mode - -## [0.4.0] - 2018-07-14 - -### Added - -- Right-click context menu with support for cut/copy/paste/undo/redo/save - image/save video -- Builds for pacman package manager (used by Arch Linux and related distros) -- Changelog (with shortcut to changelog in Help menu) - -### Changed - -- Update README.md -- On launch, open dev tools for the webview when in dev mode - -### Fixed - -- App icon not showing or showing sporadically on Linux - -### Removed - -- Some dead code/comments - -## [0.3.0] - 2018-07-08 - -### Added - -- Tray icon support for macOS and Linux -- Show/hide toggle to tray context menu -- File menu with items to manually check for updates and quit the app -- Standard Window menu provided by electron (with proper minimize/hide items and - keyboard shortcuts) -- One-time notification about minimizing to tray on Windows -- Build scripts to only build instead of building and attempting to publish a - release - -### Changed - -- Minimize/close behavior on Windows and Linux (minimizing now minimizes, - closing now minimizes to tray) -- Refactor menu code - -### Fixed - -- Command+H app hiding behavior on macOS (now defocuses app when hiding window) - -## [0.2.0] - 2018-07-05 - -### Added - -- Setting to auto-hide menu bar (and toggle its appearance via the standard - Alt+H shortcut) on Windows and Linux -- electron-settings dependency for managing the above and future user settings -- Screenshots of Windows tray and macOS dock functionality - -### Changed - -- Update README.md - -### Removed - -- "Hello World" code and unit/e2e tests from boilerplate - -## [0.1.0] - 2018-06-27 - -### Added - -- Notification count badge in dock on macOS (clears on window - focus/app.activate) -- Tray icon and minimizing to tray for Windows -- Command+H shortcut to hide app on macOS - -### Changed - -- Closing window on macOS now doesn't quit app (expected UX on macOS) -- Prevent multiple instances of app being able to launch (for example, when - minimized to tray on Windows without pinning to taskbar, then clicking a - shortcut from the Start menu) -- Update README.md - -## [0.0.5] - 2018-06-26 - -### Changed - -- Update README.md -- Update shape of chat bubble in icon -- Use different combination of scripts to generate icons - -### Fixed - -- Corrupt icons in Windows Taskbar and macOS Spotlight - -## [0.0.4] - 2018-06-24 - -### Changed - -- README.md even more complete - -### Fixed - -- Hyperlinks in text messages now open in system default browser when clicked - -## [0.0.3] - 2018-06-22 - -### Changed - -- Nothing besides the version number, just created this version to test - auto-update functionality - -## [0.0.2] - 2018-06-22 - -### Added - -- Signed app binary for macOS -- Notifications on Windows -- Builds for various Linux distros/package managers -- A real icon -- Auto-update mechanism via electron-updater -- TODOs - -### Changed - -- README.md more complete -- package.json more complete -- Values and code elements from boilerplate updates -- Automatically pop-up dev tools in dev mode -- Generate icons via a script - -## 0.0.1 - 2018-06-21 - -### Added - -- Project files (initial release) - -### Changed - -- It works! (I think hope) -- No Linux binary, no signing certs for Mac/Windows, no actual icon...but it's a - start. From aeb61b7577fb8e34bc44c03fb74dd56f1d99af22 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Nov 2021 13:36:59 -0500 Subject: [PATCH 332/385] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 277de787..82a4aeb4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.2.0", + "version": "5.2.1", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 3bb94a30b53a7b98f7f7daa4e33d2961aaec6c95 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 18 Nov 2021 13:52:53 -0500 Subject: [PATCH 333/385] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 82a4aeb4..a16867b7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.2.1", + "version": "5.2.2", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From f9c6f5b4ecde352765c948f1a561218205d09e66 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 19 Dec 2021 13:21:06 -0500 Subject: [PATCH 334/385] closes #355 --- src/menu/helpMenu.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/menu/helpMenu.ts b/src/menu/helpMenu.ts index f9e3ce6d..88df2d22 100644 --- a/src/menu/helpMenu.ts +++ b/src/menu/helpMenu.ts @@ -12,13 +12,6 @@ const submenu: MenuItemConstructorOptions[] = [ "https://github.com/orangedrangon/android-messages-desktop/" ), }, - { - label: "Changelog", - click: async (): Promise => - await shell.openExternal( - "https://github.com/orangedrangon/android-messages-desktop/blob/master/CHANGELOG.md" - ), - }, ]; if (IS_WINDOWS) { From 02b83991f367b4f7748a2f0217c0925eba1d0584 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 19 Dec 2021 13:34:28 -0500 Subject: [PATCH 335/385] fix webpack issue --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a16867b7..683f0205 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,8 @@ "scripts": { "start": "yarn build:dev && cross-env NODE_ENV=development electron ./app/background.js", "dist": "yarn build && yarn package", - "build": "webpack --mode=production", - "build:dev": "webpack --mode=development", + "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider webpack --mode=production", + "build:dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider webpack --mode=development", "icons": "png2icons resources/icons/1024x1024.png resources/icon -all -i", "lint": "eslint --fix --ext .ts,.js ./src", "package": "yarn electron-builder --config electron-builder.js" From 78bdc40496aadf2502b4ff9b37070f2160e75a59 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 19 Dec 2021 13:34:55 -0500 Subject: [PATCH 336/385] update webpack merge --- package.json | 2 +- yarn.lock | 51 +++++++++++++++++++++++++++------------------------ 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 683f0205..8dcb7da7 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "ts-node": "^9.1.1", "typescript": "^4.2.2", "webpack": "^5.24.2", - "webpack-cli": "^4.5.0", + "webpack-cli": "^4.9.1", "webpack-merge": "^5.7.3", "webpack-node-externals": "^2.5.2" } diff --git a/yarn.lock b/yarn.lock index 50274682..9764115c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -473,22 +473,22 @@ "@webassemblyjs/ast" "1.11.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.1.tgz#241aecfbdc715eee96bed447ed402e12ec171935" - integrity sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ== +"@webpack-cli/configtest@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" + integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== -"@webpack-cli/info@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.2.tgz#ef3c0cd947a1fa083e174a59cb74e0b6195c236c" - integrity sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ== +"@webpack-cli/info@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" + integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.3.0.tgz#2730c770f5f1f132767c63dcaaa4ec28f8c56a6c" - integrity sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw== +"@webpack-cli/serve@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" + integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -969,6 +969,11 @@ colorette@^1.2.1: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== +colorette@^2.0.14: + version "2.0.16" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" @@ -1420,7 +1425,7 @@ enhanced-resolve@^5.7.0: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5, enquirer@^2.3.6: +enquirer@^2.3.5: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -3564,7 +3569,7 @@ uuid@^8.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: +v8-compile-cache@^2.0.3: version "2.2.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== @@ -3606,24 +3611,22 @@ watchpack@^2.0.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.5.0.tgz#b5213b84adf6e1f5de6391334c9fa53a48850466" - integrity sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q== +webpack-cli@^4.9.1: + version "4.9.1" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" + integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.1" - "@webpack-cli/info" "^1.2.2" - "@webpack-cli/serve" "^1.3.0" - colorette "^1.2.1" + "@webpack-cli/configtest" "^1.1.0" + "@webpack-cli/info" "^1.4.0" + "@webpack-cli/serve" "^1.6.0" + colorette "^2.0.14" commander "^7.0.0" - enquirer "^2.3.6" execa "^5.0.0" fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" rechoir "^0.7.0" - v8-compile-cache "^2.2.0" webpack-merge "^5.7.3" webpack-merge@^5.7.3: From 5f1d9f1b48cd1f9c8205257fb65e68f1c6b8615e Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sun, 19 Dec 2021 13:35:39 -0500 Subject: [PATCH 337/385] small cleanup of various things --- src/background.ts | 259 ++++++++++++++++++++++------------------------ 1 file changed, 123 insertions(+), 136 deletions(-) diff --git a/src/background.ts b/src/background.ts index 44f33017..9ef0b54e 100644 --- a/src/background.ts +++ b/src/background.ts @@ -2,7 +2,6 @@ import { app, Event as ElectronEvent, Menu, shell } from "electron"; import path from "path"; import { checkForUpdate } from "./helpers/autoUpdate"; import { - BASE_APP_PATH, IS_DEV, IS_LINUX, IS_MAC, @@ -27,162 +26,150 @@ const { } = settings; let mainWindow: CustomBrowserWindow; +let trayManager: TrayManager; -/** - * Prevent multiple instances of the app which causes many problems with an app like ours - * Without this, if an instance were minimized to the tray in Windows, clicking a shortcut would launch another instance, icky - * Adapted from https://www.electronjs.org/docs/api/app#apprequestsingleinstancelock - */ -const isFirstInstance = app.requestSingleInstanceLock(); - -if (!isFirstInstance) { - app.quit(); -} else { - app.on("second-instance", () => { - if (mainWindow) { - if (!mainWindow.isVisible()) { - mainWindow.show(); - } +app.on("second-instance", () => { + if (mainWindow) { + if (!mainWindow.isVisible()) { + mainWindow.show(); } - }); + } +}); - const setApplicationMenu = () => { - const menus = baseMenuTemplate; - if (IS_DEV) { - menus.push(devMenuTemplate); - } - menus.push(helpMenuTemplate); - Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); - }; +if (!app.requestSingleInstanceLock()) { + app.quit(); +} - /** - * Save userData in separate folders for each environment. - * Thanks to this you can use production and development versions of the app - * on same machine like those are two separate apps. - */ +const setApplicationMenu = () => { + const menus = baseMenuTemplate; if (IS_DEV) { - const userDataPath = app.getPath("userData"); - app.setPath("userData", `${userDataPath}-(${process.env.NODE_ENV})`); + menus.push(devMenuTemplate); } + menus.push(helpMenuTemplate); + Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); +}; - if (IS_WINDOWS) { - // Stupid, DUMB calls that have to be made to let notifications come through on Windows (only Windows 10?) - // See: https://github.com/electron/electron/issues/10864#issuecomment-382519150 - app.setAppUserModelId("pw.kmr.android-messages-desktop"); - app.setAsDefaultProtocolClient("android-messages-desktop"); - } +/** + * Save userData in separate folders for each environment. + * Thanks to this you can use production and development versions of the app + * on same machine like those are two separate apps. + */ +if (IS_DEV) { + const userDataPath = app.getPath("userData"); + app.setPath("userData", `${userDataPath}-(${process.env.NODE_ENV})`); +} - let trayManager: TrayManager; +if (IS_WINDOWS) { + app.setAppUserModelId("pw.kmr.android-messages-desktop"); + app.setAsDefaultProtocolClient("android-messages-desktop"); +} - app.on("ready", () => { - trayManager = new TrayManager(); +app.on("ready", () => { + trayManager = new TrayManager(); - setApplicationMenu(); + setApplicationMenu(); - if (IS_MAC) { - app.on("activate", () => { - mainWindow.show(); - }); - } + if (IS_MAC) { + app.on("activate", () => { + mainWindow.show(); + }); + } - if (checkForUpdateOnLaunchEnabled.value && !IS_DEV) { - checkForUpdate(true); - } + if (checkForUpdateOnLaunchEnabled.value && !IS_DEV) { + checkForUpdate(true); + } - // destructure from the settings - const { width, height } = savedWindowSize.value; - // provide empty object if savedWindowPosition is null - const { x, y } = savedWindowPosition.value || {}; - - mainWindow = new CustomBrowserWindow("main", { - width, - height, - x, - y, - autoHideMenuBar: autoHideMenuEnabled.value, - show: false, //don't show window just yet (issue #229) - icon: IS_LINUX - ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") - : undefined, - webPreferences: { - nodeIntegration: true, - contextIsolation: false, - enableRemoteModule: true, - preload: path.resolve(app.getAppPath(), "bridge.js"), - }, - }); + const { width, height } = savedWindowSize.value; + const { x, y } = savedWindowPosition.value ?? {}; + + mainWindow = new CustomBrowserWindow("main", { + width, + height, + x, + y, + autoHideMenuBar: autoHideMenuEnabled.value, + show: false, //don't show window just yet (issue #229) + icon: IS_LINUX + ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") + : undefined, + webPreferences: { + nodeIntegration: true, + contextIsolation: false, + enableRemoteModule: true, + preload: path.resolve(app.getAppPath(), "bridge.js"), + }, + }); - // set user agent to potentially make google fi work - const userAgent = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"; + // set user agent to potentially make google fi work + const userAgent = + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"; - mainWindow.webContents.session.webRequest.onBeforeSendHeaders( - { - urls: ["https://accounts.google.com/*"], - }, - ({ requestHeaders }, callback) => - callback({ - requestHeaders: { ...requestHeaders, "User-Agent": userAgent }, - }) - ); + mainWindow.webContents.session.webRequest.onBeforeSendHeaders( + { + urls: ["https://accounts.google.com/*"], + }, + ({ requestHeaders }, callback) => + callback({ + requestHeaders: { ...requestHeaders, "User-Agent": userAgent }, + }) + ); - // Quick and dirty way for renderer process to access mainWindow for communication - app.mainWindow = mainWindow; - app.trayManager = trayManager; - app.settings = settings; + // Quick and dirty way for renderer process to access mainWindow for communication + app.mainWindow = mainWindow; + app.trayManager = trayManager; + app.settings = settings; - mainWindow.loadURL("https://messages.google.com/web/"); + mainWindow.loadURL("https://messages.google.com/web/"); - trayManager.startIfEnabled(); + trayManager.startIfEnabled(); - let quitViaContext = false; - app.on("before-quit", () => { - quitViaContext = true; - }); + let quitViaContext = false; + app.on("before-quit", () => { + quitViaContext = true; + }); - const shouldExitOnMainWindowClosed = () => { - if (IS_MAC) { + const shouldExitOnMainWindowClosed = () => { + if (IS_MAC) { + return quitViaContext; + } else { + if (trayEnabled.value) { return quitViaContext; - } else { - if (trayEnabled.value) { - return quitViaContext; - } - return true; - } - }; - - mainWindow.on("close", (event: ElectronEvent) => { - const { x, y, width, height } = mainWindow.getBounds(); - savedWindowPosition.next({ x, y }); - savedWindowSize.next({ width, height }); - if (!shouldExitOnMainWindowClosed()) { - event.preventDefault(); - mainWindow.hide(); - trayManager?.showMinimizeToTrayWarning(); - } else { - app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. } - }); + return true; + } + }; - mainWindow.webContents.on("new-window", (e, url) => { - e.preventDefault(); - shell.openExternal(url); - }); + mainWindow.on("close", (event: ElectronEvent) => { + const { x, y, width, height } = mainWindow.getBounds(); + savedWindowPosition.next({ x, y }); + savedWindowSize.next({ width, height }); + if (!shouldExitOnMainWindowClosed()) { + event.preventDefault(); + mainWindow.hide(); + trayManager?.showMinimizeToTrayWarning(); + } else { + app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. + } + }); - mainWindow.webContents.on("context-menu", popupContextMenu); - - // block Google collecting data - mainWindow.webContents.session.webRequest.onBeforeRequest( - { - urls: [ - "https://messages.google.com/web/jserror?*", - "https://play.google.com/log?*", - "https://www.google-analytics.com/analytics.js", - ], - }, - (details, callback) => { - callback({ cancel: true }); - } - ); - }); //onready -} + mainWindow.webContents.on("new-window", (e, url) => { + e.preventDefault(); + shell.openExternal(url); + }); + + mainWindow.webContents.on("context-menu", popupContextMenu); + + // block Google collecting data + mainWindow.webContents.session.webRequest.onBeforeRequest( + { + urls: [ + "https://messages.google.com/web/jserror?*", + "https://play.google.com/log?*", + "https://www.google-analytics.com/analytics.js", + ], + }, + (details, callback) => { + callback({ cancel: true }); + } + ); +}); //onready From 68a6e58775a6a7a9e9f56941582348b07e20a431 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 27 Dec 2021 19:12:40 -0500 Subject: [PATCH 338/385] dependency bump and version bump --- package.json | 55 +- yarn.lock | 2570 +++++++++++++++++++++++--------------------------- 2 files changed, 1202 insertions(+), 1423 deletions(-) diff --git a/package.json b/package.json index 8dcb7da7..5d9e2ec5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.2.2", + "version": "5.3.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" @@ -27,38 +27,37 @@ "package": "yarn electron-builder --config electron-builder.js" }, "dependencies": { - "about-window": "1.13.4", - "electron-updater": "4.3.5", - "fs-jetpack": "^4.1.0", - "rxjs": "^6.6.6", + "about-window": "1.15.2", + "electron-updater": "4.6.1", + "fs-jetpack": "^4.3.0", + "rxjs": "^7.4.0", "uuid": "^8.3.2" }, "devDependencies": { - "@types/node": "14.14.31", - "@types/uuid": "^8.3.0", - "@types/webpack": "^4.41.26", - "@types/webpack-merge": "^4.1.5", - "@types/webpack-node-externals": "^2.5.0", - "@typescript-eslint/eslint-plugin": "^4.15.2", - "@typescript-eslint/parser": "^4.15.2", + "@types/node": "17.0.0", + "@types/uuid": "^8.3.3", + "@types/webpack": "^5.28.0", + "@types/webpack-node-externals": "^2.5.3", + "@typescript-eslint/eslint-plugin": "^5.7.0", + "@typescript-eslint/parser": "^5.7.0", "cross-env": "^7.0.2", - "css-loader": "^5.0.0", - "electron": "11.3.0", - "electron-builder": "^22.10.5", - "eslint": "^7.20.0", - "eslint-config-prettier": "^8.1.0", - "eslint-plugin-prettier": "^3.3.1", - "html-webpack-plugin": "^5.2.0", + "css-loader": "^6.5.1", + "electron": "16.0.5", + "electron-builder": "^22.14.5", + "eslint": "^8.5.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "html-webpack-plugin": "^5.5.0", "png2icons": "^2.0.1", - "prettier": "^2.1.2", - "source-map-support": "^0.5.19", - "style-loader": "^2.0.0", - "ts-loader": "^8.0.17", - "ts-node": "^9.1.1", - "typescript": "^4.2.2", - "webpack": "^5.24.2", + "prettier": "^2.5.1", + "source-map-support": "^0.5.21", + "style-loader": "^3.3.1", + "ts-loader": "^9.2.6", + "ts-node": "^10.4.0", + "typescript": "^4.5.4", + "webpack": "^5.65.0", "webpack-cli": "^4.9.1", - "webpack-merge": "^5.7.3", - "webpack-node-externals": "^2.5.2" + "webpack-merge": "^5.8.0", + "webpack-node-externals": "^3.0.0" } } diff --git a/yarn.lock b/yarn.lock index 9764115c..875e4d85 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,31 +2,22 @@ # yarn lockfile v1 -"7zip-bin@~5.0.3": - version "5.0.3" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" - integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" +"7zip-bin@~5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" + integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== -"@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@cspotcode/source-map-consumer@0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" + integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== -"@babel/highlight@^7.10.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" - integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== +"@cspotcode/source-map-support@0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" + integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" + "@cspotcode/source-map-consumer" "0.8.0" "@develar/schema-utils@~2.6.5": version "2.6.5" @@ -37,14 +28,14 @@ ajv-keywords "^3.4.1" "@discoveryjs/json-ext@^0.5.0": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" - integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== + version "0.5.6" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" + integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== -"@electron/get@^1.0.1": - version "1.12.4" - resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.4.tgz#a5971113fc1bf8fa12a8789dc20152a7359f06ab" - integrity sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg== +"@electron/get@^1.13.0": + version "1.13.1" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" + integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA== dependencies: debug "^4.1.1" env-paths "^2.2.0" @@ -54,13 +45,13 @@ semver "^6.2.0" sumchecker "^3.0.1" optionalDependencies: - global-agent "^2.0.2" + global-agent "^3.0.0" global-tunnel-ng "^2.7.1" -"@electron/universal@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.4.tgz#231ac246c39d45b80e159bd21c3f9027dcaa10f5" - integrity sha512-ajZoumi4XwqwmZe8YVhu4XGkZBCPyWZsVCQONPTIe9TUlleSN+dic3YpXlaWcilx/HOzTdldTKtabNTeI0gDoA== +"@electron/universal@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37" + integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag== dependencies: "@malept/cross-spawn-promise" "^1.1.0" asar "^3.0.3" @@ -68,22 +59,35 @@ dir-compare "^2.4.0" fs-extra "^9.0.1" -"@eslint/eslintrc@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" - integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== +"@eslint/eslintrc@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" + integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" + debug "^4.3.2" + espree "^9.2.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" - js-yaml "^3.13.1" - lodash "^4.17.20" + js-yaml "^4.1.0" minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@humanwhocodes/config-array@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" + integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@malept/cross-spawn-promise@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d" @@ -91,25 +95,35 @@ dependencies: cross-spawn "^7.0.1" -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== +"@malept/flatpak-bundler@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz#e8a32c30a95d20c2b1bb635cc580981a06389858" + integrity sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q== + dependencies: + debug "^4.1.1" + fs-extra "^9.0.0" + lodash "^4.17.15" + tmp-promise "^3.0.2" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@nodelib/fs.stat" "2.0.4" + "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@nodelib/fs.scandir" "2.1.4" + "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" "@sindresorhus/is@^0.14.0": @@ -124,76 +138,98 @@ dependencies: defer-to-connect "^1.0.1" -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== +"@tsconfig/node10@^1.0.7": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" + integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + +"@tsconfig/node12@^1.0.7": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" + integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + +"@tsconfig/node14@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" + integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + +"@tsconfig/node16@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" + integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== -"@types/debug@^4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" - integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== +"@types/debug@^4.1.6": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" + integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== + dependencies: + "@types/ms" "*" "@types/eslint-scope@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" - integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== + version "3.7.2" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.2.tgz#11e96a868c67acf65bf6f11d10bb89ea71d5e473" + integrity sha512-TzgYCWoPiTeRg6RQYgtuW7iODtVoKu3RVL72k3WohqhjfaOLK5Mg2T4Tg1o2bSfu0vPkoI48wdQFv5b/Xe04wQ== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "7.2.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c" - integrity sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw== + version "8.2.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.1.tgz#13f3d69bac93c2ae008019c28783868d0a1d6605" + integrity sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.46": - version "0.0.46" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe" - integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== +"@types/estree@*", "@types/estree@^0.0.50": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/fs-extra@^9.0.7": - version "9.0.9" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.9.tgz#11ed43b3f3c6b3490f1ef9bd17f58da896e2d861" - integrity sha512-5TqDycCl0oMzwzd1cIjSJWMKMvLCDVErle4ZTjU4EmHDURR/+yZghe6GDHMCpHtcVfq0x0gMoOM546/5TbYHrg== +"@types/fs-extra@^9.0.11": + version "9.0.13" + resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" + integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: "@types/node" "*" "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" -"@types/html-minifier-terser@^5.0.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" - integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== -"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== +"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== "@types/minimatch@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" - integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== -"@types/node@*", "@types/node@14.14.31": - version "14.14.31" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.31.tgz#72286bd33d137aa0d152d47ec7c1762563d34055" - integrity sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g== +"@types/ms@*": + version "0.7.31" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@^12.0.12": - version "12.20.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.4.tgz#73687043dd00fcb6962c60fbf499553a24d6bdf2" - integrity sha512-xRCgeE0Q4pT5UZ189TJ3SpYuX/QGl6QIAOAIeDSbAVAd2gX1NxSZup4jNVK7cxIeP8KDSbJgcckun495isP1jQ== +"@types/node@*", "@types/node@17.0.0": + version "17.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.0.tgz#62797cee3b8b497f6547503b2312254d4fe3c2bb" + integrity sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw== + +"@types/node@^14.6.2": + version "14.18.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.1.tgz#459886b51f52aa923dc06b9ea81cb8b1d733e9d3" + integrity sha512-fTFWOFrgAkj737w1o0HLTIgisgYHnsZfeiqhG1Ltrf/iJjudEbUwetQAsfrtVE49JGwvpEzQR+EbMkIqG4227g== "@types/plist@^3.0.1": version "3.0.2" @@ -203,274 +239,239 @@ "@types/node" "*" xmlbuilder ">=11.0.1" -"@types/semver@^7.3.1": - version "7.3.4" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.4.tgz#43d7168fec6fa0988bb1a513a697b29296721afb" - integrity sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ== +"@types/semver@^7.3.6": + version "7.3.9" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" + integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/tapable@*": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" - integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== - -"@types/uglify-js@*": - version "3.12.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.12.0.tgz#2bb061c269441620d46b946350c8f16d52ef37c5" - integrity sha512-sYAF+CF9XZ5cvEBkI7RtrG9g2GtMBkviTnBxYYyq+8BWvO4QtXfwwR6a2LFwCi4evMKZfpv6U43ViYvv17Wz3Q== - dependencies: - source-map "^0.6.1" - -"@types/uuid@^8.3.0": - version "8.3.0" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.0.tgz#215c231dff736d5ba92410e6d602050cce7e273f" - integrity sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ== +"@types/uuid@^8.3.3": + version "8.3.3" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.3.tgz#c6a60686d953dbd1b1d45e66f4ecdbd5d471b4d0" + integrity sha512-0LbEEx1zxrYB3pgpd1M5lEhLcXjKJnYghvhTRgaBeUivLHMDM1TzF3IJ6hXU2+8uA4Xz+5BA63mtZo5DjVT8iA== "@types/verror@^1.10.3": - version "1.10.4" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz#805c0612b3a0c124cf99f517364142946b74ba3b" - integrity sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg== - -"@types/webpack-merge@^4.1.5": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/webpack-merge/-/webpack-merge-4.1.5.tgz#265fbee4810474860d0f4c17e0107032881eed47" - integrity sha512-cbDo592ljSHeaVe5Q39JKN6Z4vMhmo4+C3JbksOIg+kjhKQYN2keGN7dvr/i18+dughij98Qrsfn1mU9NgVoCA== - dependencies: - "@types/webpack" "*" - -"@types/webpack-node-externals@^2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@types/webpack-node-externals/-/webpack-node-externals-2.5.0.tgz#bcd161af84a4960416e5850e06931b35321c6654" - integrity sha512-KaWfhUQlpWknM/CMBKhV7i0vxX/N2xEy3WeaE500s4ZNxC4nLnKB+0F3gD3Fg+5octPq0nn8ZlfFR/P3dSkXpw== - dependencies: - "@types/webpack" "*" + version "1.10.5" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1" + integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw== -"@types/webpack-sources@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== +"@types/webpack-node-externals@^2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@types/webpack-node-externals/-/webpack-node-externals-2.5.3.tgz#921783aadda1fe686db0a70e20e4b9548b5a3cef" + integrity sha512-A9JxaR8QXoYT95egET4AmCFuChyTlP8d18ZAnmSHuIMsFdS7QlCQQ8pmN/+FHgLIkm+ViE/VngltT5avLACY9A== dependencies: "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" + webpack "^5" -"@types/webpack@*", "@types/webpack@^4.41.26": - version "4.41.26" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.26.tgz#27a30d7d531e16489f9c7607c747be6bc1a459ef" - integrity sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA== +"@types/webpack@^5.28.0": + version "5.28.0" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03" + integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w== dependencies: - "@types/anymatch" "*" "@types/node" "*" - "@types/tapable" "*" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - source-map "^0.6.0" + tapable "^2.2.0" + webpack "^5" "@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== -"@types/yargs@^15.0.13": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== +"@types/yargs@^17.0.1": + version "17.0.7" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.7.tgz#44a484c634761da4391477515a98772b82b5060f" + integrity sha512-OvLKmpKdea1aWtqHv9bxVVcMoT6syAeK+198dfETIFkAevYRGwqh4H+KFxfjUETZuUuE5sQCAFwdOdoHUdo8eg== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.2.tgz#981b26b4076c62a5a55873fbef3fe98f83360c61" - integrity sha512-uiQQeu9tWl3f1+oK0yoAv9lt/KXO24iafxgQTkIYO/kitruILGx3uH+QtIAHqxFV+yIsdnJH+alel9KuE3J15Q== +"@typescript-eslint/eslint-plugin@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.7.0.tgz#12d54709f8ea1da99a01d8a992cd0474ad0f0aa9" + integrity sha512-8RTGBpNn5a9M628wBPrCbJ+v3YTEOE2qeZb7TDkGKTDXSj36KGRg92SpFFaR/0S3rSXQxM0Og/kV9EyadsYSBg== dependencies: - "@typescript-eslint/experimental-utils" "4.15.2" - "@typescript-eslint/scope-manager" "4.15.2" - debug "^4.1.1" + "@typescript-eslint/experimental-utils" "5.7.0" + "@typescript-eslint/scope-manager" "5.7.0" + debug "^4.3.2" functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.2.tgz#5efd12355bd5b535e1831282e6cf465b9a71cf36" - integrity sha512-Fxoshw8+R5X3/Vmqwsjc8nRO/7iTysRtDqx6rlfLZ7HbT8TZhPeQqbPjTyk2RheH3L8afumecTQnUc9EeXxohQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.15.2" - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/typescript-estree" "4.15.2" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.2.tgz#c804474321ef76a3955aec03664808f0d6e7872e" - integrity sha512-SHeF8xbsC6z2FKXsaTb1tBCf0QZsjJ94H6Bo51Y1aVEZ4XAefaw5ZAilMoDPlGghe+qtq7XdTiDlGfVTOmvA+Q== - dependencies: - "@typescript-eslint/scope-manager" "4.15.2" - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/typescript-estree" "4.15.2" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.2.tgz#5725bda656995960ae1d004bfd1cd70320f37f4f" - integrity sha512-Zm0tf/MSKuX6aeJmuXexgdVyxT9/oJJhaCkijv0DvJVT3ui4zY6XYd6iwIo/8GEZGy43cd7w1rFMiCLHbRzAPQ== - dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - -"@typescript-eslint/types@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.2.tgz#04acf3a2dc8001a88985291744241e732ef22c60" - integrity sha512-r7lW7HFkAarfUylJ2tKndyO9njwSyoy6cpfDKWPX6/ctZA+QyaYscAHXVAfJqtnY6aaTwDYrOhp+ginlbc7HfQ== + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.2.tgz#c2f7a1e94f3428d229d5ecff3ead6581ee9b62fa" - integrity sha512-cGR8C2g5SPtHTQvAymEODeqx90pJHadWsgTtx6GbnTWKqsg7yp6Eaya9nFzUd4KrKhxdYTTFBiYeTPQaz/l8bw== +"@typescript-eslint/experimental-utils@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.7.0.tgz#2b1633e6613c3238036156f70c32634843ad034f" + integrity sha512-u57eZ5FbEpzN5kSjmVrSesovWslH2ZyNPnaXQMXWgH57d5+EVHEt76W75vVuI9qKZ5BMDKNfRN+pxcPEjQjb2A== dependencies: - "@typescript-eslint/types" "4.15.2" - "@typescript-eslint/visitor-keys" "4.15.2" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.7.0" + "@typescript-eslint/types" "5.7.0" + "@typescript-eslint/typescript-estree" "5.7.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@4.15.2": - version "4.15.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.2.tgz#3d1c7979ce75bf6acf9691109bd0d6b5706192b9" - integrity sha512-TME1VgSb7wTwgENN5KVj4Nqg25hP8DisXxNBojM4Nn31rYaNDIocNm5cmjOFfh42n7NVERxWrDFoETO/76ePyg== +"@typescript-eslint/parser@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.7.0.tgz#4dca6de463d86f02d252e681136a67888ea3b181" + integrity sha512-m/gWCCcS4jXw6vkrPQ1BjZ1vomP01PArgzvauBqzsoZ3urLbsRChexB8/YV8z9HwE3qlJM35FxfKZ1nfP/4x8g== dependencies: - "@typescript-eslint/types" "4.15.2" - eslint-visitor-keys "^2.0.0" + "@typescript-eslint/scope-manager" "5.7.0" + "@typescript-eslint/types" "5.7.0" + "@typescript-eslint/typescript-estree" "5.7.0" + debug "^4.3.2" -"@webassemblyjs/ast@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.0.tgz#a5aa679efdc9e51707a4207139da57920555961f" - integrity sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg== +"@typescript-eslint/scope-manager@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz#70adf960e5a58994ad50438ba60d98ecadd79452" + integrity sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA== dependencies: - "@webassemblyjs/helper-numbers" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" + "@typescript-eslint/types" "5.7.0" + "@typescript-eslint/visitor-keys" "5.7.0" -"@webassemblyjs/floating-point-hex-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz#34d62052f453cd43101d72eab4966a022587947c" - integrity sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA== - -"@webassemblyjs/helper-api-error@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz#aaea8fb3b923f4aaa9b512ff541b013ffb68d2d4" - integrity sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w== - -"@webassemblyjs/helper-buffer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz#d026c25d175e388a7dbda9694e91e743cbe9b642" - integrity sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA== +"@typescript-eslint/types@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.7.0.tgz#2d4cae0105ba7d08bffa69698197a762483ebcbe" + integrity sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA== -"@webassemblyjs/helper-numbers@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz#7ab04172d54e312cc6ea4286d7d9fa27c88cd4f9" - integrity sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ== +"@typescript-eslint/typescript-estree@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz#968fad899050ccce4f08a40cd5fabc0798525006" + integrity sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" + "@typescript-eslint/types" "5.7.0" + "@typescript-eslint/visitor-keys" "5.7.0" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz#e05164239eb7cb8aa9fa06c516ede480ce260178" + integrity sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg== + dependencies: + "@typescript-eslint/types" "5.7.0" + eslint-visitor-keys "^3.0.0" + +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz#85fdcda4129902fe86f81abf7e7236953ec5a4e1" - integrity sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA== +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== -"@webassemblyjs/helper-wasm-section@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz#9ce2cc89300262509c801b4af113d1ca25c1a75b" - integrity sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew== +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" -"@webassemblyjs/ieee754@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz#46975d583f9828f5d094ac210e219441c4e6f5cf" - integrity sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA== +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.0.tgz#f7353de1df38aa201cba9fb88b43f41f75ff403b" - integrity sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g== +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.0.tgz#86e48f959cf49e0e5091f069a709b862f5a2cadf" - integrity sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw== - -"@webassemblyjs/wasm-edit@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz#ee4a5c9f677046a210542ae63897094c2027cb78" - integrity sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/helper-wasm-section" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-opt" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - "@webassemblyjs/wast-printer" "1.11.0" - -"@webassemblyjs/wasm-gen@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz#3cdb35e70082d42a35166988dda64f24ceb97abe" - integrity sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wasm-opt@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz#1638ae188137f4bb031f568a413cd24d32f92978" - integrity sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-buffer" "1.11.0" - "@webassemblyjs/wasm-gen" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - -"@webassemblyjs/wasm-parser@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz#3e680b8830d5b13d1ec86cc42f38f3d4a7700754" - integrity sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw== - dependencies: - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/helper-api-error" "1.11.0" - "@webassemblyjs/helper-wasm-bytecode" "1.11.0" - "@webassemblyjs/ieee754" "1.11.0" - "@webassemblyjs/leb128" "1.11.0" - "@webassemblyjs/utf8" "1.11.0" - -"@webassemblyjs/wast-printer@1.11.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz#680d1f6a5365d6d401974a8e949e05474e1fab7e" - integrity sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ== - dependencies: - "@webassemblyjs/ast" "1.11.0" +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@webpack-cli/configtest@^1.1.0": @@ -500,25 +501,30 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -about-window@1.13.4: - version "1.13.4" - resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.13.4.tgz#cedfd0153c4b8b54832acae6dae695e06f27f4b4" - integrity sha512-Ge7qBRzrmPbVJ2YarUfTrZEaSfhRjeVyFhmH9NqdNDjjgP0dcWwUprH61JWlDgcM3KaDn5zUzimG4YQh6vRocw== +about-window@1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.15.2.tgz#0397216ce0cb6e8a4fa9ba12941e56d481d712b5" + integrity sha512-31mDAnLUfKm4uShfMzeEoS6a3nEto2tUt4zZn7qyAKedaTV4p0dGiW1n+YG8vtRh78mZiewghWJmoxDY+lHyYg== + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.0.4: - version "8.0.5" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.0.5.tgz#a3bfb872a74a6a7f661bc81b9849d9cac12601b7" - integrity sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg== +acorn@^8.4.1, acorn@^8.6.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" + integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" @@ -535,47 +541,22 @@ ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^7.0.2: - version "7.1.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" - integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: - string-width "^3.0.0" + string-width "^4.1.0" ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^3.2.1: version "3.2.1" @@ -591,52 +572,47 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -app-builder-bin@3.5.12: - version "3.5.12" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.12.tgz#bbe174972cc1f481f73d6d92ad47a8b4c7eb4530" - integrity sha512-lQARM2AielmFoBeIo6LZigAe+58Wwe07ZWkt+wVeDxzyieNmeWjlvz/V5dKzinydwdHd+CNswN86sww46yijjA== +app-builder-bin@3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e" + integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw== -app-builder-lib@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.5.tgz#24a88581c891e5b187a0d569aa44e7c4a0dc8de2" - integrity sha512-/W8nlGamJCtKlQtsMWwU9vb+cX4pTNY+rJWCuc7oXUykVSMS50W7LhQusIjCelNfymUQ1XCu6cXEY/ylqhX12A== +app-builder-lib@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz#a61a50b132b858e98fdc70b6b88994ae99b4f96d" + integrity sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg== dependencies: - "7zip-bin" "~5.0.3" + "7zip-bin" "~5.1.1" "@develar/schema-utils" "~2.6.5" - "@electron/universal" "1.0.4" + "@electron/universal" "1.0.5" + "@malept/flatpak-bundler" "^0.4.0" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.10.5" - builder-util-runtime "8.7.3" + builder-util "22.14.5" + builder-util-runtime "8.9.1" chromium-pickle-js "^0.2.0" debug "^4.3.2" ejs "^3.1.6" - electron-publish "22.10.5" - fs-extra "^9.1.0" - hosted-git-info "^3.0.8" - is-ci "^2.0.0" - istextorbinary "^5.12.0" - js-yaml "^4.0.0" - lazy-val "^1.0.4" + electron-osx-sign "^0.5.0" + electron-publish "22.14.5" + form-data "^4.0.0" + fs-extra "^10.0.0" + hosted-git-info "^4.0.2" + is-ci "^3.0.0" + isbinaryfile "^4.0.8" + js-yaml "^4.1.0" + lazy-val "^1.0.5" minimatch "^3.0.4" - normalize-package-data "^3.0.0" - read-config-file "6.0.0" + read-config-file "6.2.0" sanitize-filename "^1.6.3" - semver "^7.3.4" - temp-file "^3.3.7" + semver "^7.3.5" + temp-file "^3.4.0" arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -648,9 +624,9 @@ array-union@^2.1.0: integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== asar@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz#1fef03c2d6d2de0cbad138788e4f7ae03b129c7b" - integrity sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473" + integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ== dependencies: chromium-pickle-js "^0.2.0" commander "^5.0.0" @@ -679,31 +655,26 @@ async@0.9.x: resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + at-least-node@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binaryextensions@^4.15.0: - version "4.15.0" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-4.15.0.tgz#c63a502e0078ff1b0e9b00a9f74d3c2b0f8bd32e" - integrity sha512-MkUl3szxXolQ2scI1PM14WOT951KnaTNJ0eMKg7WzOI4kvSxyNo/Cygx4LOBNhwyINhAuSQpJW1rYD9aBSxGaw== - bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" @@ -711,31 +682,31 @@ bluebird-lst@^1.0.9: dependencies: bluebird "^3.5.5" -bluebird@^3.5.5: +bluebird@^3.5.0, bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -boolbase@^1.0.0, boolbase@~1.0.0: +boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= boolean@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.0.2.tgz#df1baa18b6a2b0e70840475e1d93ec8fe75b2570" - integrity sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g== + version "3.1.4" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435" + integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w== boxen@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz#64fe9b16066af815f51057adcc800c3730120854" - integrity sha512-5bvsqw+hhgUi3oYGK0Vf4WpIkyemp60WBInn7+WNfoISzAqk/HX4L7WNROq38E6UR/y3YADpv6pEm4BfkeEAdA== + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== dependencies: ansi-align "^3.0.0" camelcase "^6.2.0" chalk "^4.1.0" cli-boxes "^2.2.1" - string-width "^4.2.0" + string-width "^4.2.2" type-fest "^0.20.2" widest-line "^3.1.0" wrap-ansi "^7.0.0" @@ -756,15 +727,28 @@ braces@^3.0.1: fill-range "^7.0.1" browserslist@^4.14.5: - version "4.16.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" - integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== + version "4.19.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== dependencies: - caniuse-lite "^1.0.30001181" - colorette "^1.2.1" - electron-to-chromium "^1.3.649" + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" escalade "^3.1.1" - node-releases "^1.1.70" + node-releases "^2.0.1" + picocolors "^1.0.0" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" buffer-crc32@~0.2.3: version "0.2.13" @@ -776,10 +760,15 @@ buffer-equal@1.0.0: resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer@^5.1.0: version "5.7.1" @@ -789,41 +778,34 @@ buffer@^5.1.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@8.7.2: - version "8.7.2" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz#d93afc71428a12789b437e13850e1fa7da956d72" - integrity sha512-xBqv+8bg6cfnzAQK1k3OGpfaHg+QkPgIgpEkXNhouZ0WiUkyZCftuRc2LYzQrLucFywpa14Xbc6+hTbpq83yRA== - dependencies: - debug "^4.1.1" - sax "^1.2.4" - -builder-util-runtime@8.7.3: - version "8.7.3" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz#0aaafa52d25295c939496f62231ca9ff06c30e40" - integrity sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ== +builder-util-runtime@8.9.1: + version "8.9.1" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz#25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a" + integrity sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg== dependencies: debug "^4.3.2" sax "^1.2.4" -builder-util@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.5.tgz#8d0b04a3be6acc74938679aa90dcb3181b1ae86b" - integrity sha512-/MkLhmyo1gU3xMwXJxccQaRj/9tm5eTd6ZyebTf8SYouY4r3hRser+LxhOm/f8Z9W6oJvfPe0jc9TFsxYfMcsg== +builder-util@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz#42a18608d2a566c0846e91266464776c8bfb0cc9" + integrity sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA== dependencies: - "7zip-bin" "~5.0.3" - "@types/debug" "^4.1.5" - "@types/fs-extra" "^9.0.7" - app-builder-bin "3.5.12" + "7zip-bin" "~5.1.1" + "@types/debug" "^4.1.6" + "@types/fs-extra" "^9.0.11" + app-builder-bin "3.7.1" bluebird-lst "^1.0.9" - builder-util-runtime "8.7.3" - chalk "^4.1.0" + builder-util-runtime "8.9.1" + chalk "^4.1.1" + cross-spawn "^7.0.3" debug "^4.3.2" - fs-extra "^9.1.0" - is-ci "^2.0.0" - js-yaml "^4.0.0" + fs-extra "^10.0.0" + is-ci "^3.0.0" + js-yaml "^4.1.0" source-map-support "^0.5.19" stat-mode "^1.0.0" - temp-file "^3.3.7" + temp-file "^3.4.0" cacheable-request@^6.0.0: version "6.1.0" @@ -843,7 +825,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^4.1.1: +camel-case@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== @@ -852,16 +834,16 @@ camel-case@^4.1.1: tslib "^2.0.3" camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" + integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== -caniuse-lite@^1.0.30001181: - version "1.0.30001191" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz#bacb432b6701f690c8c5f7c680166b9a9f0843d9" - integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw== +caniuse-lite@^1.0.30001286: + version "1.0.30001291" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001291.tgz#08a8d2cfea0b2cf2e1d94dd795942d0daef6108c" + integrity sha512-roMV5V0HNGgJ88s42eE70sstqGW/gwFndosYrikHthw98N5tLnOTxFqMLQjZVRxTWFlJ4rn+MsgXrR7MDPY4jA== -chalk@^2.0.0, chalk@^2.4.2: +chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -870,20 +852,18 @@ chalk@^2.0.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== chromium-pickle-js@^0.2.0: version "0.2.0" @@ -895,10 +875,15 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== +ci-info@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + +clean-css@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.2.2.tgz#d3a7c6ee2511011e051719838bdcf8314dc4548d" + integrity sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w== dependencies: source-map "~0.6.0" @@ -907,13 +892,13 @@ cli-boxes@^2.2.1: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== -cli-truncate@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086" - integrity sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA== +cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== dependencies: - slice-ansi "^1.0.0" - string-width "^2.0.0" + slice-ansi "^3.0.0" + string-width "^4.2.0" cliui@^7.0.2: version "7.0.4" @@ -964,11 +949,6 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - colorette@^2.0.14: version "2.0.16" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" @@ -979,6 +959,13 @@ colors@1.0.3: resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" @@ -991,20 +978,25 @@ commander@^2.20.0: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - commander@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.1.0.tgz#f2eaecf131f10e36e07d894698226e36ae0eb5ff" - integrity sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg== + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +compare-version@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" + integrity sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA= concat-map@0.0.1: version "0.0.1" @@ -1022,9 +1014,9 @@ concat-stream@^1.6.2: typedarray "^0.0.6" config-chain@^1.1.11: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" proto-list "~1.2.1" @@ -1041,16 +1033,16 @@ configstore@^5.0.1: write-file-atomic "^3.0.0" xdg-basedir "^4.0.0" -core-js@^3.6.5: - version "3.9.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" - integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ== - -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + crc@^3.8.0: version "3.8.0" resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" @@ -1084,62 +1076,52 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-loader@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.0.2.tgz#24f758dae349bad0a440c50d7e2067742e0899cb" - integrity sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA== +css-loader@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" + integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== dependencies: - camelcase "^6.2.0" - cssesc "^3.0.0" icss-utils "^5.1.0" - loader-utils "^2.0.0" - postcss "^8.2.4" + postcss "^8.2.15" postcss-modules-extract-imports "^3.0.0" postcss-modules-local-by-default "^4.0.0" postcss-modules-scope "^3.0.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.1.0" - schema-utils "^3.0.0" - semver "^7.3.4" + semver "^7.3.5" -css-select@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== +css-select@^4.1.3: + version "4.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.0.tgz#ab28276d3afb00cc05e818bd33eb030f14f57895" + integrity sha512-6YVG6hsH9yIb/si3Th/is8Pex7qnVHO6t7q7U6TIUnkQASGbS8tnUDBftnPynLNnuUl/r2+PTd0ekiiq7R0zJw== dependencies: boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" + css-what "^5.1.0" + domhandler "^4.3.0" + domutils "^2.8.0" + nth-check "^2.0.1" -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== +css-what@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -debug@^2.6.9: +debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -debug@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" @@ -1156,9 +1138,9 @@ deep-extend@^0.6.0: integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== defer-to-connect@^1.0.1: version "1.1.3" @@ -1172,10 +1154,15 @@ define-properties@^1.1.3: dependencies: object-keys "^1.0.12" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== diff@^4.0.1: version "4.0.2" @@ -1199,32 +1186,31 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.5.tgz#65a33c106ead5a350c7de8997c546559bd6e0e7c" - integrity sha512-58FEpfH8PEFqjbUNka4bYr52snRT8+LSXrP4gy6EZWOVICbOlmTOYj988pfoLam5C5iXb3odmyUQqwWOxlsEUw== +dmg-builder@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz#137c0b55e639badcc0b119eb060e6fa4ed61d948" + integrity sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w== dependencies: - app-builder-lib "22.10.5" - builder-util "22.10.5" - fs-extra "^9.1.0" + app-builder-lib "22.14.5" + builder-util "22.14.5" + builder-util-runtime "8.9.1" + fs-extra "^10.0.0" iconv-lite "^0.6.2" - js-yaml "^4.0.0" - sanitize-filename "^1.6.3" + js-yaml "^4.1.0" optionalDependencies: - dmg-license "^1.0.8" + dmg-license "^1.0.9" -dmg-license@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.8.tgz#d52e234815f1a07a59706e5f2a2fea71991cf784" - integrity sha512-47GOb6b4yVzpovXC34heXElpH++ICg9GuWBeOTaokUNLAoAdWpE4VehudYEEtu96j2jXsgQWYf78nW7r+0Y3eg== +dmg-license@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz#89f52afae25d827fce8d818c13aff30af1c16bcc" + integrity sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A== dependencies: "@types/plist" "^3.0.1" "@types/verror" "^1.10.3" ajv "^6.10.0" - cli-truncate "^1.1.0" crc "^3.8.0" - iconv-corefoundation "^1.1.5" - plist "^3.0.1" + iconv-corefoundation "^1.1.7" + plist "^3.0.4" smart-buffer "^4.0.2" verror "^1.10.0" @@ -1235,45 +1221,42 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2: +dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== dependencies: domelementtype "^2.0.1" + domhandler "^4.2.0" entities "^2.0.0" -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" - integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== dependencies: - domelementtype "1" + domelementtype "^2.2.0" -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: - dom-serializer "0" - domelementtype "1" + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" dot-case@^3.0.4: version "3.0.4" @@ -1295,24 +1278,16 @@ dotenv-expand@^5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== -dotenv@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dotenv@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05" + integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -editions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/editions/-/editions-6.1.0.tgz#ba6c6cf9f4bb571d9e53ea34e771a602e5a66549" - integrity sha512-h6nWEyIocfgho9J3sTSuhU/WoFOu1hTX75rPBebNrbF38Y9QFDjCDizYXdikHTySW7Y3mSxli8bpDz9RAtc7rA== - dependencies: - errlop "^4.0.0" - version-range "^1.0.0" - ejs@^3.1.6: version "3.1.6" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" @@ -1320,82 +1295,82 @@ ejs@^3.1.6: dependencies: jake "^10.6.1" -electron-builder@^22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.5.tgz#03b156b93e6012609027c3aaa69201a3ad21e454" - integrity sha512-0q/289UUJUhRou6lZKDz/wzK6WprIQ6VXMTmaI+w9qXvSNugPC9UA5s2zXInOkjZOvO/xKnjeyiavrVSHYF3tA== - dependencies: - "@types/yargs" "^15.0.13" - app-builder-lib "22.10.5" - bluebird-lst "^1.0.9" - builder-util "22.10.5" - builder-util-runtime "8.7.3" - chalk "^4.1.0" - dmg-builder "22.10.5" - fs-extra "^9.1.0" - is-ci "^2.0.0" - lazy-val "^1.0.4" - read-config-file "6.0.0" - sanitize-filename "^1.6.3" +electron-builder@^22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496" + integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg== + dependencies: + "@types/yargs" "^17.0.1" + app-builder-lib "22.14.5" + builder-util "22.14.5" + builder-util-runtime "8.9.1" + chalk "^4.1.1" + dmg-builder "22.14.5" + fs-extra "^10.0.0" + is-ci "^3.0.0" + lazy-val "^1.0.5" + read-config-file "6.2.0" update-notifier "^5.1.0" - yargs "^16.2.0" + yargs "^17.0.1" -electron-publish@22.10.5: - version "22.10.5" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz#9cbe46266b6c79d8c6e99840755682e2262d3543" - integrity sha512-dHyuazv3P3j1Xyv7pdwTwAvxWab2pCb0G0Oa6qWQoCc4b1/mRGY00M7AvYW1cPuUijj9zYAf1HmXfM6MifaMlA== +electron-osx-sign@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz#fc258c5e896859904bbe3d01da06902c04b51c3a" + integrity sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ== dependencies: - "@types/fs-extra" "^9.0.7" - bluebird-lst "^1.0.9" - builder-util "22.10.5" - builder-util-runtime "8.7.3" - chalk "^4.1.0" - fs-extra "^9.1.0" - lazy-val "^1.0.4" - mime "^2.5.0" - -electron-to-chromium@^1.3.649: - version "1.3.673" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.673.tgz#b4f81c930b388f962b7eba20d0483299aaa40913" - integrity sha512-ms+QR2ckfrrpEAjXweLx6kNCbpAl66DcW//3BZD4BV5KhUgr0RZRce1ON/9J3QyA3JO28nzgb5Xv8DnPr05ILg== + bluebird "^3.5.0" + compare-version "^0.1.2" + debug "^2.6.8" + isbinaryfile "^3.0.2" + minimist "^1.2.0" + plist "^3.0.1" -electron-updater@4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.5.tgz#4fb36f593a031c87ea07ee141c9f064d5deffb15" - integrity sha512-5jjN7ebvfj1cLI0VZMdCnJk6aC4bP+dy7ryBf21vArR0JzpRVk0OZHA2QBD+H5rm6ZSeDYHOY6+8PrMEqJ4wlQ== - dependencies: - "@types/semver" "^7.3.1" - builder-util-runtime "8.7.2" - fs-extra "^9.0.1" - js-yaml "^3.14.0" - lazy-val "^1.0.4" +electron-publish@22.14.5: + version "22.14.5" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz#34bcdce671f0e651330db20040d6919c77c94bd6" + integrity sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg== + dependencies: + "@types/fs-extra" "^9.0.11" + builder-util "22.14.5" + builder-util-runtime "8.9.1" + chalk "^4.1.1" + fs-extra "^10.0.0" + lazy-val "^1.0.5" + mime "^2.5.2" + +electron-to-chromium@^1.4.17: + version "1.4.24" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.24.tgz#9cf8a92d5729c480ee47ff0aa5555f57467ae2fa" + integrity sha512-erwx5r69B/WFfFuF2jcNN0817BfDBdC4765kQ6WltOMuwsimlQo3JTEq0Cle+wpHralwdeX3OfAtw/mHxPK0Wg== + +electron-updater@4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.6.1.tgz#80ca805c4f51b2e682aac29d18fed75d6a533d32" + integrity sha512-YsU1mHqXLrXXmBMsxhxy24PrbaB8rnpZDPmFa2gOkTYk/Ch13+R0fjsRSpPYvqtskVVY0ux8fu+HnUkVkqc7og== + dependencies: + "@types/semver" "^7.3.6" + builder-util-runtime "8.9.1" + fs-extra "^10.0.0" + js-yaml "^4.1.0" + lazy-val "^1.0.5" + lodash.escaperegexp "^4.1.2" lodash.isequal "^4.5.0" - semver "^7.3.2" + semver "^7.3.5" -electron@11.3.0: - version "11.3.0" - resolved "https://registry.yarnpkg.com/electron/-/electron-11.3.0.tgz#87e8528fd23ae53b0eeb3a738f1fe0a3ad27c2db" - integrity sha512-MhdS0gok3wZBTscLBbYrOhLaQybCSAfkupazbK1dMP5c+84eVMxJE/QGohiWQkzs0tVFIJsAHyN19YKPbelNrQ== +electron@16.0.5: + version "16.0.5" + resolved "https://registry.yarnpkg.com/electron/-/electron-16.0.5.tgz#16394c196e42215a82da1f4f39a3f757caf33cb1" + integrity sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg== dependencies: - "@electron/get" "^1.0.1" - "@types/node" "^12.0.12" + "@electron/get" "^1.13.0" + "@types/node" "^14.6.2" extract-zip "^1.0.3" -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - encodeurl@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -1408,19 +1383,10 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz#525c5d856680fbd5052de453ac83e32049958b5c" - integrity sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.3: + version "5.8.3" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" + integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1432,42 +1398,25 @@ enquirer@^2.3.5: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== env-paths@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" - integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.7.3: - version "7.7.4" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.7.4.tgz#c6311cdd38a0e86808c1c9343f667e4267c4a320" - integrity sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ== - -errlop@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz#8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b" - integrity sha512-vul6gGBuVt0M2TPi1/WrcL86+Hb3Q2Tpu3TME3sbVhZrYf7J1ZMHCodI25RQKCVurh56qTfvgM0p3w5cT4reSQ== + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== -errno@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -es-module-lexer@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.4.0.tgz#21f4181cc8b7eee06855f1c59e6087c7bc4f77b0" - integrity sha512-iuEGihqqhKWFgh72Q/Jtch7V2t/ft8w8IPP2aEN8ArYKO+IWyo6hsi96hCdgyeEDQIV3InhYQ9BlwUFPGXrbEQ== +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== es6-error@^4.1.1: version "4.1.1" @@ -1494,19 +1443,19 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz#4ef1eaf97afe5176e6a75ddfb57c335121abc5a6" - integrity sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw== +eslint-config-prettier@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" + integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== -eslint-plugin-prettier@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7" - integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ== +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== dependencies: prettier-linter-helpers "^1.0.0" -eslint-scope@^5.0.0, eslint-scope@^5.1.1: +eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -1514,79 +1463,83 @@ eslint-scope@^5.0.0, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== +eslint-scope@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153" + integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg== dependencies: - eslint-visitor-keys "^1.1.0" + esrecurse "^4.3.0" + estraverse "^5.2.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2" + integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA== -eslint@^7.20.0: - version "7.20.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" - integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== +eslint@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.5.0.tgz#ddd2c1afd8f412036f87ae2a063d2aa296d3175f" + integrity sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg== dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.3.0" + "@eslint/eslintrc" "^1.0.5" + "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" enquirer "^2.3.5" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.0" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.1.0" + espree "^9.2.0" esquery "^1.4.0" esutils "^2.0.2" - file-entry-cache "^6.0.0" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" + glob-parent "^6.0.1" + globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.20" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" progress "^2.0.0" - regexpp "^3.1.0" + regexpp "^3.2.0" semver "^7.2.1" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" - table "^6.0.4" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.2.0.tgz#c50814e01611c2d0f8bd4daa83c369eabba80dbc" + integrity sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg== dependencies: - acorn "^7.4.0" + acorn "^8.6.0" acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + eslint-visitor-keys "^3.1.0" esquery@^1.4.0: version "1.4.0" @@ -1608,9 +1561,9 @@ estraverse@^4.1.1: integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" @@ -1618,14 +1571,14 @@ esutils@^2.0.2: integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== events@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== execa@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" get-stream "^6.0.0" @@ -1648,11 +1601,11 @@ extract-zip@^1.0.3: yauzl "^2.10.0" extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -1663,16 +1616,15 @@ fast-diff@^1.1.2: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" + glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + micromatch "^4.0.4" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -1690,9 +1642,9 @@ fastest-levenshtein@^1.0.12: integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" @@ -1703,7 +1655,7 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -file-entry-cache@^6.0.0: +file-entry-cache@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== @@ -1741,9 +1693,27 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + version "3.2.4" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" + integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" fs-extra@^8.1.0: version "8.1.0" @@ -1754,7 +1724,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.1, fs-extra@^9.1.0: +fs-extra@^9.0.0, fs-extra@^9.0.1: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -1764,10 +1734,10 @@ fs-extra@^9.0.1, fs-extra@^9.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-jetpack@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.1.0.tgz#d693fcffd3cedbd8829226967866b9e89f290f0f" - integrity sha512-h4nHLIcCaxnXfUWhwP+mLnar03R2DBlqicNvKJG44TJob8RV6GB8EKNwJgSaBeDAfqWhqq01y+Ao96vRwpXlPw== +fs-jetpack@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.3.0.tgz#8202abd21c9160faadf3c258b4cf918a74f680de" + integrity sha512-Zx4OJ8HyKvZL9sgxegMGRCgAJSQET5Cqpj/SESwnzqHruHvhkilJBGLoZf6EiYr3UWJDqcPoWDX7aAfaj7D9Qw== dependencies: minimatch "^3.0.2" rimraf "^2.6.3" @@ -1807,26 +1777,33 @@ get-stream@^5.1.0: pump "^3.0.0" get-stream@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.0.tgz#3e0012cb6827319da2706e601a1583e8629a6718" - integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -glob-parent@^5.0.0, glob-parent@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^7.1.3, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -1835,13 +1812,12 @@ glob@^7.1.3, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -global-agent@^2.0.2: - version "2.1.12" - resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.1.12.tgz#e4ae3812b731a9e81cbf825f9377ef450a8e4195" - integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg== +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== dependencies: boolean "^3.0.1" - core-js "^3.6.5" es6-error "^4.1.1" matcher "^3.0.0" roarr "^2.15.3" @@ -1865,12 +1841,12 @@ global-tunnel-ng@^2.7.1: npm-conf "^1.1.3" tunnel "^0.0.6" -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== +globals@^13.6.0, globals@^13.9.0: + version "13.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== dependencies: - type-fest "^0.8.1" + type-fest "^0.20.2" globalthis@^1.0.1: version "1.0.2" @@ -1879,10 +1855,10 @@ globalthis@^1.0.1: dependencies: define-properties "^1.1.3" -globby@^11.0.1: - version "11.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" - integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== +globby@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -1909,9 +1885,9 @@ got@^9.6.0: url-parse-lax "^3.0.0" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -1945,56 +1921,46 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hosted-git-info@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz#6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d" - integrity sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw== - dependencies: - lru-cache "^6.0.0" - -hosted-git-info@^4.0.1: +hosted-git-info@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== dependencies: lru-cache "^6.0.0" -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" he "^1.2.0" - param-case "^3.0.3" + param-case "^3.0.4" relateurl "^0.2.7" - terser "^4.6.3" + terser "^5.10.0" -html-webpack-plugin@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.2.0.tgz#d675ad0027a89de6b3d9950e0b57656dcfd97fbf" - integrity sha512-0wkVlJKq7edCN793gdLgdAm5m196qI2vb5SGXy4AtGOFB/lYKyS10+3Vkhe6Bo0acddAW3QVw+0ysgWoko/IEQ== +html-webpack-plugin@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" + integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== dependencies: - "@types/html-minifier-terser" "^5.0.0" - html-minifier-terser "^5.0.1" - loader-utils "^2.0.0" - lodash "^4.17.20" - pretty-error "^2.1.1" + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" tapable "^2.0.0" -htmlparser2@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" http-cache-semantics@^4.0.0: version "4.1.0" @@ -2006,18 +1972,18 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -iconv-corefoundation@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz#90596d444a579aeb109f5ca113f6bb665a41be2b" - integrity sha512-hI4m7udfV04OcjleOmDaR4gwXnH4xumxN+ZmywHDiKf2CmAzsT9SVYe7Y4pdnQbyZfXwAQyrElykbE5PrPRfmQ== +iconv-corefoundation@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a" + integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ== dependencies: - cli-truncate "^1.1.0" + cli-truncate "^2.1.0" node-addon-api "^1.6.3" iconv-lite@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" - integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" @@ -2036,10 +2002,10 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.1.4, ignore@^5.1.8: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" @@ -2055,9 +2021,9 @@ import-lazy@^2.1.0: integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -2067,11 +2033,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2080,7 +2041,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@^2.0.3, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -2107,10 +2068,17 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-ci@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== + dependencies: + ci-info "^3.2.0" + is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== dependencies: has "^1.0.3" @@ -2119,20 +2087,15 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -2172,9 +2135,9 @@ is-plain-object@^2.0.4: isobject "^3.0.1" is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-typedarray@^1.0.0: version "1.0.0" @@ -2191,6 +2154,18 @@ isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isbinaryfile@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" + integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== + dependencies: + buffer-alloc "^1.2.0" + +isbinaryfile@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" + integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -2201,15 +2176,6 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -istextorbinary@^5.12.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-5.12.0.tgz#2f84777838668fdf524c305a2363d6057aaeec84" - integrity sha512-wLDRWD7qpNTYubk04+q3en1+XZGS4vYWK0+SxNSXJLaITMMEK+J3o/TlOMyULeH1qozVZ9uUkKcyMA8odyxz8w== - dependencies: - binaryextensions "^4.15.0" - editions "^6.1.0" - textextensions "^5.11.0" - jake@^10.6.1: version "10.8.2" resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" @@ -2220,32 +2186,19 @@ jake@^10.6.1: filelist "^1.0.1" minimatch "^3.0.4" -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +jest-worker@^27.4.1: + version "27.4.5" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.5.tgz#d696e3e46ae0f24cff3fa7195ffba22889262242" + integrity sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg== dependencies: "@types/node" "*" merge-stream "^2.0.0" - supports-color "^7.0.0" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + supports-color "^8.0.0" -js-yaml@^3.13.1, js-yaml@^3.14.0: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" @@ -2264,11 +2217,6 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -2279,7 +2227,7 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^2.1.2: +json5@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== @@ -2321,10 +2269,10 @@ latest-version@^5.1.0: dependencies: package-json "^6.3.0" -lazy-val@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" - integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== +lazy-val@^1.0.4, lazy-val@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d" + integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q== levn@^0.4.1: version "0.4.1" @@ -2339,15 +2287,6 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -2355,12 +2294,22 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash.escaperegexp@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" + integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.20: +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -2408,14 +2357,6 @@ matcher@^3.0.0: dependencies: escape-string-regexp "^4.0.0" -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -2426,30 +2367,30 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.0, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== +micromatch@^4.0.0, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" - picomatch "^2.0.5" + picomatch "^2.2.3" -mime-db@1.46.0: - version "1.46.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== -mime-types@^2.1.27: - version "2.1.29" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== +mime-types@^2.1.12, mime-types@^2.1.27: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: - mime-db "1.46.0" + mime-db "1.51.0" -mime@^2.5.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== +mime@^2.5.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^2.1.0: version "2.1.0" @@ -2490,10 +2431,10 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -nanoid@^3.1.20: - version "3.1.20" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" - integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== +nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== natural-compare@^1.4.0: version "1.4.0" @@ -2518,25 +2459,15 @@ node-addon-api@^1.6.3: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== -node-releases@^1.1.70: - version "1.1.71" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" - integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== - -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== npm-conf@^1.1.3: version "1.1.3" @@ -2553,12 +2484,12 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== +nth-check@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== dependencies: - boolbase "~1.0.0" + boolbase "^1.0.0" object-keys@^1.0.12: version "1.1.1" @@ -2603,13 +2534,6 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -2632,7 +2556,7 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -param-case@^3.0.3: +param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== @@ -2671,9 +2595,9 @@ path-key@^3.0.0, path-key@^3.1.0: integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-type@^4.0.0: version "4.0.0" @@ -2685,10 +2609,15 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== pify@^3.0.0: version "3.0.0" @@ -2702,14 +2631,13 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -plist@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.2.tgz#74bbf011124b90421c22d15779cee60060ba95bc" - integrity sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ== +plist@^3.0.1, plist@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe" + integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg== dependencies: base64-js "^1.5.1" xmlbuilder "^9.0.7" - xmldom "^0.5.0" png2icons@^2.0.1: version "2.0.1" @@ -2745,28 +2673,26 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + version "6.0.7" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz#48404830a635113a71fd79397de8209ed05a66fc" + integrity sha512-U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" util-deprecate "^1.0.2" postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.2.4: - version "8.2.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" - integrity sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg== +postcss@^8.2.15: + version "8.4.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" + integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== dependencies: - colorette "^1.2.1" - nanoid "^3.1.20" - source-map "^0.6.1" + nanoid "^3.1.30" + picocolors "^1.0.0" + source-map-js "^1.0.1" prelude-ls@^1.2.1: version "1.2.1" @@ -2785,18 +2711,18 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== +prettier@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" - renderkid "^2.0.4" + renderkid "^3.0.0" process-nextick-args@~2.0.0: version "2.0.1" @@ -2813,11 +2739,6 @@ proto-list@~1.2.1: resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -2839,9 +2760,9 @@ pupa@^2.1.1: escape-goat "^2.0.0" queue-microtask@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.2.tgz#abf64491e6ecf0f38a6502403d4cda04f372dfd3" - integrity sha512-dB15eXv3p2jDlbOiNLyMabYg1/sXvppd8DP2J3EOCQ0AkuSXCW2tP7mnVouVLJKgUMY6yP0kcQDVpLCN13h4Xg== + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== randombytes@^2.1.0: version "2.1.0" @@ -2860,18 +2781,18 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-config-file@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.0.0.tgz#224b5dca6a5bdc1fb19e63f89f342680efdb9299" - integrity sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA== +read-config-file@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade" + integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg== dependencies: - dotenv "^8.2.0" + dotenv "^9.0.2" dotenv-expand "^5.1.0" - js-yaml "^3.13.1" - json5 "^2.1.2" + js-yaml "^4.1.0" + json5 "^2.2.0" lazy-val "^1.0.4" -readable-stream@^2.0.1, readable-stream@^2.2.2: +readable-stream@^2.2.2: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -2884,26 +2805,17 @@ readable-stream@^2.0.1, readable-stream@^2.2.2: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - rechoir@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca" - integrity sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q== + version "0.7.1" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== dependencies: resolve "^1.9.0" -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== registry-auth-token@^4.0.0: version "4.2.1" @@ -2924,27 +2836,22 @@ relateurl@^0.2.7: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -renderkid@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" - integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: - css-select "^2.0.2" - dom-converter "^0.2" - htmlparser2 "^3.10.1" - lodash "^4.17.20" - strip-ansi "^3.0.0" + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -2962,7 +2869,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.20.0, resolve@^1.9.0: +resolve@^1.9.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -2989,7 +2896,7 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" -rimraf@^3.0.2: +rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -3015,14 +2922,14 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^6.6.6: - version "6.6.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.6.tgz#14d8417aa5a07c5e633995b525e1e3c0dec03b70" - integrity sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg== +rxjs@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" + integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w== dependencies: - tslib "^1.9.0" + tslib "~2.1.0" -safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -3049,12 +2956,12 @@ sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== +schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: - "@types/json-schema" "^7.0.6" + "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" @@ -3075,10 +2982,10 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" @@ -3089,10 +2996,10 @@ serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== dependencies: randombytes "^2.1.0" @@ -3116,132 +3023,70 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + version "3.0.6" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== - dependencies: - is-fullwidth-code-point "^2.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== dependencies: ansi-styles "^4.0.0" astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" smart-buffer@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" - integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -source-list-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" + integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== -source-map-support@^0.5.17, source-map-support@^0.5.19, source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@^0.5.19, source-map-support@^0.5.21, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3, source-map@~0.7.2: +source-map@~0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - sprintf-js@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - stat-mode@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" + strip-ansi "^6.0.1" string_decoder@~1.1.1: version "1.1.1" @@ -3250,33 +3095,12 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^5.0.0" + ansi-regex "^5.0.1" strip-final-newline@^2.0.0: version "2.0.0" @@ -3293,13 +3117,10 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -style-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" - integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" +style-loader@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" + integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== sumchecker@^3.0.1: version "3.0.1" @@ -3315,80 +3136,71 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -table@^6.0.4: - version "6.0.7" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" - integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - ajv "^7.0.2" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + has-flag "^4.0.0" tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b" - integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -temp-file@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.3.7.tgz#686885d635f872748e384e871855958470aeb18a" - integrity sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g== +temp-file@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" + integrity sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg== dependencies: async-exit-hook "^2.0.1" - fs-extra "^8.1.0" + fs-extra "^10.0.0" -terser-webpack-plugin@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz#7effadee06f7ecfa093dbbd3e9ab23f5f3ed8673" - integrity sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q== +terser-webpack-plugin@^5.1.3: + version "5.3.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz#21641326486ecf91d8054161c816e464435bae9f" + integrity sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ== dependencies: - jest-worker "^26.6.2" - p-limit "^3.1.0" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" + jest-worker "^27.4.1" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" source-map "^0.6.1" - terser "^5.5.1" + terser "^5.7.2" -terser@^4.6.3: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.5.1: - version "5.6.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" - integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA== +terser@^5.10.0, terser@^5.7.2: + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== dependencies: commander "^2.20.0" source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -textextensions@^5.11.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-5.12.0.tgz#b908120b5c1bd4bb9eba41423d75b176011ab68a" - integrity sha512-IYogUDaP65IXboCiPPC0jTLLBzYlhhw2Y4b0a2trPgbHNGGGEfuHE6tds+yDcCf4mpNDaGISFzwSSezcXt+d6w== +tmp-promise@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" + integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ== + dependencies: + tmp "^0.2.0" + +tmp@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" + integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== + dependencies: + rimraf "^3.0.0" to-readable-stream@^1.0.0: version "1.0.0" @@ -3409,43 +3221,53 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" -ts-loader@^8.0.17: - version "8.0.17" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.17.tgz#98f2ccff9130074f4079fd89b946b4c637b1f2fc" - integrity sha512-OeVfSshx6ot/TCxRwpBHQ/4lRzfgyTkvi7ghDVrLXOHzTbSK413ROgu/xNqM72i3AFeAIJgQy78FwSMKmOW68w== +ts-loader@^9.2.6: + version "9.2.6" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.6.tgz#9937c4dd0a1e3dbbb5e433f8102a6601c6615d74" + integrity sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw== dependencies: chalk "^4.1.0" - enhanced-resolve "^4.0.0" - loader-utils "^2.0.0" + enhanced-resolve "^5.0.0" micromatch "^4.0.0" semver "^7.3.4" -ts-node@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" - integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== - dependencies: +ts-node@^10.4.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" + integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== + dependencies: + "@cspotcode/source-map-support" "0.7.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" arg "^4.1.0" create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" - source-map-support "^0.5.17" yn "3.1.1" -tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== -tsutils@^3.17.1: - version "3.20.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.20.0.tgz#ea03ea45462e146b53d70ce0893de453ff24f698" - integrity sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg== +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -3471,11 +3293,6 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -3488,15 +3305,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.2.tgz#1450f020618f872db0ea17317d16d8da8ddb8c4c" - integrity sha512-tbb+NVrLfnsJy3M59lsDgrzWIflR4d4TIUjz+heUnHZwdF7YsrMTKoRERiIvI2lvBG95dfpLxB21WZhys1bgaQ== - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= +typescript@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" + integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== unique-string@^2.0.0: version "2.0.0" @@ -3554,7 +3366,7 @@ utf8-byte-length@^1.0.1: resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -3570,43 +3382,23 @@ uuid@^8.3.2: integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-compile-cache@^2.0.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" - integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== verror@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + version "1.10.1" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb" + integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" extsprintf "^1.2.0" -version-compare@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/version-compare/-/version-compare-1.1.0.tgz#7b3e67e7e6cec5c72d9c9e586f8854e419ade17c" - integrity sha512-zVKtPOJTC9x23lzS4+4D7J+drq80BXVYAmObnr5zqxxFVH7OffJ1lJlAS7LYsQNV56jx/wtbw0UV7XHLrvd6kQ== - -version-range@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/version-range/-/version-range-1.1.0.tgz#1c233064202ee742afc9d56e21da3b2e15260acf" - integrity sha512-R1Ggfg2EXamrnrV3TkZ6yBNgITDbclB3viwSjbZ3+eK0VVNK4ajkYJTnDz5N0bIMYDtK9MUBvXJUnKO5RWWJ6w== - dependencies: - version-compare "^1.0.0" - -watchpack@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" - integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== +watchpack@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" + integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -3629,43 +3421,41 @@ webpack-cli@^4.9.1: rechoir "^0.7.0" webpack-merge "^5.7.3" -webpack-merge@^5.7.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" - integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== +webpack-merge@^5.7.3, webpack-merge@^5.8.0: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== dependencies: clone-deep "^4.0.1" wildcard "^2.0.0" -webpack-node-externals@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz#178e017a24fec6015bc9e672c77958a6afac861d" - integrity sha512-aHdl/y2N7PW2Sx7K+r3AxpJO+aDMcYzMQd60Qxefq3+EwhewSbTBqNumOsCE1JsCUNoyfGj5465N0sSf6hc/5w== +webpack-node-externals@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" + integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== -webpack-sources@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.2.0.tgz#058926f39e3d443193b6c31547229806ffd02bac" - integrity sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" +webpack-sources@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" + integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== -webpack@^5.24.2: - version "5.24.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.24.2.tgz#33790dad631e8b639f4246d762e257720875fe54" - integrity sha512-uxxKYEY4kMNjP+D2Y+8aw5Vd7ar4pMuKCNemxV26ysr1nk0YDiQTylg9U3VZIdkmI0YHa0uC8ABxL+uGxGWWJg== +webpack@^5, webpack@^5.65.0: + version "5.65.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" + integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== dependencies: "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.46" - "@webassemblyjs/ast" "1.11.0" - "@webassemblyjs/wasm-edit" "1.11.0" - "@webassemblyjs/wasm-parser" "1.11.0" - acorn "^8.0.4" + "@types/estree" "^0.0.50" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.7.0" - es-module-lexer "^0.4.0" - eslint-scope "^5.1.1" + enhanced-resolve "^5.8.3" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" graceful-fs "^4.2.4" @@ -3673,11 +3463,11 @@ webpack@^5.24.2: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.0.0" + schema-utils "^3.1.0" tapable "^2.1.1" - terser-webpack-plugin "^5.1.1" - watchpack "^2.0.0" - webpack-sources "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.3.1" + webpack-sources "^3.2.2" which@^2.0.1: version "2.0.2" @@ -3742,38 +3532,33 @@ xmlbuilder@^9.0.7: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= -xmldom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e" - integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA== - y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^20.2.2: - version "20.2.6" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.6.tgz#69f920addf61aafc0b8b89002f5d66e28f2d8b20" - integrity sha512-AP1+fQIWSM/sMiET8fyayjx/J+JmTPt2Mr0FkrgqB4todtfa53sOsrSAcIrJRD5XS20bKUwaDIuMkWKCEiQLKA== +yargs-parser@^21.0.0: + version "21.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" + integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs@^17.0.1: + version "17.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.0.tgz#295c4ffd0eef148ef3e48f7a2e0f58d0e4f26b1c" + integrity sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.0.0" yauzl@^2.10.0: version "2.10.0" @@ -3787,8 +3572,3 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From bbcc62103f7a3e987e1bd02ca774448983f1ece5 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 27 Dec 2021 19:20:12 -0500 Subject: [PATCH 339/385] heavily refactor ipc from remote hackary so everything works again a smaller change is probably waranted but i am lazy. closes #352 closes #351 closes #350 closes #347 closes #345 --- src/background.ts | 80 ++++++++-------- src/bridge.ts | 176 +++++++---------------------------- src/helpers/constants.ts | 11 +-- src/helpers/getMainWindow.ts | 8 ++ src/helpers/observers.ts | 71 ++++++++++++++ src/helpers/settings.ts | 2 - src/helpers/trayManager.ts | 32 ++++--- src/helpers/window.ts | 145 ----------------------------- src/index.d.ts | 17 ---- src/menu/contextMenu.ts | 5 +- src/menu/devMenu.ts | 5 +- src/menu/items/about.ts | 2 +- src/menu/trayMenu.ts | 5 +- 13 files changed, 189 insertions(+), 370 deletions(-) create mode 100644 src/helpers/getMainWindow.ts create mode 100644 src/helpers/observers.ts delete mode 100644 src/helpers/window.ts delete mode 100644 src/index.d.ts diff --git a/src/background.ts b/src/background.ts index 9ef0b54e..26d94c32 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,5 +1,7 @@ -import { app, Event as ElectronEvent, Menu, shell } from "electron"; +import { app, Event as ElectronEvent, ipcMain, Menu, shell } from "electron"; +import { BrowserWindow } from "electron/main"; import path from "path"; +import process from "process"; import { checkForUpdate } from "./helpers/autoUpdate"; import { IS_DEV, @@ -8,9 +10,9 @@ import { IS_WINDOWS, RESOURCES_PATH, } from "./helpers/constants"; +import { MenuManager } from "./helpers/menuManager"; import { settings } from "./helpers/settings"; -import { TrayManager } from "./helpers/trayManager"; -import { CustomBrowserWindow } from "./helpers/window"; +import { Conversation, TrayManager } from "./helpers/trayManager"; import { baseMenuTemplate } from "./menu/baseMenu"; import { popupContextMenu } from "./menu/contextMenu"; import { devMenuTemplate } from "./menu/devMenu"; @@ -25,7 +27,7 @@ const { checkForUpdateOnLaunchEnabled, } = settings; -let mainWindow: CustomBrowserWindow; +let mainWindow: BrowserWindow; let trayManager: TrayManager; app.on("second-instance", () => { @@ -40,25 +42,6 @@ if (!app.requestSingleInstanceLock()) { app.quit(); } -const setApplicationMenu = () => { - const menus = baseMenuTemplate; - if (IS_DEV) { - menus.push(devMenuTemplate); - } - menus.push(helpMenuTemplate); - Menu.setApplicationMenu(Menu.buildFromTemplate(menus)); -}; - -/** - * Save userData in separate folders for each environment. - * Thanks to this you can use production and development versions of the app - * on same machine like those are two separate apps. - */ -if (IS_DEV) { - const userDataPath = app.getPath("userData"); - app.setPath("userData", `${userDataPath}-(${process.env.NODE_ENV})`); -} - if (IS_WINDOWS) { app.setAppUserModelId("pw.kmr.android-messages-desktop"); app.setAsDefaultProtocolClient("android-messages-desktop"); @@ -67,13 +50,7 @@ if (IS_WINDOWS) { app.on("ready", () => { trayManager = new TrayManager(); - setApplicationMenu(); - - if (IS_MAC) { - app.on("activate", () => { - mainWindow.show(); - }); - } + new MenuManager(); if (checkForUpdateOnLaunchEnabled.value && !IS_DEV) { checkForUpdate(true); @@ -82,12 +59,13 @@ app.on("ready", () => { const { width, height } = savedWindowSize.value; const { x, y } = savedWindowPosition.value ?? {}; - mainWindow = new CustomBrowserWindow("main", { + mainWindow = new BrowserWindow({ width, height, x, y, autoHideMenuBar: autoHideMenuEnabled.value, + title: "Android Messages", show: false, //don't show window just yet (issue #229) icon: IS_LINUX ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") @@ -95,11 +73,17 @@ app.on("ready", () => { webPreferences: { nodeIntegration: true, contextIsolation: false, - enableRemoteModule: true, - preload: path.resolve(app.getAppPath(), "bridge.js"), + preload: IS_DEV + ? path.resolve(app.getAppPath(), "bridge.js") + : path.resolve(app.getAppPath(), "app", "bridge.js"), }, }); + process.env.MAIN_WINDOW_ID = mainWindow.id.toString(); + + if (!(settings.trayEnabled.value && settings.startInTrayEnabled.value)) { + mainWindow.show(); + } // set user agent to potentially make google fi work const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"; @@ -114,14 +98,12 @@ app.on("ready", () => { }) ); - // Quick and dirty way for renderer process to access mainWindow for communication - app.mainWindow = mainWindow; - app.trayManager = trayManager; - app.settings = settings; - mainWindow.loadURL("https://messages.google.com/web/"); trayManager.startIfEnabled(); + settings.showIconsInRecentConversationTrayEnabled.subscribe(() => + trayManager.refreshTrayMenu() + ); let quitViaContext = false; app.on("before-quit", () => { @@ -173,3 +155,25 @@ app.on("ready", () => { } ); }); //onready + +ipcMain.on("should-hide-notification-content", (event) => { + event.returnValue = settings.hideNotificationContentEnabled.value; +}); + +ipcMain.on("show-main-window", (event) => { + mainWindow.show(); +}); + +ipcMain.on("flash-main-window-if-not-focused", (event) => { + if (!mainWindow.isFocused()) { + mainWindow.flashFrame(true); + } +}); + +ipcMain.on("set-unread-status", (event, unreadStatus: boolean) => { + trayManager.setUnread(unreadStatus); +}); + +ipcMain.on("set-recent-conversations", (event, data: Conversation[]) => { + trayManager.setRecentConversations(data); +}); diff --git a/src/bridge.ts b/src/bridge.ts index 9351e949..ce983d59 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,88 +1,19 @@ -import { remote, NotificationConstructorOptions } from "electron"; +import { ipcRenderer } from "electron"; import path from "path"; +import { INITIAL_ICON_IMAGE, RESOURCES_PATH } from "./helpers/constants"; import { - INITIAL_ICON_IMAGE, - IS_DEV, - RECENT_CONVERSATION_TRAY_COUNT, - RESOURCES_PATH, -} from "./helpers/constants"; + createRecentThreadObserver, + createUnreadObserver, + focusFunctions, + recentThreadObserver, +} from "./helpers/observers"; import { getProfileImg } from "./helpers/profileImage"; -import { popupContextMenu } from "./menu/contextMenu"; - -const { Notification: ElectronNotification, app, dialog } = remote; - -function unreadObserver() { - if (document.querySelector(".unread") != null) { - app.trayManager?.setUnread(true); - } else { - app.trayManager?.setUnread(false); - } -} - -function createUnreadObserver() { - const observer = new MutationObserver(unreadObserver); - observer.observe( - (document.body.querySelector( - "mws-conversations-list" - ) as unknown) as Element, - { - subtree: true, - attributes: true, - attributeFilter: ["data-e2e-is-unread"], - } - ); - return observer; -} - -function recentThreadObserver() { - const conversations = Array.from( - document.body.querySelectorAll("mws-conversation-list-item") - ).slice(0, RECENT_CONVERSATION_TRAY_COUNT); - - const data = conversations.map((conversation) => { - const name = conversation.querySelector("a div.text-content h3.name span") - ?.textContent; - const canvas = conversation.querySelector( - "a div.avatar-container canvas" - ) as HTMLCanvasElement | null; - - const image = canvas?.toDataURL(); - - const recentMessage = conversation.querySelector( - "a div.text-content div.snippet-text mws-conversation-snippet span" - )?.textContent; - - const click = () => void conversation.querySelector("a")?.click(); - - return { name, image, recentMessage, click }; - }); - app.trayManager?.setRecentConversations(data); -} - -function createRecentThreadObserver() { - const observer = new MutationObserver(recentThreadObserver); - observer.observe( - (document.body.querySelector( - "mws-conversations-list" - ) as unknown) as Element, - { - attributes: false, - subtree: true, - childList: true, - } - ); - return observer; -} window.addEventListener("load", () => { const conversationListObserver = new MutationObserver(() => { if (document.querySelector("mws-conversations-list") != null) { createUnreadObserver(); createRecentThreadObserver(); - app.settings?.showIconsInRecentConversationTrayEnabled.subscribe( - recentThreadObserver - ); - app.settings?.trayEnabled.subscribe(recentThreadObserver); // keep trying to get an image that isnt blank until they load const interval = setInterval(() => { @@ -95,14 +26,20 @@ window.addEventListener("load", () => { ) as HTMLCanvasElement | null; if (canvas != null && canvas.toDataURL() != INITIAL_ICON_IMAGE) { - console.log(canvas.toDataURL()); recentThreadObserver(); + // refresh for profile image loads after letter loads. + setTimeout(recentThreadObserver, 3000); clearInterval(interval); } } }, 250); conversationListObserver.disconnect(); } + + const title = document.head.querySelector("title"); + if (title != null) { + title.innerText = "Android Messages"; + } }); conversationListObserver.observe(document.body, { @@ -110,87 +47,40 @@ window.addEventListener("load", () => { subtree: true, childList: true, }); - - // a work around issue #229 (https://github.com/OrangeDrangon/android-messages-desktop/issues/229) - if ( - !(app.settings?.startInTrayEnabled.value && app.settings?.trayEnabled.value) - ) { - app.mainWindow?.show(); - } - - // Note: this hides this during dev - // remove the condition for testing - if (!IS_DEV && !app.settings?.seenResetSettingsWarning.value) { - const message = ` -The settings for this app have been reset. - -This is a one time occurance and is the result of behind the scenes work to clean up the code. - -You may notice three missing settings: - - - Enter to Send: Moved to the 3 dots menu - - Notification Sound: Moved to the 3 dots menu - - Use System Theme: Removed for the time being in favor of manual operation - `; - dialog.showMessageBox({ - type: "info", - buttons: ["OK"], - title: "Settings Reset", - message, - }); - app.settings?.seenResetSettingsWarning.next(true); - } }); -/** - * Override the webview's window's instance of the Notification class and forward their data to the - * main process. This is Necessary to generate and send a custom notification via Electron instead - * of just forwarding the webview (Google) ones. - * - * Derived from: - * https://github.com/electron/electron/blob/master/docs/api/ipc-main.md#sending-messages - * https://stackoverflow.com/questions/2891096/addeventlistener-using-apply - * https://stackoverflow.com/questions/31231622/event-listener-for-web-notification - * https://stackoverflow.com/questions/1421257/intercept-javascript-event - */ -// eslint-disable-next-line @typescript-eslint/ban-ts-comment +const OldNotification = window.Notification; + // @ts-ignore window.Notification = function (title: string, options: NotificationOptions) { const icon = getProfileImg(title); - const notificationOpts: NotificationConstructorOptions = app.settings - ?.hideNotificationContentEnabled.value + const hideContent = ipcRenderer.sendSync("should-hide-notification-content"); + + const notificationOpts: NotificationOptions = hideContent ? { - title: "New Message", body: "Click to open", icon: path.resolve(RESOURCES_PATH, "icons", "64x64.png"), } : { - title, - icon, + icon: icon?.toDataURL(), body: options.body || "", }; - // let google handle making the noise - notificationOpts.silent = true; - - const notification = new ElectronNotification(notificationOpts); - notification.addListener("click", () => { - app.mainWindow?.show(); + const newTitle = hideContent ? "New Message" : title; + const notification = new OldNotification(newTitle, notificationOpts); + notification.addEventListener("click", () => { + ipcRenderer.send("show-main-window"); document.dispatchEvent(new Event("focus")); }); - // Mock the api for adding event listeners for a normal Browser notification - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - notification.addEventListener = notification.addListener; - notification.show(); - if (!app.mainWindow?.isFocused()) { - app.mainWindow?.flashFrame(true); - } + ipcRenderer.send("flash-main-window-if-not-focused"); return notification; }; -// THIS IS NEEDED FOR GOOGLE TO ISSUE NOTIFICATIONS -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -Notification.permission = "granted"; -Notification.requestPermission = async () => "granted"; + +window.Notification.requestPermission = async () => "granted"; +//@ts-ignore +window.Notification.permission = "granted"; + +ipcRenderer.on("focus-conversation", (event, i) => { + focusFunctions[i](); +}); diff --git a/src/helpers/constants.ts b/src/helpers/constants.ts index 256f035a..9ccdeeb1 100644 --- a/src/helpers/constants.ts +++ b/src/helpers/constants.ts @@ -9,14 +9,13 @@ export const IS_MAC = OS_NAME === "darwin"; export const IS_LINUX = OS_NAME === "linux"; // Environment and paths -export const IS_DEV = process.env.NODE_ENV === "development"; +export const IS_DEV = process.env.NODE_ENV == "development"; export const BASE_APP_PATH = path.resolve(__dirname, ".."); export const RESOURCES_PATH = path.resolve(BASE_APP_PATH, "resources"); // needs to be a function because app is not initialized yet otherwise? -export const SETTINGS_FILE = (): string => - !IS_DEV - ? path.resolve(app.getPath("userData"), `settings.json`) - : path.resolve(BASE_APP_PATH, "settings.json"); +export const SETTINGS_FILE = (): string => { + return path.resolve(app.getPath("userData"), `settings.json`); +}; // UUID /** @@ -28,6 +27,6 @@ export const UUID_NAMESPACE = "ddf09da3-3df8-4417-ae3b-62d3ed4bfb72"; * Initial image AMD loads for icons. Used to check against and ignore when populating tray context menu. */ export const INITIAL_ICON_IMAGE = - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAEYklEQVR4Xu3UAQkAAAwCwdm/9HI83BLIOdw5AgQIRAQWySkmAQIEzmB5AgIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlACBB1YxAJfjJb2jAAAAAElFTkSuQmCC"; + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABGJJREFUeF7t1AEJAAAMAsHZv/RyPNwSyDncOQIECEQEFskpJgECBM5geQICBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAAYPlBwgQyAgYrExVghIgYLD8AAECGQGDlalKUAIEDJYfIEAgI2CwMlUJSoCAwfIDBAhkBAxWpipBCRAwWH6AAIGMgMHKVCUoAQIGyw8QIJARMFiZqgQlQMBg+QECBDICBitTlaAECBgsP0CAQEbAYGWqEpQAgQdWMQCX4yW9owAAAABJRU5ErkJggg=="; export const RECENT_CONVERSATION_TRAY_COUNT = 3; diff --git a/src/helpers/getMainWindow.ts b/src/helpers/getMainWindow.ts new file mode 100644 index 00000000..a5462905 --- /dev/null +++ b/src/helpers/getMainWindow.ts @@ -0,0 +1,8 @@ +import { BrowserWindow } from "electron"; + +export function getMainWindow(): BrowserWindow | null { + if (process.env.MAIN_WINDOW_ID != null) { + return BrowserWindow.fromId(Number(process.env.MAIN_WINDOW_ID)); + } + return null; +} diff --git a/src/helpers/observers.ts b/src/helpers/observers.ts new file mode 100644 index 00000000..64e9dc91 --- /dev/null +++ b/src/helpers/observers.ts @@ -0,0 +1,71 @@ +import { BrowserWindow, ipcRenderer } from "electron"; +import { RECENT_CONVERSATION_TRAY_COUNT } from "./constants"; +import { Conversation } from "./trayManager"; + +function unreadObserver() { + if (document.querySelector(".unread") != null) { + ipcRenderer.send("set-unread-status", true); + } else { + ipcRenderer.send("set-unread-status", false); + } +} + +export function createUnreadObserver(): MutationObserver { + const observer = new MutationObserver(unreadObserver); + observer.observe( + (document.body.querySelector( + "mws-conversations-list" + ) as unknown) as Element, + { + subtree: true, + attributes: true, + attributeFilter: ["data-e2e-is-unread"], + } + ); + return observer; +} + +export const focusFunctions = new Array(RECENT_CONVERSATION_TRAY_COUNT) + .fill(0) + .map(() => () => void 1); + +export function recentThreadObserver() { + const conversations = Array.from( + document.body.querySelectorAll("mws-conversation-list-item") + ).slice(0, RECENT_CONVERSATION_TRAY_COUNT); + + const data: Conversation[] = conversations.map((conversation, i) => { + const name = conversation.querySelector("a div.text-content h3.name span") + ?.textContent; + const canvas = conversation.querySelector( + "a div.avatar-container canvas" + ) as HTMLCanvasElement | null; + + const image = canvas?.toDataURL(); + + const recentMessage = conversation.querySelector( + "a div.text-content div.snippet-text mws-conversation-snippet span" + )?.textContent; + + const focusFunction = () => void conversation.querySelector("a")?.click(); + focusFunctions[i] = focusFunction; + + return { name, image, recentMessage, i }; + }); + ipcRenderer.send("set-recent-conversations", data); +} + +export function createRecentThreadObserver(): MutationObserver { + const observer = new MutationObserver(recentThreadObserver); + observer.observe( + (document.body.querySelector( + "mws-conversations-list" + ) as unknown) as Element, + { + attributes: false, + subtree: true, + childList: true, + } + ); + return observer; +} diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index d19012bd..eb70b194 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -39,7 +39,6 @@ export interface JsonSettings { startInTrayEnabled: boolean; autoHideMenuEnabled: boolean; seenMinimizeToTrayWarning: boolean; - seenResetSettingsWarning: boolean; savedWindowSize: WindowSize; savedWindowPosition: WindowPosition | null; checkForUpdateOnLaunchEnabled: boolean; @@ -70,7 +69,6 @@ const defaultSettings: JsonSettings = { startInTrayEnabled: false, autoHideMenuEnabled: false, seenMinimizeToTrayWarning: false, - seenResetSettingsWarning: false, savedWindowSize: { width: 1100, height: 800 }, savedWindowPosition: null, checkForUpdateOnLaunchEnabled: true, diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 471de1bb..5d40f0fa 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -1,5 +1,6 @@ import { app, + BrowserWindow, Menu, MenuItemConstructorOptions, nativeImage, @@ -18,26 +19,27 @@ import { import { settings } from "./settings"; import { v5 as uuidv5 } from "uuid"; import { separator } from "../menu/items/separator"; +import { getMainWindow } from "./getMainWindow"; // bring the settings into scoped const { trayEnabled, - startInTrayEnabled, seenMinimizeToTrayWarning, monochromeIconEnabled, showIconsInRecentConversationTrayEnabled, } = settings; -interface Conversation { +export interface Conversation { name: string | null | undefined; image: string | undefined; recentMessage: string | null | undefined; - click: () => void; + i: number; } export class TrayManager { public enabled = trayEnabled.value; private messagesAreUnread = false; + private recentConversations: Conversation[] = []; public tray: Tray | null = null; @@ -83,8 +85,13 @@ export class TrayManager { } public setRecentConversations(data: Conversation[]): void { - const conversationMenuItems: MenuItemConstructorOptions[] = data.map( - ({ name, click, image, recentMessage }) => { + this.recentConversations = data; + this.refreshTrayMenu(); + } + + public refreshTrayMenu() { + const conversationMenuItems: MenuItemConstructorOptions[] = this.recentConversations.map( + ({ name, image, recentMessage, i }) => { const icon = image != null && image != INITIAL_ICON_IMAGE && @@ -97,10 +104,8 @@ export class TrayManager { sublabel: recentMessage || undefined, icon, click: () => { - if (!app.mainWindow?.isVisible()) { - app.mainWindow?.show(); - } - click(); + getMainWindow()?.show(); + getMainWindow()?.webContents.send("focus-conversation", i); }, }; } @@ -140,7 +145,8 @@ export class TrayManager { } private handleTrayClick() { - app.mainWindow?.show(); + const mainWindow = getMainWindow(); + mainWindow?.show(); } private destroy(): void { @@ -172,10 +178,12 @@ export class TrayManager { if (newValue) { this.startIfEnabled(); + this.refreshTrayMenu(); } else { this.destroy(); - if (!app.mainWindow?.isVisible()) { - app.mainWindow?.show(); + const mainWindow = getMainWindow(); + if (!mainWindow?.isVisible()) { + mainWindow?.show(); } } diff --git a/src/helpers/window.ts b/src/helpers/window.ts deleted file mode 100644 index 72d74b50..00000000 --- a/src/helpers/window.ts +++ /dev/null @@ -1,145 +0,0 @@ -// This helper remembers the size and position of your windows (and restores -// them in that place after app relaunch). -// Can be used for more than one window, just construct many -// instances of it and give each different name. - -import { - app, - BrowserWindow, - BrowserWindowConstructorOptions, - screen, -} from "electron"; -import jetpack from "fs-jetpack"; - -interface Size { - width: number; - height: number; -} - -interface Position extends Size { - x: number; - y: number; -} -/** - * Custom window class that has some utility methods. - * Seems largely uneeded but the code here before used these methods and needed structure. - * This is an improvement over the previous confusion. - * - * @export - * @class Window - * @extends {BrowserWindow} - */ -export class CustomBrowserWindow extends BrowserWindow { - private userDataDir = jetpack.cwd(app.getPath("userData")); - - private stateStoreFile: string; - private defaultSize: Position; - private state: Size; - - constructor(name: string, options?: BrowserWindowConstructorOptions) { - super(options); - this.stateStoreFile = `window-state-${name}.json`; - this.defaultSize = { - width: options?.width || 800, - height: options?.height || 800, - x: 0, - y: 0, - }; - this.resetToDefaults(); - this.state = this.ensureVisibleOnSomeDisplay(); - this.on("close", () => this.saveState()); - } - - /** - * Loads the Position data from cold store. - * - * @returns {Position} - * @memberof Window - */ - public restore(): Position { - let restoredState = {}; - try { - restoredState = this.userDataDir.read(this.stateStoreFile, "json"); - } catch (_err) { - // For some reason json can't be read (might be corrupted). - // No worries, we have defaults. - } - this.defaultSize = { ...this.defaultSize, ...restoredState }; - return this.defaultSize; - } - - /** - * Gets the current window state - * - * @returns {Position} current window state - * @memberof Window - */ - public getCurrentPosition(): Position { - const position = this.getPosition(); - const size = this.getSize(); - return { - x: position[0], - y: position[1], - width: size[0], - height: size[1], - }; - } - - /** - * Checks if the window overlaps with the provided bounds - * - * @param {Position} bounds bounds to check if overlapping - * @returns {boolean} if it overlapped - * @memberof Window - */ - public windowWithinBounds(bounds: Position): boolean { - const windowState = this.getCurrentPosition(); - return ( - windowState.x >= bounds.x && - windowState.y >= bounds.y && - windowState.x + windowState.width <= bounds.x + bounds.width && - windowState.y + windowState.height <= bounds.y + bounds.height - ); - } - - /** - * Resets the default state back to the default - * - * @returns {Position} returns the default Position. - * @memberof Window - */ - public resetToDefaults = (): Position => { - const bounds = screen.getPrimaryDisplay().bounds; - this.defaultSize = { - ...this.defaultSize, - x: (bounds.width - this.defaultSize.width) / 2, - y: (bounds.height - this.defaultSize.height) / 2, - }; - return this.defaultSize; - }; - - /** - * Makes sure the window appears on the display and if not forces it back to the default size - * - * @returns {Position} Returns current window position - * @memberof Window - */ - public ensureVisibleOnSomeDisplay(): Position { - const visible = screen.getAllDisplays().some((display) => { - return this.windowWithinBounds(display.bounds); - }); - if (!visible) { - // Window is partially or fully not visible now. - // Reset it to safe defaults. - return this.resetToDefaults(); - } - return this.getCurrentPosition(); - } - - public saveState(): void { - if (this.isMinimized() && !this.isMaximized()) { - this.state = { ...this.state, ...this.getCurrentPosition() }; - } - this.userDataDir.write(this.stateStoreFile, this.state, { atomic: true }); - } -} diff --git a/src/index.d.ts b/src/index.d.ts deleted file mode 100644 index 1eb4dc38..00000000 --- a/src/index.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { CustomBrowserWindow } from "./helpers/window"; -import { TrayManager } from "./helpers/trayManager"; -import { Settings as AppSettings } from "./helpers/settings"; - -declare global { - interface Window { - getUserImg: (name: string) => Promise; - } - - namespace Electron { - interface App { - mainWindow?: CustomBrowserWindow; - trayManager?: TrayManager; - settings?: AppSettings; - } - } -} diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index 6ee0c1d8..f46e65ae 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -4,6 +4,7 @@ import { MenuItemConstructorOptions, app, } from "electron"; +import { getMainWindow } from "../helpers/getMainWindow"; import { separator } from "./items/separator"; // WARNING THIS IS THE ONLY PLACE LEFT WITH FORCE TYPECASTS TO ANY @@ -64,7 +65,7 @@ export const popupContextMenu = ( { label: "Add to Dictionary", click: () => - app.mainWindow?.webContents.session.addWordToSpellCheckerDictionary( + getMainWindow()?.webContents.session.addWordToSpellCheckerDictionary( params.misspelledWord ), }, @@ -74,7 +75,7 @@ export const popupContextMenu = ( textMenuTemplateCopy.unshift({ label: suggestion, click: () => - app.mainWindow?.webContents.replaceMisspelling(suggestion), + getMainWindow()?.webContents.replaceMisspelling(suggestion), }); } } diff --git a/src/menu/devMenu.ts b/src/menu/devMenu.ts index 09076cbc..b8279ea7 100644 --- a/src/menu/devMenu.ts +++ b/src/menu/devMenu.ts @@ -1,4 +1,5 @@ import { app, MenuItemConstructorOptions } from "electron"; +import { getMainWindow } from "../helpers/getMainWindow"; export const devMenuTemplate: MenuItemConstructorOptions = { label: "&Development", @@ -6,12 +7,12 @@ export const devMenuTemplate: MenuItemConstructorOptions = { { label: "Reload", accelerator: "CmdOrCtrl+R", - click: (): void => app.mainWindow?.webContents.reloadIgnoringCache(), + click: (): void => getMainWindow()?.webContents.reloadIgnoringCache(), }, { label: "Development Tools", accelerator: "CmdOrCtrl+Shift+I", - click: (): void => app.mainWindow?.webContents.toggleDevTools(), + click: (): void => getMainWindow()?.webContents.toggleDevTools(), }, { label: "Quit", diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index c95aaf23..8098d29f 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -26,7 +26,7 @@ export const aboutMenuItem: MenuItemConstructorOptions = { copyright: `

`, product_name: productName, description: descriptionWithLocale, - open_devtools: IS_DEV, + open_devtools: false, use_inner_html: true, win_options: { height: 500, diff --git a/src/menu/trayMenu.ts b/src/menu/trayMenu.ts index 059872dd..f87b237d 100644 --- a/src/menu/trayMenu.ts +++ b/src/menu/trayMenu.ts @@ -1,12 +1,13 @@ -import { app, MenuItemConstructorOptions } from "electron"; +import { app, BrowserWindow, MenuItemConstructorOptions } from "electron"; import { IS_MAC } from "../helpers/constants"; +import { getMainWindow } from "../helpers/getMainWindow"; import { separator } from "./items/separator"; export const trayMenuTemplate: MenuItemConstructorOptions[] = [ { label: "Show/Hide Android Messages", click: (): void => { - const mainWindow = app.mainWindow; + const mainWindow = getMainWindow(); if (mainWindow != null) { if (mainWindow.isVisible()) { if (IS_MAC) { From 1a06881cc3ca0bb6ce9ebd60b286b1ce45961360 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 27 Dec 2021 19:25:42 -0500 Subject: [PATCH 340/385] dependency bump --- package.json | 8 +-- yarn.lock | 155 +++++++++++++++++++++++++-------------------------- 2 files changed, 79 insertions(+), 84 deletions(-) diff --git a/package.json b/package.json index 5d9e2ec5..d9164665 100644 --- a/package.json +++ b/package.json @@ -30,16 +30,16 @@ "about-window": "1.15.2", "electron-updater": "4.6.1", "fs-jetpack": "^4.3.0", - "rxjs": "^7.4.0", + "rxjs": "^7.5.0", "uuid": "^8.3.2" }, "devDependencies": { - "@types/node": "17.0.0", + "@types/node": "17.0.5", "@types/uuid": "^8.3.3", "@types/webpack": "^5.28.0", "@types/webpack-node-externals": "^2.5.3", - "@typescript-eslint/eslint-plugin": "^5.7.0", - "@typescript-eslint/parser": "^5.7.0", + "@typescript-eslint/eslint-plugin": "^5.8.1", + "@typescript-eslint/parser": "^5.8.1", "cross-env": "^7.0.2", "css-loader": "^6.5.1", "electron": "16.0.5", diff --git a/yarn.lock b/yarn.lock index 875e4d85..67ce8a5a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -221,15 +221,15 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@17.0.0": - version "17.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.0.tgz#62797cee3b8b497f6547503b2312254d4fe3c2bb" - integrity sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw== +"@types/node@*", "@types/node@17.0.5": + version "17.0.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.5.tgz#57ca67ec4e57ad9e4ef5a6bab48a15387a1c83e0" + integrity sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw== "@types/node@^14.6.2": - version "14.18.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.1.tgz#459886b51f52aa923dc06b9ea81cb8b1d733e9d3" - integrity sha512-fTFWOFrgAkj737w1o0HLTIgisgYHnsZfeiqhG1Ltrf/iJjudEbUwetQAsfrtVE49JGwvpEzQR+EbMkIqG4227g== + version "14.18.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.3.tgz#b3682cfd9d5542b025df13233d073cb4347f63f3" + integrity sha512-GtTH2crF4MtOIrrAa+jgTV9JX/PfoUCYr6MiZw7O/dkZu5b6gm5dc1nAL0jwGo4ortSBBtGyeVaxdC8X6V+pLg== "@types/plist@^3.0.1": version "3.0.2" @@ -277,19 +277,19 @@ integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== "@types/yargs@^17.0.1": - version "17.0.7" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.7.tgz#44a484c634761da4391477515a98772b82b5060f" - integrity sha512-OvLKmpKdea1aWtqHv9bxVVcMoT6syAeK+198dfETIFkAevYRGwqh4H+KFxfjUETZuUuE5sQCAFwdOdoHUdo8eg== + version "17.0.8" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" + integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.7.0.tgz#12d54709f8ea1da99a01d8a992cd0474ad0f0aa9" - integrity sha512-8RTGBpNn5a9M628wBPrCbJ+v3YTEOE2qeZb7TDkGKTDXSj36KGRg92SpFFaR/0S3rSXQxM0Og/kV9EyadsYSBg== +"@typescript-eslint/eslint-plugin@^5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.8.1.tgz#97dfaa39f38e99f86801fdf34f9f1bed66704258" + integrity sha512-wTZ5oEKrKj/8/366qTM366zqhIKAp6NCMweoRONtfuC07OAU9nVI2GZZdqQ1qD30WAAtcPdkH+npDwtRFdp4Rw== dependencies: - "@typescript-eslint/experimental-utils" "5.7.0" - "@typescript-eslint/scope-manager" "5.7.0" + "@typescript-eslint/experimental-utils" "5.8.1" + "@typescript-eslint/scope-manager" "5.8.1" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -297,60 +297,60 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.7.0.tgz#2b1633e6613c3238036156f70c32634843ad034f" - integrity sha512-u57eZ5FbEpzN5kSjmVrSesovWslH2ZyNPnaXQMXWgH57d5+EVHEt76W75vVuI9qKZ5BMDKNfRN+pxcPEjQjb2A== +"@typescript-eslint/experimental-utils@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz#01861eb2f0749f07d02db342b794145a66ed346f" + integrity sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.7.0" - "@typescript-eslint/types" "5.7.0" - "@typescript-eslint/typescript-estree" "5.7.0" + "@typescript-eslint/scope-manager" "5.8.1" + "@typescript-eslint/types" "5.8.1" + "@typescript-eslint/typescript-estree" "5.8.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.7.0.tgz#4dca6de463d86f02d252e681136a67888ea3b181" - integrity sha512-m/gWCCcS4jXw6vkrPQ1BjZ1vomP01PArgzvauBqzsoZ3urLbsRChexB8/YV8z9HwE3qlJM35FxfKZ1nfP/4x8g== +"@typescript-eslint/parser@^5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.8.1.tgz#380f5f1e596b540059998aa3fc80d78f0f9b0d0a" + integrity sha512-K1giKHAjHuyB421SoXMXFHHVI4NdNY603uKw92++D3qyxSeYvC10CBJ/GE5Thpo4WTUvu1mmJI2/FFkz38F2Gw== dependencies: - "@typescript-eslint/scope-manager" "5.7.0" - "@typescript-eslint/types" "5.7.0" - "@typescript-eslint/typescript-estree" "5.7.0" + "@typescript-eslint/scope-manager" "5.8.1" + "@typescript-eslint/types" "5.8.1" + "@typescript-eslint/typescript-estree" "5.8.1" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.7.0.tgz#70adf960e5a58994ad50438ba60d98ecadd79452" - integrity sha512-7mxR520DGq5F7sSSgM0HSSMJ+TFUymOeFRMfUfGFAVBv8BR+Jv1vHgAouYUvWRZeszVBJlLcc9fDdktxb5kmxA== +"@typescript-eslint/scope-manager@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz#7fc0604f7ade8833e4d42cebaa1e2debf8b932e4" + integrity sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q== dependencies: - "@typescript-eslint/types" "5.7.0" - "@typescript-eslint/visitor-keys" "5.7.0" + "@typescript-eslint/types" "5.8.1" + "@typescript-eslint/visitor-keys" "5.8.1" -"@typescript-eslint/types@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.7.0.tgz#2d4cae0105ba7d08bffa69698197a762483ebcbe" - integrity sha512-5AeYIF5p2kAneIpnLFve8g50VyAjq7udM7ApZZ9JYjdPjkz0LvODfuSHIDUVnIuUoxafoWzpFyU7Sqbxgi79mA== +"@typescript-eslint/types@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.8.1.tgz#04c6b49ebc8c99238238a6b8b43f2fc613983b5a" + integrity sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA== -"@typescript-eslint/typescript-estree@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.7.0.tgz#968fad899050ccce4f08a40cd5fabc0798525006" - integrity sha512-aO1Ql+izMrTnPj5aFFlEJkpD4jRqC4Gwhygu2oHK2wfVQpmOPbyDSveJ+r/NQo+PWV43M6uEAeLVbTi09dFLhg== +"@typescript-eslint/typescript-estree@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz#a592855be688e7b729a1e9411d7d74ec992ed6ef" + integrity sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ== dependencies: - "@typescript-eslint/types" "5.7.0" - "@typescript-eslint/visitor-keys" "5.7.0" + "@typescript-eslint/types" "5.8.1" + "@typescript-eslint/visitor-keys" "5.8.1" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.7.0.tgz#e05164239eb7cb8aa9fa06c516ede480ce260178" - integrity sha512-hdohahZ4lTFcglZSJ3DGdzxQHBSxsLVqHzkiOmKi7xVAWC4y2c1bIMKmPJSrA4aOEoRUPOKQ87Y/taC7yVHpFg== +"@typescript-eslint/visitor-keys@5.8.1": + version "5.8.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz#58a2c566265d5511224bc316149890451c1bbab0" + integrity sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg== dependencies: - "@typescript-eslint/types" "5.7.0" + "@typescript-eslint/types" "5.8.1" eslint-visitor-keys "^3.0.0" "@webassemblyjs/ast@1.11.1": @@ -522,9 +522,9 @@ acorn-walk@^8.1.1: integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^8.4.1, acorn@^8.6.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" - integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" @@ -839,9 +839,9 @@ camelcase@^6.2.0: integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== caniuse-lite@^1.0.30001286: - version "1.0.30001291" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001291.tgz#08a8d2cfea0b2cf2e1d94dd795942d0daef6108c" - integrity sha512-roMV5V0HNGgJ88s42eE70sstqGW/gwFndosYrikHthw98N5tLnOTxFqMLQjZVRxTWFlJ4rn+MsgXrR7MDPY4jA== + version "1.0.30001292" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz#4a55f61c06abc9595965cfd77897dc7bc1cdc456" + integrity sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw== chalk@^2.4.2: version "2.4.2" @@ -1091,9 +1091,9 @@ css-loader@^6.5.1: semver "^7.3.5" css-select@^4.1.3: - version "4.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.0.tgz#ab28276d3afb00cc05e818bd33eb030f14f57895" - integrity sha512-6YVG6hsH9yIb/si3Th/is8Pex7qnVHO6t7q7U6TIUnkQASGbS8tnUDBftnPynLNnuUl/r2+PTd0ekiiq7R0zJw== + version "4.2.1" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" + integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== dependencies: boolbase "^1.0.0" css-what "^5.1.0" @@ -1339,9 +1339,9 @@ electron-publish@22.14.5: mime "^2.5.2" electron-to-chromium@^1.4.17: - version "1.4.24" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.24.tgz#9cf8a92d5729c480ee47ff0aa5555f57467ae2fa" - integrity sha512-erwx5r69B/WFfFuF2jcNN0817BfDBdC4765kQ6WltOMuwsimlQo3JTEq0Cle+wpHralwdeX3OfAtw/mHxPK0Wg== + version "1.4.28" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.28.tgz#fef0e92e281df6d568f482d8d53c34ca5374de48" + integrity sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg== electron-updater@4.6.1: version "4.6.1" @@ -2673,9 +2673,9 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.7" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz#48404830a635113a71fd79397de8209ed05a66fc" - integrity sha512-U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA== + version "6.0.8" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz#f023ed7a9ea736cd7ef70342996e8e78645a7914" + integrity sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -2922,12 +2922,12 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" - integrity sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w== +rxjs@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.0.tgz#9424fbefb42bec9a8fb53a53fc64b3e5ecf90587" + integrity sha512-fuCKAfFawVYX0pyFlETtYnXI+5iiY9Dftgk+VdgeOq+Qyi9ZDWckHZRDaXRt5WCNbbLkmAheoSGDiceyCIKNZA== dependencies: - tslib "~2.1.0" + tslib "^2.1.0" safe-buffer@^5.1.0: version "5.2.1" @@ -3254,16 +3254,11 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3: +tslib@^2.0.3, tslib@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tslib@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" - integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== - tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -3548,9 +3543,9 @@ yargs-parser@^21.0.0: integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== yargs@^17.0.1: - version "17.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.0.tgz#295c4ffd0eef148ef3e48f7a2e0f58d0e4f26b1c" - integrity sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew== + version "17.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" + integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== dependencies: cliui "^7.0.2" escalade "^3.1.1" From f25c6a5db2622c97116147e0e052a4fd562b34fe Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 27 Dec 2021 19:28:34 -0500 Subject: [PATCH 341/385] fix node version in github actions --- .github/workflows/dependency-bump.yml | 2 +- .github/workflows/master.yml | 2 +- .github/workflows/pull-request.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml index 665a25e3..e7175515 100644 --- a/.github/workflows/dependency-bump.yml +++ b/.github/workflows/dependency-bump.yml @@ -13,7 +13,7 @@ jobs: os: - ubuntu-latest node-version: - - 15 + - 17 env: BRANCH_NAME: dependency-bump diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 3abd5528..b13edfb0 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -17,7 +17,7 @@ jobs: - windows-latest - ubuntu-latest node-version: - - 15 + - 17 steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 064de0b4..9f78ef2e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -17,7 +17,7 @@ jobs: - windows-latest - ubuntu-latest node-version: - - 15 + - 17 steps: - uses: actions/checkout@v2 From 5651e2150841dd961c0ee8ca801fd3005ae88344 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 28 Dec 2021 21:42:57 -0500 Subject: [PATCH 342/385] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d9164665..da0b9af0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.3.0", + "version": "5.3.1", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 58b6e5e75e1c53b7547991fe1af78e56802557df Mon Sep 17 00:00:00 2001 From: Shareef Ali Date: Tue, 28 Dec 2021 20:46:04 -0600 Subject: [PATCH 343/385] add dock badge support and activate hook function --- src/background.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/background.ts b/src/background.ts index 26d94c32..fc684866 100644 --- a/src/background.ts +++ b/src/background.ts @@ -47,6 +47,14 @@ if (IS_WINDOWS) { app.setAsDefaultProtocolClient("android-messages-desktop"); } +if (IS_MAC) { + app.on("activate", () => { + if (mainWindow) { + mainWindow.show(); + app.dock.setBadge(''); + } + }); +} app.on("ready", () => { trayManager = new TrayManager(); @@ -162,11 +170,17 @@ ipcMain.on("should-hide-notification-content", (event) => { ipcMain.on("show-main-window", (event) => { mainWindow.show(); + if (IS_MAC) { + app.dock.setBadge(''); + } }); ipcMain.on("flash-main-window-if-not-focused", (event) => { if (!mainWindow.isFocused()) { mainWindow.flashFrame(true); + if (IS_MAC) { + app.dock.setBadge('•'); + } } }); From 51822088ccd4cc733dce2d6bdbce0d4cb4451a1d Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Wed, 29 Dec 2021 02:48:48 +0000 Subject: [PATCH 344/385] Restyled by whitespace --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index fc684866..bb3c2906 100644 --- a/src/background.ts +++ b/src/background.ts @@ -53,7 +53,7 @@ if (IS_MAC) { mainWindow.show(); app.dock.setBadge(''); } - }); + }); } app.on("ready", () => { trayManager = new TrayManager(); From 196af83f4f2801f9c090c4bed2c6d180f82ad29d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 28 Dec 2021 21:59:07 -0500 Subject: [PATCH 345/385] cleanup imports --- src/background.ts | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/background.ts b/src/background.ts index bb3c2906..1903d2b7 100644 --- a/src/background.ts +++ b/src/background.ts @@ -1,4 +1,4 @@ -import { app, Event as ElectronEvent, ipcMain, Menu, shell } from "electron"; +import { app, Event as ElectronEvent, ipcMain, shell } from "electron"; import { BrowserWindow } from "electron/main"; import path from "path"; import process from "process"; @@ -13,12 +13,8 @@ import { import { MenuManager } from "./helpers/menuManager"; import { settings } from "./helpers/settings"; import { Conversation, TrayManager } from "./helpers/trayManager"; -import { baseMenuTemplate } from "./menu/baseMenu"; import { popupContextMenu } from "./menu/contextMenu"; -import { devMenuTemplate } from "./menu/devMenu"; -import { helpMenuTemplate } from "./menu/helpMenu"; -// bring the settings into scope const { autoHideMenuEnabled, trayEnabled, @@ -49,12 +45,13 @@ if (IS_WINDOWS) { if (IS_MAC) { app.on("activate", () => { - if (mainWindow) { + if (mainWindow) { mainWindow.show(); - app.dock.setBadge(''); + app.dock.setBadge(""); } }); } + app.on("ready", () => { trayManager = new TrayManager(); @@ -171,7 +168,7 @@ ipcMain.on("should-hide-notification-content", (event) => { ipcMain.on("show-main-window", (event) => { mainWindow.show(); if (IS_MAC) { - app.dock.setBadge(''); + app.dock.setBadge(""); } }); @@ -179,7 +176,7 @@ ipcMain.on("flash-main-window-if-not-focused", (event) => { if (!mainWindow.isFocused()) { mainWindow.flashFrame(true); if (IS_MAC) { - app.dock.setBadge('•'); + app.dock.setBadge("•"); } } }); From 94300dde72759464dc6895a75c15b267627f6b09 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 28 Dec 2021 22:14:24 -0500 Subject: [PATCH 346/385] fix eslint config --- .eslintrc.js | 1 - 1 file changed, 1 deletion(-) diff --git a/.eslintrc.js b/.eslintrc.js index fcfd3738..6470013f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,7 +2,6 @@ module.exports = { parser: "@typescript-eslint/parser", extends: [ "plugin:@typescript-eslint/recommended", - "prettier/@typescript-eslint", "plugin:prettier/recommended", ], parserOptions: { From 99367fe9de81a6b27d37b0899ba94be8eed872b0 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 28 Dec 2021 22:14:37 -0500 Subject: [PATCH 347/385] fix all style mistakes --- src/background.ts | 8 ++++---- src/bridge.ts | 4 +++- src/helpers/autoUpdate.ts | 10 ++++++++-- src/helpers/observers.ts | 15 ++++++--------- src/helpers/settings.ts | 3 +++ src/helpers/trayManager.ts | 7 +++---- src/menu/contextMenu.ts | 9 ++------- src/menu/items/about.ts | 2 +- src/menu/settingsMenu.ts | 7 +------ src/menu/trayMenu.ts | 2 +- 10 files changed, 32 insertions(+), 35 deletions(-) diff --git a/src/background.ts b/src/background.ts index 1903d2b7..7838505c 100644 --- a/src/background.ts +++ b/src/background.ts @@ -165,14 +165,14 @@ ipcMain.on("should-hide-notification-content", (event) => { event.returnValue = settings.hideNotificationContentEnabled.value; }); -ipcMain.on("show-main-window", (event) => { +ipcMain.on("show-main-window", () => { mainWindow.show(); if (IS_MAC) { app.dock.setBadge(""); } }); -ipcMain.on("flash-main-window-if-not-focused", (event) => { +ipcMain.on("flash-main-window-if-not-focused", () => { if (!mainWindow.isFocused()) { mainWindow.flashFrame(true); if (IS_MAC) { @@ -181,10 +181,10 @@ ipcMain.on("flash-main-window-if-not-focused", (event) => { } }); -ipcMain.on("set-unread-status", (event, unreadStatus: boolean) => { +ipcMain.on("set-unread-status", (_event, unreadStatus: boolean) => { trayManager.setUnread(unreadStatus); }); -ipcMain.on("set-recent-conversations", (event, data: Conversation[]) => { +ipcMain.on("set-recent-conversations", (_event, data: Conversation[]) => { trayManager.setRecentConversations(data); }); diff --git a/src/bridge.ts b/src/bridge.ts index ce983d59..61996c30 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -51,6 +51,7 @@ window.addEventListener("load", () => { const OldNotification = window.Notification; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore window.Notification = function (title: string, options: NotificationOptions) { const icon = getProfileImg(title); @@ -77,9 +78,10 @@ window.Notification = function (title: string, options: NotificationOptions) { return notification; }; -window.Notification.requestPermission = async () => "granted"; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore window.Notification.permission = "granted"; +window.Notification.requestPermission = async () => "granted"; ipcRenderer.on("focus-conversation", (event, i) => { focusFunctions[i](); diff --git a/src/helpers/autoUpdate.ts b/src/helpers/autoUpdate.ts index 0fbc8aed..d724c817 100644 --- a/src/helpers/autoUpdate.ts +++ b/src/helpers/autoUpdate.ts @@ -19,7 +19,11 @@ export async function checkForUpdate( const results = await autoUpdater.checkForUpdates().catch(() => null); let isUpdate = false; if (results != null) { - console.log(results.updateInfo.version, app.getVersion(), results.updateInfo.version > app.getVersion()); + console.log( + results.updateInfo.version, + app.getVersion(), + results.updateInfo.version > app.getVersion() + ); isUpdate = results.updateInfo.version > app.getVersion(); if (isUpdate && showNotification) { @@ -33,7 +37,9 @@ export async function checkForUpdate( notification.show(); } } - const installUpdateMenuItem = Menu.getApplicationMenu()?.getMenuItemById("installUpdateMenuItem"); + const installUpdateMenuItem = Menu.getApplicationMenu()?.getMenuItemById( + "installUpdateMenuItem" + ); if (installUpdateMenuItem != null) { installUpdateMenuItem.visible = isUpdate; } diff --git a/src/helpers/observers.ts b/src/helpers/observers.ts index 64e9dc91..a9adc0e0 100644 --- a/src/helpers/observers.ts +++ b/src/helpers/observers.ts @@ -1,4 +1,4 @@ -import { BrowserWindow, ipcRenderer } from "electron"; +import { ipcRenderer } from "electron"; import { RECENT_CONVERSATION_TRAY_COUNT } from "./constants"; import { Conversation } from "./trayManager"; @@ -13,9 +13,7 @@ function unreadObserver() { export function createUnreadObserver(): MutationObserver { const observer = new MutationObserver(unreadObserver); observer.observe( - (document.body.querySelector( - "mws-conversations-list" - ) as unknown) as Element, + document.body.querySelector("mws-conversations-list") as unknown as Element, { subtree: true, attributes: true, @@ -35,8 +33,9 @@ export function recentThreadObserver() { ).slice(0, RECENT_CONVERSATION_TRAY_COUNT); const data: Conversation[] = conversations.map((conversation, i) => { - const name = conversation.querySelector("a div.text-content h3.name span") - ?.textContent; + const name = conversation.querySelector( + "a div.text-content h3.name span" + )?.textContent; const canvas = conversation.querySelector( "a div.avatar-container canvas" ) as HTMLCanvasElement | null; @@ -58,9 +57,7 @@ export function recentThreadObserver() { export function createRecentThreadObserver(): MutationObserver { const observer = new MutationObserver(recentThreadObserver); observer.observe( - (document.body.querySelector( - "mws-conversations-list" - ) as unknown) as Element, + document.body.querySelector("mws-conversations-list") as unknown as Element, { attributes: false, subtree: true, diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index eb70b194..c288fbe5 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -83,6 +83,9 @@ if (!jetpack.exists(SETTINGS_FILE())) { } // temporary settings object during creation +// This is ok because this object is holding stuff derived from the loop of defaultSettings +// There may be an elegant way to express the type but I do not know it. +// eslint-disable-next-line @typescript-eslint/no-explicit-any const settingsToExport: any = {}; // loop through and create all the settings diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index 5d40f0fa..e38f0dbd 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -90,8 +90,8 @@ export class TrayManager { } public refreshTrayMenu() { - const conversationMenuItems: MenuItemConstructorOptions[] = this.recentConversations.map( - ({ name, image, recentMessage, i }) => { + const conversationMenuItems: MenuItemConstructorOptions[] = + this.recentConversations.map(({ name, image, recentMessage, i }) => { const icon = image != null && image != INITIAL_ICON_IMAGE && @@ -108,8 +108,7 @@ export class TrayManager { getMainWindow()?.webContents.send("focus-conversation", i); }, }; - } - ); + }); this.tray?.setContextMenu( Menu.buildFromTemplate([ ...conversationMenuItems, diff --git a/src/menu/contextMenu.ts b/src/menu/contextMenu.ts index f46e65ae..b843f8eb 100644 --- a/src/menu/contextMenu.ts +++ b/src/menu/contextMenu.ts @@ -1,9 +1,4 @@ -import { - ContextMenuParams, - Menu, - MenuItemConstructorOptions, - app, -} from "electron"; +import { ContextMenuParams, Menu, MenuItemConstructorOptions } from "electron"; import { getMainWindow } from "../helpers/getMainWindow"; import { separator } from "./items/separator"; @@ -56,7 +51,7 @@ export const popupContextMenu = ( _event: Electron.Event, params: ContextMenuParams ) => { - let menu: any = Menu.buildFromTemplate(standardMenuTemplate); + let menu = Menu.buildFromTemplate(standardMenuTemplate); if (params.mediaType === "none" && params.isEditable) { const textMenuTemplateCopy = [...textMenuTemplate]; if (params.misspelledWord) { diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index 8098d29f..c8c5524f 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -1,7 +1,7 @@ import openAboutWindow from "about-window"; import { app, MenuItemConstructorOptions } from "electron"; import path from "path"; -import { IS_DEV, RESOURCES_PATH } from "../../helpers/constants"; +import { RESOURCES_PATH } from "../../helpers/constants"; const productName = "Android Messages Desktop"; const localeStyle = diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index ce0fa5f3..986641b0 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -1,9 +1,4 @@ -import { - BrowserWindow, - Menu, - MenuItem, - MenuItemConstructorOptions, -} from "electron"; +import { BrowserWindow, MenuItem, MenuItemConstructorOptions } from "electron"; import { IS_MAC } from "../helpers/constants"; import { settings } from "../helpers/settings"; import { separator } from "./items/separator"; diff --git a/src/menu/trayMenu.ts b/src/menu/trayMenu.ts index f87b237d..523a1152 100644 --- a/src/menu/trayMenu.ts +++ b/src/menu/trayMenu.ts @@ -1,4 +1,4 @@ -import { app, BrowserWindow, MenuItemConstructorOptions } from "electron"; +import { app, MenuItemConstructorOptions } from "electron"; import { IS_MAC } from "../helpers/constants"; import { getMainWindow } from "../helpers/getMainWindow"; import { separator } from "./items/separator"; From 1ca153673e296eb52b2e9b3106783571a48e2e76 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 28 Dec 2021 22:16:46 -0500 Subject: [PATCH 348/385] missed one formatting problem --- src/helpers/trayManager.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index e38f0dbd..d3f25558 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -1,6 +1,5 @@ import { app, - BrowserWindow, Menu, MenuItemConstructorOptions, nativeImage, From 2cf51ff5473d36924711afffe42317d20aca7b08 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 7 Apr 2022 16:54:12 -0400 Subject: [PATCH 349/385] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index da0b9af0..a7568da0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.3.1", + "version": "5.3.2", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 8ef1049ef901fa07084c9319bf510ace8896951f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 28 Mar 2022 13:05:20 -0400 Subject: [PATCH 350/385] move setUserModelId to be inside on ready --- src/background.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/background.ts b/src/background.ts index 7838505c..6292c10e 100644 --- a/src/background.ts +++ b/src/background.ts @@ -38,11 +38,6 @@ if (!app.requestSingleInstanceLock()) { app.quit(); } -if (IS_WINDOWS) { - app.setAppUserModelId("pw.kmr.android-messages-desktop"); - app.setAsDefaultProtocolClient("android-messages-desktop"); -} - if (IS_MAC) { app.on("activate", () => { if (mainWindow) { @@ -53,6 +48,11 @@ if (IS_MAC) { } app.on("ready", () => { + if (IS_WINDOWS) { + app.setAppUserModelId("pw.kmr.android-messages-desktop"); + app.setAsDefaultProtocolClient("android-messages-desktop"); + } + trayManager = new TrayManager(); new MenuManager(); From 65d5f3fde9aea689f65378f6c5be450ac4623f1c Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 7 Apr 2022 12:28:24 -0400 Subject: [PATCH 351/385] unify the appId between electron-builder and application --- electron-builder.js | 2 +- src/background.ts | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/electron-builder.js b/electron-builder.js index b9662530..8bffcae4 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,5 +1,5 @@ module.exports = { - appId: "pw.electron.android-messages", + appId: "pw.kmr.amd", artifactName: "${productName}-v${version}-${os}-${arch}.${ext}", productName: "AndroidMessages", copyright: "Copyright 2020 Kyle Rosenberg", diff --git a/src/background.ts b/src/background.ts index 6292c10e..8202c01c 100644 --- a/src/background.ts +++ b/src/background.ts @@ -47,12 +47,8 @@ if (IS_MAC) { }); } +app.on("ready", () => app.setAppUserModelId("pw.kmr.amd")); app.on("ready", () => { - if (IS_WINDOWS) { - app.setAppUserModelId("pw.kmr.android-messages-desktop"); - app.setAsDefaultProtocolClient("android-messages-desktop"); - } - trayManager = new TrayManager(); new MenuManager(); From ff20c5141fc111730580046682860374d6f14f2f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 11 Apr 2022 15:52:43 -0400 Subject: [PATCH 352/385] Delete dependency-bump.yml --- .github/workflows/dependency-bump.yml | 61 --------------------------- 1 file changed, 61 deletions(-) delete mode 100644 .github/workflows/dependency-bump.yml diff --git a/.github/workflows/dependency-bump.yml b/.github/workflows/dependency-bump.yml deleted file mode 100644 index e7175515..00000000 --- a/.github/workflows/dependency-bump.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: dependency bump - -on: - schedule: - - cron: "0 0 0 * *" - workflow_dispatch: - -jobs: - build: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - ubuntu-latest - node-version: - - 17 - - env: - BRANCH_NAME: dependency-bump - - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - run: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools - name: Install Linux Dependencies - if: (startsWith(matrix.os, 'ubuntu')) - - - run: | - git config user.name github actions - git config user.email actions@github.com - name: configure git user - - - run: | - git checkout $GITHUB_REF - git branch $BRANCH_NAME - git checkout $BRANCH_NAME - name: configure git branch - - - run: yarn upgrade --latest - - - run: | - git add . - git commit -m "Dependency Bump" - name: create git commit - - - run: git push --set-upstream origin $BRANCH_NAME --force - - - name: Cache node_modules - uses: actions/cache@v2 - with: - path: ./node_modules - key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - env: - cache-name: node-modules - - - From 5b9e2df62994855f5ea31cef3f7762fffa2a8bc9 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 21 Apr 2022 22:17:29 -0400 Subject: [PATCH 353/385] run app update --- .github/workflows/pull-request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 9f78ef2e..fdac8bc3 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -34,7 +34,7 @@ jobs: env: cache-name: node-modules - - run: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + - run: sudo apt-get update -y && sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools name: Install Linux Dependencies if: (startsWith(matrix.os, 'ubuntu')) From f9450452fecaa76c50581dd268e6169af3f125cd Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 21 Apr 2022 22:32:06 -0400 Subject: [PATCH 354/385] fix pipelines --- .github/workflows/master.yml | 70 +++++++++++++++--------------- .github/workflows/pull-request.yml | 62 +++++++++++++------------- 2 files changed, 66 insertions(+), 66 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index b13edfb0..7e5b4ba3 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -5,47 +5,47 @@ name: master on: push: - branches: [ master ] + branches: [master] jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: - os: - - macos-latest - - windows-latest - - ubuntu-latest + os: + - macos-latest + - windows-latest + - ubuntu-latest node-version: - - 17 + - 17 steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Cache node_modules - uses: actions/cache@v2 - with: - path: ./node_modules - key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - env: - cache-name: node-modules - - - run: sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools - name: Install Linux Dependencies - if: (startsWith(matrix.os, 'ubuntu')) - - - run: yarn install --frozen-lockfile - - - run: yarn dist --publish onTagOrDraft - env: - GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - - - name: Upload Build - uses: actions/upload-artifact@v2.2.2 - with: - name: ${{ matrix.os }}-${{ matrix.node-version }} - path: ./dist + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: ./node_modules + key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + env: + cache-name: node-modules + + - run: sudo apt-get update -y && sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + name: Install Linux Dependencies + if: (startsWith(matrix.os, 'ubuntu')) + + - run: yarn install --frozen-lockfile + + - run: yarn dist --publish onTagOrDraft + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - name: Upload Build + uses: actions/upload-artifact@v2.2.2 + with: + name: ${{ matrix.os }}-${{ matrix.node-version }} + path: ./dist diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index fdac8bc3..693e0262 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -13,37 +13,37 @@ jobs: strategy: matrix: os: - - macos-latest - - windows-latest - - ubuntu-latest + - macos-latest + - windows-latest + - ubuntu-latest node-version: - - 17 + - 17 steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Cache node_modules - uses: actions/cache@v2 - with: - path: ./node_modules - key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} - env: - cache-name: node-modules - - - run: sudo apt-get update -y && sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools - name: Install Linux Dependencies - if: (startsWith(matrix.os, 'ubuntu')) - - - run: yarn install --frozen-lockfile - - - run: yarn dist --publish never - - - name: Upload Build - uses: actions/upload-artifact@v2.2.2 - with: - name: ${{ matrix.os }}-${{ matrix.node-version }} - path: ./dist + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Cache node_modules + uses: actions/cache@v2 + with: + path: ./node_modules + key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} + env: + cache-name: node-modules + + - run: sudo apt-get update -y && sudo apt-get install --no-install-recommends -y libopenjp2-tools rpm libarchive-tools + name: Install Linux Dependencies + if: (startsWith(matrix.os, 'ubuntu')) + + - run: yarn install --frozen-lockfile + + - run: yarn dist --publish never + + - name: Upload Build + uses: actions/upload-artifact@v2.2.2 + with: + name: ${{ matrix.os }}-${{ matrix.node-version }} + path: ./dist From ba750a431bfc315ccd578d00fbd1f7628c6f06b0 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 11 Apr 2022 15:30:20 -0400 Subject: [PATCH 355/385] set controls to hiddenInset for macos --- src/background.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/background.ts b/src/background.ts index 8202c01c..8b97bb2a 100644 --- a/src/background.ts +++ b/src/background.ts @@ -71,6 +71,7 @@ app.on("ready", () => { icon: IS_LINUX ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") : undefined, + titleBarStyle: IS_MAC ? "hiddenInset" : "default", webPreferences: { nodeIntegration: true, contextIsolation: false, From fb807baa1f922e523837d24f86383a4f263350e5 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Thu, 21 Apr 2022 18:41:39 -0400 Subject: [PATCH 356/385] inject a draggable region overlay --- src/bridge.ts | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/bridge.ts b/src/bridge.ts index 61996c30..e05b7f9d 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -1,6 +1,10 @@ import { ipcRenderer } from "electron"; import path from "path"; -import { INITIAL_ICON_IMAGE, RESOURCES_PATH } from "./helpers/constants"; +import { + INITIAL_ICON_IMAGE, + IS_MAC, + RESOURCES_PATH, +} from "./helpers/constants"; import { createRecentThreadObserver, createUnreadObserver, @@ -10,6 +14,29 @@ import { import { getProfileImg } from "./helpers/profileImage"; window.addEventListener("load", () => { + if (true) { + const titlebarStyle = `#amd-titlebar { + -webkit-app-region: drag; + position: fixed; + width: 100%; + height: 64px; + top: 0; + left: 0; + background: none; + pointer-events: none; + }`; + + document.body.appendChild( + Object.assign(document.createElement("style"), { + textContent: titlebarStyle, + }) + ); + + const titlebar = document.createElement("div"); + titlebar.id = "amd-titlebar"; + document.querySelector("mw-app")?.parentNode?.prepend(titlebar); + } + const conversationListObserver = new MutationObserver(() => { if (document.querySelector("mws-conversations-list") != null) { createUnreadObserver(); From eaccb7b7c0b4c7149737ff249442630f4e122db3 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Fri, 22 Apr 2022 16:05:28 -0400 Subject: [PATCH 357/385] only add titlebar on macos --- src/bridge.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bridge.ts b/src/bridge.ts index e05b7f9d..aa7fbfce 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -14,7 +14,7 @@ import { import { getProfileImg } from "./helpers/profileImage"; window.addEventListener("load", () => { - if (true) { + if (IS_MAC) { const titlebarStyle = `#amd-titlebar { -webkit-app-region: drag; position: fixed; From 5559ec3121d4f961d5bfea188e4198cc24ac5bc3 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 23 Apr 2022 15:04:29 -0400 Subject: [PATCH 358/385] add github repo button to about page fixes #376 --- src/menu/items/about.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/menu/items/about.ts b/src/menu/items/about.ts index c8c5524f..425c2aee 100644 --- a/src/menu/items/about.ts +++ b/src/menu/items/about.ts @@ -15,7 +15,7 @@ let descriptionWithLocale = ""; app.on("ready", () => { languageCode = app.getLocale(); // about-window does not have a field for arbitrary HTML, so we add the HTML we need to an existing field - descriptionWithLocale = `Messages for web, as a desktop app${languageCode}`; + descriptionWithLocale = `Messages for web, as a desktop app. Github Repo${languageCode}`; }); export const aboutMenuItem: MenuItemConstructorOptions = { From 41fcf15d167e45cf3a4a8bbc654508f05c88344b Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 23 Apr 2022 15:05:59 -0400 Subject: [PATCH 359/385] add space to produc name --- electron-builder.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electron-builder.js b/electron-builder.js index 8bffcae4..d0bbd8d4 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -1,7 +1,7 @@ module.exports = { appId: "pw.kmr.amd", artifactName: "${productName}-v${version}-${os}-${arch}.${ext}", - productName: "AndroidMessages", + productName: "Android Messages", copyright: "Copyright 2020 Kyle Rosenberg", files: ["app/**/*", "resources/**/*"], directories: { From 002b62b13a95736c0d680911398ce652bff1d8fa Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 23 Apr 2022 15:06:35 -0400 Subject: [PATCH 360/385] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a7568da0..df0bbbdc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.3.2", + "version": "5.3.3", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 1eb7e06c36b2370cc90b9fdec81c81bdc40b830c Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 26 Apr 2022 21:37:21 -0400 Subject: [PATCH 361/385] add the new settings for flash and dot --- src/helpers/settings.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index c288fbe5..30ce749e 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -45,6 +45,8 @@ export interface JsonSettings { monochromeIconEnabled: boolean; showIconsInRecentConversationTrayEnabled: boolean; isUpdate: boolean; + taskbarFlashEnabled: boolean; + trayIconRedDotEnabled: boolean; } // wraps json settings in the setting type for export @@ -75,6 +77,8 @@ const defaultSettings: JsonSettings = { monochromeIconEnabled: true, showIconsInRecentConversationTrayEnabled: true, isUpdate: false, + taskbarFlashEnabled: true, + trayIconRedDotEnabled: true, }; // create default settings file if it doesnt exist From acc53fa3e352cc7598c9a0bf3a39299ffff079e5 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 26 Apr 2022 21:49:51 -0400 Subject: [PATCH 362/385] add red dot and flash to settings menu --- src/menu/settingsMenu.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/menu/settingsMenu.ts b/src/menu/settingsMenu.ts index 986641b0..da27ee21 100644 --- a/src/menu/settingsMenu.ts +++ b/src/menu/settingsMenu.ts @@ -12,6 +12,8 @@ const { checkForUpdateOnLaunchEnabled, monochromeIconEnabled, showIconsInRecentConversationTrayEnabled, + trayIconRedDotEnabled, + taskbarFlashEnabled, } = settings; export const settingsMenu: MenuItemConstructorOptions = { @@ -68,6 +70,14 @@ export const settingsMenu: MenuItemConstructorOptions = { click: (item) => showIconsInRecentConversationTrayEnabled.next(item.checked), }, + { + id: "trayIconRedDotEnabledMenuItem", + label: "Show Red Dot for Unread Messages", + type: "checkbox", + checked: trayIconRedDotEnabled.value, + enabled: trayEnabled.value, + click: (item) => trayIconRedDotEnabled.next(item.checked), + }, separator, { id: "hideNotificationContentMenuItem", @@ -76,6 +86,13 @@ export const settingsMenu: MenuItemConstructorOptions = { checked: hideNotificationContentEnabled.value, click: (item) => hideNotificationContentEnabled.next(item.checked), }, + { + id: "taskbarFlashEnabledMenuItem", + label: "Taskbar Flash on New Message", + type: "checkbox", + checked: taskbarFlashEnabled.value, + click: (item) => taskbarFlashEnabled.next(item.checked), + }, separator, { id: "checkForUpdateOnLaunchEnabledMenuItem", From 3c8892ecf70ff77b26ac871118aafbbe30464736 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 26 Apr 2022 21:50:11 -0400 Subject: [PATCH 363/385] react to the red dot and flash settings changing --- src/background.ts | 3 ++- src/helpers/trayManager.ts | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/background.ts b/src/background.ts index 8b97bb2a..f5166039 100644 --- a/src/background.ts +++ b/src/background.ts @@ -21,6 +21,7 @@ const { savedWindowSize, savedWindowPosition, checkForUpdateOnLaunchEnabled, + taskbarFlashEnabled, } = settings; let mainWindow: BrowserWindow; @@ -170,7 +171,7 @@ ipcMain.on("show-main-window", () => { }); ipcMain.on("flash-main-window-if-not-focused", () => { - if (!mainWindow.isFocused()) { + if (!mainWindow.isFocused() && taskbarFlashEnabled.value) { mainWindow.flashFrame(true); if (IS_MAC) { app.dock.setBadge("•"); diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index d3f25558..f9b849f4 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -26,6 +26,7 @@ const { seenMinimizeToTrayWarning, monochromeIconEnabled, showIconsInRecentConversationTrayEnabled, + trayIconRedDotEnabled, } = settings; export interface Conversation { @@ -47,6 +48,9 @@ export class TrayManager { monochromeIconEnabled.subscribe(() => this.tray?.setImage(this.getIconPath()) ); + trayIconRedDotEnabled.subscribe(() => { + this.tray?.setImage(this.getIconPath()); + }); } public startIfEnabled(): void { @@ -125,7 +129,8 @@ export class TrayManager { if (IS_MAC) { filename = "icon_macTemplate.png"; } else { - const unread = this.messagesAreUnread ? "unread_" : ""; + const unread = + this.messagesAreUnread && trayIconRedDotEnabled.value ? "unread_" : ""; const mono = monochromeIconEnabled.value ? "_mono" : ""; filename = `${unread}icon${mono}.png`; } @@ -172,6 +177,7 @@ export class TrayManager { "startInTrayMenuItem", "monochromeIconEnabledMenuItem", "showIconsInRecentConversationTrayEnabledMenuItem", + "trayIconRedDotEnabledMenuItem", ]; if (newValue) { From 9de4a7e5dea5a0c95ea554ab1ba20428941fcecd Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 26 Apr 2022 22:01:41 -0400 Subject: [PATCH 364/385] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index df0bbbdc..dac897b6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.3.3", + "version": "5.3.4", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 2f6a6cf59d98f0c99fb4d857ef9c404e06b99450 Mon Sep 17 00:00:00 2001 From: Brad Murray Date: Sat, 4 Jun 2022 20:15:22 -0400 Subject: [PATCH 365/385] Added brew install instructions --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8d7467c6..86b82e54 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,9 @@ Head over to the [latest releases](https://github.com/OrangeDrangon/android-mess **Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. +# Install on MacOS via Homebrew +`brew install --cask orangedrangon-android-messages` + # Contributions The code is pretty ugly but getting better every day. Feel free to take a look. From 2a8c9550fb2582a44e07fab59b4156052c132d51 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Sun, 5 Jun 2022 00:15:35 +0000 Subject: [PATCH 366/385] Restyled by prettier-markdown --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 86b82e54..e4ec4622 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ Head over to the [latest releases](https://github.com/OrangeDrangon/android-mess **Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. # Install on MacOS via Homebrew + `brew install --cask orangedrangon-android-messages` # Contributions @@ -25,6 +26,7 @@ Head over to the [latest releases](https://github.com/OrangeDrangon/android-mess The code is pretty ugly but getting better every day. Feel free to take a look. Steps to contribute: + 1. Fork 2. Clone 3. Edit From 4d0e76c53769932c13624557636bb5332e702c83 Mon Sep 17 00:00:00 2001 From: Ross Smith II Date: Thu, 11 Aug 2022 11:45:23 -0700 Subject: [PATCH 367/385] docs: Add scoop install instructions --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index e4ec4622..eff77e1e 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,10 @@ Head over to the [latest releases](https://github.com/OrangeDrangon/android-mess `brew install --cask orangedrangon-android-messages` +# Install on Windows via Scoop + +`scoop bucket add extras && scoop install android-messages` + # Contributions The code is pretty ugly but getting better every day. Feel free to take a look. From a988acf19cce7eed6180d123064864ac1c705959 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Mon, 15 Aug 2022 20:45:49 -0400 Subject: [PATCH 368/385] Update README.md --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index eff77e1e..7c73c578 100644 --- a/README.md +++ b/README.md @@ -9,14 +9,18 @@ Inspired by: - [Google Play Music Desktop Player](https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-) - [a Reddit post on r/Android](https://www.reddit.com/r/Android/comments/8shv6q/web_messages/e106a8r/) -# Download - -Head over to the [latest releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) page! - **Important Note 1:** We currently have builds for Windows and macOS, and Linux. I test releases on Arch Linux and to a lesser degree Windows. I would love help testing in additional places. **Important Note 2:** Neither the MacOS nor the Windows binaries are signed right now. I am willing to add this but I do not have the certificates required at this time. +# Install Anywhere + +Download your build from the [releases](https://github.com/OrangeDrangon/android-messages-desktop/releases/latest) page. + +# Install on Archlinux via AUR + +`yay -S android-messages-desktop-bin` or the relevant command in your aur helper. + # Install on MacOS via Homebrew `brew install --cask orangedrangon-android-messages` From 53f595db234d389535a52c40c0552ac4a5751c83 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 14 Sep 2022 18:16:26 -0400 Subject: [PATCH 369/385] Dependency bump (#394) * yarn upgrade --latest * remove unused dependencies * bump dependencies --- package.json | 45 +- webpack.config.ts | 6 +- yarn.lock | 1960 ++++++++++++++++++++------------------------- 3 files changed, 892 insertions(+), 1119 deletions(-) diff --git a/package.json b/package.json index dac897b6..b33cf149 100644 --- a/package.json +++ b/package.json @@ -20,43 +20,40 @@ "scripts": { "start": "yarn build:dev && cross-env NODE_ENV=development electron ./app/background.js", "dist": "yarn build && yarn package", - "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider webpack --mode=production", - "build:dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider webpack --mode=development", + "build": "webpack --mode=production", + "build:dev": "webpack --mode=development", "icons": "png2icons resources/icons/1024x1024.png resources/icon -all -i", "lint": "eslint --fix --ext .ts,.js ./src", "package": "yarn electron-builder --config electron-builder.js" }, "dependencies": { "about-window": "1.15.2", - "electron-updater": "4.6.1", - "fs-jetpack": "^4.3.0", - "rxjs": "^7.5.0", - "uuid": "^8.3.2" + "electron-updater": "5.2.1", + "fs-jetpack": "^4.3.1", + "rxjs": "^7.5.6", + "uuid": "^9.0.0" }, "devDependencies": { - "@types/node": "17.0.5", - "@types/uuid": "^8.3.3", + "@types/node": "18.7.18", + "@types/uuid": "^8.3.4", "@types/webpack": "^5.28.0", "@types/webpack-node-externals": "^2.5.3", - "@typescript-eslint/eslint-plugin": "^5.8.1", - "@typescript-eslint/parser": "^5.8.1", + "@typescript-eslint/eslint-plugin": "^5.37.0", + "@typescript-eslint/parser": "^5.37.0", "cross-env": "^7.0.2", - "css-loader": "^6.5.1", - "electron": "16.0.5", - "electron-builder": "^22.14.5", - "eslint": "^8.5.0", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^4.0.0", - "html-webpack-plugin": "^5.5.0", + "electron": "20.1.4", + "electron-builder": "^23.3.3", + "eslint": "^8.23.1", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.2.1", "png2icons": "^2.0.1", - "prettier": "^2.5.1", + "prettier": "^2.7.1", "source-map-support": "^0.5.21", - "style-loader": "^3.3.1", - "ts-loader": "^9.2.6", - "ts-node": "^10.4.0", - "typescript": "^4.5.4", - "webpack": "^5.65.0", - "webpack-cli": "^4.9.1", + "ts-loader": "^9.3.1", + "ts-node": "^10.9.1", + "typescript": "^4.8.3", + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0", "webpack-merge": "^5.8.0", "webpack-node-externals": "^3.0.0" } diff --git a/webpack.config.ts b/webpack.config.ts index 7b7fc388..858b281d 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -19,14 +19,10 @@ const base: Configuration = { exclude: /node_modules/, use: ["ts-loader"], }, - { - test: /\.css$/, - use: ["style-loader", "css-loader"], - }, ], }, resolve: { - extensions: [".ts", ".js", ".css"], + extensions: [".ts", ".js"], }, }; diff --git a/yarn.lock b/yarn.lock index 67ce8a5a..159ead07 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,17 +7,12 @@ resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== -"@cspotcode/source-map-consumer@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" - integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== - -"@cspotcode/source-map-support@0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" - integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: - "@cspotcode/source-map-consumer" "0.8.0" + "@jridgewell/trace-mapping" "0.3.9" "@develar/schema-utils@~2.6.5": version "2.6.5" @@ -28,14 +23,14 @@ ajv-keywords "^3.4.1" "@discoveryjs/json-ext@^0.5.0": - version "0.5.6" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" - integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@electron/get@^1.13.0": - version "1.13.1" - resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" - integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA== +"@electron/get@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz#16ba75f02dffb74c23965e72d617adc721d27f40" + integrity sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw== dependencies: debug "^4.1.1" env-paths "^2.2.0" @@ -48,46 +43,106 @@ global-agent "^3.0.0" global-tunnel-ng "^2.7.1" -"@electron/universal@1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz#b812340e4ef21da2b3ee77b2b4d35c9b86defe37" - integrity sha512-zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag== +"@electron/universal@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.1.tgz#3c2c4ff37063a4e9ab1e6ff57db0bc619bc82339" + integrity sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ== dependencies: "@malept/cross-spawn-promise" "^1.1.0" - asar "^3.0.3" + asar "^3.1.0" debug "^4.3.1" dir-compare "^2.4.0" fs-extra "^9.0.1" + minimatch "^3.0.4" + plist "^3.0.4" -"@eslint/eslintrc@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" - integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ== +"@eslint/eslintrc@^1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" + integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.2.0" - globals "^13.9.0" - ignore "^4.0.6" + espree "^9.4.0" + globals "^13.15.0" + ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" - minimatch "^3.0.4" + minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" - integrity sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA== +"@humanwhocodes/config-array@^0.10.4": + version "0.10.4" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" + integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" minimatch "^3.0.4" +"@humanwhocodes/gitignore-to-minimatch@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" + integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + "@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.15" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" + integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@malept/cross-spawn-promise@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d" @@ -138,25 +193,30 @@ dependencies: defer-to-connect "^1.0.1" +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== + version "1.0.9" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== "@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.9.tgz#62c1f6dee2ebd9aead80dc3afa56810e58e1a04c" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.1.tgz#95f2d167ffb9b8d2068b0b235302fafd4df711f2" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" + integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== "@types/debug@^4.1.6": version "4.1.7" @@ -165,26 +225,31 @@ dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.0": - version "3.7.2" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.2.tgz#11e96a868c67acf65bf6f11d10bb89ea71d5e473" - integrity sha512-TzgYCWoPiTeRg6RQYgtuW7iODtVoKu3RVL72k3WohqhjfaOLK5Mg2T4Tg1o2bSfu0vPkoI48wdQFv5b/Xe04wQ== +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.1.tgz#13f3d69bac93c2ae008019c28783868d0a1d6605" - integrity sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ== + version "8.4.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" + integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.50": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/estree@*": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/fs-extra@^9.0.11": version "9.0.13" @@ -201,35 +266,30 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/minimatch@*": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/ms@*": version "0.7.31" resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== -"@types/node@*", "@types/node@17.0.5": - version "17.0.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.5.tgz#57ca67ec4e57ad9e4ef5a6bab48a15387a1c83e0" - integrity sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw== +"@types/node@*", "@types/node@18.7.18": + version "18.7.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" + integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== -"@types/node@^14.6.2": - version "14.18.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.3.tgz#b3682cfd9d5542b025df13233d073cb4347f63f3" - integrity sha512-GtTH2crF4MtOIrrAa+jgTV9JX/PfoUCYr6MiZw7O/dkZu5b6gm5dc1nAL0jwGo4ortSBBtGyeVaxdC8X6V+pLg== +"@types/node@^16.11.26": + version "16.11.59" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.59.tgz#823f238b9063ccc3b3b7f13186f143a57926c4f6" + integrity sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw== "@types/plist@^3.0.1": version "3.0.2" @@ -240,19 +300,19 @@ xmlbuilder ">=11.0.1" "@types/semver@^7.3.6": - version "7.3.9" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" - integrity sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ== + version "7.3.12" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c" + integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== -"@types/uuid@^8.3.3": - version "8.3.3" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.3.tgz#c6a60686d953dbd1b1d45e66f4ecdbd5d471b4d0" - integrity sha512-0LbEEx1zxrYB3pgpd1M5lEhLcXjKJnYghvhTRgaBeUivLHMDM1TzF3IJ6hXU2+8uA4Xz+5BA63mtZo5DjVT8iA== +"@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@types/verror@^1.10.3": - version "1.10.5" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1" - integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw== + version "1.10.6" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.6.tgz#3e600c62d210c5826460858f84bcbb65805460bb" + integrity sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ== "@types/webpack-node-externals@^2.5.3": version "2.5.3" @@ -272,86 +332,104 @@ webpack "^5" "@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.1": - version "17.0.8" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c" - integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw== + version "17.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz#0745ff3e4872b4ace98616d4b7e37ccbd75f9526" + integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.8.1.tgz#97dfaa39f38e99f86801fdf34f9f1bed66704258" - integrity sha512-wTZ5oEKrKj/8/366qTM366zqhIKAp6NCMweoRONtfuC07OAU9nVI2GZZdqQ1qD30WAAtcPdkH+npDwtRFdp4Rw== +"@types/yauzl@^2.9.1": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== dependencies: - "@typescript-eslint/experimental-utils" "5.8.1" - "@typescript-eslint/scope-manager" "5.8.1" - debug "^4.3.2" + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@^5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz#5ccdd5d9004120f28fc6e717fb4b5c9bddcfbc04" + integrity sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og== + dependencies: + "@typescript-eslint/scope-manager" "5.37.0" + "@typescript-eslint/type-utils" "5.37.0" + "@typescript-eslint/utils" "5.37.0" + debug "^4.3.4" functional-red-black-tree "^1.0.1" - ignore "^5.1.8" + ignore "^5.2.0" regexpp "^3.2.0" - semver "^7.3.5" + semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.8.1.tgz#01861eb2f0749f07d02db342b794145a66ed346f" - integrity sha512-fbodVnjIDU4JpeXWRDsG5IfIjYBxEvs8EBO8W1+YVdtrc2B9ppfof5sZhVEDOtgTfFHnYQJDI8+qdqLYO4ceww== +"@typescript-eslint/parser@^5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.37.0.tgz#c382077973f3a4ede7453fb14cadcad3970cbf3b" + integrity sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw== dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.8.1" - "@typescript-eslint/types" "5.8.1" - "@typescript-eslint/typescript-estree" "5.8.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" + "@typescript-eslint/scope-manager" "5.37.0" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/typescript-estree" "5.37.0" + debug "^4.3.4" -"@typescript-eslint/parser@^5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.8.1.tgz#380f5f1e596b540059998aa3fc80d78f0f9b0d0a" - integrity sha512-K1giKHAjHuyB421SoXMXFHHVI4NdNY603uKw92++D3qyxSeYvC10CBJ/GE5Thpo4WTUvu1mmJI2/FFkz38F2Gw== +"@typescript-eslint/scope-manager@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz#044980e4f1516a774a418dafe701a483a6c9f9ca" + integrity sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q== dependencies: - "@typescript-eslint/scope-manager" "5.8.1" - "@typescript-eslint/types" "5.8.1" - "@typescript-eslint/typescript-estree" "5.8.1" - debug "^4.3.2" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/visitor-keys" "5.37.0" -"@typescript-eslint/scope-manager@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.8.1.tgz#7fc0604f7ade8833e4d42cebaa1e2debf8b932e4" - integrity sha512-DGxJkNyYruFH3NIZc3PwrzwOQAg7vvgsHsHCILOLvUpupgkwDZdNq/cXU3BjF4LNrCsVg0qxEyWasys5AiJ85Q== +"@typescript-eslint/type-utils@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz#43ed2f567ada49d7e33a6e4b6f9babd060445fe5" + integrity sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ== dependencies: - "@typescript-eslint/types" "5.8.1" - "@typescript-eslint/visitor-keys" "5.8.1" + "@typescript-eslint/typescript-estree" "5.37.0" + "@typescript-eslint/utils" "5.37.0" + debug "^4.3.4" + tsutils "^3.21.0" -"@typescript-eslint/types@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.8.1.tgz#04c6b49ebc8c99238238a6b8b43f2fc613983b5a" - integrity sha512-L/FlWCCgnjKOLefdok90/pqInkomLnAcF9UAzNr+DSqMC3IffzumHTQTrINXhP1gVp9zlHiYYjvozVZDPleLcA== +"@typescript-eslint/types@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.37.0.tgz#09e4870a5f3af7af3f84e08d792644a87d232261" + integrity sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA== -"@typescript-eslint/typescript-estree@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.8.1.tgz#a592855be688e7b729a1e9411d7d74ec992ed6ef" - integrity sha512-26lQ8l8tTbG7ri7xEcCFT9ijU5Fk+sx/KRRyyzCv7MQ+rZZlqiDPtMKWLC8P7o+dtCnby4c+OlxuX1tp8WfafQ== +"@typescript-eslint/typescript-estree@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz#956dcf5c98363bcb97bdd5463a0a86072ff79355" + integrity sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA== dependencies: - "@typescript-eslint/types" "5.8.1" - "@typescript-eslint/visitor-keys" "5.8.1" - debug "^4.3.2" - globby "^11.0.4" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/visitor-keys" "5.37.0" + debug "^4.3.4" + globby "^11.1.0" is-glob "^4.0.3" - semver "^7.3.5" + semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@5.8.1": - version "5.8.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.8.1.tgz#58a2c566265d5511224bc316149890451c1bbab0" - integrity sha512-SWgiWIwocK6NralrJarPZlWdr0hZnj5GXHIgfdm8hNkyKvpeQuFyLP6YjSIe9kf3YBIfU6OHSZLYkQ+smZwtNg== +"@typescript-eslint/utils@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.37.0.tgz#7784cb8e91390c4f90ccaffd24a0cf9874df81b2" + integrity sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ== dependencies: - "@typescript-eslint/types" "5.8.1" - eslint-visitor-keys "^3.0.0" + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.37.0" + "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/typescript-estree" "5.37.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.37.0": + version "5.37.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz#7b72dd343295ea11e89b624995abc7103c554eee" + integrity sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA== + dependencies: + "@typescript-eslint/types" "5.37.0" + eslint-visitor-keys "^3.3.0" "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -474,22 +552,22 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" - integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== -"@webpack-cli/info@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" - integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" - integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -511,7 +589,7 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -521,10 +599,17 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^8.4.1, acorn@^8.6.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" + integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" @@ -548,23 +633,11 @@ ansi-align@^3.0.0: dependencies: string-width "^4.1.0" -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -572,40 +645,41 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -app-builder-bin@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e" - integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw== +app-builder-bin@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0" + integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA== -app-builder-lib@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz#a61a50b132b858e98fdc70b6b88994ae99b4f96d" - integrity sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg== +app-builder-lib@23.3.3: + version "23.3.3" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.3.3.tgz#78b9dbb0bd8a69842461edd77a3226d0547c5939" + integrity sha512-m0+M53+HYMzqKxwNQZT143K7WwXEGUy9LY31l8dJphXx2P/FQod615mVbxHyqbDCG4J5bHdWm21qZ0e2DVY6CQ== dependencies: "7zip-bin" "~5.1.1" "@develar/schema-utils" "~2.6.5" - "@electron/universal" "1.0.5" + "@electron/universal" "1.2.1" "@malept/flatpak-bundler" "^0.4.0" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + builder-util "23.3.3" + builder-util-runtime "9.0.3" chromium-pickle-js "^0.2.0" - debug "^4.3.2" - ejs "^3.1.6" - electron-osx-sign "^0.5.0" - electron-publish "22.14.5" + debug "^4.3.4" + ejs "^3.1.7" + electron-osx-sign "^0.6.0" + electron-publish "23.3.3" form-data "^4.0.0" - fs-extra "^10.0.0" - hosted-git-info "^4.0.2" + fs-extra "^10.1.0" + hosted-git-info "^4.1.0" is-ci "^3.0.0" - isbinaryfile "^4.0.8" + isbinaryfile "^4.0.10" js-yaml "^4.1.0" lazy-val "^1.0.5" - minimatch "^3.0.4" + minimatch "^3.1.2" read-config-file "6.2.0" sanitize-filename "^1.6.3" - semver "^7.3.5" + semver "^7.3.7" + tar "^6.1.11" temp-file "^3.4.0" arg@^4.1.0: @@ -623,10 +697,10 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -asar@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473" - integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ== +asar@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/asar/-/asar-3.2.0.tgz#e6edb5edd6f627ebef04db62f771c61bea9c1221" + integrity sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg== dependencies: chromium-pickle-js "^0.2.0" commander "^5.0.0" @@ -638,7 +712,7 @@ asar@^3.0.3: assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== astral-regex@^2.0.0: version "2.0.0" @@ -650,15 +724,15 @@ async-exit-hook@^2.0.1: resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== -async@0.9.x: - version "0.9.2" - resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= +async@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" @@ -687,15 +761,10 @@ bluebird@^3.5.0, bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - boolean@^3.0.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435" - integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w== + version "3.2.0" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" + integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== boxen@^5.0.0: version "5.1.2" @@ -719,7 +788,14 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1: +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -727,15 +803,14 @@ braces@^3.0.1: fill-range "^7.0.1" browserslist@^4.14.5: - version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + version "4.21.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" + integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" + caniuse-lite "^1.0.30001370" + electron-to-chromium "^1.4.202" + node-releases "^2.0.6" + update-browserslist-db "^1.0.5" buffer-alloc-unsafe@^1.1.0: version "1.1.0" @@ -753,17 +828,17 @@ buffer-alloc@^1.2.0: buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== buffer-equal@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= + integrity sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ== buffer-fill@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== buffer-from@^1.0.0: version "1.1.2" @@ -778,29 +853,31 @@ buffer@^5.1.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@8.9.1: - version "8.9.1" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz#25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a" - integrity sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg== +builder-util-runtime@9.0.3: + version "9.0.3" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.3.tgz#6c62c493ba2b73c2af92432db4013b5a327f02b2" + integrity sha512-SfG2wnyjpUbbdtpnqDpWwklujofC6GarGpvdWrEkg9p5AD/xJmTF2buTNaqs3qtsNBEVQDDjZz9xc2GGpVyMfA== dependencies: - debug "^4.3.2" + debug "^4.3.4" sax "^1.2.4" -builder-util@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz#42a18608d2a566c0846e91266464776c8bfb0cc9" - integrity sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA== +builder-util@23.3.3: + version "23.3.3" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.3.3.tgz#449ee57ec1ffc7e59f7a3a8a1a33d25cf5e39e43" + integrity sha512-MJZlUiq2PY5hjYv9+XNaoYdsITqvLgRDoHSFg/4nzpInbNxNjLQOolL04Zsyp+hgfcbFvMC4h0KkR1CMPHLWbA== dependencies: "7zip-bin" "~5.1.1" "@types/debug" "^4.1.6" "@types/fs-extra" "^9.0.11" - app-builder-bin "3.7.1" + app-builder-bin "4.0.0" bluebird-lst "^1.0.9" - builder-util-runtime "8.9.1" + builder-util-runtime "9.0.3" chalk "^4.1.1" cross-spawn "^7.0.3" - debug "^4.3.2" + debug "^4.3.4" fs-extra "^10.0.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" is-ci "^3.0.0" js-yaml "^4.1.0" source-map-support "^0.5.19" @@ -825,34 +902,17 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - camelcase@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" - integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== - -caniuse-lite@^1.0.30001286: - version "1.0.30001292" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001292.tgz#4a55f61c06abc9595965cfd77897dc7bc1cdc456" - integrity sha512-jnT4Tq0Q4ma+6nncYQVe7d73kmDmE9C3OGTx3MvW7lBM/eY1S1DZTMBON7dqV481RhNiS5OxD7k9JQvmDOTirw== + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" +caniuse-lite@^1.0.30001370: + version "1.0.30001399" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz#1bf994ca375d7f33f8d01ce03b7d5139e8587873" + integrity sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA== -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -860,6 +920,11 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: ansi-styles "^4.1.0" supports-color "^7.1.0" +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -868,7 +933,7 @@ chrome-trace-event@^1.0.2: chromium-pickle-js@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" - integrity sha1-BKEGZywYsIWrd02YPfo+oTjyIgU= + integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== ci-info@^2.0.0: version "2.0.0" @@ -876,16 +941,9 @@ ci-info@^2.0.0: integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== - -clean-css@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.2.2.tgz#d3a7c6ee2511011e051719838bdcf8314dc4548d" - integrity sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w== - dependencies: - source-map "~0.6.0" + version "3.4.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" + integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== cli-boxes@^2.2.1: version "2.2.1" @@ -919,19 +977,12 @@ clone-deep@^4.0.1: shallow-clone "^3.0.0" clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== dependencies: mimic-response "^1.0.0" -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -939,25 +990,20 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.14: - version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" - integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw== combined-stream@^1.0.8: version "1.0.8" @@ -969,7 +1015,7 @@ combined-stream@^1.0.8: commander@2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - integrity sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q= + integrity sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A== dependencies: graceful-readlink ">= 1.0.0" @@ -988,30 +1034,15 @@ commander@^7.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - compare-version@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" - integrity sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA= + integrity sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A== concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== config-chain@^1.1.11: version "1.1.13" @@ -1036,12 +1067,7 @@ configstore@^5.0.1: core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== crc@^3.8.0: version "3.8.0" @@ -1076,59 +1102,24 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-loader@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" - integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== - dependencies: - icss-utils "^5.1.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - semver "^7.3.5" - -css-select@^4.1.3: - version "4.2.1" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + ms "2.1.2" -debug@^2.6.8, debug@^2.6.9: +debug@^2.6.8: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== dependencies: mimic-response "^1.0.0" @@ -1148,16 +1139,17 @@ defer-to-connect@^1.0.1: integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: - object-keys "^1.0.12" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== detect-node@^2.0.4: version "2.1.0" @@ -1186,24 +1178,24 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz#137c0b55e639badcc0b119eb060e6fa4ed61d948" - integrity sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w== +dmg-builder@23.3.3: + version "23.3.3" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.3.3.tgz#b37547f8403c3e9f7c60265a93d902f5b0c395ea" + integrity sha512-ECwAjt+ZWyOvddrkDx1xRD6IVUCZb5SV6vSMHZd+Va3G2sUXHrnglR1cGDKRF4oYRQm8SYVrpLZKbi8npyDcAQ== dependencies: - app-builder-lib "22.14.5" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + app-builder-lib "23.3.3" + builder-util "23.3.3" + builder-util-runtime "9.0.3" fs-extra "^10.0.0" iconv-lite "^0.6.2" js-yaml "^4.1.0" optionalDependencies: - dmg-license "^1.0.9" + dmg-license "^1.0.11" -dmg-license@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz#89f52afae25d827fce8d818c13aff30af1c16bcc" - integrity sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A== +dmg-license@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a" + integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q== dependencies: "@types/plist" "^3.0.1" "@types/verror" "^1.10.3" @@ -1221,51 +1213,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -1284,28 +1231,28 @@ dotenv@^9.0.2: integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + version "0.1.5" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== -ejs@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" - integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== +ejs@^3.1.7: + version "3.1.8" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" + integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== dependencies: - jake "^10.6.1" + jake "^10.8.5" -electron-builder@^22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496" - integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg== +electron-builder@^23.3.3: + version "23.3.3" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.3.3.tgz#88d4e584a99b9e36ca4e8432b1163a1ef877355f" + integrity sha512-mFYYdhoFPKevP6y5uaaF3dusmB2OtQ/HnwwpyOePeU7QDS0SEIAUokQsHUanAiJAZcBqtY7iyLBgX18QybdFFw== dependencies: "@types/yargs" "^17.0.1" - app-builder-lib "22.14.5" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + app-builder-lib "23.3.3" + builder-util "23.3.3" + builder-util-runtime "9.0.3" chalk "^4.1.1" - dmg-builder "22.14.5" + dmg-builder "23.3.3" fs-extra "^10.0.0" is-ci "^3.0.0" lazy-val "^1.0.5" @@ -1313,10 +1260,10 @@ electron-builder@^22.14.5: update-notifier "^5.1.0" yargs "^17.0.1" -electron-osx-sign@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz#fc258c5e896859904bbe3d01da06902c04b51c3a" - integrity sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ== +electron-osx-sign@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz#9b69c191d471d9458ef5b1e4fdd52baa059f1bb8" + integrity sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg== dependencies: bluebird "^3.5.0" compare-version "^0.1.2" @@ -1325,46 +1272,47 @@ electron-osx-sign@^0.5.0: minimist "^1.2.0" plist "^3.0.1" -electron-publish@22.14.5: - version "22.14.5" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz#34bcdce671f0e651330db20040d6919c77c94bd6" - integrity sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg== +electron-publish@23.3.3: + version "23.3.3" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.3.3.tgz#c4125fbb00620acb854f6e994fd3ab3115662ddd" + integrity sha512-1dX17eE5xVXedTxjC+gjsP74oC0+sIHgqysp0ryTlF9+yfQUyXjBk6kcK+zhtBA2SsHMSglDtM+JPxDD/WpPTQ== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "22.14.5" - builder-util-runtime "8.9.1" + builder-util "23.3.3" + builder-util-runtime "9.0.3" chalk "^4.1.1" fs-extra "^10.0.0" lazy-val "^1.0.5" mime "^2.5.2" -electron-to-chromium@^1.4.17: - version "1.4.28" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.28.tgz#fef0e92e281df6d568f482d8d53c34ca5374de48" - integrity sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg== +electron-to-chromium@^1.4.202: + version "1.4.249" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.249.tgz#49c34336c742ee65453dbddf4c84355e59b96e2c" + integrity sha512-GMCxR3p2HQvIw47A599crTKYZprqihoBL4lDSAUmr7IYekXFK5t/WgEBrGJDCa2HWIZFQEkGuMqPCi05ceYqPQ== -electron-updater@4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.6.1.tgz#80ca805c4f51b2e682aac29d18fed75d6a533d32" - integrity sha512-YsU1mHqXLrXXmBMsxhxy24PrbaB8rnpZDPmFa2gOkTYk/Ch13+R0fjsRSpPYvqtskVVY0ux8fu+HnUkVkqc7og== +electron-updater@5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-5.2.1.tgz#297795e6e8ad9179c7ae2738a7b67cf0a5022be1" + integrity sha512-OQZVIvqcK8j03HjT07uVPgvguP/r8RY2wZcwCM26+fcDOjtrm01Dfz3G8Eru+69znbrR+F9pDzr98ewMavBrWQ== dependencies: "@types/semver" "^7.3.6" - builder-util-runtime "8.9.1" + builder-util-runtime "9.0.3" fs-extra "^10.0.0" js-yaml "^4.1.0" lazy-val "^1.0.5" lodash.escaperegexp "^4.1.2" lodash.isequal "^4.5.0" semver "^7.3.5" + typed-emitter "^2.1.0" -electron@16.0.5: - version "16.0.5" - resolved "https://registry.yarnpkg.com/electron/-/electron-16.0.5.tgz#16394c196e42215a82da1f4f39a3f757caf33cb1" - integrity sha512-TgQXWmEGQ3uH2P2JDq5GyJDEu/fimRgqp1iNisARtGreU1k3630PqWlR+4SPnSEHN9NuSv92ng6NWxtefeFzxg== +electron@20.1.4: + version "20.1.4" + resolved "https://registry.yarnpkg.com/electron/-/electron-20.1.4.tgz#d25b549f14376f99a0a239e27d67ef8515b4a5a0" + integrity sha512-7ov5kgSQi2JewV5SrVfjGasUvyScjuJrrDCW0rYxtP2SMe3JjoP4rsOOnh3ps2P/Nrdlbv+0ygiK0zp4ARCZ+A== dependencies: - "@electron/get" "^1.13.0" - "@types/node" "^14.6.2" - extract-zip "^1.0.3" + "@electron/get" "^1.14.1" + "@types/node" "^16.11.26" + extract-zip "^2.0.1" emoji-regex@^8.0.0: version "8.0.0" @@ -1374,7 +1322,7 @@ emoji-regex@^8.0.0: encodeurl@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== end-of-stream@^1.1.0: version "1.4.4" @@ -1383,26 +1331,14 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.3: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0: + version "5.10.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -1433,25 +1369,20 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" - integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== +eslint-config-prettier@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" + integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== -eslint-plugin-prettier@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" - integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== +eslint-plugin-prettier@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== dependencies: prettier-linter-helpers "^1.0.0" @@ -1463,10 +1394,10 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153" - integrity sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg== +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1483,63 +1414,64 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2" - integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA== - -eslint@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.5.0.tgz#ddd2c1afd8f412036f87ae2a063d2aa296d3175f" - integrity sha512-tVGSkgNbOfiHyVte8bCM8OmX+xG9PzVG/B4UCF60zx7j61WIVY/AqJECDgpLD4DbbESD0e174gOg3ZlrX15GDg== - dependencies: - "@eslint/eslintrc" "^1.0.5" - "@humanwhocodes/config-array" "^0.9.2" +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.23.1: + version "8.23.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.1.tgz#cfd7b3f7fdd07db8d16b4ac0516a29c8d8dca5dc" + integrity sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg== + dependencies: + "@eslint/eslintrc" "^1.3.2" + "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" + "@humanwhocodes/module-importer" "^1.0.1" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.0" + eslint-scope "^7.1.1" eslint-utils "^3.0.0" - eslint-visitor-keys "^3.1.0" - espree "^9.2.0" + eslint-visitor-keys "^3.3.0" + espree "^9.4.0" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" + find-up "^5.0.0" glob-parent "^6.0.1" - globals "^13.6.0" - ignore "^4.0.6" + globals "^13.15.0" + globby "^11.1.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" - minimatch "^3.0.4" + minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.1" - progress "^2.0.0" regexpp "^3.2.0" - semver "^7.2.1" strip-ansi "^6.0.1" strip-json-comments "^3.1.0" text-table "^0.2.0" - v8-compile-cache "^2.0.3" -espree@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.2.0.tgz#c50814e01611c2d0f8bd4daa83c369eabba80dbc" - integrity sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg== +espree@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" + integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== dependencies: - acorn "^8.6.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^3.1.0" + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.3.0" esquery@^1.4.0: version "1.4.0" @@ -1575,30 +1507,16 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -extract-zip@^1.0.3: - version "1.7.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" - integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== dependencies: - concat-stream "^1.6.2" - debug "^2.6.9" - mkdirp "^0.5.4" + debug "^4.1.1" + get-stream "^5.1.0" yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" extsprintf@^1.2.0: version "1.4.1" @@ -1615,10 +1533,10 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.1.1: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== +fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -1634,12 +1552,12 @@ fast-json-stable-stringify@^2.0.0: fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: version "1.13.0" @@ -1651,7 +1569,7 @@ fastq@^1.6.0: fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: pend "~1.2.0" @@ -1663,11 +1581,11 @@ file-entry-cache@^6.0.1: flat-cache "^3.0.4" filelist@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" - integrity sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: - minimatch "^3.0.4" + minimatch "^5.0.1" fill-range@^7.0.1: version "7.0.1" @@ -1684,6 +1602,14 @@ find-up@^4.0.0: locate-path "^5.0.0" path-exists "^4.0.0" +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -1693,9 +1619,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== form-data@^4.0.0: version "4.0.0" @@ -1706,10 +1632,10 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== +fs-extra@^10.0.0, fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -1734,18 +1660,25 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-jetpack@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.3.0.tgz#8202abd21c9160faadf3c258b4cf918a74f680de" - integrity sha512-Zx4OJ8HyKvZL9sgxegMGRCgAJSQET5Cqpj/SESwnzqHruHvhkilJBGLoZf6EiYr3UWJDqcPoWDX7aAfaj7D9Qw== +fs-jetpack@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.3.1.tgz#cdfd4b64e6bfdec7c7dc55c76b39efaa7853bb20" + integrity sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ== dependencies: minimatch "^3.0.2" rimraf "^2.6.3" +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== function-bind@^1.1.1: version "1.1.1" @@ -1755,13 +1688,22 @@ function-bind@^1.1.1: functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-intrinsic@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -1776,11 +1718,6 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -1801,14 +1738,14 @@ glob-to-regexp@^0.4.1: integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^7.1.3, glob@^7.1.6: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^3.1.1" once "^1.3.0" path-is-absolute "^1.0.0" @@ -1841,30 +1778,30 @@ global-tunnel-ng@^2.7.1: npm-conf "^1.1.3" tunnel "^0.0.6" -globals@^13.6.0, globals@^13.9.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" - integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== +globals@^13.15.0: + version "13.17.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" + integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== dependencies: type-fest "^0.20.2" globalthis@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" - integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: define-properties "^1.1.3" -globby@^11.0.4: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" got@^9.6.0: @@ -1884,26 +1821,38 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= + integrity sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -1916,61 +1865,34 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hosted-git-info@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== +hosted-git-info@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" iconv-corefoundation@^1.1.7: version "1.1.7" @@ -1987,22 +1909,12 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.4, ignore@^5.1.8: +ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -2018,12 +1930,12 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== import-local@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" - integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -2031,17 +1943,17 @@ import-local@^3.0.2: imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@~2.0.3: +inherits@2: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -2075,17 +1987,17 @@ is-ci@^3.0.0: dependencies: ci-info "^3.2.0" -is-core-module@^2.2.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== +is-core-module@^2.9.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" + integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== dependencies: has "^1.0.3" is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -2134,26 +2046,16 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-yarn-global@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - isbinaryfile@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" @@ -2161,40 +2063,45 @@ isbinaryfile@^3.0.2: dependencies: buffer-alloc "^1.2.0" -isbinaryfile@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" - integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== +isbinaryfile@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" + integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -jake@^10.6.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" - integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== +jake@^10.8.5: + version "10.8.5" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" + integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== dependencies: - async "0.9.x" - chalk "^2.4.2" + async "^3.2.3" + chalk "^4.0.2" filelist "^1.0.1" minimatch "^3.0.4" -jest-worker@^27.4.1: - version "27.4.5" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.5.tgz#d696e3e46ae0f24cff3fa7195ffba22889262242" - integrity sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg== +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" merge-stream "^2.0.0" supports-color "^8.0.0" +js-sdsl@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" + integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== + js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -2205,12 +2112,12 @@ js-yaml@^4.1.0: json-buffer@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" @@ -2220,24 +2127,22 @@ json-schema-traverse@^0.4.1: json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stringify-safe@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" @@ -2283,9 +2188,9 @@ levn@^0.4.1: type-check "~0.4.0" loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== locate-path@^5.0.0: version "5.0.0" @@ -2294,33 +2199,33 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash.escaperegexp@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347" - integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= + integrity sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw== lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.17.10, lodash@^4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" @@ -2362,107 +2267,116 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.0, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: - braces "^3.0.1" - picomatch "^2.2.3" + braces "^3.0.2" + picomatch "^2.3.1" -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12, mime-types@^2.1.27: - version "2.1.34" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: - mime-db "1.51.0" + mime-db "1.52.0" mime@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" + integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minipass@^3.0.0: + version "3.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" + integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== + dependencies: + yallist "^4.0.0" -mkdirp@^0.5.4: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: - minimist "^1.2.5" + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -nanoid@^3.1.30: - version "3.1.30" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" - integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - node-addon-api@^1.6.3: version "1.7.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== normalize-url@^4.1.0: version "4.5.1" @@ -2477,21 +2391,7 @@ npm-conf@^1.1.3: config-chain "^1.1.11" pify "^3.0.0" -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -object-keys@^1.0.12: +object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -2499,17 +2399,10 @@ object-keys@^1.0.12: once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -2534,6 +2427,13 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -2541,6 +2441,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -2556,14 +2463,6 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -2571,14 +2470,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -2587,14 +2478,14 @@ path-exists@^4.0.0: path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: +path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -2607,22 +2498,22 @@ path-type@^4.0.0: pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pkg-dir@^4.2.0: version "4.2.0" @@ -2632,68 +2523,18 @@ pkg-dir@^4.2.0: find-up "^4.0.0" plist@^3.0.1, plist@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe" - integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg== + version "3.0.6" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" + integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== dependencies: base64-js "^1.5.1" - xmlbuilder "^9.0.7" + xmlbuilder "^15.1.1" png2icons@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/png2icons/-/png2icons-2.0.1.tgz#09d8f10b71302e98ca178d3324bc4deff9b90124" integrity sha512-GDEQJr8OG4e6JMp7mABtXFSEpgJa1CCpbQiAR+EjhkHJHnUL9zPPtbOrjsMD8gUbikgv3j7x404b0YJsV3aVFA== -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.8" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz#f023ed7a9ea736cd7ef70342996e8e78645a7914" - integrity sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.2.15: - version "8.4.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" - integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -2702,7 +2543,7 @@ prelude-ls@^1.2.1: prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== prettier-linter-helpers@^1.0.0: version "1.0.0" @@ -2711,25 +2552,12 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" - integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +prettier@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -progress@^2.0.0, progress@^2.0.3: +progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -2737,7 +2565,7 @@ progress@^2.0.0, progress@^2.0.3: proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== pump@^3.0.0: version "3.0.0" @@ -2771,7 +2599,7 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -rc@^1.2.8: +rc@1.2.8, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -2792,19 +2620,6 @@ read-config-file@6.2.0: json5 "^2.2.0" lazy-val "^1.0.4" -readable-stream@^2.2.2: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - 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" - rechoir@^0.7.0: version "0.7.1" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" @@ -2818,11 +2633,11 @@ regexpp@^3.2.0: integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + version "4.2.2" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" + integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== dependencies: - rc "^1.2.8" + rc "1.2.8" registry-url@^5.0.0: version "5.1.0" @@ -2831,26 +2646,10 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== resolve-cwd@^3.0.0: version "3.0.0" @@ -2870,17 +2669,18 @@ resolve-from@^5.0.0: integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve@^1.9.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== dependencies: lowercase-keys "^1.0.0" @@ -2922,10 +2722,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.0.tgz#9424fbefb42bec9a8fb53a53fc64b3e5ecf90587" - integrity sha512-fuCKAfFawVYX0pyFlETtYnXI+5iiY9Dftgk+VdgeOq+Qyi9ZDWckHZRDaXRt5WCNbbLkmAheoSGDiceyCIKNZA== +rxjs@^7.5.2, rxjs@^7.5.6: + version "7.5.6" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" + integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== dependencies: tslib "^2.1.0" @@ -2934,11 +2734,6 @@ safe-buffer@^5.1.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -2968,7 +2763,7 @@ schema-utils@^3.1.0, schema-utils@^3.1.1: semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== semver-diff@^3.1.1: version "3.1.1" @@ -2982,10 +2777,10 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: + version "7.3.7" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" @@ -3022,10 +2817,10 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== +signal-exit@^3.0.2: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== slash@^3.0.0: version "3.0.0" @@ -3046,11 +2841,6 @@ smart-buffer@^4.0.2: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -source-map-js@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" - integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== - source-map-support@^0.5.19, source-map-support@^0.5.21, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -3059,16 +2849,11 @@ source-map-support@^0.5.19, source-map-support@^0.5.21, source-map-support@~0.5. buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: +source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - sprintf-js@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" @@ -3088,13 +2873,6 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -3102,11 +2880,6 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -3115,12 +2888,7 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-loader@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" - integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== sumchecker@^3.0.1: version "3.0.1" @@ -3129,13 +2897,6 @@ sumchecker@^3.0.1: dependencies: debug "^4.1.0" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -3150,11 +2911,28 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar@^6.1.11: + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + temp-file@^3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7" @@ -3164,29 +2942,30 @@ temp-file@^3.4.0: fs-extra "^10.0.0" terser-webpack-plugin@^5.1.3: - version "5.3.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz#21641326486ecf91d8054161c816e464435bae9f" - integrity sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ== + version "5.3.6" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" + integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== dependencies: - jest-worker "^27.4.1" + "@jridgewell/trace-mapping" "^0.3.14" + jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" + terser "^5.14.1" -terser@^5.10.0, terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== +terser@^5.14.1: + version "5.15.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" + integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" commander "^2.20.0" - source-map "~0.7.2" source-map-support "~0.5.20" text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== tmp-promise@^3.0.2: version "3.0.3" @@ -3217,26 +2996,26 @@ to-regex-range@^5.0.1: truncate-utf8-bytes@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b" - integrity sha1-QFkjkJWS1W94pYGENLC3hInKXys= + integrity sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ== dependencies: utf8-byte-length "^1.0.1" -ts-loader@^9.2.6: - version "9.2.6" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.6.tgz#9937c4dd0a1e3dbbb5e433f8102a6601c6615d74" - integrity sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw== +ts-loader@^9.3.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.3.1.tgz#fe25cca56e3e71c1087fe48dc67f4df8c59b22d4" + integrity sha512-OkyShkcZTsTwyS3Kt7a4rsT/t2qvEVQuKCTg4LJmpj9fhFR7ukGdZwV6Qq3tRUkqcXtfGpPR7+hFKHCG/0d3Lw== dependencies: chalk "^4.1.0" enhanced-resolve "^5.0.0" micromatch "^4.0.0" semver "^7.3.4" -ts-node@^10.4.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" - integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== +ts-node@^10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: - "@cspotcode/source-map-support" "0.7.0" + "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" "@tsconfig/node12" "^1.0.7" "@tsconfig/node14" "^1.0.0" @@ -3247,6 +3026,7 @@ ts-node@^10.4.0: create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" yn "3.1.1" tslib@^1.8.1: @@ -3254,10 +3034,10 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.3, tslib@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== tsutils@^3.21.0: version "3.21.0" @@ -3288,6 +3068,13 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +typed-emitter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" + integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== + optionalDependencies: + rxjs "^7.5.2" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -3295,15 +3082,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" - integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== +typescript@^4.8.3: + version "4.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" + integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== unique-string@^2.0.0: version "2.0.0" @@ -3322,6 +3104,14 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== +update-browserslist-db@^1.0.5: + version "1.0.9" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" + integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + update-notifier@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" @@ -3352,34 +3142,24 @@ uri-js@^4.2.2: url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== dependencies: prepend-http "^2.0.0" utf8-byte-length@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= + integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== -util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= +uuid@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" + integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== verror@^1.10.0: version "1.10.1" @@ -3390,26 +3170,26 @@ verror@^1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" - integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@^4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" - integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== +webpack-cli@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.1.0" - "@webpack-cli/info" "^1.4.0" - "@webpack-cli/serve" "^1.6.0" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" colorette "^2.0.14" commander "^7.0.0" - execa "^5.0.0" + cross-spawn "^7.0.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" @@ -3429,40 +3209,40 @@ webpack-node-externals@^3.0.0: resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== -webpack-sources@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" - integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5, webpack@^5.65.0: - version "5.65.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== +webpack@^5, webpack@^5.74.0: + version "5.74.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== dependencies: - "@types/eslint-scope" "^3.7.0" - "@types/estree" "^0.0.50" + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" + acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.8.3" + enhanced-resolve "^5.10.0" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - json-parse-better-errors "^1.0.2" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" - webpack-sources "^3.2.2" + watchpack "^2.4.0" + webpack-sources "^3.2.3" which@^2.0.1: version "2.0.2" @@ -3500,7 +3280,7 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" @@ -3517,16 +3297,11 @@ xdg-basedir@^4.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== -xmlbuilder@>=11.0.1: +xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1: version "15.1.1" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== -xmlbuilder@^9.0.7: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" @@ -3538,14 +3313,14 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yargs-parser@^21.0.0: - version "21.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" - integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs@^17.0.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== dependencies: cliui "^7.0.2" escalade "^3.1.1" @@ -3558,7 +3333,7 @@ yargs@^17.0.1: yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" @@ -3567,3 +3342,8 @@ yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 505fb523dbb9ccdbb2e91f6ef3395e31110b0b4d Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 14 Sep 2022 18:16:35 -0400 Subject: [PATCH 370/385] bump user agent for google fi (#395) --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index f5166039..7e1a3e33 100644 --- a/src/background.ts +++ b/src/background.ts @@ -89,7 +89,7 @@ app.on("ready", () => { } // set user agent to potentially make google fi work const userAgent = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0"; + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0"; mainWindow.webContents.session.webRequest.onBeforeSendHeaders( { From 7d23e0c1e0578729f7779b65167dd77a77224fd8 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 14 Sep 2022 18:27:43 -0400 Subject: [PATCH 371/385] 392 tray icon disappears when i launch the app from exe or through link (#396) * disable writing of settings when quitting * only register on ready listener if we got the single instance lock --- src/background.ts | 285 ++++++++++++++++++++-------------------- src/helpers/settings.ts | 9 +- 2 files changed, 152 insertions(+), 142 deletions(-) diff --git a/src/background.ts b/src/background.ts index 7e1a3e33..69b1f85f 100644 --- a/src/background.ts +++ b/src/background.ts @@ -3,15 +3,9 @@ import { BrowserWindow } from "electron/main"; import path from "path"; import process from "process"; import { checkForUpdate } from "./helpers/autoUpdate"; -import { - IS_DEV, - IS_LINUX, - IS_MAC, - IS_WINDOWS, - RESOURCES_PATH, -} from "./helpers/constants"; +import { IS_DEV, IS_LINUX, IS_MAC, RESOURCES_PATH } from "./helpers/constants"; import { MenuManager } from "./helpers/menuManager"; -import { settings } from "./helpers/settings"; +import { setSettingsFlushEnabled, settings } from "./helpers/settings"; import { Conversation, TrayManager } from "./helpers/trayManager"; import { popupContextMenu } from "./menu/contextMenu"; @@ -27,16 +21,18 @@ const { let mainWindow: BrowserWindow; let trayManager: TrayManager; -app.on("second-instance", () => { - if (mainWindow) { - if (!mainWindow.isVisible()) { - mainWindow.show(); - } - } -}); +const gotTheLock = app.requestSingleInstanceLock(); -if (!app.requestSingleInstanceLock()) { +if (!gotTheLock) { app.quit(); +} else { + app.on("second-instance", () => { + if (mainWindow) { + if (!mainWindow.isVisible()) { + mainWindow.show(); + } + } + }); } if (IS_MAC) { @@ -48,141 +44,148 @@ if (IS_MAC) { }); } -app.on("ready", () => app.setAppUserModelId("pw.kmr.amd")); -app.on("ready", () => { - trayManager = new TrayManager(); - - new MenuManager(); - - if (checkForUpdateOnLaunchEnabled.value && !IS_DEV) { - checkForUpdate(true); - } - - const { width, height } = savedWindowSize.value; - const { x, y } = savedWindowPosition.value ?? {}; - - mainWindow = new BrowserWindow({ - width, - height, - x, - y, - autoHideMenuBar: autoHideMenuEnabled.value, - title: "Android Messages", - show: false, //don't show window just yet (issue #229) - icon: IS_LINUX - ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") - : undefined, - titleBarStyle: IS_MAC ? "hiddenInset" : "default", - webPreferences: { - nodeIntegration: true, - contextIsolation: false, - preload: IS_DEV - ? path.resolve(app.getAppPath(), "bridge.js") - : path.resolve(app.getAppPath(), "app", "bridge.js"), - }, - }); +app.on("before-quit", () => { + setSettingsFlushEnabled(false); +}); - process.env.MAIN_WINDOW_ID = mainWindow.id.toString(); +if (gotTheLock) { + app.on("ready", () => app.setAppUserModelId("pw.kmr.amd")); + app.on("ready", () => { + trayManager = new TrayManager(); - if (!(settings.trayEnabled.value && settings.startInTrayEnabled.value)) { - mainWindow.show(); - } - // set user agent to potentially make google fi work - const userAgent = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0"; - - mainWindow.webContents.session.webRequest.onBeforeSendHeaders( - { - urls: ["https://accounts.google.com/*"], - }, - ({ requestHeaders }, callback) => - callback({ - requestHeaders: { ...requestHeaders, "User-Agent": userAgent }, - }) - ); - - mainWindow.loadURL("https://messages.google.com/web/"); - - trayManager.startIfEnabled(); - settings.showIconsInRecentConversationTrayEnabled.subscribe(() => - trayManager.refreshTrayMenu() - ); - - let quitViaContext = false; - app.on("before-quit", () => { - quitViaContext = true; - }); + new MenuManager(); - const shouldExitOnMainWindowClosed = () => { - if (IS_MAC) { - return quitViaContext; - } else { - if (trayEnabled.value) { - return quitViaContext; - } - return true; - } - }; - - mainWindow.on("close", (event: ElectronEvent) => { - const { x, y, width, height } = mainWindow.getBounds(); - savedWindowPosition.next({ x, y }); - savedWindowSize.next({ width, height }); - if (!shouldExitOnMainWindowClosed()) { - event.preventDefault(); - mainWindow.hide(); - trayManager?.showMinimizeToTrayWarning(); - } else { - app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. + if (checkForUpdateOnLaunchEnabled.value && !IS_DEV) { + checkForUpdate(true); } - }); - - mainWindow.webContents.on("new-window", (e, url) => { - e.preventDefault(); - shell.openExternal(url); - }); - mainWindow.webContents.on("context-menu", popupContextMenu); - - // block Google collecting data - mainWindow.webContents.session.webRequest.onBeforeRequest( - { - urls: [ - "https://messages.google.com/web/jserror?*", - "https://play.google.com/log?*", - "https://www.google-analytics.com/analytics.js", - ], - }, - (details, callback) => { - callback({ cancel: true }); + const { width, height } = savedWindowSize.value; + const { x, y } = savedWindowPosition.value ?? {}; + + mainWindow = new BrowserWindow({ + width, + height, + x, + y, + autoHideMenuBar: autoHideMenuEnabled.value, + title: "Android Messages", + show: false, //don't show window just yet (issue #229) + icon: IS_LINUX + ? path.resolve(RESOURCES_PATH, "icons", "128x128.png") + : undefined, + titleBarStyle: IS_MAC ? "hiddenInset" : "default", + webPreferences: { + nodeIntegration: true, + contextIsolation: false, + preload: IS_DEV + ? path.resolve(app.getAppPath(), "bridge.js") + : path.resolve(app.getAppPath(), "app", "bridge.js"), + }, + }); + + process.env.MAIN_WINDOW_ID = mainWindow.id.toString(); + + if (!(settings.trayEnabled.value && settings.startInTrayEnabled.value)) { + mainWindow.show(); } - ); -}); //onready -ipcMain.on("should-hide-notification-content", (event) => { - event.returnValue = settings.hideNotificationContentEnabled.value; -}); + // set user agent to potentially make google fi work + const userAgent = + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0"; + + mainWindow.webContents.session.webRequest.onBeforeSendHeaders( + { + urls: ["https://accounts.google.com/*"], + }, + ({ requestHeaders }, callback) => + callback({ + requestHeaders: { ...requestHeaders, "User-Agent": userAgent }, + }) + ); + + mainWindow.loadURL("https://messages.google.com/web/"); + + trayManager.startIfEnabled(); + settings.showIconsInRecentConversationTrayEnabled.subscribe(() => + trayManager.refreshTrayMenu() + ); + + let quitViaContext = false; + app.on("before-quit", () => { + quitViaContext = true; + }); + + const shouldExitOnMainWindowClosed = () => { + if (IS_MAC) { + return quitViaContext; + } else { + if (trayEnabled.value) { + return quitViaContext; + } + return true; + } + }; + + mainWindow.on("close", (event: ElectronEvent) => { + const { x, y, width, height } = mainWindow.getBounds(); + savedWindowPosition.next({ x, y }); + savedWindowSize.next({ width, height }); + if (!shouldExitOnMainWindowClosed()) { + event.preventDefault(); + mainWindow.hide(); + trayManager?.showMinimizeToTrayWarning(); + } else { + app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. + } + }); + + mainWindow.webContents.on("new-window", (e, url) => { + e.preventDefault(); + shell.openExternal(url); + }); + + mainWindow.webContents.on("context-menu", popupContextMenu); + + // block Google collecting data + mainWindow.webContents.session.webRequest.onBeforeRequest( + { + urls: [ + "https://messages.google.com/web/jserror?*", + "https://play.google.com/log?*", + "https://www.google-analytics.com/analytics.js", + ], + }, + (details, callback) => { + callback({ cancel: true }); + } + ); + }); //onready -ipcMain.on("show-main-window", () => { - mainWindow.show(); - if (IS_MAC) { - app.dock.setBadge(""); - } -}); + ipcMain.on("should-hide-notification-content", (event) => { + event.returnValue = settings.hideNotificationContentEnabled.value; + }); -ipcMain.on("flash-main-window-if-not-focused", () => { - if (!mainWindow.isFocused() && taskbarFlashEnabled.value) { - mainWindow.flashFrame(true); + ipcMain.on("show-main-window", () => { + mainWindow.show(); if (IS_MAC) { - app.dock.setBadge("•"); + app.dock.setBadge(""); } - } -}); + }); -ipcMain.on("set-unread-status", (_event, unreadStatus: boolean) => { - trayManager.setUnread(unreadStatus); -}); + ipcMain.on("flash-main-window-if-not-focused", () => { + if (!mainWindow.isFocused() && taskbarFlashEnabled.value) { + mainWindow.flashFrame(true); + if (IS_MAC) { + app.dock.setBadge("•"); + } + } + }); -ipcMain.on("set-recent-conversations", (_event, data: Conversation[]) => { - trayManager.setRecentConversations(data); -}); + ipcMain.on("set-unread-status", (_event, unreadStatus: boolean) => { + trayManager.setUnread(unreadStatus); + }); + + ipcMain.on("set-recent-conversations", (_event, data: Conversation[]) => { + trayManager.setRecentConversations(data); + }); +} diff --git a/src/helpers/settings.ts b/src/helpers/settings.ts index 30ce749e..806ba10d 100644 --- a/src/helpers/settings.ts +++ b/src/helpers/settings.ts @@ -102,6 +102,11 @@ for (const name in defaultSettings) { // We know this is safe because we are enumerating all of the settings in default settings // furthermore the `Settings` type is derived from the default settings type export const settings: Settings = settingsToExport as Settings; +let settingsFlushEnabled = true; + +export const setSettingsFlushEnabled = (val: boolean) => { + settingsFlushEnabled = val; +}; // loop through and add all the event listeners // has to be done in this step because settings needs to exist @@ -116,6 +121,8 @@ for (const name in settings) { seriazableSettings[name] = setting.value; }); // write all the settings to the file from memory to avoid weird read write race conditions - jetpack.write(SETTINGS_FILE(), seriazableSettings); + if (settingsFlushEnabled) { + jetpack.write(SETTINGS_FILE(), seriazableSettings); + } }); } From 0149acd4374bb0aca97653e3907b3f3149bf884f Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Wed, 14 Sep 2022 18:39:54 -0400 Subject: [PATCH 372/385] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b33cf149..5eb86cd0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.3.4", + "version": "5.4.0", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 68cb5e661e653e2062fbca663fd13cae653229cb Mon Sep 17 00:00:00 2001 From: stefano coronado <9601750+scoronado12@users.noreply.github.com> Date: Tue, 27 Dec 2022 12:07:29 -0500 Subject: [PATCH 373/385] Bump User Agent String to Firefox 108 (#414) * Bump User Agent String to Firefox 108 * Fix User Agent String to look more authentic --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 69b1f85f..07733ea9 100644 --- a/src/background.ts +++ b/src/background.ts @@ -91,7 +91,7 @@ if (gotTheLock) { // set user agent to potentially make google fi work const userAgent = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:104.0) Gecko/20100101 Firefox/104.0"; + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0"; mainWindow.webContents.session.webRequest.onBeforeSendHeaders( { From e1144624277e3b934c1e01ac8c2690d5d7c954d2 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 27 Dec 2022 12:08:53 -0500 Subject: [PATCH 374/385] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5eb86cd0..87d38680 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.4.0", + "version": "5.4.1", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 3383ac44ceb0c9f4b1c3a8bec699b238600bd159 Mon Sep 17 00:00:00 2001 From: stefano coronado <9601750+scoronado12@users.noreply.github.com> Date: Tue, 7 Nov 2023 14:16:20 -0500 Subject: [PATCH 375/385] Update User Agent for Firefox 117 (#427) --- src/background.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/background.ts b/src/background.ts index 07733ea9..b116ca6d 100644 --- a/src/background.ts +++ b/src/background.ts @@ -91,7 +91,7 @@ if (gotTheLock) { // set user agent to potentially make google fi work const userAgent = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0"; + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0"; mainWindow.webContents.session.webRequest.onBeforeSendHeaders( { From 76ec51a877ef2b91ef4e2177bbdf787c05aab067 Mon Sep 17 00:00:00 2001 From: Viktor Shchelochkov Date: Tue, 7 Nov 2023 23:17:30 +0400 Subject: [PATCH 376/385] See #423 (#424) Co-authored-by: hloth --- src/background.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/background.ts b/src/background.ts index b116ca6d..7b14ed17 100644 --- a/src/background.ts +++ b/src/background.ts @@ -134,6 +134,9 @@ if (gotTheLock) { event.preventDefault(); mainWindow.hide(); trayManager?.showMinimizeToTrayWarning(); + if (process.platform === 'darwin') { + app.dock.hide() + } } else { app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. } From 01bdb53fa652570948f77337c944067750148892 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 7 Nov 2023 14:24:57 -0500 Subject: [PATCH 377/385] Emoji (#429) * fixup * force exports to null to somehow make emoji load --- src/background.ts | 4 ++-- src/bridge.ts | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/background.ts b/src/background.ts index 7b14ed17..b17ecb23 100644 --- a/src/background.ts +++ b/src/background.ts @@ -134,8 +134,8 @@ if (gotTheLock) { event.preventDefault(); mainWindow.hide(); trayManager?.showMinimizeToTrayWarning(); - if (process.platform === 'darwin') { - app.dock.hide() + if (process.platform === "darwin") { + app.dock.hide(); } } else { app.quit(); // If we don't explicitly call this, the webview and mainWindow get destroyed but background process still runs. diff --git a/src/bridge.ts b/src/bridge.ts index aa7fbfce..4b03dc10 100644 --- a/src/bridge.ts +++ b/src/bridge.ts @@ -110,6 +110,8 @@ window.Notification = function (title: string, options: NotificationOptions) { window.Notification.permission = "granted"; window.Notification.requestPermission = async () => "granted"; +window.module.exports = null; + ipcRenderer.on("focus-conversation", (event, i) => { focusFunctions[i](); }); From 16eb5ce508663a5aa0fbc257fbe5497ca6dfa909 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 7 Nov 2023 14:25:49 -0500 Subject: [PATCH 378/385] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 87d38680..dcf3b2b7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.4.1", + "version": "5.4.2", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From ade92b50c0abfbc07837544100d81f36d3f8894e Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 2 Jan 2024 14:04:54 -0500 Subject: [PATCH 379/385] add wayland arguments (#438) --- electron-builder.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/electron-builder.js b/electron-builder.js index d0bbd8d4..77140188 100644 --- a/electron-builder.js +++ b/electron-builder.js @@ -11,9 +11,13 @@ module.exports = { linux: { target: ["AppImage", "snap", "deb", "pacman", "rpm", "freebsd", "zip"], executableName: "AndroidMessages", + executableArgs: [ + "--ozone-platform-hint=auto", + "--enable-features=WaylandWindowDecorations", + ], category: "Internet", desktop: { - StartupWMClass: "android-messages-desktop", + Name: "Android Messages Desktop", }, }, win: { From f4ab33ddde77b901494c5c528fb6b44022b0c7ec Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Tue, 2 Jan 2024 14:05:59 -0500 Subject: [PATCH 380/385] bump version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dcf3b2b7..5c6ab7d0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.4.2", + "version": "5.4.3", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" From 528f80cbaf1e1c6c58d926504f96e283210fa7a8 Mon Sep 17 00:00:00 2001 From: drislands Date: Sat, 8 Jun 2024 11:11:35 -0400 Subject: [PATCH 381/385] User-Agent Fix for OrangeDrangon/android-messages-desktop#441 (#450) Modified how the user agent is set when sending headers. There were two issues that I was able to identify. First, the Google sign-in page sends requests to the youtube.com domain sometimes, so the existing replacement effect was not always firing. Adding a url entry for this domain fixes this problem. Second, Google sometimes doesn't like the hard-coded user agent this project was previously providing. I have no idea why -- this Electron/user agent/Google problem has been ongoing for years. I've solved this problem this time by instead taking the user agent Electron would have passed by itself and stripping out only the Electron-specific component. I don't know how long this fix will last, since Google seems intent on being opaque about how they determine if a browser is secure or not. Fingers crossed. Co-authored-by: Doc Islands --- src/background.ts | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/background.ts b/src/background.ts index b17ecb23..fb54a98a 100644 --- a/src/background.ts +++ b/src/background.ts @@ -89,21 +89,27 @@ if (gotTheLock) { mainWindow.show(); } - // set user agent to potentially make google fi work - const userAgent = - "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/117.0"; - + // Fix the user agent -- Google sends auth requests to YouTube as well, for some reason mainWindow.webContents.session.webRequest.onBeforeSendHeaders( { - urls: ["https://accounts.google.com/*"], + urls: ["https://*.google.com/*", "https://*.youtube.com/*"], }, ({ requestHeaders }, callback) => callback({ - requestHeaders: { ...requestHeaders, "User-Agent": userAgent }, + requestHeaders: { + ...requestHeaders, + // Specifically, we are ONLY removing the Electron portion of the agent + // Found via https://old.reddit.com/r/electronjs/comments/eiy2sf/google_blocking_log_in_from_electron_apps/fcvuwd9/ + // Referenced at this link https://github.com/firebase/firebase-js-sdk/issues/2478#issuecomment-571773318 + "User-Agent": mainWindow.webContents.userAgent.replace( + "Electron/" + process.versions.electron, + "" + ), + }, }) ); - mainWindow.loadURL("https://messages.google.com/web/"); + mainWindow.webContents.loadURL("https://messages.google.com/web/"); trayManager.startIfEnabled(); settings.showIconsInRecentConversationTrayEnabled.subscribe(() => From fb0b61ccb9fea051bf2c2a0f6c156058dedbc162 Mon Sep 17 00:00:00 2001 From: Kyle Rosenberg Date: Sat, 8 Jun 2024 12:02:29 -0400 Subject: [PATCH 382/385] Basic fixups for release (#451) * update node version * fix name fetching for tray * use non deprecated way of opening link * update actions * update dependencies * upload actions --- .github/workflows/master.yml | 10 +- .github/workflows/pull-request.yml | 10 +- package.json | 30 +- src/background.ts | 9 +- src/helpers/observers.ts | 2 +- yarn.lock | 2379 +++++++++++++--------------- 6 files changed, 1158 insertions(+), 1282 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 7e5b4ba3..391ff703 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -17,17 +17,17 @@ jobs: - windows-latest - ubuntu-latest node-version: - - 17 + - 20 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Cache node_modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ./node_modules key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} @@ -45,7 +45,7 @@ jobs: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} - name: Upload Build - uses: actions/upload-artifact@v2.2.2 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }}-${{ matrix.node-version }} path: ./dist diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 693e0262..54a7cc5f 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -17,17 +17,17 @@ jobs: - windows-latest - ubuntu-latest node-version: - - 17 + - 20 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Cache node_modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ./node_modules key: ${{ matrix.os }}-${{ matrix.node-version }}-${{ env.cache-name }}-${{ hashFiles('**/yarn.lock') }} @@ -43,7 +43,7 @@ jobs: - run: yarn dist --publish never - name: Upload Build - uses: actions/upload-artifact@v2.2.2 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }}-${{ matrix.node-version }} path: ./dist diff --git a/package.json b/package.json index 5c6ab7d0..579801e1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.4.3", + "version": "5.4.4", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" @@ -28,32 +28,32 @@ }, "dependencies": { "about-window": "1.15.2", - "electron-updater": "5.2.1", - "fs-jetpack": "^4.3.1", + "electron-updater": "6.2.1", + "fs-jetpack": "^5.1.0", "rxjs": "^7.5.6", "uuid": "^9.0.0" }, "devDependencies": { - "@types/node": "18.7.18", - "@types/uuid": "^8.3.4", + "@types/node": "20.14.2", + "@types/uuid": "^9.0.8", "@types/webpack": "^5.28.0", - "@types/webpack-node-externals": "^2.5.3", - "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", + "@types/webpack-node-externals": "^3.0.4", + "@typescript-eslint/eslint-plugin": "^7.12.0", + "@typescript-eslint/parser": "^7.12.0", "cross-env": "^7.0.2", "electron": "20.1.4", - "electron-builder": "^23.3.3", - "eslint": "^8.23.1", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.2.1", + "electron-builder": "^24.13.3", + "eslint": "^9.4.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", "png2icons": "^2.0.1", - "prettier": "^2.7.1", + "prettier": "^3.3.1", "source-map-support": "^0.5.21", "ts-loader": "^9.3.1", "ts-node": "^10.9.1", - "typescript": "^4.8.3", + "typescript": "^5.4.5", "webpack": "^5.74.0", - "webpack-cli": "^4.10.0", + "webpack-cli": "^5.1.4", "webpack-merge": "^5.8.0", "webpack-node-externals": "^3.0.0" } diff --git a/src/background.ts b/src/background.ts index fb54a98a..4f9e57c2 100644 --- a/src/background.ts +++ b/src/background.ts @@ -109,7 +109,7 @@ if (gotTheLock) { }) ); - mainWindow.webContents.loadURL("https://messages.google.com/web/"); + mainWindow.loadURL("https://messages.google.com/web/"); trayManager.startIfEnabled(); settings.showIconsInRecentConversationTrayEnabled.subscribe(() => @@ -148,11 +148,12 @@ if (gotTheLock) { } }); - mainWindow.webContents.on("new-window", (e, url) => { - e.preventDefault(); - shell.openExternal(url); + mainWindow.webContents.setWindowOpenHandler((details) => { + shell.openExternal(details.url) + return {action: "deny"} }); + mainWindow.webContents.on("context-menu", popupContextMenu); // block Google collecting data diff --git a/src/helpers/observers.ts b/src/helpers/observers.ts index a9adc0e0..2201ed66 100644 --- a/src/helpers/observers.ts +++ b/src/helpers/observers.ts @@ -34,7 +34,7 @@ export function recentThreadObserver() { const data: Conversation[] = conversations.map((conversation, i) => { const name = conversation.querySelector( - "a div.text-content h3.name span" + "a div.text-content h2.name span" )?.textContent; const canvas = conversation.querySelector( "a div.avatar-container canvas" diff --git a/yarn.lock b/yarn.lock index 159ead07..4f026190 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"7zip-bin@~5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876" - integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ== +"7zip-bin@~5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.2.0.tgz#7a03314684dd6572b7dfa89e68ce31d60286854d" + integrity sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A== "@cspotcode/source-map-support@^0.8.0": version "0.8.1" @@ -27,6 +27,15 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@electron/asar@^3.2.1": + version "3.2.10" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.10.tgz#615cf346b734b23cafa4e0603551010bd0e50aa8" + integrity sha512-mvBSwIBUeiRscrCeJE1LwctAriBj65eUDm0Pc11iE5gRwzkmsdbS7FnZ1XUWjpSeQWL1L5g12Fc/SchPM9DUOw== + dependencies: + commander "^5.0.0" + glob "^7.1.6" + minimatch "^3.0.4" + "@electron/get@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz#16ba75f02dffb74c23965e72d617adc721d27f40" @@ -43,89 +52,139 @@ global-agent "^3.0.0" global-tunnel-ng "^2.7.1" -"@electron/universal@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.2.1.tgz#3c2c4ff37063a4e9ab1e6ff57db0bc619bc82339" - integrity sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ== +"@electron/notarize@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.2.1.tgz#d0aa6bc43cba830c41bfd840b85dbe0e273f59fe" + integrity sha512-aL+bFMIkpR0cmmj5Zgy0LMKEpgy43/hw5zadEArgmAMWWlKc5buwFvFT9G/o/YJkvXAJm5q3iuTuLaiaXW39sg== dependencies: + debug "^4.1.1" + fs-extra "^9.0.1" + promise-retry "^2.0.1" + +"@electron/osx-sign@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@electron/osx-sign/-/osx-sign-1.0.5.tgz#0af7149f2fce44d1a8215660fd25a9fb610454d8" + integrity sha512-k9ZzUQtamSoweGQDV2jILiRIHUu7lYlJ3c6IEmjv1hC17rclE+eb9U+f6UFlOOETo0JzY1HNlXy4YOlCvl+Lww== + dependencies: + compare-version "^0.1.2" + debug "^4.3.4" + fs-extra "^10.0.0" + isbinaryfile "^4.0.8" + minimist "^1.2.6" + plist "^3.0.5" + +"@electron/universal@1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@electron/universal/-/universal-1.5.1.tgz#f338bc5bcefef88573cf0ab1d5920fac10d06ee5" + integrity sha512-kbgXxyEauPJiQQUNG2VgUeyfQNFk6hBF11ISN2PNI6agUgPl55pv4eQmaqHzTAzchBvqZ2tQuRVaPStGf0mxGw== + dependencies: + "@electron/asar" "^3.2.1" "@malept/cross-spawn-promise" "^1.1.0" - asar "^3.1.0" debug "^4.3.1" - dir-compare "^2.4.0" + dir-compare "^3.0.0" fs-extra "^9.0.1" minimatch "^3.0.4" plist "^3.0.4" -"@eslint/eslintrc@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" - integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": + version "4.10.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.1.tgz#361461e5cb3845d874e61731c11cfedd664d83a0" + integrity sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA== + +"@eslint/config-array@^0.15.1": + version "0.15.1" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.15.1.tgz#1fa78b422d98f4e7979f2211a1fde137e26c7d61" + integrity sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ== + dependencies: + "@eslint/object-schema" "^2.1.3" + debug "^4.3.1" + minimatch "^3.0.5" + +"@eslint/eslintrc@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" + integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" + espree "^10.0.1" + globals "^14.0.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" +"@eslint/js@9.4.0": + version "9.4.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.4.0.tgz#96a2edd37ec0551ce5f9540705be23951c008a0c" + integrity sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg== -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== +"@eslint/object-schema@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.3.tgz#e65ae80ee2927b4fd8c5c26b15ecacc2b2a6cc2a" + integrity sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw== "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" +"@humanwhocodes/retry@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" + integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -135,13 +194,13 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== +"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" "@malept/cross-spawn-promise@^1.1.0": version "1.1.1" @@ -173,7 +232,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -181,6 +240,16 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@pkgr/core@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" + integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -199,9 +268,9 @@ integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== "@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== "@tsconfig/node12@^1.0.7": version "1.0.11" @@ -214,360 +283,330 @@ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/debug@^4.1.6": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" - integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" "@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.4.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" - integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== + version "8.56.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d" + integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/fs-extra@^9.0.11": +"@types/fs-extra@9.0.13", "@types/fs-extra@^9.0.11": version "9.0.13" resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== dependencies: "@types/node" "*" -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== +"@types/json-schema@*", "@types/json-schema@^7.0.8": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== -"@types/node@*", "@types/node@18.7.18": - version "18.7.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" - integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== +"@types/node@*", "@types/node@20.14.2": + version "20.14.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.2.tgz#a5f4d2bcb4b6a87bffcaa717718c5a0f208f4a18" + integrity sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q== + dependencies: + undici-types "~5.26.4" "@types/node@^16.11.26": - version "16.11.59" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.59.tgz#823f238b9063ccc3b3b7f13186f143a57926c4f6" - integrity sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw== + version "16.18.98" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.98.tgz#3554bb7911ea2bbc3a528be0776d6ab16b7674d2" + integrity sha512-fpiC20NvLpTLAzo3oVBKIqBGR6Fx/8oAK/SSf7G+fydnXMY1x4x9RZ6sBXhqKlCU21g2QapUsbLlhv3+a7wS+Q== "@types/plist@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01" - integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.5.tgz#9a0c49c0f9886c8c8696a7904dd703f6284036e0" + integrity sha512-E6OCaRmAe4WDmWNsL/9RMqdkkzDCY1etutkflWk4c+AcjDU07Pcz1fQwTX0TQz+Pxqn9i4L1TU3UFpjnrcDgxA== dependencies: "@types/node" "*" xmlbuilder ">=11.0.1" -"@types/semver@^7.3.6": - version "7.3.12" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.12.tgz#920447fdd78d76b19de0438b7f60df3c4a80bf1c" - integrity sha512-WwA1MW0++RfXmCr12xeYOOC5baSC9mSb0ZqCquFzKhcoF4TvHu5MKOuXsncgZcpVFhB1pXd5hZmM0ryAoCp12A== - -"@types/uuid@^8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== +"@types/uuid@^9.0.8": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== "@types/verror@^1.10.3": - version "1.10.6" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.6.tgz#3e600c62d210c5826460858f84bcbb65805460bb" - integrity sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ== + version "1.10.10" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.10.tgz#d5a4b56abac169bfbc8b23d291363a682e6fa087" + integrity sha512-l4MM0Jppn18hb9xmM6wwD1uTdShpf9Pn80aXTStnK1C94gtPvJcV2FrDmbOQUAQfJ1cKZHktkQUDwEqaAKXMMg== -"@types/webpack-node-externals@^2.5.3": - version "2.5.3" - resolved "https://registry.yarnpkg.com/@types/webpack-node-externals/-/webpack-node-externals-2.5.3.tgz#921783aadda1fe686db0a70e20e4b9548b5a3cef" - integrity sha512-A9JxaR8QXoYT95egET4AmCFuChyTlP8d18ZAnmSHuIMsFdS7QlCQQ8pmN/+FHgLIkm+ViE/VngltT5avLACY9A== +"@types/webpack-node-externals@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/webpack-node-externals/-/webpack-node-externals-3.0.4.tgz#00581677aedea57cbe180afc2987b12fa95cf351" + integrity sha512-8Z3/edqxE3RRlOJwKSgOFxLZRt/i1qFlv/Bi308ZUKo9jh8oGngd9r8GR0ZNKW5AEJq8QNQE3b17CwghTjQ0Uw== dependencies: "@types/node" "*" webpack "^5" "@types/webpack@^5.28.0": - version "5.28.0" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.0.tgz#78dde06212f038d77e54116cfe69e88ae9ed2c03" - integrity sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w== + version "5.28.5" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.5.tgz#0e9d9a15efa09bbda2cef41356ca4ac2031ea9a2" + integrity sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw== dependencies: "@types/node" "*" tapable "^2.2.0" webpack "^5" -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^17.0.1": - version "17.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.12.tgz#0745ff3e4872b4ace98616d4b7e37ccbd75f9526" - integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== - dependencies: - "@types/yargs-parser" "*" - "@types/yauzl@^2.9.1": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" - integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz#5ccdd5d9004120f28fc6e717fb4b5c9bddcfbc04" - integrity sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og== +"@typescript-eslint/eslint-plugin@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz#f87a32e8972b8a60024f2f8f12205e7c8108bc41" + integrity sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.12.0" + "@typescript-eslint/type-utils" "7.12.0" + "@typescript-eslint/utils" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.12.0.tgz#8761df3345528b35049353db80010b385719b1c3" + integrity sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ== dependencies: - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/type-utils" "5.37.0" - "@typescript-eslint/utils" "5.37.0" - debug "^4.3.4" - functional-red-black-tree "^1.0.1" - ignore "^5.2.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.37.0.tgz#c382077973f3a4ede7453fb14cadcad3970cbf3b" - integrity sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw== - dependencies: - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/typescript-estree" "5.37.0" + "@typescript-eslint/scope-manager" "7.12.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/typescript-estree" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz#044980e4f1516a774a418dafe701a483a6c9f9ca" - integrity sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q== +"@typescript-eslint/scope-manager@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz#259c014362de72dd34f995efe6bd8dda486adf58" + integrity sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg== dependencies: - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/visitor-keys" "5.37.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" -"@typescript-eslint/type-utils@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz#43ed2f567ada49d7e33a6e4b6f9babd060445fe5" - integrity sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ== +"@typescript-eslint/type-utils@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz#9dfaaa1972952f395ec5be4f5bbfc4d3cdc63908" + integrity sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA== dependencies: - "@typescript-eslint/typescript-estree" "5.37.0" - "@typescript-eslint/utils" "5.37.0" + "@typescript-eslint/typescript-estree" "7.12.0" + "@typescript-eslint/utils" "7.12.0" debug "^4.3.4" - tsutils "^3.21.0" + ts-api-utils "^1.3.0" -"@typescript-eslint/types@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.37.0.tgz#09e4870a5f3af7af3f84e08d792644a87d232261" - integrity sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA== +"@typescript-eslint/types@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.12.0.tgz#bf208f971a8da1e7524a5d9ae2b5f15192a37981" + integrity sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg== -"@typescript-eslint/typescript-estree@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz#956dcf5c98363bcb97bdd5463a0a86072ff79355" - integrity sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA== +"@typescript-eslint/typescript-estree@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz#e6c1074f248b3db6573ab6a7c47a39c4cd498ff9" + integrity sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ== dependencies: - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/visitor-keys" "5.37.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/visitor-keys" "7.12.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.37.0.tgz#7784cb8e91390c4f90ccaffd24a0cf9874df81b2" - integrity sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/typescript-estree" "5.37.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/visitor-keys@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz#7b72dd343295ea11e89b624995abc7103c554eee" - integrity sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA== - dependencies: - "@typescript-eslint/types" "5.37.0" - eslint-visitor-keys "^3.3.0" - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.12.0.tgz#c6e58fd7f724cdccc848f71e388ad80cbdb95dd0" + integrity sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "7.12.0" + "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/typescript-estree" "7.12.0" + +"@typescript-eslint/visitor-keys@7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz#c053b55a996679528beeedd8e565710ce1ae1ad3" + integrity sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ== + dependencies: + "@typescript-eslint/types" "7.12.0" + eslint-visitor-keys "^3.4.3" + +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== + dependencies: + "@webassemblyjs/ast" "1.12.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" - integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== -"@webpack-cli/info@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" - integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== - dependencies: - envinfo "^7.7.3" +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== -"@webpack-cli/serve@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" - integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== +"@xmldom/xmldom@^0.8.8": + version "0.8.10" + resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" + integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -584,10 +623,10 @@ about-window@1.15.2: resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.15.2.tgz#0397216ce0cb6e8a4fa9ba12941e56d481d712b5" integrity sha512-31mDAnLUfKm4uShfMzeEoS6a3nEto2tUt4zZn7qyAKedaTV4p0dGiW1n+YG8vtRh78mZiewghWJmoxDY+lHyYg== -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== acorn-jsx@^5.3.2: version "5.3.2" @@ -595,14 +634,14 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + version "8.3.2" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== -acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== agent-base@6: version "6.0.2" @@ -626,18 +665,16 @@ ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -645,41 +682,47 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + app-builder-bin@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-4.0.0.tgz#1df8e654bd1395e4a319d82545c98667d7eed2f0" integrity sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA== -app-builder-lib@23.3.3: - version "23.3.3" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-23.3.3.tgz#78b9dbb0bd8a69842461edd77a3226d0547c5939" - integrity sha512-m0+M53+HYMzqKxwNQZT143K7WwXEGUy9LY31l8dJphXx2P/FQod615mVbxHyqbDCG4J5bHdWm21qZ0e2DVY6CQ== +app-builder-lib@24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-24.13.3.tgz#36e47b65fecb8780bb73bff0fee4e0480c28274b" + integrity sha512-FAzX6IBit2POXYGnTCT8YHFO/lr5AapAII6zzhQO3Rw4cEDOgK+t1xhLc5tNcKlicTHlo9zxIwnYCX9X2DLkig== dependencies: - "7zip-bin" "~5.1.1" "@develar/schema-utils" "~2.6.5" - "@electron/universal" "1.2.1" + "@electron/notarize" "2.2.1" + "@electron/osx-sign" "1.0.5" + "@electron/universal" "1.5.1" "@malept/flatpak-bundler" "^0.4.0" + "@types/fs-extra" "9.0.13" async-exit-hook "^2.0.1" bluebird-lst "^1.0.9" - builder-util "23.3.3" - builder-util-runtime "9.0.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" chromium-pickle-js "^0.2.0" debug "^4.3.4" - ejs "^3.1.7" - electron-osx-sign "^0.6.0" - electron-publish "23.3.3" + ejs "^3.1.8" + electron-publish "24.13.1" form-data "^4.0.0" fs-extra "^10.1.0" hosted-git-info "^4.1.0" is-ci "^3.0.0" - isbinaryfile "^4.0.10" + isbinaryfile "^5.0.0" js-yaml "^4.1.0" lazy-val "^1.0.5" - minimatch "^3.1.2" - read-config-file "6.2.0" + minimatch "^5.1.1" + read-config-file "6.3.2" sanitize-filename "^1.6.3" - semver "^7.3.7" - tar "^6.1.11" + semver "^7.3.8" + tar "^6.1.12" temp-file "^3.4.0" arg@^4.1.0: @@ -697,18 +740,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -asar@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/asar/-/asar-3.2.0.tgz#e6edb5edd6f627ebef04db62f771c61bea9c1221" - integrity sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg== - dependencies: - chromium-pickle-js "^0.2.0" - commander "^5.0.0" - glob "^7.1.6" - minimatch "^3.0.4" - optionalDependencies: - "@types/glob" "^7.1.1" - assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" @@ -725,9 +756,9 @@ async-exit-hook@^2.0.1: integrity sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== asynckit@^0.4.0: version "0.4.0" @@ -756,7 +787,7 @@ bluebird-lst@^1.0.9: dependencies: bluebird "^3.5.5" -bluebird@^3.5.0, bluebird@^3.5.5: +bluebird@^3.5.5: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== @@ -766,20 +797,6 @@ boolean@^3.0.1: resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== -boxen@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -795,50 +812,32 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.14.5: - version "4.21.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" - integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== +braces@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - caniuse-lite "^1.0.30001370" - electron-to-chromium "^1.4.202" - node-releases "^2.0.6" - update-browserslist-db "^1.0.5" - -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + fill-range "^7.1.1" -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== +browserslist@^4.21.10: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== -buffer-equal@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ== - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== +buffer-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.1.tgz#2f7651be5b1b3f057fcd6e7ee16cf34767077d90" + integrity sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg== buffer-from@^1.0.0: version "1.1.2" @@ -853,31 +852,30 @@ buffer@^5.1.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.0.3.tgz#6c62c493ba2b73c2af92432db4013b5a327f02b2" - integrity sha512-SfG2wnyjpUbbdtpnqDpWwklujofC6GarGpvdWrEkg9p5AD/xJmTF2buTNaqs3qtsNBEVQDDjZz9xc2GGpVyMfA== +builder-util-runtime@9.2.4: + version "9.2.4" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.4.tgz#13cd1763da621e53458739a1e63f7fcba673c42a" + integrity sha512-upp+biKpN/XZMLim7aguUyW8s0FUpDvOtK6sbanMFDAMBzpHDqdhgVYm6zc9HJ6nWo7u2Lxk60i2M6Jd3aiNrA== dependencies: debug "^4.3.4" sax "^1.2.4" -builder-util@23.3.3: - version "23.3.3" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-23.3.3.tgz#449ee57ec1ffc7e59f7a3a8a1a33d25cf5e39e43" - integrity sha512-MJZlUiq2PY5hjYv9+XNaoYdsITqvLgRDoHSFg/4nzpInbNxNjLQOolL04Zsyp+hgfcbFvMC4h0KkR1CMPHLWbA== +builder-util@24.13.1: + version "24.13.1" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-24.13.1.tgz#4a4c4f9466b016b85c6990a0ea15aa14edec6816" + integrity sha512-NhbCSIntruNDTOVI9fdXz0dihaqX2YuE1D6zZMrwiErzH4ELZHE6mdiB40wEgZNprDia+FghRFgKoAqMZRRjSA== dependencies: - "7zip-bin" "~5.1.1" + "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" - "@types/fs-extra" "^9.0.11" app-builder-bin "4.0.0" bluebird-lst "^1.0.9" - builder-util-runtime "9.0.3" - chalk "^4.1.1" + builder-util-runtime "9.2.4" + chalk "^4.1.2" cross-spawn "^7.0.3" debug "^4.3.4" - fs-extra "^10.0.0" + fs-extra "^10.1.0" http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.1" is-ci "^3.0.0" js-yaml "^4.1.0" source-map-support "^0.5.19" @@ -902,17 +900,12 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001370: - version "1.0.30001399" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001399.tgz#1bf994ca375d7f33f8d01ce03b7d5139e8587873" - integrity sha512-4vQ90tMKS+FkvuVWS5/QY1+d805ODxZiKFzsU8o/RsVJz49ZSRR8EjykLJbqhzdPgadbX6wB538wOzle3JniRA== +caniuse-lite@^1.0.30001587: + version "1.0.30001629" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001629.tgz#907a36f4669031bd8a1a8dbc2fa08b29e0db297e" + integrity sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw== -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -926,29 +919,19 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== chromium-pickle-js@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205" integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - ci-info@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" - integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== - -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cli-truncate@^2.1.0: version "2.1.0" @@ -958,13 +941,13 @@ cli-truncate@^2.1.0: slice-ansi "^3.0.0" string-width "^4.2.0" -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" wrap-ansi "^7.0.0" clone-deep@^4.0.1: @@ -996,14 +979,9 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.14: - version "2.0.19" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw== + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.8: version "1.0.8" @@ -1012,12 +990,10 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - integrity sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A== - dependencies: - graceful-readlink ">= 1.0.0" +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== commander@^2.20.0: version "2.20.3" @@ -1029,11 +1005,6 @@ commander@^5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^7.0.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - compare-version@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080" @@ -1052,17 +1023,13 @@ config-chain@^1.1.11: ini "^1.3.4" proto-list "~1.2.1" -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== +config-file-ts@^0.2.4: + version "0.2.6" + resolved "https://registry.yarnpkg.com/config-file-ts/-/config-file-ts-0.2.6.tgz#b424ff74612fb37f626d6528f08f92ddf5d22027" + integrity sha512-6boGVaglwblBgJqGyxm4+xCmEGcWgnWHSWHY5jad58awQhB6gftq0G8HbzU39YqCIYHMLAiL1yjwiZ36m/CL8w== dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" + glob "^10.3.10" + typescript "^5.3.3" core-util-is@1.0.2: version "1.0.2" @@ -1088,7 +1055,7 @@ cross-env@^7.0.2: dependencies: cross-spawn "^7.0.1" -cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1097,25 +1064,13 @@ cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + version "4.3.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" + integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== dependencies: ms "2.1.2" -debug@^2.6.8: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - decompress-response@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" @@ -1123,11 +1078,6 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -1138,11 +1088,21 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -define-properties@^1.1.3: +define-data-property@^1.0.1: version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: + define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" @@ -1161,15 +1121,13 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -dir-compare@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz#785c41dc5f645b34343a4eafc50b79bac7f11631" - integrity sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA== +dir-compare@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/dir-compare/-/dir-compare-3.3.0.tgz#2c749f973b5c4b5d087f11edaae730db31788416" + integrity sha512-J7/et3WlGUCxjdnD3HAAzQ6nsnc0WL6DD7WcwJb7c39iH1+AWfg+9OqzJNaI6PkBwBvm1mhZNL9iY/nRiZXlPg== dependencies: - buffer-equal "1.0.0" - colors "1.0.3" - commander "2.9.0" - minimatch "3.0.4" + buffer-equal "^1.0.0" + minimatch "^3.0.4" dir-glob@^3.0.1: version "3.0.1" @@ -1178,15 +1136,15 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dmg-builder@23.3.3: - version "23.3.3" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-23.3.3.tgz#b37547f8403c3e9f7c60265a93d902f5b0c395ea" - integrity sha512-ECwAjt+ZWyOvddrkDx1xRD6IVUCZb5SV6vSMHZd+Va3G2sUXHrnglR1cGDKRF4oYRQm8SYVrpLZKbi8npyDcAQ== +dmg-builder@24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-24.13.3.tgz#95d5b99c587c592f90d168a616d7ec55907c7e55" + integrity sha512-rcJUkMfnJpfCboZoOOPf4L29TRtEieHNOeAbYPWPxlaBw/Z1RKrRA86dOI9rwaI4tQSc/RD82zTNHprfUHXsoQ== dependencies: - app-builder-lib "23.3.3" - builder-util "23.3.3" - builder-util-runtime "9.0.3" - fs-extra "^10.0.0" + app-builder-lib "24.13.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" + fs-extra "^10.1.0" iconv-lite "^0.6.2" js-yaml "^4.1.0" optionalDependencies: @@ -1206,20 +1164,6 @@ dmg-license@^1.0.11: smart-buffer "^4.0.2" verror "^1.10.0" -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - dotenv-expand@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" @@ -1235,75 +1179,66 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== -ejs@^3.1.7: - version "3.1.8" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" - integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ejs@^3.1.8: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== dependencies: jake "^10.8.5" -electron-builder@^23.3.3: - version "23.3.3" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-23.3.3.tgz#88d4e584a99b9e36ca4e8432b1163a1ef877355f" - integrity sha512-mFYYdhoFPKevP6y5uaaF3dusmB2OtQ/HnwwpyOePeU7QDS0SEIAUokQsHUanAiJAZcBqtY7iyLBgX18QybdFFw== - dependencies: - "@types/yargs" "^17.0.1" - app-builder-lib "23.3.3" - builder-util "23.3.3" - builder-util-runtime "9.0.3" - chalk "^4.1.1" - dmg-builder "23.3.3" - fs-extra "^10.0.0" +electron-builder@^24.13.3: + version "24.13.3" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-24.13.3.tgz#c506dfebd36d9a50a83ee8aa32d803d83dbe4616" + integrity sha512-yZSgVHft5dNVlo31qmJAe4BVKQfFdwpRw7sFp1iQglDRCDD6r22zfRJuZlhtB5gp9FHUxCMEoWGq10SkCnMAIg== + dependencies: + app-builder-lib "24.13.3" + builder-util "24.13.1" + builder-util-runtime "9.2.4" + chalk "^4.1.2" + dmg-builder "24.13.3" + fs-extra "^10.1.0" is-ci "^3.0.0" lazy-val "^1.0.5" - read-config-file "6.2.0" - update-notifier "^5.1.0" - yargs "^17.0.1" + read-config-file "6.3.2" + simple-update-notifier "2.0.0" + yargs "^17.6.2" -electron-osx-sign@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.6.0.tgz#9b69c191d471d9458ef5b1e4fdd52baa059f1bb8" - integrity sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg== - dependencies: - bluebird "^3.5.0" - compare-version "^0.1.2" - debug "^2.6.8" - isbinaryfile "^3.0.2" - minimist "^1.2.0" - plist "^3.0.1" - -electron-publish@23.3.3: - version "23.3.3" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-23.3.3.tgz#c4125fbb00620acb854f6e994fd3ab3115662ddd" - integrity sha512-1dX17eE5xVXedTxjC+gjsP74oC0+sIHgqysp0ryTlF9+yfQUyXjBk6kcK+zhtBA2SsHMSglDtM+JPxDD/WpPTQ== +electron-publish@24.13.1: + version "24.13.1" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-24.13.1.tgz#57289b2f7af18737dc2ad134668cdd4a1b574a0c" + integrity sha512-2ZgdEqJ8e9D17Hwp5LEq5mLQPjqU3lv/IALvgp+4W8VeNhryfGhYEQC/PgDPMrnWUp+l60Ou5SJLsu+k4mhQ8A== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "23.3.3" - builder-util-runtime "9.0.3" - chalk "^4.1.1" - fs-extra "^10.0.0" + builder-util "24.13.1" + builder-util-runtime "9.2.4" + chalk "^4.1.2" + fs-extra "^10.1.0" lazy-val "^1.0.5" mime "^2.5.2" -electron-to-chromium@^1.4.202: - version "1.4.249" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.249.tgz#49c34336c742ee65453dbddf4c84355e59b96e2c" - integrity sha512-GMCxR3p2HQvIw47A599crTKYZprqihoBL4lDSAUmr7IYekXFK5t/WgEBrGJDCa2HWIZFQEkGuMqPCi05ceYqPQ== +electron-to-chromium@^1.4.668: + version "1.4.796" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.796.tgz#48dd6ff634b7f7df6313bd27aaa713f3af4a2b29" + integrity sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA== -electron-updater@5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-5.2.1.tgz#297795e6e8ad9179c7ae2738a7b67cf0a5022be1" - integrity sha512-OQZVIvqcK8j03HjT07uVPgvguP/r8RY2wZcwCM26+fcDOjtrm01Dfz3G8Eru+69znbrR+F9pDzr98ewMavBrWQ== +electron-updater@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-6.2.1.tgz#1c9adb9ba2a21a5dc50a8c434c45360d5e9fe6c9" + integrity sha512-83eKIPW14qwZqUUM6wdsIRwVKZyjmHxQ4/8G+1C6iS5PdDt7b1umYQyj1/qPpH510GmHEQe4q0kCPe3qmb3a0Q== dependencies: - "@types/semver" "^7.3.6" - builder-util-runtime "9.0.3" - fs-extra "^10.0.0" + builder-util-runtime "9.2.4" + fs-extra "^10.1.0" js-yaml "^4.1.0" lazy-val "^1.0.5" lodash.escaperegexp "^4.1.2" lodash.isequal "^4.5.0" - semver "^7.3.5" - typed-emitter "^2.1.0" + semver "^7.3.8" + tiny-typed-emitter "^2.1.0" electron@20.1.4: version "20.1.4" @@ -1319,6 +1254,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + encodeurl@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -1331,10 +1271,10 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5" + integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1345,48 +1285,61 @@ env-paths@^2.2.0: integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== envinfo@^7.7.3: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + version "7.13.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" + integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^1.2.1: + version "1.5.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.3.tgz#25969419de9c0b1fbe54279789023e8a9a788412" + integrity sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg== es6-error@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== +escalade@^3.1.1, escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -eslint-config-prettier@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== +eslint-config-prettier@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== +eslint-plugin-prettier@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" + integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== dependencies: prettier-linter-helpers "^1.0.0" + synckit "^0.8.6" -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -1394,89 +1347,77 @@ eslint-scope@5.1.1, eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== +eslint-scope@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" + integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint-visitor-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" + integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== -eslint@^8.23.1: - version "8.23.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.1.tgz#cfd7b3f7fdd07db8d16b4ac0516a29c8d8dca5dc" - integrity sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg== - dependencies: - "@eslint/eslintrc" "^1.3.2" - "@humanwhocodes/config-array" "^0.10.4" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" +eslint@^9.4.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.4.0.tgz#79150c3610ae606eb131f1d648d5f43b3d45f3cd" + integrity sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/config-array" "^0.15.1" + "@eslint/eslintrc" "^3.1.0" + "@eslint/js" "9.4.0" "@humanwhocodes/module-importer" "^1.0.1" - ajv "^6.10.0" + "@humanwhocodes/retry" "^0.3.0" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" - doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" + eslint-scope "^8.0.1" + eslint-visitor-keys "^4.0.0" + espree "^10.0.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" + file-entry-cache "^8.0.0" find-up "^5.0.0" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" - grapheme-splitter "^1.0.4" + glob-parent "^6.0.2" ignore "^5.2.0" - import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" + is-path-inside "^3.0.3" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" + optionator "^0.9.3" strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== +espree@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f" + integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== dependencies: - acorn "^8.8.0" + acorn "^8.11.3" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^4.0.0" -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" @@ -1529,14 +1470,14 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -1560,9 +1501,9 @@ fastest-levenshtein@^1.0.12: integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== dependencies: reusify "^1.0.4" @@ -1573,24 +1514,24 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: - flat-cache "^3.0.4" + flat-cache "^4.0.0" -filelist@^1.0.1: +filelist@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: minimatch "^5.0.1" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -1610,18 +1551,31 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" + flatted "^3.2.9" + keyv "^4.5.4" -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" form-data@^4.0.0: version "4.0.0" @@ -1660,13 +1614,12 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^2.0.0" -fs-jetpack@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-4.3.1.tgz#cdfd4b64e6bfdec7c7dc55c76b39efaa7853bb20" - integrity sha512-dbeOK84F6BiQzk2yqqCVwCPWTxAvVGJ3fMQc6E2wuEohS28mR6yHngbrKuVCK1KHRx/ccByDylqu4H5PCP2urQ== +fs-jetpack@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/fs-jetpack/-/fs-jetpack-5.1.0.tgz#dcd34d709b69007c9dc2420a6f2b9e8f986cff0d" + integrity sha512-Xn4fDhLydXkuzepZVsr02jakLlmoARPy+YWIclo4kh0GyNGUHnTqeH/w/qIsVn50dFxtp8otPL2t/HcPJBbxUA== dependencies: - minimatch "^3.0.2" - rimraf "^2.6.3" + minimatch "^5.1.0" fs-minipass@^2.0.0: version "2.1.0" @@ -1680,29 +1633,26 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-stream@^4.1.0: version "4.1.0" @@ -1725,7 +1675,7 @@ glob-parent@^5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -1737,7 +1687,18 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.1.3, glob@^7.1.6: +glob@^10.3.10: + version "10.4.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2" + integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + path-scurry "^1.11.1" + +glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -1761,13 +1722,6 @@ global-agent@^3.0.0: semver "^7.3.2" serialize-error "^7.0.1" -global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== - dependencies: - ini "2.0.0" - global-tunnel-ng@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" @@ -1778,19 +1732,18 @@ global-tunnel-ng@^2.7.1: npm-conf "^1.1.3" tunnel "^0.0.6" -globals@^13.15.0: - version "13.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== - dependencies: - type-fest "^0.20.2" +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== globalthis@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: - define-properties "^1.1.3" + define-properties "^1.2.1" + gopd "^1.0.1" globby@^11.1.0: version "11.1.0" @@ -1804,6 +1757,13 @@ globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -1821,20 +1781,15 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - integrity sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== has-flag@^4.0.0: version "4.0.0" @@ -1842,28 +1797,28 @@ has-flag@^4.0.0: integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.1.1" + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== +hasown@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: - function-bind "^1.1.1" + function-bind "^1.1.2" hosted-git-info@^4.1.0: version "4.1.0" @@ -1873,9 +1828,9 @@ hosted-git-info@^4.1.0: lru-cache "^6.0.0" http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== http-proxy-agent@^5.0.0: version "5.0.0" @@ -1886,7 +1841,7 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^5.0.0: +https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -1914,12 +1869,12 @@ ieee754@^1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.2.0, ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== -import-fresh@^3.0.0, import-fresh@^3.2.1: +import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -1927,11 +1882,6 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== - import-local@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" @@ -1958,27 +1908,15 @@ inherits@2: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== is-ci@^3.0.0: version "3.0.1" @@ -1987,12 +1925,12 @@ is-ci@^3.0.0: dependencies: ci-info "^3.2.0" -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-extglob@^2.1.1: version "2.1.1" @@ -2011,30 +1949,12 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: dependencies: is-extglob "^2.1.1" -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-inside@^3.0.2: +is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== @@ -2046,28 +1966,16 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -isbinaryfile@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" - integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== - dependencies: - buffer-alloc "^1.2.0" - -isbinaryfile@^4.0.10: +isbinaryfile@^4.0.8: version "4.0.10" resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== +isbinaryfile@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-5.0.2.tgz#fe6e4dfe2e34e947ffa240c113444876ba393ae0" + integrity sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -2078,15 +1986,24 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== +jackspeak@^3.1.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" + integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jake@^10.8.5: - version "10.8.5" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" - integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== + version "10.9.1" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.1.tgz#8dc96b7fcc41cb19aa502af506da4e1d56f5e62b" + integrity sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w== dependencies: async "^3.2.3" chalk "^4.0.2" - filelist "^1.0.1" - minimatch "^3.0.4" + filelist "^1.0.4" + minimatch "^3.1.2" jest-worker@^27.4.5: version "27.5.1" @@ -2097,11 +2014,6 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" -js-sdsl@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.4.tgz#78793c90f80e8430b7d8dc94515b6c77d98a26a6" - integrity sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw== - js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -2114,6 +2026,11 @@ json-buffer@3.0.0: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + json-parse-even-better-errors@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -2135,9 +2052,9 @@ json-stringify-safe@^5.0.1: integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^4.0.0: version "4.0.0" @@ -2162,18 +2079,18 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" +keyv@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -latest-version@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - lazy-val@^1.0.4, lazy-val@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d" @@ -2236,6 +2153,11 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lru-cache@^10.2.0: + version "10.2.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" + integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -2243,13 +2165,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -2273,11 +2188,11 @@ merge2@^1.3.0, merge2@^1.4.1: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.0, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" mime-db@1.52.0: @@ -2302,39 +2217,49 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== +minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== +minimatch@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass@^3.0.0: - version "3.3.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae" - integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw== + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== dependencies: yallist "^4.0.0" +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -2348,11 +2273,6 @@ mkdirp@^1.0.3: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -2373,10 +2293,10 @@ node-addon-api@^1.6.3: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-url@^4.1.0: version "4.5.1" @@ -2403,17 +2323,17 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: deep-is "^0.1.3" fast-levenshtein "^2.0.6" levn "^0.4.1" prelude-ls "^1.2.1" type-check "^0.4.0" - word-wrap "^1.2.3" + word-wrap "^1.2.5" p-cancelable@^1.0.0: version "1.1.0" @@ -2453,16 +2373,6 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -2490,6 +2400,14 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -2500,10 +2418,10 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.3.1: version "2.3.1" @@ -2522,11 +2440,12 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -plist@^3.0.1, plist@^3.0.4: - version "3.0.6" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" - integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== +plist@^3.0.4, plist@^3.0.5: + version "3.1.0" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.1.0.tgz#797a516a93e62f5bde55e0b9cc9c967f860893c9" + integrity sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ== dependencies: + "@xmldom/xmldom" "^0.8.8" base64-js "^1.5.1" xmlbuilder "^15.1.1" @@ -2552,16 +2471,24 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== +prettier@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.1.tgz#e68935518dd90bb7ec4821ba970e68f8de16e1ac" + integrity sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg== progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -2576,16 +2503,9 @@ pump@^3.0.0: once "^1.3.1" punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== queue-microtask@^1.2.2: version "1.2.3" @@ -2599,52 +2519,24 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -rc@1.2.8, rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-config-file@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz#71536072330bcd62ba814f91458b12add9fc7ade" - integrity sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg== +read-config-file@6.3.2: + version "6.3.2" + resolved "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.3.2.tgz#556891aa6ffabced916ed57457cb192e61880411" + integrity sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q== dependencies: + config-file-ts "^0.2.4" dotenv "^9.0.2" dotenv-expand "^5.1.0" js-yaml "^4.1.0" json5 "^2.2.0" lazy-val "^1.0.4" -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== dependencies: - resolve "^1.9.0" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -registry-auth-token@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" - integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== - dependencies: - rc "1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" + resolve "^1.20.0" require-directory@^2.1.1: version "2.1.1" @@ -2668,12 +2560,12 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.9.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== +resolve@^1.20.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -2684,25 +2576,16 @@ responselike@^1.0.2: dependencies: lowercase-keys "^1.0.0" +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - roarr@^2.15.3: version "2.15.4" resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" @@ -2722,10 +2605,10 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.5.2, rxjs@^7.5.6: - version "7.5.6" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" - integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== +rxjs@^7.5.6: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" @@ -2747,14 +2630,14 @@ sanitize-filename@^1.6.3: truncate-utf8-bytes "^1.0.0" sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== -schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" @@ -2765,24 +2648,15 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" +semver@^6.2.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" +semver@^7.3.2, semver@^7.3.4, semver@^7.3.8, semver@^7.5.3, semver@^7.6.0: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== serialize-error@^7.0.1: version "7.0.1" @@ -2791,10 +2665,10 @@ serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== +serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== dependencies: randombytes "^2.1.0" @@ -2817,10 +2691,17 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-update-notifier@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" + integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== + dependencies: + semver "^7.5.3" slash@^3.0.0: version "3.0.0" @@ -2854,17 +2735,22 @@ source-map@^0.6.0: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + sprintf-js@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== stat-mode@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz#68b55cb61ea639ff57136f36b216a291800d1465" integrity sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -2873,6 +2759,31 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -2880,16 +2791,18 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - sumchecker@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" @@ -2916,19 +2829,27 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +synckit@^0.8.6: + version "0.8.8" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" + integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== + dependencies: + "@pkgr/core" "^0.1.0" + tslib "^2.6.2" + tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar@^6.1.11: - version "6.1.11" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" - integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== +tar@^6.1.12: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" - minipass "^3.0.0" + minipass "^5.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" @@ -2941,24 +2862,24 @@ temp-file@^3.4.0: async-exit-hook "^2.0.1" fs-extra "^10.0.0" -terser-webpack-plugin@^5.1.3: - version "5.3.6" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== dependencies: - "@jridgewell/trace-mapping" "^0.3.14" + "@jridgewell/trace-mapping" "^0.3.20" jest-worker "^27.4.5" schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" -terser@^5.14.1: - version "5.15.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" - integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== +terser@^5.26.0: + version "5.31.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" + integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" @@ -2967,6 +2888,11 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +tiny-typed-emitter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" + integrity sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA== + tmp-promise@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" @@ -2975,11 +2901,9 @@ tmp-promise@^3.0.2: tmp "^0.2.0" tmp@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" + version "0.2.3" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== to-readable-stream@^1.0.0: version "1.0.0" @@ -3000,20 +2924,26 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + ts-loader@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.3.1.tgz#fe25cca56e3e71c1087fe48dc67f4df8c59b22d4" - integrity sha512-OkyShkcZTsTwyS3Kt7a4rsT/t2qvEVQuKCTg4LJmpj9fhFR7ukGdZwV6Qq3tRUkqcXtfGpPR7+hFKHCG/0d3Lw== + version "9.5.1" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" + integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== dependencies: chalk "^4.1.0" enhanced-resolve "^5.0.0" micromatch "^4.0.0" semver "^7.3.4" + source-map "^0.7.4" ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" "@tsconfig/node10" "^1.0.7" @@ -3029,22 +2959,10 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" +tslib@^2.1.0, tslib@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== tunnel@^0.0.6: version "0.0.6" @@ -3063,36 +2981,15 @@ type-fest@^0.13.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +typescript@^5.3.3, typescript@^5.4.5: + version "5.4.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" + integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== -typed-emitter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" - integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== - optionalDependencies: - rxjs "^7.5.2" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.8.3: - version "4.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== universalify@^0.1.0: version "0.1.2" @@ -3100,37 +2997,17 @@ universalify@^0.1.0: integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -update-browserslist-db@^1.0.5: - version "1.0.9" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" - integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== +update-browserslist-db@^1.0.13: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -update-notifier@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" + escalade "^3.1.2" + picocolors "^1.0.1" uri-js@^4.2.2: version "4.4.1" @@ -3147,14 +3024,14 @@ url-parse-lax@^3.0.0: prepend-http "^2.0.0" utf8-byte-length@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61" - integrity sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.5.tgz#f9f63910d15536ee2b2d5dd4665389715eac5c1e" + integrity sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA== uuid@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== v8-compile-cache-lib@^3.0.1: version "3.0.1" @@ -3170,38 +3047,40 @@ verror@^1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@^4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" - integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.2.0" - "@webpack-cli/info" "^1.5.0" - "@webpack-cli/serve" "^1.7.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" colorette "^2.0.14" - commander "^7.0.0" + commander "^10.0.1" cross-spawn "^7.0.3" + envinfo "^7.7.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" + interpret "^3.1.1" + rechoir "^0.8.0" webpack-merge "^5.7.3" webpack-merge@^5.7.3, webpack-merge@^5.8.0: - version "5.8.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: clone-deep "^4.0.1" + flat "^5.0.2" wildcard "^2.0.0" webpack-node-externals@^3.0.0: @@ -3215,33 +3094,33 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5, webpack@^5.74.0: - version "5.74.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== + version "5.91.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + enhanced-resolve "^5.16.0" + es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" + schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" webpack-sources "^3.2.3" which@^2.0.1: @@ -3251,22 +3130,24 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" wrap-ansi@^7.0.0: version "7.0.0" @@ -3277,26 +3158,20 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - xmlbuilder@>=11.0.1, xmlbuilder@^15.1.1: version "15.1.1" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" @@ -3312,23 +3187,23 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^21.0.0: +yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^17.0.1: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== +yargs@^17.6.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^21.0.0" + yargs-parser "^21.1.1" yauzl@^2.10.0: version "2.10.0" From a4b19310a64c7332c13817236debaf44bfa4e838 Mon Sep 17 00:00:00 2001 From: Ben Bartholomew <70723971+ben-bartholomew@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:16:11 -0400 Subject: [PATCH 383/385] Modifying handleTrayClick to minimize when window is visible (#452) * Modifying handleTrayClick to minimize when window is visible. * Style matching --- src/helpers/trayManager.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/helpers/trayManager.ts b/src/helpers/trayManager.ts index f9b849f4..5efd716a 100644 --- a/src/helpers/trayManager.ts +++ b/src/helpers/trayManager.ts @@ -149,7 +149,14 @@ export class TrayManager { private handleTrayClick() { const mainWindow = getMainWindow(); - mainWindow?.show(); + if (!mainWindow) + return; + + if (mainWindow.isVisible()) { + mainWindow.hide(); + } else { + mainWindow.show(); + } } private destroy(): void { From df1e5aa2767c2bf79756230bed175308145656f3 Mon Sep 17 00:00:00 2001 From: OrangeDrangon <25403517+OrangeDrangon@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:33:48 -0400 Subject: [PATCH 384/385] trim preview length --- src/helpers/observers.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/helpers/observers.ts b/src/helpers/observers.ts index 2201ed66..457e4d4d 100644 --- a/src/helpers/observers.ts +++ b/src/helpers/observers.ts @@ -42,9 +42,12 @@ export function recentThreadObserver() { const image = canvas?.toDataURL(); - const recentMessage = conversation.querySelector( - "a div.text-content div.snippet-text mws-conversation-snippet span" - )?.textContent; + const recentMessage = + conversation + .querySelector( + "a div.text-content div.snippet-text mws-conversation-snippet span" + ) + ?.textContent?.slice(0, 20) + "..."; const focusFunction = () => void conversation.querySelector("a")?.click(); focusFunctions[i] = focusFunction; From a1cdd5b28aeb000efba76552174ec5ddd480723e Mon Sep 17 00:00:00 2001 From: OrangeDrangon <25403517+OrangeDrangon@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:33:48 -0400 Subject: [PATCH 385/385] version bump --- package.json | 6 +- yarn.lock | 424 +++++++++++++++++++++++++++------------------------ 2 files changed, 225 insertions(+), 205 deletions(-) diff --git a/package.json b/package.json index 579801e1..a6ba6fab 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "android-messages-desktop", "description": "Messages for web, as a desktop app", - "version": "5.4.4", + "version": "5.4.5", "author": { "name": "Kyle Rosenberg", "email": "kyle@ekrosenberg.com" @@ -38,8 +38,8 @@ "@types/uuid": "^9.0.8", "@types/webpack": "^5.28.0", "@types/webpack-node-externals": "^3.0.4", - "@typescript-eslint/eslint-plugin": "^7.12.0", - "@typescript-eslint/parser": "^7.12.0", + "@typescript-eslint/eslint-plugin": "^8.1.0", + "@typescript-eslint/parser": "^8.1.0", "cross-env": "^7.0.2", "electron": "20.1.4", "electron-builder": "^24.13.3", diff --git a/yarn.lock b/yarn.lock index 4f026190..a5e192ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -93,19 +93,19 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.1.tgz#361461e5cb3845d874e61731c11cfedd664d83a0" - integrity sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA== +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== -"@eslint/config-array@^0.15.1": - version "0.15.1" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.15.1.tgz#1fa78b422d98f4e7979f2211a1fde137e26c7d61" - integrity sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ== +"@eslint/config-array@^0.17.1": + version "0.17.1" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.17.1.tgz#d9b8b8b6b946f47388f32bedfd3adf29ca8f8910" + integrity sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA== dependencies: - "@eslint/object-schema" "^2.1.3" + "@eslint/object-schema" "^2.1.4" debug "^4.3.1" - minimatch "^3.0.5" + minimatch "^3.1.2" "@eslint/eslintrc@^3.1.0": version "3.1.0" @@ -122,15 +122,15 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.4.0": - version "9.4.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.4.0.tgz#96a2edd37ec0551ce5f9540705be23951c008a0c" - integrity sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg== +"@eslint/js@9.9.0": + version "9.9.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.9.0.tgz#d8437adda50b3ed4401964517b64b4f59b0e2638" + integrity sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug== -"@eslint/object-schema@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.3.tgz#e65ae80ee2927b4fd8c5c26b15ecacc2b2a6cc2a" - integrity sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw== +"@eslint/object-schema@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" + integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" @@ -182,9 +182,9 @@ "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -303,9 +303,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.56.10" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.10.tgz#eb2370a73bf04a901eeba8f22595c7ee0f7eb58d" - integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ== + version "9.6.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.0.tgz#51d4fe4d0316da9e9f2c80884f2c20ed5fb022ff" + integrity sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -332,7 +332,14 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== -"@types/node@*", "@types/node@20.14.2": +"@types/node@*": + version "22.3.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.3.0.tgz#7f8da0e2b72c27c4f9bd3cb5ef805209d04d4f9e" + integrity sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g== + dependencies: + undici-types "~6.18.2" + +"@types/node@20.14.2": version "20.14.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.2.tgz#a5f4d2bcb4b6a87bffcaa717718c5a0f208f4a18" integrity sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q== @@ -340,9 +347,9 @@ undici-types "~5.26.4" "@types/node@^16.11.26": - version "16.18.98" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.98.tgz#3554bb7911ea2bbc3a528be0776d6ab16b7674d2" - integrity sha512-fpiC20NvLpTLAzo3oVBKIqBGR6Fx/8oAK/SSf7G+fydnXMY1x4x9RZ6sBXhqKlCU21g2QapUsbLlhv3+a7wS+Q== + version "16.18.105" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.105.tgz#7147176852774ec4d6dd626803888adf6b999feb" + integrity sha512-w2d0Z9yMk07uH3+Cx0N8lqFyi3yjXZxlbYappPj+AsOlT02OyxyiuNoNHdGt6EuiSm8Wtgp2YV7vWg+GMFrvFA== "@types/plist@^3.0.1": version "3.0.5" @@ -386,62 +393,62 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz#f87a32e8972b8a60024f2f8f12205e7c8108bc41" - integrity sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q== +"@typescript-eslint/eslint-plugin@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.1.0.tgz#3c020deeaaba82a6f741d00dacf172c53be4911f" + integrity sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.12.0" - "@typescript-eslint/type-utils" "7.12.0" - "@typescript-eslint/utils" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/scope-manager" "8.1.0" + "@typescript-eslint/type-utils" "8.1.0" + "@typescript-eslint/utils" "8.1.0" + "@typescript-eslint/visitor-keys" "8.1.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.12.0.tgz#8761df3345528b35049353db80010b385719b1c3" - integrity sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ== +"@typescript-eslint/parser@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.1.0.tgz#b7e77f5fa212df59eba51ecd4986f194bccc2303" + integrity sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA== dependencies: - "@typescript-eslint/scope-manager" "7.12.0" - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/typescript-estree" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/scope-manager" "8.1.0" + "@typescript-eslint/types" "8.1.0" + "@typescript-eslint/typescript-estree" "8.1.0" + "@typescript-eslint/visitor-keys" "8.1.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz#259c014362de72dd34f995efe6bd8dda486adf58" - integrity sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg== +"@typescript-eslint/scope-manager@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.1.0.tgz#dd8987d2efebb71d230a1c71d82e84a7aead5c3d" + integrity sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ== dependencies: - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/types" "8.1.0" + "@typescript-eslint/visitor-keys" "8.1.0" -"@typescript-eslint/type-utils@7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz#9dfaaa1972952f395ec5be4f5bbfc4d3cdc63908" - integrity sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA== +"@typescript-eslint/type-utils@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.1.0.tgz#dbf5a4308166dfc37a36305390dea04a3a3b5048" + integrity sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA== dependencies: - "@typescript-eslint/typescript-estree" "7.12.0" - "@typescript-eslint/utils" "7.12.0" + "@typescript-eslint/typescript-estree" "8.1.0" + "@typescript-eslint/utils" "8.1.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.12.0.tgz#bf208f971a8da1e7524a5d9ae2b5f15192a37981" - integrity sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg== +"@typescript-eslint/types@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.1.0.tgz#fbf1eaa668a7e444ac507732ca9d3c3468e5db9c" + integrity sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog== -"@typescript-eslint/typescript-estree@7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz#e6c1074f248b3db6573ab6a7c47a39c4cd498ff9" - integrity sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ== +"@typescript-eslint/typescript-estree@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.1.0.tgz#c44e5667683c0bb5caa43192e27de6a994f4e4c4" + integrity sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg== dependencies: - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/types" "8.1.0" + "@typescript-eslint/visitor-keys" "8.1.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -449,22 +456,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.12.0.tgz#c6e58fd7f724cdccc848f71e388ad80cbdb95dd0" - integrity sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ== +"@typescript-eslint/utils@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.1.0.tgz#a922985a43d2560ce0d293be79148fa80c1325e0" + integrity sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.12.0" - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/typescript-estree" "7.12.0" + "@typescript-eslint/scope-manager" "8.1.0" + "@typescript-eslint/types" "8.1.0" + "@typescript-eslint/typescript-estree" "8.1.0" -"@typescript-eslint/visitor-keys@7.12.0": - version "7.12.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz#c053b55a996679528beeedd8e565710ce1ae1ad3" - integrity sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ== +"@typescript-eslint/visitor-keys@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.1.0.tgz#ab2b3a9699a8ddebf0c205e133f114c1fed9daad" + integrity sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag== dependencies: - "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/types" "8.1.0" eslint-visitor-keys "^3.4.3" "@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": @@ -623,10 +630,10 @@ about-window@1.15.2: resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.15.2.tgz#0397216ce0cb6e8a4fa9ba12941e56d481d712b5" integrity sha512-31mDAnLUfKm4uShfMzeEoS6a3nEto2tUt4zZn7qyAKedaTV4p0dGiW1n+YG8vtRh78mZiewghWJmoxDY+lHyYg== -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== acorn-jsx@^5.3.2: version "5.3.2" @@ -634,14 +641,16 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.1.1: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + version "8.3.3" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" + integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + dependencies: + acorn "^8.11.0" -acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +acorn@^8.11.0, acorn@^8.12.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== agent-base@6: version "6.0.2" @@ -820,14 +829,14 @@ braces@^3.0.3: fill-range "^7.1.1" browserslist@^4.21.10: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" buffer-crc32@~0.2.3: version "0.2.13" @@ -900,10 +909,10 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -caniuse-lite@^1.0.30001587: - version "1.0.30001629" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001629.tgz#907a36f4669031bd8a1a8dbc2fa08b29e0db297e" - integrity sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw== +caniuse-lite@^1.0.30001646: + version "1.0.30001651" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" + integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" @@ -1065,9 +1074,9 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: which "^2.0.1" debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== dependencies: ms "2.1.2" @@ -1221,10 +1230,10 @@ electron-publish@24.13.1: lazy-val "^1.0.5" mime "^2.5.2" -electron-to-chromium@^1.4.668: - version "1.4.796" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.796.tgz#48dd6ff634b7f7df6313bd27aaa713f3af4a2b29" - integrity sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA== +electron-to-chromium@^1.5.4: + version "1.5.7" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.7.tgz#425d2a7f76ecfa564fdca1040d11fb1979851f3c" + integrity sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw== electron-updater@6.2.1: version "6.2.1" @@ -1271,10 +1280,10 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^5.0.0, enhanced-resolve@^5.16.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5" - integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA== +enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.0: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -1307,9 +1316,9 @@ es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.2.1: - version "1.5.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.3.tgz#25969419de9c0b1fbe54279789023e8a9a788412" - integrity sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg== + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== es6-error@^4.1.1: version "4.1.1" @@ -1332,12 +1341,12 @@ eslint-config-prettier@^9.1.0: integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== eslint-plugin-prettier@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz#d1c8f972d8f60e414c25465c163d16f209411f95" + integrity sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw== dependencies: prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" + synckit "^0.9.1" eslint-scope@5.1.1: version "5.1.1" @@ -1347,10 +1356,10 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" - integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== +eslint-scope@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.2.tgz#5cbb33d4384c9136083a71190d548158fe128f94" + integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" @@ -1366,15 +1375,15 @@ eslint-visitor-keys@^4.0.0: integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== eslint@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.4.0.tgz#79150c3610ae606eb131f1d648d5f43b3d45f3cd" - integrity sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA== + version "9.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.9.0.tgz#8d214e69ae4debeca7ae97daebbefe462072d975" + integrity sha512-JfiKJrbx0506OEerjK2Y1QlldtBxkAlLxT5OEcRF8uaQ86noDe2k31Vw9rnSWv+MXZHj7OOUV/dA0AhdLFcyvA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/config-array" "^0.15.1" + "@eslint-community/regexpp" "^4.11.0" + "@eslint/config-array" "^0.17.1" "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.4.0" + "@eslint/js" "9.9.0" "@humanwhocodes/module-importer" "^1.0.1" "@humanwhocodes/retry" "^0.3.0" "@nodelib/fs.walk" "^1.2.8" @@ -1383,10 +1392,10 @@ eslint@^9.4.0: cross-spawn "^7.0.2" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.0.1" + eslint-scope "^8.0.2" eslint-visitor-keys "^4.0.0" - espree "^10.0.1" - esquery "^1.4.2" + espree "^10.1.0" + esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^8.0.0" @@ -1405,19 +1414,19 @@ eslint@^9.4.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.0.1.tgz#600e60404157412751ba4a6f3a2ee1a42433139f" - integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== +espree@^10.0.1, espree@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== dependencies: - acorn "^8.11.3" + acorn "^8.12.0" acorn-jsx "^5.3.2" eslint-visitor-keys "^4.0.0" -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== +esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -1570,9 +1579,9 @@ flatted@^3.2.9: integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== dependencies: cross-spawn "^7.0.0" signal-exit "^4.0.1" @@ -1688,14 +1697,15 @@ glob-to-regexp@^0.4.1: integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== glob@^10.3.10: - version "10.4.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2" - integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: foreground-child "^3.1.0" jackspeak "^3.1.2" minimatch "^9.0.4" minipass "^7.1.2" + package-json-from-dist "^1.0.0" path-scurry "^1.11.1" glob@^7.1.6: @@ -1813,7 +1823,7 @@ has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -hasown@^2.0.0: +hasown@^2.0.0, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== @@ -1870,9 +1880,9 @@ ieee754@^1.1.13: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== import-fresh@^3.2.1: version "3.3.0" @@ -1883,9 +1893,9 @@ import-fresh@^3.2.1: resolve-from "^4.0.0" import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -1926,11 +1936,11 @@ is-ci@^3.0.0: ci-info "^3.2.0" is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" + integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" is-extglob@^2.1.1: version "2.1.1" @@ -1987,18 +1997,18 @@ isobject@^3.0.1: integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== jackspeak@^3.1.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" - integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" jake@^10.8.5: - version "10.9.1" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.1.tgz#8dc96b7fcc41cb19aa502af506da4e1d56f5e62b" - integrity sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w== + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== dependencies: async "^3.2.3" chalk "^4.0.2" @@ -2154,9 +2164,9 @@ lowercase-keys@^2.0.0: integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== lru-cache@^10.2.0: - version "10.2.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" - integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^6.0.0: version "6.0.0" @@ -2217,7 +2227,7 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -2232,9 +2242,9 @@ minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.1: brace-expansion "^2.0.1" minimatch@^9.0.4: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" @@ -2293,10 +2303,10 @@ node-addon-api@^1.6.3: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== normalize-url@^4.1.0: version "4.5.1" @@ -2373,6 +2383,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json-from-dist@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" + integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -2472,9 +2487,9 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.1.tgz#e68935518dd90bb7ec4821ba970e68f8de16e1ac" - integrity sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg== + version "3.3.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== progress@^2.0.3: version "2.0.3" @@ -2654,9 +2669,9 @@ semver@^6.2.0: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.2, semver@^7.3.4, semver@^7.3.8, semver@^7.5.3, semver@^7.6.0: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== serialize-error@^7.0.1: version "7.0.1" @@ -2829,10 +2844,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== +synckit@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.9.1.tgz#febbfbb6649979450131f64735aa3f6c14575c88" + integrity sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A== dependencies: "@pkgr/core" "^0.1.0" tslib "^2.6.2" @@ -2874,9 +2889,9 @@ terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.26.0: - version "5.31.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" - integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== + version "5.31.6" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.6.tgz#c63858a0f0703988d0266a82fcbf2d7ba76422b1" + integrity sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -2982,15 +2997,20 @@ type-fest@^0.13.1: integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== typescript@^5.3.3, typescript@^5.4.5: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== + version "5.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" + integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== undici-types@~5.26.4: version "5.26.5" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.18.2: + version "6.18.2" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.18.2.tgz#8b678cf939d4fc9ec56be3c68ed69c619dee28b0" + integrity sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -3001,10 +3021,10 @@ universalify@^2.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -update-browserslist-db@^1.0.13: - version "1.0.16" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" - integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== dependencies: escalade "^3.1.2" picocolors "^1.0.1" @@ -3048,9 +3068,9 @@ verror@^1.10.0: extsprintf "^1.2.0" watchpack@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -3094,9 +3114,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5, webpack@^5.74.0: - version "5.91.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" - integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== + version "5.93.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.93.0.tgz#2e89ec7035579bdfba9760d26c63ac5c3462a5e5" + integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" @@ -3104,10 +3124,10 @@ webpack@^5, webpack@^5.74.0: "@webassemblyjs/wasm-edit" "^1.12.1" "@webassemblyjs/wasm-parser" "^1.12.1" acorn "^8.7.1" - acorn-import-assertions "^1.9.0" + acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.16.0" + enhanced-resolve "^5.17.0" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0"