From 36446df7fd24d8c2a4a424aea920c89ceeead1f1 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 11 Mar 2024 15:32:47 +0100 Subject: [PATCH 01/22] refactor: orangize monorepo --- .github/assets/social-card.png | Bin 0 -> 475413 bytes README.md | 141 +--- package.json | 16 +- .../eslint-config-legacy-typescript/README.md | 1 - packages/eslint-config-legacy-typescript/a.md | 11 + .../package.json | 8 +- packages/eslint-config-legacy/README.md | 1 - packages/eslint-config-legacy/a.md | 69 ++ packages/eslint-config-legacy/package.json | 6 +- packages/eslint-config/README.md | 1 - packages/eslint-config/a.md | 56 ++ packages/eslint-config/package.json | 14 +- pnpm-lock.yaml | 704 ++++++++++++------ 13 files changed, 655 insertions(+), 373 deletions(-) create mode 100644 .github/assets/social-card.png delete mode 120000 packages/eslint-config-legacy-typescript/README.md create mode 100644 packages/eslint-config-legacy-typescript/a.md delete mode 120000 packages/eslint-config-legacy/README.md create mode 100644 packages/eslint-config-legacy/a.md delete mode 120000 packages/eslint-config/README.md create mode 100644 packages/eslint-config/a.md diff --git a/.github/assets/social-card.png b/.github/assets/social-card.png new file mode 100644 index 0000000000000000000000000000000000000000..02c36d31967fad310fdb937875de2f67e8de6bda GIT binary patch literal 475413 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
  • HUe)`1PKrzuD`{~{XOT_;- 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%0DT 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Μs}FZ_<5y5LZze@bhklMyw)d)mo}laFZ;zcO#997 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 z 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

    LkC$c!X{#C9(*nQhN)5Y1|SzHMbsCe)-C*5#XxT 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%0A$Pn7m?9 z3#9?nl=$Xj+l)}XLc(AfYMO1n!4N;WNn(_bFak-2?*pG!#x_*G7-$wQ=gqdKgcQo= z>FafEJ-bx`DTuDZH4+zB?}3c8m8DJDb7l|m2b&pi#6yMr<0WF7NVa&>SYLk5hR<^& zNGU2KPD<&#OBnQA8)d!4arAbwz=Ei5DR;$}koT(boIzt-{|Rmw_=!jOylJgOpotoU z;M6*2X8b#w-2aIE!l!8uF5;_HHMx~EWy3H z;@XIgw`_%T; zXFPg%RD#^!oAvg#BboIx@AF3t4t@OffBuiIk0KuL*t%D3efwIy0RBxR7=Pi#TK|bZ z@yEoUIe+<(_xjz)kfhAgHrv!wx32b6-RLzHhP^ZTl!=Fit=T#TF>yOgy@wd|kPp12 zf8)hD_T-yEpP3df6fftaP#-L&A7mQS74gjzH((I@SRe<&M#&raO7jLV z$1euQy4|C}e0HMz#FQU7y95yC$MK3z%!_{|TjSz>=VkD_`|w)XRz&H&LB1rOI2p7g zp1j>hYvCL6#cn<0a{M3wAJ=uP;mJeB-8$}Y@e+fCz1Yrk7XQIR;*Uxk;LYy^!-?lU zsO{K?G%rft*Y(OCKx;Va<^P{?Bf%~bh);6u?ttrxZ4VYW3)L7Q^%M=6A^oyj9N+`xtL0w}ECwN?hb@RBLRdbEZ+t-C{hc>zl< z9XKb#C#2ZP+lQxJ1M9!_Mf=CU{P$kk_eh`|KXZTowY8_WpZS?D+F$zKzwo3Nzt{V) zo>JL$Jl6Eo6l2Ah$35-Ot&-`=bv=hQImE-+hrJ{@RoJ9&7T6PyG4!ohUx! z=Chyq)b;OpH`h^h`HkQF?Rx_A4Y%V59^OPd*89i)+K;xJwg1$aF)rmRk#A6QzzZ_Cb*QqDDhzvUpH+{Gs~L8QEfc8hcRArm z@GQhvFxRRr{Wrfcs^n&N;wq;OdSR=^S?$f3lb;KazF^sYQ(;}cNv%OKSz-cfJ~f)z z{}#8m{`E;*`)TaM*L?lUisr)8;tOyKVV-*kP3L>mXgx-vMw3v0W5au_<9OO`<+l4xzvV|MKT0If01@Lz9FZe<5u=IzJ>SLyVtx&A%s+%W6AakZTdNHAj zP2A*0zr}dM%-gqS{g*hs=I9`W7#FrluBZMW*-pz@*W78$9@*ZsuoFOnx4tZh0cBQ>FV~5tV@qobZn0-Zncx-=n zMzg+l0;|i#y00p4jpS4K8G37DSV^Jk*DQ6Dgi{zY_hPs<3~1$IY(nwlUqZ9S=h6x! zNr0LzFfZ$ajd{W`O4iYaatI%o@GvZOb>(!S0-AUl;oFpSq6QeXtP5SSh0Q!;RE-ln zgqP@1j+I2l1?%o2AE{8J2ficFDUlW^*#>UdIV!Q$FXE>~sbpRyA(T6q=h`j-nYA>0 zZl*s^o9jl(h~&#y)6$39=$co)<)s;PrleGQu=5jU&Z`~h-;b*{%6!M;9NY<)TmVjh z_Ks{e9$PkJ8#)Ct#`jKujih8u16RqXN=&wGQypC#g#eG0i>67x;?V_q()2ODOpL4T z6Z7JsqDuerod?K)I^MWSI$|!)#)r8bF9|=YiC$J+a0F7H`Kh0{{*3&+J-z+#kNl+l z&cFV(Cncah`NAIjw-F={Y$Uw zmqZUZN2TA<4xRpoU;mYRGV?>wj^rXI84p`(3Y`lyaQ zp*iu(>FnvJwa4Xf7TUkDNqPCN?HIwwNP@Hi%i4ds9_F1s#@j~%VDW#N?i`oCnXxZ# z>i=_c4YE~uhdh0w0k6{Ca7BPzMXqI(0&r$v!H88hjAq_e-u0&@3r%DvlVLt?iiW}f zz9&X}107FRm@>ZrbyAS3{QTk6gN={q1RqqsUiXXWST2+#CnhL_K+^Y355hELvuH;1h zd&NUJ!&OQBKBBOdH#PUFALG1ex|z{BJJz8$xm1GYk=JN8BGw87q1WVGPtVR*1kq1? zHBywi8^!XP#PvJioU-B|eZB1ieB#*5>a*nUvCmJzZyx~;yvx}@0Uy&aC#$L&2{w}0Dv+VB<0$&@5t#PA1f zJ?>yI=Zgz`vhs%6hYj*T_!_?p$$auQ;Ac;ABVmc}$MnJj^;;eY@z*wM&whO2T9>h; z!EtQgY(+AMD~4!+A~poM;N3K(jI|8B#GR`3!&Ix>il6U`;9;zsTa&@f!GKRF@vtNT z$K1>6xXDvBM)dMxkZ*ml5&h@+t_&oySDq+7BF_|0I>F?dw?GYeRnltFf9_{Ur1bnd zKbidO!h=GsHG$)W6XaCwg~lAMkq4{?N7o<`B_7OV|GW`UvVlAntyj;cw06Q%L=@v7 zn_LJ)>sR_V=nSHd-`5i~9%~8wS_2Q8eo0NFI1V(_RMCUB`d|9o)t2Y^2OG3D1XE?~ z#p2bT!71Ck9K$ahk0#UP(LPR&MIlYegQ&*KF6JVc@gCE-_v2-??SD zyO4iAf5FcnMg^-95G_2WqTort*c5}2==Xh4`Z2B+CO;Sx zH{hAcufw^Op-M`FF*H&fU7O;uE|7`wEwvD0f|xgqcK0WP(K6)Tc)9tIyC9F(w*(6+j7cwsd*hbC+=}GCb=~|YYw*H$* zGPjOPj(HV(RU-`l8R-y&!bM}9a4q?9>qko|lg+d79nH6)I;+|da6J}uRXeH)jw-Et zdtN)LWS;syt%Ju$f@637c+~Kz?Qh)QoAp+-BdK*fX8Lmqk%p}`Lgx2Cm&o^=Quv?5x*l9oIvt8f2^V=fp%KpX3?&~D1+p0eyn>RhXq5B*O_ zVbK4|#nojeeKO(|lhNRY7u5P*b36Flb_SRe%#GlLkrQ!ZEe=Pdd>?l)>e>5HJsjyW zy|eX}wByeHQ`*md{^^gr-5c8R=-*R=)}sRB7k}Y%a_%`V{yu`__uhN@3+eCe+uy$M zg8_q(_W^H#(5@jMs(PM+)ED1Am zsDVZp#}AAHTyrGGdQ1%bOQCXJp0saLhsr2o{aAR(`fC<@-_?zhLB3~h!#rX5kii;W ziEfb-mK(=09t(_yAyc!QwR#kQFa#;WeX$DLgjjweyz&O!>&>g#yOQNd+_^TCx#CCXvu0(wD5PK?sqY0s>xR zDCuC81Ujki4XfqFSeAS+xeQfzSPXXeE8|H_F5+1@&Uwi|3|K4#qOzC3JBCO?Bk3Z& z#GpF>NFUG4$kCVf|*HO_#^O9Z)udpWGJaVj}A>(PuXGdvY$%7d~= zK7Pr4^m!KpFnJ3wo=GMgpZICwB#gPklIh%8hvbGAWhTiwO=jy@=rv?bbmX{pf$l(#NhUX| z#a*yYRBdIHsH(Mc@bP*!@~?5t}GWmSx+0);5 zRZ9@v~c#QW^P&EYFvAvm6k;PVN@*h7(Ew)}`E;Hi%SY4CKp z#ORZLws?wbd)_w99;qb{#Pc$qNcTdLHM~RT6pY80_dBpCppb|A2_+^YyaZK4px7YU|K(Y^m(j`K9WXf zXS<<2A);$df*7?P(YiZ$NZG ze${`nSHbg{Ni672=a8_vP%a@%@oGMsu>qJ!w>7qiMLvRtk}w!-xUGC?{y?%GFdRnP z<%}*YYwm*gaeN6=4FgTS5p-bZ5Ik2K7h_&)Va^IHb0i?lZOtgs;?gIAPBckKOaoxV zbh+D+G=Ml-7&ip1WrPz>C0%GUDEde;h!2C=Iq1Z7oGv3dIxgv;oGONZ8fMRvDae5> zHHa6p;ss(D21AlK;1+>xUv6kHoN5p(p(fX8Q;ftz6eQt?C=`!~mNVU7l@?YqNn%wN zf5^5OZ|`Qz?`^APzWz)p(@xY6yc${h6x}NQOeJ*@UV`8(|7k4JKsXr|wxOrK1?e0E z)bq3t>xP4T-5~N49);+29`r4u2@4fdm zd)0Ql#Q&-7cm(-lANym5$6xZs+Y=HvXa7geUH4}?q7@vRJ>ELLo~F9-`Co&>&{{NLTl@=l4%m0#$Sz$jhnqL zmComz_@(2I4L>J+$B9eF&SoYNR!|ZNJ}LWy!XCjF(bFv%!Hj{p@AS@p>aE8n=+Ey~$${lCzMAC&++ph;)X>o_H_v_~ zu9F$yl3#*Bo##F050(P}jik}XAg7IzFoi6ebyB4Ct2aJN*`N(P&5OuueYR00`E}w2 zCt8bL9tx)4r^e1w9+x~LzwII`X2|>3yVp)##jev%Owrf02R(k)`D*ztvY6ZnPYlS8_wn4@^V?Cq zas0C6Q`%8Y^S}M;Uwd-W;pe{iOZKgA{jS~HyU`9gIjZ`OM-h*zt#7{OwLRqPp457M z?WnSPKgr}{{BwSA<2%3eW2O~ZXNxcm*f%Z0M)0pU9&LQP?u6|C9CMOS5`23&_f7Vv z*gfzY`{Hx=$^hP%&HfJ@%6mNbZwh^`f0xTe(b#7CaK1e|I9BMC{^(`IBOFgQe(emA zKa!uEWa&7{>A0OuuL0d9D7nG@uled%In&(!U!8YKgt!hgRP3;y!;iA9G#7sBQg>{S z>(hs{R+vz0ufDXzUO(mWPyXCqFRH7pfJvgkVBGwyAEGyi8o9p#laH zjsv&md5w(bCHIpu3Mbl=?utK1@W2zdUTgg2xW-?0 z90RfrgS8+fOm)N%BVDeqxvBH9)qgjYZBN}7Tjnl&Wn`8F-jG4T**3CHCy4|3P30E) zPd27ut6Yfb+U_GE>l4Py04|nIFyax<^Btvlr@%Orq!Tr1u&t6%H5FTcXd|{{9eu02 zJ%@o+y_j6W)-Q&xq*mc(po8xebhQI7EXlX3@}@bjP0~*KEk7Zfmb7^j$iW)6H8Nl> zG!kk}*ZGlQ@AX2>A*6r;F*-C~qyie>J))#h1b*GEjEE6%tIgCEM`BGF%SS0OWn5c7 zT$!6ZJXwP3Dv~Oi)5V;hvH>m>4_HPRTTRazjVFb);zK2QAOl=IBr+ACI*QLm$<>ks z2PQDe#CNmq(}~Bx^F;woDcc zz;N*2)UOJoxxqR~1Ul$0xe5|k=>LOR%f7aynk_2InS4DTfbAQXuJOJ(6Jsr zHd>G}?%I*;Sg(0>_0~zd6JNX&VeM?0;{LX@_rCJg>mzP23v%mM)V}cnRgk>P?Ra0# z?|l5v+3QRsTz^sR3-?D2U)GMK&XygRlScwQ}o7LVe~lKVhHzp&xuL z@^gIz@$diq_16~f?ftdqR9M|=haUfxC;sB)fBIejiT&Xp9tkw{J1XGfM-i({cLYsO zI_{oYc?>>&`LK>F$Zvm^aDX3VYYr#uW>R7%N){RfSEb_|Oa4FmVuJ^}b23l)oRV;0 zZ{KY?;*%zL#()XGFb5Nk^HX9CcE$~XLi5PUAD_PF0qR0NTO${p78r{W{|+l@wpTFhksS8_R+Fcl11Q zE_+PF)Ek8fkWRSBnI6>GOV+REAcQywZ)TXuxX$R-CT3<*j_avZi*X(rGru#YK|y76 zA4w@Ay!kEzD`Qbt3=cADrN>1hzXJ#cx=l>eehQV+A^Jryk&tu*nYp*7*{-76*yEzytoXi-PGvF`?JE#$jF-XkAA%F#0|=87P6w}rqC!6 z{2<<9y(5i;I~xgWUew0CCbft&ai+bt2BPG;l1*X#@^Qi#_LO9A=ZJ9yRA>8B7KO*r zQZ3`yWXs*c!1{UPjrnyWG2{1P$zz2jDS>gd7a{S)b|Y6fSoU?pDEmd?DfTG{loRS| z|4arIKHVQkQt~R!!VbVLSd;yC3DT^S z80SIlW9*HpM~FlN_Hx9cdcJOM*Y%nv#Al(;01mfl0If(!tbrl+f98?WAxW<>4>yJ> z4t-zC<8(yA22Bf`^kZEUK)Qa#jPv}3X%*UxKCOMj({J+g@us<)#{RPjlCm~{)by}l zCy5?MADwV*%+HFuDyg<4$vj$?0AHZlnanh+SF&&m8pBdh@tAb1wRNM&2Anv1oE?xv zG>OZRRJNvV>gmL<@wDpyAQzlsNmNya0N8|iNef~|-*$ow7nW)#IN37hWyWT}#K}Gw zh`ery-C`JnrrkJ53ehL&@B5q9P5}ld)`fDXWNN9jBSFmUGvn~bNq^2>J&x>>=#zm@ zQwmW0;R4N#Y#go6Vo~G-YsZWN%wCtJ+Zs@|580sO~rd;d^_2 zJNSG28rthE1Yn6izN;dxnV*VAXl{?U$`oTq?qM^gChdjnCe{87zJ@5`L>Tz9AOVuS&=1(mYswbm50H{@y-dcMCIy66A!1 zbgXYYUrxQ&c(+;IJScoCmmD`%AVa!4R{)oa~H7Cp>tZyS&#OIit^2G{(8tV>*F zr@ZjZ_m&{?y`zCmb>H~hG1i0QBGyT=ds5w0YfuLr@R0roA<}&Z8U_0jZD;wKB&0h= zuw2K&oAf)tpVR{S55yPBh;29P*UNjMSPKGD{DI;$awf^iYo0*$B|6^9^YXZM3^WS1 z=S$%uXu*o$GkLY9t&q@a7EanX43$D)1|Ind2tluNwDEDEXl85v zu{TPy4$_VAXhA&s`nmi;$UzZ(C{6+oquq9L#u~0Q9oOCC6kMaMwL_fRZ0`bI`m6*G zpX4J1?9*0}^);~60|HYgvzF)_MT@X(@&$v`qDwfd4;z`1vp~6LCu$OpN-j1H#Ac?C z&t2iVN|XyzK|`-`^1{sr+^|XxEfqyZ9H;pThx(`uZ%M4sf|QnUM*RF5Fw7)pCrwf4 zp#rOUN@5w50zAfCf;J0e*$ZLFiWBd66PdW@#>A&vucq7$Ss(hpB5#Y&;$~zsV_hp8 zp>K`#VIRorjX^if2GmrmhD;4z@HP2aI9v}eptXLA{QAE~{*_(zoN6%QEo@JHdHFpM ze)V>|PwV|wbsX=_dg?p5?(N-e^&7-H{F!@l`jy+aE1}GZt6A9-?_(RPV1HLB zlQY}gRA=zdeP@-24ewu*7G`VG3$)E#2>{zIY7CW7Yu8;R8(}U!;l%OQP<}M4+QWk{ zI4^z&Cp3(z%4afxAe6sxVgJ$X(cqpZcZR!}Z_KET_@__yA)qPYyWnVoh*tdOCQ7OzC)zDbDZ5``xM{ zrhR0Y51uYiW}dE$a9MP>M?}Blg_0#viH7lWWCPo@Smc39r=g z4fK|u4s1x@M7gcksCDRqn2!_INQmArL`-J)dK|?e;GKtl@ujo~X{B*MThW@7* zQyiFO$uUTE1-ywvIi%r<3 ztxQDoCGihv)b+0tQ$hHh{0us0Lrs%9k{5G_4E0(-*}QQ&`vz}pEMU>lftLmLl>qC> z<``>2T?4LR%s{T*kt-!5rHAe|lN`v!=eT^gLBMjH^AG($aq^Z$?{z4CB=p@v9@i+V z&OXNeR}iC>KR}7l+*6YK=9yrMi+Rvjk1tfP?5|>5i=-Mu|MUn%)io;mrbu`lR z(MhXQ#!GnIN`cwosXHIOrReQyN228^$(DN{{QlbesjNAwLhkR)x;Jh|V(WO3{Hr86 z|I+=JOW&^MJ_4%P`nNiy0utMP>ezbRkR5>B{{vyy$TQ@1TjmXRtZ0ASRl&?tyFSY` zIAA>U7A}%ew-O*a9#iZpuXPRt-LcFKzZsEA@g^v^?h30%G7j+nE5M%qf2X(7UBn|^ zHM!P+yu8Is`qVr#;YLA==JsOH0Jxw@D*bJw;Y}{t$ zk{M}Z1g#4|6rCgncCDzX8>mTR`L;|y4!~qd01kdOh&;Sxl@Q{fTTDPQ1Uy^&BA-Hv zHP_g@Ws~9eJhAGEB%G|`wb%$LjnCLZ;}6&Q*qqf_SqNJKjD8f*oxYn*I;PG?>v%}F ziY+8Y6pCzUaj`=CR?@0sFlWJMIt=>HF%Yj?S8i2rQ4qD&ouDPVtMZ`~J%Av`IvEln zmBcxba3CA2vGB>LVFXJHIt+^xf-rgU+IVFY9#JcXnDyqy6(YftoADA8)43#bBeOXl znaoqTl749mwys>McFJdsfiVg&LR_Ls8XEDl zj%|YrDrC;Mfd7Jx1K*hl=>&!$erO+WkBB6eoEah!2l=h(SKdx`+Dn?ZUuy}sT*RPt zU7hyCgyq0M>+Tpncb#9y@%p=*r>880CdIEq8IED=xZ#j&EwI9N2|kquo;Ls}6kPMv z35p{^VcvD+4f&$tH?t3K@c(O`;!hBUJV2`pUG&=qZ3>I%6Oddbq;s7(k#D|Zx7$|l z>Jh#c$E~X5h4jfMoRts6=)xuAuHw6I=K!)&4H|3z)_vDv8$go>j~yC^Ovi^FajSIv9}pQ9Ed`5+jVDiKdX}H}9Wjg&~m) zzMC+is-rrY0X-xh5~Ca;Ap}%*SV2!1L%X4}iS9%Nk_pbD8Nh2v#+eP_C|;$Js!gu0 zkwMrHb2C7aOUQ37Gj6`gGA;KuMv|x#OEwLlx18|&JA=wh<#$GP;v>l5isa-v z^Iz(Ql-U|g1ay}s@ABpH!OzlY{c*00qK>F|W*<-Ebi%NsN$!&(PZZ7f`#hYA@ zC~BZ}dS3+a%c1t*J9VxymUuYvOI0rQ-@WJQJ%{)VnW3?)Ncu%>W`sBjCyde|GU_%6 zH0#YNpd2gwx3C=*T1Uml%i0kHfBtiywYR-}=Xd@wd(-V_Klju2@sIyGdzJQ?7m37A zKJgdP?(L)3jvpR)?k_qX@5Q^fx1>er{@=l>%k^j{aBVZW5xoyK2t#b36BM-cMPIL9Q-I;$O*qzr^ zF8B!)8`M|74ihapR6&9?I=N`Z{KqlJUEX+~{@kuegs2(c7mrqXVHC4?V&Nt-Tln|{ zT`Ty&GikM5FM;seZJ!@d`vB}L*G$iK(yHj_*Z_6_vOtvQIJQe71FpQWA=6C~#V8#6 zH!jgyWxKXDe+$0|E@#zhZ2mp{=?mAGKKapwD4lDtfk==bGQP#_s@&5)i}d*on>Jxn zJl!!^(@I?<-vJm{t0Hh#$d*19M(0l&xc8~!xZasm6+A_^60JCsF2G9U>K1b!P;+6ddMJDOzY2Hd?c5AP326u#m{m)@x6E@>YV7cTe#=SK1p<7=o4;*V&ZgCKY#< zd^H}?x{l4~G|;{R3naWcn>&&jtd~I!7^`X<@JbXhzl(nXoU9WcL~a-oleMH?d-_vTt6-4qz2)tA;rLU6;vfI9AH7z1yv^-9KlWy;Qx1N8{`2oI z5%|@=|MPaQj=Q&AJM{L;?|toAV?O@z@3wn;OPW7c1f=}+-9_$rf zCAjnk?%4lxW5m9x{dVrhJVtT_crl*9_kre|^bJ4O=muNjcdMdm2k&;=!nm_z#(02V zIwc+6n(Pa!`@H%!#9Kf5v2MERZM8LKPn1Ga;%SqV60LHyAX2iXRDbRZ|ue2fbDEHz-c?U>bfGl1w0MRU#=^UpQa zN;O~oQlE3ihRT_!nhpMc!R7=<`NM8weS`2T8e#)mj#6_(=e_j>2|VbVCh}0_qzT0k zURmi`2M|G`s^4QX2j?jNNw= zc7YC3suP#Oqxul%b6$R*70Vg(z~wqCg*Pvqg*$cz)B$g9N;Y*S7De;%2gB5+bb*ES zfjl*zjPW&jfqLm2%c#>oi+&T{4VHLT|MvUBoSu2-&ApsG%Zf3g3mWZY`e1TpMlu|g z#1$PUhAvxMP#?qEOP8o*5zvpqKX-d^jME;4t&cb|Qcy9hmu`LwnuH_SyEe$t31m*A zbH$*_ITBaQnR*-(FX_I7>-@0UD zS6+jt9`E!W35DK`#YuNNtFtsvUK2D0{~=woSP~Ss+IoHXnCv^iIbE*t_}Jja{MqNJ zT;i7s(r;jGGwC*Q;J=QSn@^nZBmZ@iV3J&uag0R43wfLstk&(p#)xV08|RHH z+>`%0iF8z@P_1`BwrdG?>KUQ8wqsc%qc{WeS6cC&=+XR!O0t4ef6ar8sUO$>leX_5*xjjuu2?0&Dn^7lX+TwB zGL!H0$&<~;^U@^r936$;H0X-^l~xB_$11>XEEpP+MZ{F#T904>hrT0_R-t7gCFE-G zIw_T6)e*IKRa5Ik0jRla4Mt+^kLHOp9nR({R{i%d{ecEr zGMX408)Uttw!1On$x~kb@F{}{1;T3s#KL32F=%@t)t-2qaD#-2dEiDy!^D1-Y$kDv zf3%EF9HaZNC338t<6OO`>_pG|Iz&awk@>FJ+uYv!%2(~PpZSTGzF+64IQn)}X&rbS zf6slqYPL7|QtYEL>vdID9XvmhiBEm!*}Z*x+F=Qvy5_IzT~^2YwC?R4Z9X0`luLEZ zY*xtJ3ifhj9y@$$j~?g7H-AsR?FMRg-JvNEn8~j8DMPRAXo?`ew|sD)^TDU^k(hCD z@azWt(<`0VZOdz(vjSA?{prhfqKf%ylE|tcQRt)K4lxwrRz4Q}JbHikiKK1Y`gr1c zelzIwVS7EqdnCFaByj^b7yX6z^p*K}UUCXSk;HO>p~=$1VL{$1=HOH1pY9SsPRQdp zeZv>ukH@h@h7G>`x)_irq2mU>qy1OJJ!``}oY0IxL&uMV>EpUVy3hTFZ$8%&|DI#! zjqJvkXm6>BQ*O>_DCTOxFwuvOc>-}l%b1h?cYHM|j9yDKU*fK!-)zLK0bT2x-Ztcg zV!6};(gP%fIk_hy6RXnGSBv^*`4zD0X|xK)3yC=#^j0v*OYPKIv^>s#RGw0|XssWJ zUlJ5Dcs?oyM9vb-i0ri^w}`kJ<4YLXL}LcD5{yitss%p#m+cxzt3}IZ{}iTCr^F{{ z?m0)U|BE>;+xO=LB^oSoA>h^-##8`SED->gwdN_-_lOMyqvtZb#GMl_LB#N8Qg~DU z5DxKk)5Qpynl=K#YtUh1oegp!$oX6I`4@_GPojejLJM zfn(Z-TdhOU9ut?KyJe;|JtYjiRS|^X2gHhFFHv$OkGp1L6@)eu*gjtMxU(z%idd)Y#e~|vnv0pJM)8eEodInEoWNJ zq!fOb;DiIYHo$hA;X7RXSfSj}ISpOwYKWnpTztFRktlj*&(=#|-F-p3`4V)jVs#u%& zwZ5Li_gWK^K)F6=BClhJ{4UrI9@IJZSISTAjsYZ>3LabGi7)k-A45qhcN34Q{dM1Y zlh?kFoH9xW2B@{r0sOk`$Iv<}{}_k!nj{f%l|G}_D6YS@PW%k(7;vwvh{%q1 zISN5ismc~`yjsIc?^>SXh7IslUgb!FpXj+MAhD`ys(32GmN=eyx=WmP9BPm0ztRxP zdbr@!L&Z*op?WC>!Jws&h)zbQo<{4~y?7L`2oK#owyf7}Cm_nHVL9#$-E@o6P_7g# zY8)%7L18-~<4{b&Er>Cd=t%?BiG;#3P(nGwQQy!fbk{VwIvn_l>3g8ZAuHh!t8x^7 zD#-2Xi!iF-VVa4@=BsiPkFpOx`q%czlulWnQtYIU-)GfpOq5RBS2)YY%JY@1sZijf z*Uq5ez3#5if{w1^43ENXgcdlQGQtooxDP#3o)fW=_93ggIU;#kbGRG5h&`H|+Jss$ zZ6|vt4~_(Eq=gK!l>P23OPy;O2-Oc~?98-8oaBg%YFN!-Ef@XBX-~@Xhs}X`GEU)| z(;Bc7X~YNjo@U;RRr>6jq`G45bRRc(4np_A;hZ>dZ3=;aF-MBerC-d!a)eI(&k^;G zk4vG$wojeBD~#|y-~4Ax$k5crBW!WAtuOVKxA)%r>WhH<XH;E%^&kBF{a5Nf#O)9N&;RRL{eSGQ{fNEa_FQ@RgFk$F z((T^9z0G&$rl0YIM9oZmX;KMK9t8jFxf#VlL35(=Wx_l^L+0c@J3MEyOX=DZ_VD0B zTUF37?hIe=CB|}nAkc6hZ;Bt{Decq$9)9SVyIpSo}K<6B#dfWxykbO!3w7X$zJn2p}J`LEa$8ERUE2@IB%3 zUnLyfl@`_+O=w2@;JkeN*rebgomeiH+q#(;s+l+$M9D2R3AQ9OTQJ=g`G0tsoWovR z0)dJoIN)7_&IcE|jmeH>27Gpy3R>JcVgBJ;p$4LUG8m%#k4DM`P6#WSCYKrWA7!JS&>OJ}e-yw4}KM&2tWHq*~Qk#uPa1=Hg$8Q@ZfI z&TG;RcQzPNS|{Nrx&;z%)9?iKE$5(k>oRM)c;79{o`N$d-gio{ZX~o-@fsUfBCHb zhfKfU1m!0_@w`Oux4!kec5iP-E1$g@Ke|+be%Lfqf`jwQ*6am_pat26mU{2TtIK$;c4VNYm{N6Ah5 zeXf7HZZ347N@unTHjJG3eM7|+=9*XP{pWKBig&!w4@?4NmDM+jZ<7t8( zXn@~N^tx+TXS_$nSlFOtrLk{lPZ4v9(>C#PC6hHp%cSrb))U3IVvRnt=s%#%3c|X; zGNt@8l@ad&JiM>%lQ7t_me-Ix40r`pzYK0;bJ4phVnkxj71GOXhz8Bs$IYW? z-iNE1?>jtBbEzF?kU~=}dtKvqE3wjQLK9VeCwf70g;~S~daiD2C7cJ{n3yTSJkU#R zJWJjqX|miPT22Wk#(9x~K8;zTHHF4=GKLJL6aR|dIzDxk!1MZT44UgDT=#7D0sajian$GEQ+;^ee#*bxyk8UNYgj3;9cbd79>+HgKt~NDT z@JKl7eOfQSbNlwTZ+zpouYYf^^(G$g`qD3a?#c7~#tS}w z;R|PV*75n&M8ome;j8lDRof5!H*co8?QL(zqr1=1pF^hK?+-2f>@yOzhm5`7_t4$j zn{8YXz=?nv;~WXr)WFz3=B4cFKosB3fX-h18FWLMM1 zHw|^9PY0BIW%es)>l@v^yJkdBQ2&8@gxyYbu{Tov`M}z*;2Ut_bOkDe$oW+mn68r- zHewriOEEZ=KGh|RmhfhBNg}0M;9eUzj6V1t0iJR-3;Tz+l4$1`Yfrg-Mk8E9eMCZ8 z);xWKS0!%LZZ@ZyY}?jk*EHF-Z8uG}T@$7{**e*_JK46oefNI%x7Pb7?6vpv?)_kC z&Y-=~_&{=mZdiGUxga84?V((IdYgJJvnmmR9g5EDqA-FeXfvm3!LO&(3aKyKCa8#- zMV2Y*Q-@VDqya&}-8)2_@1V9;{ipxc-1m-jokUOMO8v|clY_F+Tu}h}Jx3x&axmo; zE!X9`Xy_!q1W_d7vhixVNmCUSGUm{HTY>B}n#({pt4vhS-|tEewy=Cqe~xtw0f-#oVYm853_{KZQd)3?8C}fEc##^p38HxmOhHe~1 z`16ae$9)NVBjpF?drBysm=;*@Lfo~1Ib|d~Y*ZD@iPVZ{l8s^mo=D94a87d2j1<*U zrf@VgH#K;OW@vN>e09ZPH;eMvUTLqem)Ni>aZSj8I0c;MQaMcEEEGGs=R3Jp(kPpH z4Ofk0O^q6>(v!3IO3wXzch1O4ROoF{Z%vdi ztuYo5YMH-hk-C?!Abto;h%yH6mjC<`6DgaD-8N;V6)!$3`p%vw4ToifzDb62?s`Rk z6D8=$K9QTz%vSAFBxFu^rjFTL3c_H7(dmsQMCTR}oELZrKrYtjiuCx`If5N0++4Wt z88`2Op(54&nenK+aXW&i%0kTK_tYKR+Dqap>qVz3=SIEsXSf!2C(%V2u^k(EJZ zPa-@s?d_+xG`H{aH$ccv5$Ag==FlHq{2g=$BsePj8aecsgmJZwIypX8=P;rB;k#Cp zAUCqLUhYebtHeJ)&zY6;DcI<}m*0ZPLAqr7aEUTyS7T4-L9UB@P*milA}r*24Ch6$ zbU|3zRFhZB%TBroSTnMNu5@~a_J|e~z#c{OKf53HchXU{*0R#h$Tv8 zh_mn7=oBv0su0eB!d`VxGThMOX7)pmIySEQS)B`Ah&Ka|f_{kfe8*q{Ht~)dIr&yM zp-HC5bF*S7a}*YUCyx%TfDp~~?1#);RjP3+{yeboFqSnuo1i@ybw-^R=e;FZN2-jwWJn@=v%3D(>1;XP)V~ux_8v+D> zhH4$U7#l_d3NZ|(KK-ut-nfd2x0AEWj3N%i>cMh{{yoXzEU{TGilB zJlD+An=IKxU(~0u8sBNPPL*Fat~=s4cJrX08I&^RyZvH(R3*h7fm&_&i^pkj2|gno zuur~(34AHRB6oqYB>I@B8nD!W0QC4tDUWGHBC&ee<*ZUtld41QJmZ8ezK)$A?bei~ zI`&l@`!L!S7h4rPrbLJ*6BQV3BDsak18hZ!NB_u@YB>yrAa0nN$hU7sh+lfR6FZ*1 zB;{DID;7`(Qa4AQyf5hEU5}efXIalU3)d(am)=h2Eg!qW59AJa*x+##YbsuD9n7cd zy;q*Bp9Ws&rb5tnANc?JHBDv)eMI&&pG8fBrR%&yT6KEX$$S z1NV_-vF}}PqD%n~86zbo69J!({$u`M%^<^Xm-};Ht?D^pJd`|B2FsP4)RHFV6kh3;@?VTde3}9(MQVX@%7`i-zVx@ z^Ot+=h?-w|oW~3e_Q2#)={OYLuF4@Um4NjcE?+#`HnSWrmO}(*&YS6t?2eKV$f9AZ1Sd)W0SVWQ9p^(s_<0g99P-3giA#0q{z3urL(K##c z1!`$@a8c_~bX~@gGL;%2-I)Qex4U*2jsDp+|3>}#oK+0MY+`3*-Q&kPy4NVbV##}S|4_iZ>3mQ|J?N6i^zScpN@p+Jepai| zJ`+HrThFxx7YbNseE+&02{P^Q7KST_s`yQ1bPDxrYBF&jv2sWOhB?RifSN>elo;{R zSjRGz?}12XaN`d$#QU6e?JgHakRjnW5Y3YL^POb$B}I7ZBY({gxV5mP{o=UBpex-J z`K-*(i^jjsCu+er8dg#gV-@2n@Hq}1{6w$b)@BnuOWqEPmF^V(Vy*v`QZU38^)>^a z+nEzh4eAe@yg_qW@^76H4@UWi@yFz4FLal7uY1%1S1*rkYuNg`fBRwMge`>vKn5RO zprh9}p=?HbBA0yEhFzywvC=X7af+XukwN?G@N=opmi!XaCQTIh(_>tRG2hUH9N~KI zYa{V<46ZQ)VjNo))=VZ&h4zy&shAZF{yKD^D@+1^w*R;ae<5zQUn-K(fY(Y_-IgDp zyF|WDn&8ozJ~bR=3`8QolUU3?fWK~^?E>72D-uq4qC2XFO)_=YZiV!z8KLIpF8NV3 zSt~}eYf@Pa_LL*5L|}(OtxTda=pK;Cko`F}qD-RYY{kd?gZ1MfMJx3r?f5%ugyt@n zXtWn-DGM+1(`Os^PipQd&RR78m3`iSRJ z8En*IcM=5^MUeYjd`;ZM?F<)Jcz&fa zX?9C??Q61IR4=717u2&vjTR*(hb1ggLKrX<20XXV2Q0~`WQMS3@4!F+x z7?>Vfy|&4$R=K!5SKu^=wQzJ1%n})Q!q};mH2O1PI%hA;zwyNq4Kc|uJG+Rh&J&7X zqhgxn_51UiGsoni7&Q@|@6+z-)ji|&1B1&qjrrK(kT|;>!t&h2_?t=|v!8+&W`xs9 zzADgm7oBgcwd5*dOv-qE@Z54u?Vnq)GfT@ zW~v@^V0JQIn=~)sw^y=fKR2x)rpmT30?`Ip&_IJCXVYo4%iF%!)|wPucFma>XP6nH zAQ_*Xc^yYpV>{K3$S1U<=~`%-7sEU$s5p|(|oE&dKspzcW$P%3uLD5sAAswaXX=l>#8Pi*Askje1aUcpaa2OZgjl#k?Y;W@*V9YSIIEpj{N+&}gP^xUzxFj!Ipzw4j%HMc zIj|+$&9Z8#h}gL5H`F*#Xu1r*%l@^m=29Yg!7Y%ArhI}btg^~mK{-cwm*>d zaSKNc?bQpXRL9OsDPDMoJQ^2YHg*)3DP?nE~ zdg9%mYI5dNrGfL=3DUc}O~P&`2{5bJjo{H9P$UOx z@*i^#uHkyr4}5?xiP#{QBzd82qBAj1rg{wT!hc{^z0rC-cwz`BfKsr1N<7=U%Pq3b=?3nlOfU6%p*SgxuIZ z3?IEJrN+y^Jy*0Ge4){Y?90``-%HX$Fi@epdKk=OB4Yeb;@~@8pvEjC+ z^d$lTgO~|V%!V@^?XuHDN{X`iHbQGAYD)@FfjXvk zLpn?&D(k#a(z1MsKH!A3Ugg3bTeuUq$JRCCHH$@Dydxr=&D~o3QEAeu=)DR`+Zr;J zCzleRXn39IH7-EUByW#3?9HEML&_<4BA;!>f)^egzVB`gyTxbKx5|Ah?#!`W3$c&e z9Vg8DU)E0_MH_3dbFm(Uog)UwIp^{Bs4B(Foq}CfDN`4G55uLZFwSTL+$3o}XLX%9 zG60t;;m=7So2xj#nQf5mLHaHa`r^k=J|DGXLoTn{+X$A=RjI?nR)_ohZNqclARPt! zmKdl3$NHFeT$JxIJG_%d4ejQHnT>HKP`@fBNB*Gv9#Tqx;;p;NICsyI$r2)K``g!1 z`N^>x*7}|Q`mo>r*^PNXt*U+sr(ZgC>S)WJ7ovBZr}dzc875UzZOqdIgD}kz zI+jYp#&7GCKPk12g`BK9Uu=s97?P>pJxET|y5I!b%kj^HXSEY~8mhaQ4yfOk{0bHR zi-su!Raxzuc&1_d>uFQeZ96Immf#&!2ct6OFrj9niblU;Dwx(Nz}2#aGw$tYPwJxI z*Ot0@an}X@45P2_)BS8Ia$XMJtiO4MKRkbwkemROzRbzs4ILTdq6u@!q`r&vL{>2X z25a;c(i8eOx~5{^P9UiIFJUth!;(l$sIz_leFmB5B3r0l{c=)TW#FUT}yu&sB5 z&S7u#tC$kp-$Z|X$A8PlXl113X9|jnSLRY?o^0 z1~v+ib{RxmjqI=dt_6sO8EZ;P+0tw*iq_A>$T$OGq&_}dM-O5(*+X81I|?LjuSq_Q z@&4OhXoASAjA5{&e7lA_=IgSldTd^HGWcb$bgF}IRFXRGato2oy2 zp+1!=WxehBzsU~m`b)hYG=Effg4{c}Po>EOiwQ-{C*HFk)`u4V$19<8wmq#%CQb>I zL`1Cm+KcUftX+0rV&Len3i1PC5IJ==qq@v(JzKUtMxUf%^RG9OT}H^LDsm+7FC88Y zdw&vNOszU!9vXT)EJvfd+aCWFELoi*N8(mo$*Tg|nC>uVbX3)&DKP_Tv%;J7fuo~gX;l|67)k*eFW%<9U=W}0hcDI1dDjJ_jLI%&MK8Jb{OQz zV)k7dljZkx6&MC^7A~zhLQI6oSIR*^vZjT~hyj=;(tlBu zC!oG*CV0jztL}E>(~7pYuOyDsd0W!HSY?j7NBcrrlD84m%1j8(35bA?kllCqo`e2g ziQEYrVpB;*FT62mi4zyvP+WgUhc%`|b6$ZC`I-Fuy2wbjf> zJ6<+yEO3TtN%H5u#41^Qgdw|LGKaS!F^5|nqj{72)`je0XwQ%>ROH}}3u4m1atE8+ zmMX^F9qcA|a+J#}ZTS<^gk z#eQ?d3wG`LXgV z6Q*D83_dT37cAUEB(vuZgR3@HZ>X|2O9UT3{re&v4pj0};B=C#BuC<9Q|ATtx1WN^ zVTaPmSFx9k3LG1USR&N1aDekaY{Dk?1v zz<+1vYbm8b=&#%u>y>me?yvF{I!NEZTZ5xR+BHUT(#FRlzjbs@Fyy|+C5D!fW_Uu2 zTZ4Iu>E9Q42&<*w=EZbeTTh1x*Wr>SL0Lh>_mlv9>%9(AdN(LGw_;%KU#gnKAl)&d zE4?w;YM)uJAC{TU_dF3WS0MXXmi&ZAt)+K*FX+z*t07%!5($$Nb#PnjKBs@i6^XNw z(14FHBHN|pa$@(0az1X=(O^lr#zK_t4FYOs^damHjX~KdnwMbFQ(oO=S1jxp2gy}d zT#%m}MM@P8xhy67Z9=2Mfe8zkm4_OJYc z1u*~`xQQ~ld-=p|T+|q^dDQz!z)uW%=tH&~hZTtuS~z|L=jFF~Pu4^(B7{#Bc0J@P z_9AcQ9{zPQ(>hKKJBzIUC-s129D@USm6|cyQAK18A$b6L&h%dtuy4NadPzYN$J5f# zLD?JsE?qbnreL0uv6>Co4~+;+K*}6DPLj98)SCn3np7`nEAXQwDol;Ln~hkh?jAu z!zvh&Lp}|;A;irlvEkS@fD$&Ns2ptdaUOLnsj@{aw*=_!@*U*bd!YBLV zd+3NL9mE=e!*3bzb-1P&67KB@Aj6X9u;rPZq}jHCD>A989u9j3{`Y#kjt!(?lRs(avC1P}qw+zOjlO;ccs6(0b&jg2PYp z=h&Utnw*&KYvt=Dqmiqw6^-VikzuN{y@s8ZTN~Go(TI*0h7VQ6eyh#I+QinadrKTs zk~Mb|H$OIrO<2f3JZurn8qV$BH9kcv|%RZRAx=qz&)^?4`(K=kf~~qDB;!b=JH7nOAL%HE7dV_HGHe>yEn=V%%F1 z_PJ%A23D7u6mP(+bgGYNBCnQ9-$5^}zpeTf$Sn+vNC-I(M^i|t?&L3h&$in6eLm}4 zy6YwB8I#m}KYE$TaDj5-5H&I|#Ns(BrJ*b9;hlBV%?Dk^(i#;?~C_`l$MFHq`pd*Dg8A> z12FqPN9D=f`%S=7GMuksT zMqd0b#el7ZyKxkI0Z-Jz{?()2OWLr=OCfLl{u75Q!T`V1_?X?={VyYRzo~^>;NzDr zoZJ7l`CRAIe8ECt7BCbXtoAcfh`kky^*vYf;2HsHya}Eaac#On+>Xd~dJL*VVsNR&`p%n%i14tXws!M)h{Mz%IbD&hzkw=dw6h4tLpL%efazafk8 zQbIfyOGR9{+uNpp7$hbl_>Ce^dD4;h~lzj&q z15|58Lx=?QA|wT6#KuB~c#8W>RE^p+E8h1fefk8vwEu;;_C5n#HGzvOQj-3YL_4ZX zZbWA@W(DIT#5P8oP1|zH-X$EaA$99DzC)xe1g-5;=(_P$7rAmYO9-a+h zt$=MBruuu+(gu8It6s{*NkbjAXQfdaLR4UeQT>ir`fc;Q{Q|Zl(Czm&jn$%V1lrnG z2@hBk{pvX-l@=)lXW8bbC=uR}@vlds=q|H?uv@$0;CBkrPr`V#Zu8;KgrRIbjD1Ia&ClY0SOzLvirBMlWsg*>f36wK2x`9t zT!$cF_bzxIwJm{UlUW&M(~xy}&|6}CWXT^t;q7*-aeQl!o~M99zRwe9O2N$bs^c!N zrkH)zrefRb9ihy5eoO@)0ZdiG0s^BHAn)Quh+qDzwtF90FChgiwBI$~T>j|Rd;VCo zK_Q&r>lK(~xp$?BYdHnr4X)MJ$CSd6k@h#TeNam+?9p~^(^q2KuacloV3;F#q6xK~?u$-0 z;lZ%9O;9d+i^*0@;nIC4oc%IS7Qx{|# z*4XMogf)hVgPIlm*DbaELfrPh4Cg&wP7-M<10A=3UsOA@lhewgX%k0JMFMh3OFq8` zUF7M^E6IS7%4iA_g+L&tKqo^Pv{33nYEvK-{X5$_5C zb%F98e~tn~oC_?0tT`4Y6MyGU!jp>{`s1aCQn8b6^2})gMKh(05lbPNHS0HPj@rW~ z`ZGDLRZ*Vb6jvTppM~u>X3AFz#D9<=6H;g@w#^%jSU{CtV83q;6ea?&rcZY1!bO>< zTn4}?zIWQ^@6%!Tl=rYf955!wCp5tI{0W#Q!NdRi2xNV9Rsd`P;5#B z4xFT2J5T9J@A2+;Gbj)^yRH^u?hxs%o^?HW2Crn7rnQxdVJnCQ#$D~wzGUa_j>6N; z4+_=gyyMxkRoQ9dMKbj+`B4x6(Sso*r zJ-xoiwSkMcMo3u`k{mc`us-*vc>+b1hLe%88cZKHGZs+8o;tCWRQYO?6`sKvoe%iouW6P*F002m2Q=1~=eoEJo6tb4CLpkG1^j z>nEySFtqiRvTQ%5UCGGzV8ob`s*>s#_>Od$i_C&`*neFpNXMP%JjOj=fm&Ub zNi(eN_XEgTMkpcXxE+qd%%`Mkh@AsWzPB{#-q~#cvT>hH&VT-06N|4~?vLW=NYp16 zt6y!EovraOJm>Fu$DN2BCy9w=hAC$lAnk(#XHem|7>GZW5Mg- zh!lC{9rUfu;psAk4I*&#af*aAT;jahHlDPq>Ua@UbB>u+*Y9DBrf zr@nM2wrcrdr{|ui7DExjDCJ#Q89osbf)OwdjS3H_B&gq0T}Z$vF-4e)RKs$yF)B)g z69NZVL4)lrxbOr9FfoaNbRI>pbbD@FmZ~L!d2p&<1Oy;w$xO5AgHtz_D{g`-LwDM6 z50zrYH;5zll&!!MzHfAtoko4@(3dW3Y1sKVf#h7LycathsFff)^O&$^bmW~iH1TgS z+T0jE2MpB3pplx?v3U2cx$wR`4fvTT|k zbv_WOZN}x_46X|(L;`uSt2=#vO5Fot@|zS$LS4r%V|Ai1-{~)X1?)?fhg**^ zAVTG46Q`n3hpsE|Df3;=Q$1JY6Qxm6=`gaF`QoU9quuU66A08gI`R@MI{g;yFimn> z*+Xd(&pbegW|Jgw2)p^IUiTFHVi?9T`MG#%h2S%>r*jT}LgXD{ksD^TJ;!LY7yH0Ce{_w%A-SF?ZEMxFp_}>kjijUol`t@swt@5RE z$vmW9$Uvu?7(dclSooxmc}NJmM`@r{Y9Pib7erDycYHI+A+RKi3`}00{T=TmquiHz zTWVBn!seW)>*&88w@t+kIX#JxFVnr>l-Td98e@q24I^h9UMzkCLI8@LXD(AzdW1|- zytRUDX;Qh?{woAL|Wj>&uPn$rnPdnoW9fAdbIGFMe?QiZzXNHw7h%q;+Gdp0_Tk+ zT1K7GY~}WzZ{Z;ZeZxh*jPsk=(%g0L3=VQD|fCwTIHX`&ybeXsvVO|2{v=OrXP` zw}7&a6C(8>*>+j}boC_!B5E3A8Fe+Vio=k}uV^X{PoDdG=;r;mLD*?D#N18$+^VAj zm;Fzpj#>3vJvNpO;Li*~K~d#5(6rV(y%4y-lYqqzKn+?Q)njci`8*32SkE1&8Cb4D zXHUNQ&!GuBT?X~GY7cT~rsm#B5PyVu?nk!v^NsmYA1LDizWE?C{WjQ(w?*uusM%bd zrnPQ2!J!K>v^4i0Q!~zjG471Y%ZSUM{I^_1Z|Xmli)%>RbLC0U#4`Nj4ugmCQ_yQ^ zU<_hdgh%{DW6@b$|LA|~T397hc(s=P-ObCt#0Y3sIb<`mu4D+?2ap z!51Nk0q91Y|MRP+XEmic*k6`}Qv~Jddv7ThT*5L`VweVC&T;(KWx_8*VV2b35G=^`@GgA7DG5 z7TF%d?(tt+s%p|Bs{r0^_!6UlmABf;kla~NS9VO179`U?m93id}l!3{*3^2zboISth0QwHrMw4}v z18Rc*mXT08_&aTuc=&?$GKTM6r@h^?`VkY?*I8{22r&w6I)IU>75K6AQ-;MHRGuzQ z(931{o*j4ji(|op-1CFLLWN4fsJ{0W>U)&*cK}EQLv`>BLwJe`ZfZB>cfzyPUfv zMa%Ai2u-*UL?!;(pDn!CGzO#CB{%DD&V1&67fN+uSvg(XIDWL+>?3aPCyNUvg^MA~ z5|C;U7;H?-Gm+UKX=^RB^+nzi+jds}29(AgrorLcPfX8dMWIv%4Yu0o6##=c1ZLEC zw@ueMrk6f7W>4rsepFx$idP276`Dt(C*LJ!dn~P+^D3C}R_1%WCq20;VabP%2KVCM z1`*5}FFKQ^xqv~^;24z?J2W(Ae@$V1ox=ulBYg08k5tB@y!_7u=e_B*-icw)@5z{L zE(9^HCxNG-tyXtG7btv={k{IHCX^=1TH|_a@JUlOi?TGNYIj6 zrLG0hWkab3@nA@tjqUsgv*I-X(aN7`1RaS$E1U)5Q14j}rp3~|TKug6(J6&hC?u(-{eF+^i zy6XB*n^sG*-YOJI!l-IVY#q?oV$$Ak6}m4ezgIZNI%0omB?{MtC4Y9K~erPj&& zE8+kTPsjLwYN*9mwzR?Lr5PKuA%am(gv-Vst9n0I>J7o=qe!BRKpQ`jsM?vsx`O7J^MWJhZmU?QOHIr7V?e&p^6VXd@tYeTa`3Xr$eKrs*Q7$ zS{@ikF+5ZCRGu)THtk4(wO?ju{W&Vo%R;Y30zxnTk2r05nIe-j|2w`m)})Fj0wKYV zD<@npIjig=ypvsg^mIkoTQA#NZnK2gbO4U50S$4HLMJ+oXzjB^Y^X2&T+))?rlEno zSth!rH)bamoa6Z)C{!Hx239~>^Aoe1l;LeD*Mbpl-|t*aPcCu;6I}YMV+Et&re{vA zo{{nz0Z*Y!LbhtGf(Ma(K6yNwS2f#97htpEue_|pu@2mzelWy$0l}Dzrot^wwV%zm z+7`y@TNtOo#nh@)XlM6-Lh<5esr%1?n}!333h->cVw&a6W5N%9=h5Ieps!n)LpuMeB{!- zU!I0ShbQJF-I0{%?Gab3RJ;tM$cb&U(ssQ6Jlyr>pAvCupjI7>rn=Dcv#X=%`M+Jy zhK=qB3q7GDicgEWVNTw1$CNcaio1SO=b!@Yk0Du{1eXaRYJYQG&hFj2nUa@|--gdH zinjyiNS?)hw!V+>8%2dhzDt%$9fX7Xi@?_~9S*Trog}UKvC6{=UbMm)47{x8G5&c3 zhApP`m8VZPp=A$-JOEhT878sid4lIoD@+S?Ts-j9Q=vuTHJoi$f6=~@VL^EF$HcOeUAfECZVM>dbauSOyJlzf;Q;bIfSt{9rmHr zGB^7q@ep3+L~{dh&n>3y6=L?uj1~3T`r~Z zyUs{WWhts0LlP*-L3|LE!WYk%D1#!BwfM>s%>ZTv-i!z|5>+x$1m7ycG3%Bux}uTz z;tbQl!J>-Ri2?O@AU~iLz^VBjl^k>Uy@zK3tYM77XoYDF_3k>UVPbV zHnVw?)Lo(=+KdJphq%=Rb1{xxz0Niz53NtPCEcl*@H<4%RHX0+v&z;Zbz-T+qpwP5j?sm8OBi*=cYD}9Z;qcvx_lfYn`l5OvMa;t6lZNG2ChN`<7ovr6dI;v)NU}P!(TlD=h2Taa{g+Lo=|FJ=G zYm1`%>2!;&ct7mCq*p~8_4psyB^(3n-BHu4zqa`sg-?UN0MZDIcy_OV@3_+{Alq7W z=zI{XIkQb&@ESV9>AHH9C!)Vwv>QtEZSfTg%Aqi{E0#zO;JZJWIi~@p3qgurP^=oK z3U1%Go3*aGaQIBOlyW!ry>;I7mg#eQr^t+1pL9OhFh za8kT%&lQN2mDTb$gcp}tHr_l7K3eGrab}_Ww=J0!D*auOQHqQd0eZ3!?|U9ud$_#p z)YXjdnelEx$59I~x-m+l1`cc~4RX+Dhqe>_$E@}0;hT55`+_Hk*J!5$gA1=9p#EER z7jndAW&ys%Q$OkPo&Jc6KXu!rjE~)N(SpyvNFtf_g!yo^bC6Qd@Aq@%?S(ia>w=D#t$BvJqS z*>-mz{>_B}$rJE~@B9ats0=sw*KbhP+$mrGeXS9NyTjqnVUI69k^((!$EyvTsQwSb zp*$AuqNV_E{lig+ZUKnRV6~vbSO)=6CWV}ml~`BfEAiRO@Qb{#+x2m#6sGVVw<5~? zv*K_=+==6jIk~{n8X#HEE$ zA8C8BQu;F8uS_))$&nr$7&6Jg4KA{7#Mq!VS=%8q3;r_ar9Ok?H>XF27ZQ2rLp zXfKdy4m?l!CMWa40r&XYBG8@kp}hX+ zcX^@yr+J&Jp<_DOPmBw1tKXwCXxA~2K-Iv!ob_Qja{cT-|4fpmb)4oU$3(&l3-7AdNMOj-eN|30pHg6R>a7`63G^ zmZB8UhRk&S;k;t|N!vo$e;ACt3xSX{wt$4lEkl=+!VI&Gv^Cb%ra2@6#fO{pao_io z$+J(U7c%<7x}sl03wSfPL*~05nuT7SbHzD&_KjLQRcT!}D7xCrg3KeBFc-k|4sZZ- z)@Wt*SJy=XZvalO8$sEAXIN^HjeZgJLG-P$qFrGD=uv_9IX=eq8zsb;{yBoEj+)B` z$~1Xhb7^jaRUCwpPOTW1Tb`KP3E5KL=4p%Z0!b}xAri+0^1=lGFAnJ50#E3Hjyve! zc;W*=;_>#b--f-Fj(X6|us!juBL=*qbA#*%nmR){K7_p`+uv&IhG>hwFtQn6DYL0DX~E(zuyyXMi7Rp#&ri8*0pKeq7>F8*K*w)oVD~vy{bOupdsPDG2(5B= za&IPE-??H^n)ScpTJ}-9zD!-3ZR0N6?!bfaQBa-~t+M+cbxqP;Em+1Ee|ixa{9#Y4 z=QbjJf2~#QBN%kaj+E!P)t-PPr;d-VJ?c^xWr{9g(L`Mg;A&9RA(B(QuH(|M7C~i) zF|7G`q&m%NxA^XjUA`}Potbs|A9|81U(jF8{W6iW&+$3^7WgLyjF?5w7@57&Tt>KY zvvVJd=NTf8u*lm3+fWDAFw;?G-D^|tXZg@p2+`DFuE|Rcxy%6f1Rme>NOLC4{m46s zaMe+@mpKSp2}zfZivZ-sScF(x^bP&sRaKSHfX0aITJrVxroXmcm_endhd*=@g}&k# z20k#cn)iuO<{$EvVeYzROaKzG^Kj)Te8>KZW|dd0p3WZiVr%)gq0{uIl8#fw<2fZl zmWiNgoV<>xo3SaAnA#g1MjGk@Z_jWBO+VCnO0QjfMMeMClV3w)P1fGztib2M;t}Fy zE?t5J6UZEvN&ST!pGDqgKI51js2db-0+Sl3<43ykzLp42g|>QxDd@eHiRwwx$)_AU(ls zM_(#TapQE`S+Zo!n2_x*)?Qf3NaK`M*OwRw{>z<_vZ!%yNxQ8($DyGalzW1$*8R?h zV2ySsE{wO0dpM4QZ>`pmBvuMgh2xVWx+@!O=g{SNK2@17yMy+`TJ(1is#`84hycu( z=`63-Go{AdGDnXy&?fmzP{`-0qo6*q_MES-IR|YTM*MV^V-|GstCVA==v9Z>l>8Rm zajliQ^?SU|voV_Mx^XtOHhD9RiB;=Y>ECPWA9+zIhs^cM;Fpigb42j!N4T*vkSA`% zu?N3IbSn@@UBsNgIaeTXrJju&`SuMp}3PA2?JQ?sBY{a7|i$DEu0P5P`&X+!z zTM?DHVMyg-Cs>yLsemaFHzwM;R zF`BE$^T(9M+qUqYTIoY4@B|{|mOZhDTaL}5H+S*cM(j1}j}jv?V!*)ran{>nL+7p9 zsFM@zKZ+?6cOi(uTW|VlrZ~eoo;_uykP4pBJUNHt;=SG=NbEw$g%^XaNi7e4alym~ zpVB^qy>OWi+WWBLaG?(dS;1HLHHDIn^2}<{!9KGJ*=Hy?xS9XT+WR1p?x3%3Ub3$g z^Liv`bKS>d=5!tL8a99%^*Y95LB5)E#c3rIdIs|G8af-bptX&ZCcBo1>h5tGw zvB2!oX=@sG4p0(F#RPL$L@^z=eyn&*fCsP1&=L(2X&s|ELIalS{i>}d^kA(gG#Xb$ zaC?v45nGI;7;r^frITBeV3uWWMd4P7Nj&>zExxC=%xL@xrVhLmD&PTVV!-Iq2#hde zqBq@kEj}t-=aL86yuH*SFh#NJH=+EN(>q9ug13tghK{ilo?nI|VniZ2V_UkEN#vn@ zFer2O8@KPmW)-KbB-ZYs>Q&hItkeb2{u@`dV;hkfbHbnRI>jhGjyOe_ok~%&rNtj% z)F=_6iIU4rhZPrLaeq;iRu)#a7OnUW5{qC?;4E-m`uyIdrGcx`+U&P>X9c4)!&xC> zGugAa+P@ou=j`30mSdQNd?r_vYsyBrxlhzI`M_i6!h4yjU{?iy59@1{B! zd-ZYj*7@%Y<$CE_52qk*7otk)GmfzGs$aZ(^Wfu$*y!7E?ZrJ!v;`2lye%B=SVaWz}{1J7s@z?1s!Qe-3nmqv|@5n0oA)QAn8C1A& zl#Z(riOiw8FY^L*9&n-SbWgoaE^}l^umPr9gV?Q~wD2U!1V7F-)Nr6(v^O}!8a4WD z!!bfRTeLnsHM!q1O{BdkPEAi00p^W`)kgar@bOxe(C*xrbMHIyyQbc44Ri@sR5Y^G#uIru6W=4IDpXcDlh8H7yBwUtmY;Di zKC`T*jUI==&O2e80%~)aw^~d9xpOxrCEuL=DVtTSfyI-j>@m~5sv&gg+loCJ`+WkB zk)>oLJs}z>J=^dl;gU4RGFPk#;_a29e6+jev|Vw%$?A=aP3YM3beL%xv0l|t@onw& z|DD6Sy%8hG&S$MvBR8shxE^;Kjs{9-j#-c&E^nMM!h+8QnGkE8ea3oSI4sxZ+qm@& z0hA+G9k)<-*9B4l#_dz*+_Q9(0fLX$c|t-rXL0wuDutCt?54Ams}<{@BN7(3 ze|83=^aoha9bty;Jxh&-F7d!=5jS#qJaZu+t`Q{}bc%z=qGR?;6I9#$Rv6UDGX}uV zI}fFAg!S(ayG?oOJ~DR6ycZgIT>Sjr-7!C&*8$#e(P)~qpMmbs9?Wubg#;EhVq*yY;-Q~oZc#!{pw7U?8BG>D>wp{%Xu;oaN! zEmd&V11reXngDsUq1ItyotzzUExWrPV>(9zv4xJVOfW^O;AKK=2C-!5o+hMbmUomh zPMG@2^0#3!C|p?b7GS$7%h~gvj^zCc%TmGDfr?!xiTf`qrroEvXB_kN(}DkARB#F& zWtLF3t2PMC9?t=^uqEZ=Xe4$Wn6?}TCWbP7uzkB1Qf{*tO#F&L@>FXclZY|$r@xJa zi}S@WPfKmM+nC+Sx07g_>ioF$ts_4&p?rS^$M`9r?Y&=B-{bFdSI2-EY#KQnnp9i`4bj0~nf@%X^*e>!5PoP0!Py@{4 z#$?#qmbM$;9ecQL-Z4wWWm=zXCP`yKHJDGZNd=+iR*XWn$g*jeOmx)i?bzn_#)-r) z6bUJDC3#%+QyAqwjQ?4`T5BoTn(63%ifIeWnLo7DkW9P81q~uee$vUz$(l|%+HB$( zwva9^vSBU7AJaNVT@9j}S%^j%BRSUPH#Xk$Chr0p#BnJ}eESs``2?x;OVG~#(|WiU zy>VqC#E`xc19k?UaYflfRApF&ytab@y5sJ@jTZixO7@&;2D#Itu2l7md`ML$&U`mn zdAr^B$%xhj;ewdj*?X&~b6$CJB~HbmyU4e&@lxHF!K*u_?y|gt) z?|3?IJ^Ppp9IjYa7hU4d#y?i7!K9Bju!}W%Z|uFst#2heJ9llpaWZZ!H^TQGd`@2h z(01!ulX){RdcYK>!{b%ynT%;b7*5l^W`wxi{Je&Ev~$-glR<44w)s6?#dP$V&CaCl zM_P7Mwo5dVOOeG*f41r)V;MugzOMy-(-vHbbHKu}ad6+<4)t#WF~gggrip6%tAf&#K`(>FcP0Ik|^7Y zievjC&oWdjFolr$QTf@+$MG{qBiRcJ@-JmZjgwsG50notvS|>`*cxi}Kda%Xv%IqF zaYG&NwI}lLko(sqme1x+lug*75hFf5&&6duC#jt+m7u%=& z2FrRiuyyImw@AT{f%Ve)$`WIGwIj?UW@#cXpwSkkD#K9!UO)HEam-f}3ONH?eCOL8 zZj17cW^d-R|3GTKAF_{~tk{T6IWTgu*TyNdusHn?xxY8(HfgKJ$*`j@i z6-(L+x6e%2XvQ`K`}ySOW9WEn-SjcoSn^~#pIW_hcFtF(EjmkVw~r=%(sw+Z9A-9} zCI`Kh7Gh@pY#)XGE%hfsCbMy8broID58`LkZ4wa;#ttBk#+f2}LW_|@NcY|%ntSm% z)29@)x#~&=k^rmX**|hNpvdB=C@sNazeu*y4ozq@jdscm|5JX;`M^Ea`_E6su4`7E zh8!Q1+TyS{@+M+%jc{U*1a!=q#9oK1*C#(zzmVY{VSMIidj1+H-@k&&0OiV51o?k#0?sW;x8op%fKjmiBZno#l6;&kMaW+V&gx9KiwwaaQ z@;{CDFPTsQdrN`2E988@$J>;=IbQWSu|LK#r0ZX_@{F%Wc4C_z*{$A^iyEL+vI6$) zh?Yo;R732EtFg(c9*(>$`^o+&@gmYt*kW^Pq*TY`$!zd{1I>E{?_!=b{9pn>|A&3j z{#<5xMm+)FFBn_4M1Tq>`H|<$-w*rd&%E28Hds#*3c*wTxA|Z84N?53zB|gESK<1O zlSfo9>zy}D$X(L+3!#a2t8gB{c@cWPlmjIvA-G_6&h9v`)$x%8DmxB0i^^fp8Wx4i?{`Mv;G3zN*PC( zIKcFHP^zbeK8QLMxQB?KrEN_|lp%gW`!`vB-xns`sFmz^-_C%yv-9{@^On04Pw2TE zD`E}3jkZ;B0~xFYn9}Ej;Im>ui%g$Sh*`bGasx7xuFJjY3f12C81=BQBLq{ywHeeu zT!$Eoh1jBt-=QZF7@nulY!qGr#}1=Sr)SBV#2$V$_$%L~m z!aH6$gQ-M&+!cz2k4`xyxU_H9qwt~c0Fj{`kAq{8?T121c}syVET(TBw@A$ArF7wk)gIfD}JU3y+ z`a-*(6gei(_qz2}9^}+F*{!=`MFA0HRH^jBz_GgADQI4t8?w74E&96k@ zZqZERno%_n=>|W?CFre@g z!n~r~Wba3NVY%Q7jtP&Ks+J}!VLjbee1;m5?cFw+-A~<^*d$z+HIYHqk*o&B9XiWY zQhk@~U&oCNViM?pn)4VHgTNRAOhq~=Ll0`tU|J3|%4L@NL_G%2Zic7=Z3Y;7;%~I^ zR$`2y>E?MFP^1rR=+=ptns(m|a)Ti5dmh3aziHK{!{OrUblHf)4_1#p!jwHSDklDn zBQ?}Lf|bw+xR#lF>MH=1{N+v(8s5+`_anwEuPVMbPB(l%E?DA9ZRXyw)9f&9Vd}VM zFz33bgQPo8)`>@815S=r9p3XXO7h7a5$Co>vI^vC%#>U>0)-2NkjHpIXbCndh!QoIkJ;~ z&pFhmI{(77VE)luhz{Q)M@-QxG=tFkLagoIGC{vh8UClH-Wq1x{v1SVQnOrR3t&ap zh9!2*tL4SI&1`s7jDvRbnQB7FgM%ykYd+TgH>N)`C`kkN*YDT}0{R0WqpaQ8UifC0 zArBAFs*TpYK{9N{t$*!mAHzyl;*U;#ygaER6Rnq>_jeJ0&q>KlDFj#vg2=vb`VnkJ z%)6DQyGEy2G&kq1*llL!>kNy#Ts2*Z!*@ap)t^QZWA1W|`ASs|`lii?IT6f7q%+^f zIMsp`@G;FpIY?A(Ldrs4BErZG#r&RPI?TRB;H|o|C*?zeC%Xa+MP29XfkTm~S(SV& zxeWc74HYd0kncgPfm{D<3XC!vo`r{Fg1v@kQ`EMW~Cui!I|J+SM&#UBJg&h&;mhdo5keNR5k<&)VQYRXGZHE5zZCqs*=n}|}MUa1%1TU{S;JBLy zD|Y5m+i#h_PO@tI_*-f{JpFOs z6CjZxBvC2W=w2fw6#x0gxN%@?)^z4^y20NeZ+y7qBz=0ntl@o{n!gd@{fbMXA@boL zx`KlmrVnyH%l%q@)n{FVyI86A{9=mu#JRnFrxu1yZakkuf~I)RY)k}$=~L6W&CxDX zi^8P2$19EW5Pl)D7wn_Oai){D)?g;z)2NLNh-qudv~Eb#COI56J#fVdIZLmdm&1-x zc{O1bWjBh7IgUG)=p-Ime#1M{^0Zfcii&H03jDW6EsTHsr>X8k#^3(-Lr`^BbPK zTujB|tXg5ct4_}oqlK`zsO?-OVyE7x#cJ-CeXdLmmWOZ5rCsvW?_+b$k%YhqNcH%= z0B)?Nev;W|U#=|({<7(rsedV&|J}qCZ7_o^n2UTy`f?s`NH@v+E3=~Ek@rwxS9tJg zoiNq=7vX82YV0~!y8xpWd33FCbv#;$dd{!ecCCHAj{CbKRkP@~-+tBd{Zx-5@pmQAVs6x|b47Ij_~jP`Wiu)wVG~^MdNf;e zv`HK%N6)#8&eb4o=b)l+(%*30vaE_sCshmorP>+D^8fy;4L~4u5_U?K(_M3C!i;e+G?z>HOH>UskQc6X13o zF?7rja8SQX`NpZ9jOZL`GJSs@v*A(FpAu3K_S~)qTu2@-~!~`)8Cj6$e|5Fw@a(?#+yOm68tEV^gU{7gjv5U_GX=#}oqo3J+hFqVzhR_YR3faXSx2hN8N5HH z1cqOV53uaWekv_*IraqBP=9_4E$|w549!L-VoQ8nCONVDi>1a==F6a5``%eer_mdn62TeKUYGNf6pn z6?{sa2l69-JJm6hs@Sp`(|@)zq8x1dbpJh^u!yjE(P_>PNwJClzMJS9qOekh;%c#c zpxiTQJ3~{^7d94|uq0=mJH*6#AE-7cowsgR_y5#s zoqx=BD{;3`GW~khR4xn+x0ltO|8UmCvl*L1z4FExZXT8~fRn#|i8&Hcl*aJzzhi0f zO^#BPLHmmTLB0ACBi>)YRCwOTzh14zUoYts@Qd=bUag5{=a%B!9`HCpukliRZm8cO zQU#hbIlAAw<{X)|aif4(36p|oy3KHps(r8655Rt*J?C&F;aiIqMQv+J2CM#3=`mB1 zF=enoxTa9URl_x=>eP$c`CLKCqb$=?I^SkG4~NTQf3`f2gZVjrsEoz!T7x|>OuVW0 zD@Mz>Xp*w0VLk~#rIjxF>HK)ZQF};jhQn;01Lmc3B7ZSkOV?v$D9fs{H3+Ygey()D zlB8uR?*-*=1aA%{A428~QT7y>Jh``4x~+=*=AkD{y+CRUWyb4g)1&$PZ-U_tV%!EK z`>h4+$7P5_k51w*6M28$Q>4Wgl@#PcXPh8%uX-{sJh*s&h(dJict$kQI5HF5AQ5At z4VPLZgwjmI;68ci9j~U=a&fX#N6~jCAn9(@ShjUdO?TTmj(7F@=Vvx2kd&0vSj-2= zOgV1=522e>?Xnf4sF-?&?X457qRw-2z!(*Xokkk6tBpARgvRMEO{BmFcxO}dA{cvh zs+LzFVvjZTvz+}|sAB(ijvgmoWaLDU7I*Ijd4PL_6Rl$1i3`ephiEh6|L&j=!tAV1 zeZ8>J>Ug~t*(madm0`!lp}cG$a= z^qO!~5`!u*VT!;pg%Gxtj>4lI1$Rx;&UDwou+Q$neP~nI6;93IPRy@Hfa5I1Y`~MU zAckk#JTHdFYe8+UuJ~BzL>!9*u_f;;HVG?{L8J!3{W#lhs=CGskdx^7T>K)`S@U9F z(UM_RsC|)pEMc(|!r)DoxC(7=KL_~*x0_(lRk}NH`=n0Enh^#lWHfh zMv1tST^n5j16Od?REi zDNAE>SW+w8W2E4T2Cjo2BD!+Rao8LWC0UyphwJI%K~&@8;IxI<5cEyp9w?yFwrsEO zBVaMm9sQ#vwj8BMNnebtLxnW4aAf|r9}9CE%2?$qo8~reQ)r{lIby8Ln6t^X;difN zBKNgM`({FR{yz<%miq=gtO;e)48sDl{Y;~gsrzpuFo+~&QH#?f+$mD~m&?QZB7r;Z z1P9otX;3Q6-Z#n{ES9J*q>P_2&pcs5H*7cb?x=~D-+c8P67W1@wR>|Ds$86FlDSpIslp-GX9!tmfIFZF>LD=MKJu+jpFA$1R1!;CH}vXYGqqW!DyK2Zg_cOk6!H| z(-8#uZ?ZitSDZeZoDuFta!}8-@^gT!r}j3$+rIHnV}~KMK5-#ZK&ol#0Ht|4yy@q* zPdX@S61YZa*in=ggm&jkHz)V;bFi^shHMscr)&Bt)I(*0)BT~M3aPnUVh);;$W;OTCifaA1zh`Flo#jM0BJhpNq49T{s*_8m5p5zL}&+VR9EDXrRXq zEkJmn#eM#J-JcyBtbDWq3-{H`cH@&(PS86Zyb9ysnesGzGAP3Afz{XC2GMiKdU!fy z?N_!tZ}8P1~My)(<9+-lY8REIl+Et}5BkQcW9T(@us9>H&#|{;XA^!}cS!xT? zLt*<8JR&iI)1xrQzsP!!0Rr6@;~LuIPjJy7CisJLhSiIC-{ zbEK=vDRiDeb^$r{_r43LDQ!dQY{v}_!agc8$Wk-*Nh!tD(mw3EtyT7~qWY?=<9^B8 zFs^sPsU1!O2Re}d!7H^OfyT1-q+c+<2H-M+E)*54<@CK502g+Ty7`l8)}}}HDy-KU zWZ}vYE}CqN?(Pa{#FOiUf`?n_m$yG5R}XM-4dYBguO6+4F;n! zs^}-ZA->RoNYDDAa*N~x=Pzo(c~_jKA+WQ^s)vou!E1+Zrp~j_7F9GHR|8YB$-Xdj z_I)u?*DOVh9vnCpl~mRF030)HK1pLE91#|ocmtGc=Z%%{GI#6%{s$y!W`6+Q#ASlH zmZ1N6C_F;DshHuX>@k3cBGyY=t(PNw$#e+e{d@#*|47iMHjv4<%(RC=VZ&#WD{u4$^X zoy#Pd?V+qvDDgb(QKvdz>=ywCfso_UeVA}mSq1qr+VQWo zfX87F^p+|66Ms}T1=<0g0E^bV*BbW{+UoxdK-)Wovak4M{MmeejH|QyGZTP|A@R0A zEdt@t<0+-lYCo+XtvR;>nBq4L=&fRXdt2p#E4pAR2&DH;0RwZ>$3*$St}zgeWI`ID zI`I(E76GX2{1w}UC~4$C7WGoJvt#=G&&FvG-o<^7${6V=#lriiUe+AGz{y9wY6vRS z0!S2I$jeQFhiy=x%d^&27&2~k$_*>{R zV05((Tn_Q9+b8f{9N2)(+R7m=__M^o>9*-|KWHAclLeuwvrWNz-!b>@Y znE27g{;H|YgGGI+kJ*eA$#34CBirS*s5Y;1f%yXqQ>_DUZF`H)z4{}$iqMWZ zrXiZBn?jaZbgMJqGQB-~8uE}kQXQ5;j$-M>s*v@c}V#xG$)-R^Q6*WLOzLL3-s zaEXdMsSLdCM4Kehu$C#VaczTc)*X-|BCOc5ZawnxxQ)nyC|JgHfdzlZ?or|roc~@tgn`a` zmkv8501F;xOdy{Wx<<*=v-Ay}N39m`0M;~dX6c##0;E7BAG_y+THf0d;*_RhU&U}o zIpH3QMg#rBS)J7J6%|Oo5-@P>MTsQI`<;Ep1U!`4TJG(?Kq?*XvZ85Ljlu}Bt1K2d z)}*{iv4>`6mPexs?i(fYfi^quS7l+rSC z2(oHs$$8w=d(u$a(xsmF1KRv0!C59ggWu8AFLJ_w1`y&qGok1X6t%l!jA&-P&b!f{ zss)i01Bn9*mPhcWkKo+cmC-J2t_FA!#xZr+qgfGAc>Rj_<%ZF3^@{hHG&qNKlOBKh z57B}MS*EbpO2X#drUI#HOuG<%A1_r;^qopwGfiQgrm5*#Uc`14SNRhquc1UCr`1lU zJ+Hn-=dAu|d1>koe4Z`H3)B0`DkHxR)`MfmTHD0yQ#DE|J zTKAz%@If%P;eqg>l@dB{n$bNMl#1;%`yLT=B~rO5(-eGxY$lu5Fo|ZjIxYr89vOdN zu6n4Gpne2iqq8H!sd;e=@hIEg(2q_6!XqIdy#!gB^ByG6yi8m(fQ;wgDEAhI4&)S(xUzJE0oGxh z9!3(57c1nHz?2LKHS5@s|5ghIl|SV>`C^z*1BUfKT~kn08CZZstutg;A;IgG0QH_B z^@Tu6I=Xm51}InJC(vwm>g~&u=xJi==qLfi)Pa}Sqz3DW#%<;p8Z1EUmoZM08GcL= zyN-GXB70xz(biGo<+y`UUR%IbWt{X3WFw6~<*VC=XL7^A&BtH$k2C+M8OMqGR=^*J zx!j-k8aQv4Y&{5hfqb*?Vz&^%V?JS!PeiCG$1ws#Qzv;N%nF-n5Sli@q$n?m3WnTqEuz{nprJfXLWP%tR2F!#g43`T zFUNxqG)<}4>xnp!l3z$HYm5Ad87x0K9nlISe6POqv;rQi&M^oI6KJ0$3;BKwtRmTB zVy<1HVngfSm~oB8Gl6$GTW<1qF2jlDpAsh*q%!Zm0obWFlh<9WPCx@#t&38uj73EL z+(HxW1#_-%EIkBI@r<29O3_;E(0v{0Lx>_bt!rOZjHo)iES#YI3j(D5oAjAY=<2Tk z4N|JoFLWg&c8-$^&+Ujpq-Uy&(cZ$q0XMv@JZM3iRP``N0*bAfQ{I32MA>8N`lnCzepnQQHnG=NQg6Z&X)Z z+0uVHuV}TL-E}cW!woiC{qc5NoHxM~%c}zAgXjIC;$Cqtz)5cj(EiUt*DQe+uL7(M zmjeBn@mkXyXWptf#2uQ?VbOeAWfypQG}J5Ke34Xlw#42R%#K^@Fl>C!bp`S3`J>Vya+spXFwZ-KAbTi zCohZ(-;jFhVM^3GlX~;JD8;aLu+BXlimRn-9v19_kRNjN7i#gSgW(*paG0V7ybrCA zcn__@GdS2y&_5pHGx%T+&eY4bBj&;vkRY&akdFu;AqkDt<^wJiBO`(v717$%i(-=g z)Va7YYyQxsIwW5whEzKdl2jEKddm2ku7}-`XyhM4W)h`JnmB5a>ntfoZJRugs}~8~1f{ zc8x14eaT=pN?ek#UoXUqsge;`m7x2nPRJpgjc#_3@b8SnAt~i-z`$6-5tqQb5;udM zh^#Oq%?2VJj;1@0eiMWm;ZT|x0m9?pa-mVkpF2=!n_xzofjjvqE-8jK0^mCFJ^ET{ z`dB2MtUMF?QmnPTen5e-KNrqtX(FG(h4dAStqZTlzRdCgMSSA`B=3RN>{bH0M`WjI zs-$^@`Z&f>M=Ft0D8Idin5~cn*Kl~eVjdpF>z7G%Vjg|FiDR-qw2Uyv{hoO^m;Yy* zi(&J+QtHWDem#Rl7{4n}==pWyfIJJPrgMaZv6N5KHF71-s65H=uXixZimy-sdSvQX zJs3}8R}6v2hwR})yZ)(P)^k3>KN_7sIfGY4Q=Tkg=spMV8vPv^$iXK0Fdl5pxL29T zVz)Mo_Jlo>_7J`*M;%YKYr>dm!eG#cVTxly6kfzd`bRTv$c+P!sh0eVKW<<)Lq=zoN#IOxz8I}^w|Tjh{} zyW?Q6fZ*>50<0F5saMQ6mp|gqu$7ds8kV()5@T_QFd9WVO+j%oMvirPYGbZfCb>(R-^v^CU76I1T9sf>_`Uh{#Z%KzZl5sj2-@ zpLcy8tTa9OLP5roXZHm`Nyrs$c(V5*eJ#t%+KTgSU@qLbWE+R3glzbEh+gzwSplps z?&F_*Jo?BT&8kK=5?WB+$Sq5d9YVoeE2kMxklF4nB+!oE=v zX*2=$;R78s74=X2{)C%r145S{)QA9L507@}SZDg}AwqUF<%<#RG_4EZqQO;}*Ebba z7fxsxibXgvx>zFOd&>`L^m7m-30pXPnHzw@UKMvLjlAP0$8+-I3TJ< zwn50(nd*rUt5g|EeX|KG7E^BxJNe(mP{(SrWfI2NNu%Cm1f9kpNa3ny(2#LKr~3?@O)b znsmrpn=tc|KW%x)Pw}3-S#q97sB^SG6}hzs@%MQX8<4t7Y5dN)e53r20V_5XC%1S^ zg!FsH-Udmj#D$`wCJpyx`S9TdV%i)-9Xj)03TL)M;MAAn4)O{nUn9Myi|F3l=m{|A zv&m!3Ye0CDWvXsTGR-_BuRlO``rtZ!9C=SDK=7}$_nCxCC4rFfm>(+rFplWL2YNlt zhyboTy)M@ARL{@?s|m6|=7C0=tE8ggp~UBfZW1WQHn`-zh9q?k*;3QsVtqtj3_Zd9 zx{dqCqHK0kgivn(q8*Q~LwYyA4KwY7Ckq}L4~`JR#gKWiI2)lOXKKpc{INKt_X%IP&ET!mufV?*LQq#{+QT;ur>-!>~9%0IE4;Q>}e z17}_pz>aObF&Zuyhbgdixeoqf#*X4hf-1_uaZ-CmvGJDr@z*5N-sb{6o#cm%Ih(kf zuP1~o0gPmR)!hGZk0ru#e^gaKF3j!D^XmI5uU0z)%$N{Ts|YkUKoYi8@_F!qDXS_+ zTu-T2VvH?&_MIHW+QY6++sM^!9-p;+$?vt(FPf3yF5DF}_3f!qL|H$yV68%)QdMk; zhIQ8E?sGbgf{G-GUcmT0J=#wN{!cwG{R&pt_S-Q^O&&5o_Zz>xy^tPv*%n%$X6j#N zlb$JyIrn&?mvL43__ByzoB)1N->snM^dAB|M=7BkD7~6yhCCQED~EoEddI8}YO?*A z?_57YyOB0)Mj7eIc3d3mPF)7+T}24K^hrZL{~TpaK#G}79eI83M9SA3<_Il~Vh}xy z1!OSvnIs7jq8MJ*hd<=Y0OwvZkPm-?Iy#UTXAgf7Mis9-n3{pU zxkV}ZqgA-rflQ&aH?i0W`LJ-JH8M<=CE260fnn*k4&MkVSqOHaal_4DhBnT;vc3kC zrYK?js7mE5QZET=+0FOxBkNH&pG_>n*ZG-5nvQnMDR_H!%8c@M8a*9qrl=+xY7;Rw z#TW*QW(#5a&bFi$;P?swN;+8W(+pO0aJ;>p9;F%fLAD)T#*&K0@9N@-(lZJA$)0Mv zovHqx59B2SqDN|W9*(^UU<#Zff*y+oc%$j;lbk5#r$uLk&qqJ_|7gZ5+WbR~VLr(E z`@@|oFh;4BwYDV27jympZ|}&6k=`eQ#NW5PN1b>!qZ~DRp=RBX zM_%py)srD;?E{q!R(iw*Ms)u2T$w;VM>RrgsYaUbo;%832ZJ@ATriFWe7oGSFw6V% zcCmkZ-Jcsi2ZlT4UpJQfjlWuD&$jS0@BP6*f1*Wa#+hrB<%gmI_IfE=INs&q%Avqk z<=J(jL?nAKg>1lAmK>^m2?k1C85$+jWPZ8-Vx9@v!;0}26O-jxsEI}cN9%W+LXC~J zBzS#xZ9UZyFHvW#-^Y-vmm5rEY$pkLhVOIxD=sdi+j8xiC16JCFCTXe(wN_2DsONT z6eg+FX>8BenPw}|Li}Ufm-Tc4I9$V^fNUfEN77z<4Rt>ntd~chea}wb%2lq3%|W(K9|$|d0FJ!jDw(OxKryr8gH-z|4=29D9>Hdv6|u}5)UmT`?yXbvgH$t)>s9~I%534fAK!K!VBnw~C1 zaM+K+7%{1yZ+x8nR8Q+vd3~Ki)_&j3=l}B6F@%*SphT!;%(P4r>_sH$>J0}*1J9;!o-J<(N9r$T?XrgA0x{EoRpO4>E&uaJaFeG2W;+>Ag z$Hxp|o&n|oa$4D@!BuI3J1){nF=0V0oHFHlFj!@+6WMkd8=GOT{RtzfDXxqm^6zE#hz< ztVdzYJ|1BuVn0X57=KiHiRPx(74(JF`Fcap)uWl~^c`se4n;>|ZNSkifmceK>hcUyp zYW|0ypxij|T?8E3a|5aVK^XrLb~BrhP|Gx^&#|Uv%G%iMrZCl&^DNI98SiDgv52Yub-nRd@y@*8$ zgpHoZpivRI^k$nXJOV{%a)rAYincQ@pLeb%SQ_K~Vsx=`9g!9|a++lKXwp+MiubFS z(ws{WM&wX?U@_CyH%uj5B|k{nn653?$@`;Ck37zVlG8#17bSO04SjZU^*-a^Opd;; zd;CyM3+>87=*Q>kWy#)oJbHx~b(4(Cz+5S~glCO}@sR!mzI2{Fk-{H)v#~qa)~Pb> zjSu8+7S+xc(lV5j**h(bG`CLeT|=?>Od5pD5&Xy?q)MJMl?&Aw>j|cSxpZPU>tvb~i$~(VZxy zi>lHuI_IiL0Pq;$90AmM99sPC75^KjyxHM^y!WJGcg8Bns=#j$g`N{dsSMGj?*kI3 z+Sm%OvVaALX$+W*7&?ve%xbcz&INEeRM%jgVIjDrtC{3>_P4nVEBNhYb=RVhJ^Fd& z1mojrhE5$n=b5NtaVsn0KGUv3_`U9$6bJ5C$5?DiSS6rio0y-|O+rd%+A<_ma&o+@oTA z3E%^!-8h}DsPge-0POA~KgaBH6-Q0%gx&`70SQ(d(ex6NYcDisxmoEwCOH-@jd0sB}(p&azP3IEM=E+F> zZ2E5@vErusp>obO<}T3&OFx|{wR`E;K3a8!srS*sob0%Z;3Ws?*}!E>LEzr-X^jI5 zTZb4qCs9o(wwuSm&LFoDCz%86r_g_m>|(no4$sCJgsSFpY9ilpp8m+qX4g;YKH;l` zoY9DE_)(wo^=f)`Bpx3FIf&>ifOLLH(R77(j~D85$55H4GHpn`{Tw{f%O`y%38DiX z)e{GrpYZ-$3m|P7ZRd#zRm4iQOg+=3yKgFEep~m}*4dWC3U7yxkK<~teLBlg=L{L= zMX5PyxhaP+HXIj*+elqS8?x`Hj|@LbhT^AjxcF|_1~70u`*(P22@9bGg$wYGqcZxI z@YPuS?Ki%6TO}~{2j(SMtA}hEj2me#ULrUe^8SQo|MfBcG1QoG-FJI}9Tujt3E8!L ziXxj(^cWir=C-nh3{=MN0D_@w-OBy)D!Ro+YtT5dEG)}ZS=a4c%G@)WhjSJrXuhuO zIPjM_5P+~)Lz7UHn+UVajsRojDrqH*A3abJ@fMEEvvEJ{M+|2A=5zsjWzg7|6|wU7 z7oLQLua?zToDKVV+W6{$RcONs5qpY_0_s>(#VLC$O9$09WpOq5Ov-)_t_CH~ys+u!VBF&c)=PwCcm53|zhi&diF0l=o3prbfo!%tJz1F)w~%?YNZ4%0nn zc;6by9vYj$ixc4JU-ETW^c^jgl~z`o@$1 zHbCc^_cpCAhD*yV)q`!q(&Qu!1{`5X^uS}ws{5O z;q2P^+SI&~Vkze&x;&3Ij@&q|7roAt!Tb%;zv5*%Z>LW@{(x_yN`h;*i~r@R--X|O z=<`Fb7iYN%y@tTdNk3_Y+#WaS^Y{}zt~1Rcj)t;}xqd&l%}0-L;h>iJU`urHyOt7D z0{^gbs7pp^4+Lea3rswJU%fp|L?Od~p~MLhA^{lyG)f7lm>ae&Ai0c{FluEtz~YSL zNgjUNo->_IPI}KtYa0GWZ8%4`zIo3Q(YE8@jK+me4U-f;5!>McFqfc+Ti0#|hwdC9 zP$*s2O{YWN_1$~aMONdN{wBh}BBVn8CWGxb7m)vN#v`c}>INgQZ{a+TlbiBh9WYx~ zK*neh8kMMFZ1ak^BA`TQ0~>9u5uwtXAF!`8@R}1%dgI@c(Gygi)0R#NM|Kqt1Ngl>3pB8esB`!MgIDL&Vg4;X=&hYLznPO>mcb}o?qNR;l_G%8 zwOxww@Bjs6lO`)%T$&u?$=p81N2ucts$-O5bGBAl=3Wv{!DuWNj=Jrf5N0AKyI?Vs z1P?y{Id`^!*JVC36~4egL4PwCY4hLYV<|h*f5BA6$&~s|5fktJ_Ci)Nu!F)MREOu8 zOVKlNy>yU4ui2NhylSESeIkO?z}~nkoZFr*@DfZrkJ5f)>ZUc5GEum}H3IxI!Hok% z!O&m)-O7vi6E(~;V{njr8Q-wG07X*jCTs`Vr*vcQO3(*0Ej?_7(sDusC|Y~?Btnup zk&T%tIPgl~4A@bDa~ZCPrKDm^aOi`7Cj!1u9&xQrNW%HpZxW%W0&*9Z0WMK91Lsfr z$Zm)sV$^6PG~S_ScZcW_+W^A+`j^!%=sls0p%1s>P}hmiIcxC?!=`Bg5Di~R{#W( z-Y$4drH3IinjD*F%S49z(#C#2wpUj@NV*E;fpLPJVC!f1~nEE`S$vpGG*Lv=NT;a3I)%hIi&of#8 zgvv%7c(;BN!N%TDuge7F3v>L1*d~0%wFjfM zUSyatmYZHTkr}VI#~vf(_@oXe*VyThI_LVp&Lfqsc|1@?INDf?f{2o`4E)R_#nTeA z>C(<~gcwq;=GnxQunm3zuZ~%(W|XH0;42KArYYIyFXhZu;DijAvUaG%|hI+UHY+gk=HdS=c z&&I#R_eot|pG>q6I^i&s)#pmx3gQzj&#aM=SBA+tI4HgEb)b^rfb)^f*XyGI3C}q5 z7@d3Gqv))29!_VUbJkM+?qA+b$B+Ml?!4nT{p_dzMwLQeXaap?J)Mm~+}LE**n#OG zH$A)ZkNNH2qKjVfQZIYktv{w4Klxco`m+1=ws*a0*Qc|*+I^&FE z^v%Ef2fF@~H|@sz7hveH{$l9#g8?WToE3`Wrf(Cw()#$&1FIhQJHJIw{=FwI`l<3a zdeud*qX!C|v*Z1-yM7$o@vnWj>#nHiB-}kjmpWREuD zSX@G*?^wDGXJqQD&RT;@Vyx#5y+;cv;)1|?77ZXb=9d!=jrrv?K4KmL#oWiF|E3Nx zL{!z0X(f?kDyiZdN3&5S=eU`UDD}!q%%!{>x1B>ZoJ|;N^5jT_ND%|h-_Gnfce_0M zz&Jp6P+wBT5y2$6Eiv%^Ajh@2;}XO^TRpS_7-DQz)e*)d;SK%zYTHsG6UK^zogIe) zW2$sLuOFZ3XtnP?W>n{YFGpE#j6bD^d37SO6v)S{n;MunHnF)F5$XHVNZ~b@G6f>v zqpBK_444@6U<6W4;+sMz*%WYQ(N`f#paopiWQR(ME$45!RKFg+gmEl}Oxh2VvyFt; zCy}M&tbvxMR6J%^HYz+hXeR_9Ugp1LN|lxKs2Q{G{Tl0#O=CAuV4T^;7A9u^Dj-jW z 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 +

    + + License + +

    -> Non-opinionated [ESlint](https://eslint.org/) configuration for Nuxt 3 apps. +Collection of [ESLint](https://eslint.org)-related packages for Nuxt ✨ -### Features +## Packages -- Works out-of-the-box with no additional configuration. -- Nuxt-specific rules for pages, components and more. -- ... under active development - -### Installation - -1. Install this package and `eslint` in your `devDependencies`. - -```bash -npm i -D @nuxt/eslint-config eslint -yarn add -D @nuxt/eslint-config eslint -pnpm add -D @nuxt/eslint-config eslint -``` - -2. Extend the default Nuxt config by creating an `.eslintrc.cjs`: - -```js -module.exports = { - root: true, - extends: ["@nuxt/eslint-config"], -}; -``` - -You might also want to add a script entry to your `package.json: - -```json -{ - "scripts": { - "lint": "eslint ." - } -} -``` - -## Nuxt 2: `@nuxtjs/eslint-config` and `@nuxtjs/eslint-config-typescript` - -[![GitHub Actions](https://flat.badgen.net/github/checks/nuxt/eslint-config/main)](https://github.com/nuxt/eslint-config/actions?query=workflow%3Aci) -[![npm](https://flat.badgen.net/npm/dm/@nuxtjs/eslint-config)](https://npmjs.com/package/@nuxtjs/eslint-config) -[![npm (scoped with tag)](https://flat.badgen.net/npm/v/@nuxtjs/eslint-config)](https://npmjs.com/package/@nuxtjs/eslint-config) - -> Opinionated [ESlint](https://eslint.org/) configuration used internally by Nuxt projects. - -### Usage - -Do you want to add the config to your own projects? There you go: - -1. Add this package to your devDependencies - -```bash -$ npm i -D @nuxtjs/eslint-config -# or -$ yarn add -D @nuxtjs/eslint-config -``` - -2. Install `eslint` if not already present locally or globally - -```bash -$ npm i -D eslint -# or -$ yarn add -D eslint -``` - -3. Create a `.eslintrc` file - -4. Extend our config (you can use just the scope name as ESLint will assume the `eslint-config` prefix): - -```json -{ - "extends": ["@nuxtjs/eslint-config"] -} -``` - -### Full example - -A full example `.eslintrc` for a project with babel support: - -> Dont forget to `npm i -D @babel/eslint-parser` or `yarn add -D @babel/eslint-parser` - -```json -{ - "root": true, - "parser": "@babel/eslint-parser", - "parserOptions": { - "sourceType": "module" - }, - "extends": ["@nuxt/eslint-config"], -} -``` - -### TypeScript - -If you're using TypeScript, follow [Usage](#usage) section by replacing `@nuxtjs/eslint-config` by `@nuxtjs/eslint-config-typescript`. - -And in your `.eslintrc` all you need is : - -```json -{ - "extends": ["@nuxtjs/eslint-config-typescript"] -} -``` - -You can then edit/override same rules as you could with `@nuxtjs/eslint-config` but also TypeScript rules. -You can find the list of supported TypeScript rules [here](https://typescript-eslint.io/rules/#supported-rules) and you can read more about Nuxt's TypeScript support [in the docs](https://nuxt.com/docs/guide/concepts/typescript). +- [@nuxt/eslint-config](./packages/eslint-config) - ESLint Config for Nuxt 3 ## License -Made with ❤️ - -Published under [MIT License](./LICENCE). - - - -[npm-version-src]: https://img.shields.io/npm/v/@nuxt/eslint-config?style=flat-square -[npm-version-href]: https://npmjs.com/package/@nuxt/eslint-config -[npm-downloads-src]: https://img.shields.io/npm/dm/@nuxt/eslint-config?style=flat-square -[npm-downloads-href]: https://npmjs.com/package/@nuxt/eslint-config -[github-actions-src]: https://img.shields.io/github/workflow/status/nuxt/eslint-config/ci/main?style=flat-square -[github-actions-href]: https://github.com/nuxt/eslint-config/actions?query=workflow%3Aci -[codecov-src]: https://img.shields.io/codecov/c/gh/nuxt/eslint-config/main?style=flat-square -[codecov-href]: https://codecov.io/gh/nuxt/eslint-config -[lgtm-src]: https://img.shields.io/lgtm/grade/javascript/github/nuxt/eslint-config?style=flat-square -[lgtm-href]: https://lgtm.com/projects/g/nuxt/eslint-config -[bundlephobia-src]: https://img.shields.io/bundlephobia/minzip/@nuxt/eslint-config?style=flat-square -[bundlephobia-href]: https://bundlephobia.com/package/@nuxt/eslint-config +[MIT License](./LICENSE) diff --git a/package.json b/package.json index fd59ebed..4fed8ce5 100644 --- a/package.json +++ b/package.json @@ -1,17 +1,17 @@ { "private": true, - "workspaces": [ - "packages/*" - ], + "packageManager": "pnpm@8.15.4", "scripts": { "lint": "eslint . --config=packages/eslint-config/index.js", "release": "pnpm test && pnpm publish -r", "test": "pnpm lint && vitest run" }, "devDependencies": { - "eslint": "^8.56.0", - "vitest": "^1.1.0", - "vue": "^3.3.13" - }, - "packageManager": "pnpm@8.12.1" + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.25", + "eslint": "^8.57.0", + "typescript": "^5.4.2", + "vitest": "^1.3.1", + "vue": "^3.4.21" + } } diff --git a/packages/eslint-config-legacy-typescript/README.md b/packages/eslint-config-legacy-typescript/README.md deleted file mode 120000 index fe840054..00000000 --- a/packages/eslint-config-legacy-typescript/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/packages/eslint-config-legacy-typescript/a.md b/packages/eslint-config-legacy-typescript/a.md new file mode 100644 index 00000000..5acea009 --- /dev/null +++ b/packages/eslint-config-legacy-typescript/a.md @@ -0,0 +1,11 @@ +# `@nuxtjs/eslint-config-typescript` + +[![GitHub Actions](https://flat.badgen.net/github/checks/nuxt/eslint-config/main)](https://github.com/nuxt/eslint-config/actions?query=workflow%3Aci) +[![npm](https://flat.badgen.net/npm/dm/@nuxtjs/eslint-config)](https://npmjs.com/package/@nuxtjs/eslint-config) +[![npm (scoped with tag)](https://flat.badgen.net/npm/v/@nuxtjs/eslint-config)](https://npmjs.com/package/@nuxtjs/eslint-config) + +> Opinionated [ESlint](https://eslint.org/) configuration used internally by Nuxt projects. + +### Usage + +Check docs in [`@nuxtjs/eslint-config`](../eslint-config-legacy/) diff --git a/packages/eslint-config-legacy-typescript/package.json b/packages/eslint-config-legacy-typescript/package.json index b2ca36cd..9e145e22 100644 --- a/packages/eslint-config-legacy-typescript/package.json +++ b/packages/eslint-config-legacy-typescript/package.json @@ -9,16 +9,16 @@ ], "dependencies": { "@nuxtjs/eslint-config": "^12.0.0", - "@typescript-eslint/eslint-plugin": "^6.15.0", - "@typescript-eslint/parser": "^6.15.0", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-vue": "^9.19.2" + "eslint-plugin-vue": "^9.22.0" }, "peerDependencies": { "eslint": "^8.56.0" }, "devDependencies": { - "typescript": "^5.3.3" + "typescript": "^5.4.2" } } diff --git a/packages/eslint-config-legacy/README.md b/packages/eslint-config-legacy/README.md deleted file mode 120000 index fe840054..00000000 --- a/packages/eslint-config-legacy/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/packages/eslint-config-legacy/a.md b/packages/eslint-config-legacy/a.md new file mode 100644 index 00000000..3bb2ed0d --- /dev/null +++ b/packages/eslint-config-legacy/a.md @@ -0,0 +1,69 @@ +# `@nuxtjs/eslint-config` + +[![GitHub Actions](https://flat.badgen.net/github/checks/nuxt/eslint-config/main)](https://github.com/nuxt/eslint-config/actions?query=workflow%3Aci) +[![npm](https://flat.badgen.net/npm/dm/@nuxtjs/eslint-config)](https://npmjs.com/package/@nuxtjs/eslint-config) +[![npm (scoped with tag)](https://flat.badgen.net/npm/v/@nuxtjs/eslint-config)](https://npmjs.com/package/@nuxtjs/eslint-config) + +> Opinionated [ESlint](https://eslint.org/) configuration used internally by Nuxt projects. + +### Usage + +Do you want to add the config to your own projects? There you go: + +1. Add this package to your devDependencies + +```bash +$ npm i -D @nuxtjs/eslint-config +# or +$ yarn add -D @nuxtjs/eslint-config +``` + +2. Install `eslint` if not already present locally or globally + +```bash +$ npm i -D eslint +# or +$ yarn add -D eslint +``` + +3. Create a `.eslintrc` file + +4. Extend our config (you can use just the scope name as ESLint will assume the `eslint-config` prefix): + +```json +{ + "extends": ["@nuxtjs/eslint-config"] +} +``` + +### Full example + +A full example `.eslintrc` for a project with babel support: + +> Dont forget to `npm i -D @babel/eslint-parser` or `yarn add -D @babel/eslint-parser` + +```json +{ + "root": true, + "parser": "@babel/eslint-parser", + "parserOptions": { + "sourceType": "module" + }, + "extends": ["@nuxt/eslint-config"], +} +``` + +### TypeScript + +If you're using TypeScript, follow [Usage](#usage) section by replacing `@nuxtjs/eslint-config` by `@nuxtjs/eslint-config-typescript`. + +And in your `.eslintrc` all you need is : + +```json +{ + "extends": ["@nuxtjs/eslint-config-typescript"] +} +``` + +You can then edit/override same rules as you could with `@nuxtjs/eslint-config` but also TypeScript rules. +You can find the list of supported TypeScript rules [here](https://typescript-eslint.io/rules/#supported-rules) and you can read more about Nuxt's TypeScript support [in the docs](https://nuxt.com/docs/guide/concepts/typescript). diff --git a/packages/eslint-config-legacy/package.json b/packages/eslint-config-legacy/package.json index ad1fb118..e46ef0ab 100644 --- a/packages/eslint-config-legacy/package.json +++ b/packages/eslint-config-legacy/package.json @@ -10,11 +10,11 @@ "dependencies": { "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-n": "^16.5.0", + "eslint-plugin-n": "^16.6.2", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", - "eslint-plugin-unicorn": "^50.0.1", - "eslint-plugin-vue": "^9.19.2", + "eslint-plugin-unicorn": "^51.0.1", + "eslint-plugin-vue": "^9.22.0", "local-pkg": "^0.5.0" }, "peerDependencies": { diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md deleted file mode 120000 index fe840054..00000000 --- a/packages/eslint-config/README.md +++ /dev/null @@ -1 +0,0 @@ -../../README.md \ No newline at end of file diff --git a/packages/eslint-config/a.md b/packages/eslint-config/a.md new file mode 100644 index 00000000..dc732a57 --- /dev/null +++ b/packages/eslint-config/a.md @@ -0,0 +1,56 @@ +# `@nuxt/eslint-config` + +[![npm version][npm-version-src]][npm-version-href] +[![npm downloads][npm-downloads-src]][npm-downloads-href] + +> Non-opinionated [ESlint](https://eslint.org/) configuration for Nuxt 3 apps. + +### Features + +- Works out-of-the-box with no additional configuration. +- Nuxt-specific rules for pages, components and more. +- ... under active development + +### Installation + +1. Install this package and `eslint` in your `devDependencies`. + +```bash +npm i -D @nuxt/eslint-config eslint +yarn add -D @nuxt/eslint-config eslint +pnpm add -D @nuxt/eslint-config eslint +``` + +2. Extend the default Nuxt config by creating an `.eslintrc.cjs`: + +```js +module.exports = { + root: true, + extends: ["@nuxt/eslint-config"], +}; +``` + +You might also want to add a script entry to your `package.json: + +```json +{ + "scripts": { + "lint": "eslint ." + } +} +``` + + + +[npm-version-src]: https://img.shields.io/npm/v/@nuxt/eslint-config?style=flat-square +[npm-version-href]: https://npmjs.com/package/@nuxt/eslint-config +[npm-downloads-src]: https://img.shields.io/npm/dm/@nuxt/eslint-config?style=flat-square +[npm-downloads-href]: https://npmjs.com/package/@nuxt/eslint-config +[github-actions-src]: https://img.shields.io/github/workflow/status/nuxt/eslint-config/ci/main?style=flat-square +[github-actions-href]: https://github.com/nuxt/eslint-config/actions?query=workflow%3Aci +[codecov-src]: https://img.shields.io/codecov/c/gh/nuxt/eslint-config/main?style=flat-square +[codecov-href]: https://codecov.io/gh/nuxt/eslint-config +[lgtm-src]: https://img.shields.io/lgtm/grade/javascript/github/nuxt/eslint-config?style=flat-square +[lgtm-href]: https://lgtm.com/projects/g/nuxt/eslint-config +[bundlephobia-src]: https://img.shields.io/bundlephobia/minzip/@nuxt/eslint-config?style=flat-square +[bundlephobia-href]: https://bundlephobia.com/package/@nuxt/eslint-config diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 32be7818..c0c6a677 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -12,15 +12,15 @@ "index.js" ], "dependencies": { - "@rushstack/eslint-patch": "^1.6.1", - "@typescript-eslint/eslint-plugin": "^6.15.0", - "@typescript-eslint/parser": "^6.15.0", - "eslint-plugin-vue": "^9.19.2", - "typescript": "^5.3.3" + "@rushstack/eslint-patch": "^1.7.2", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "eslint-plugin-vue": "^9.22.0", + "typescript": "^5.4.2" }, "devDependencies": { - "@types/eslint": "^8.56.0", - "eslint": "^8.56.0" + "@types/eslint": "^8.56.5", + "eslint": "^8.57.0" }, "peerDependencies": { "eslint": "^8.56.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6398ac85..43e9b493 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,40 +8,49 @@ importers: .: devDependencies: + '@types/eslint': + specifier: ^8.56.5 + version: 8.56.5 + '@types/node': + specifier: ^20.11.25 + version: 20.11.25 eslint: - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^8.57.0 + version: 8.57.0 + typescript: + specifier: ^5.4.2 + version: 5.4.2 vitest: - specifier: ^1.1.0 - version: 1.1.0 + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.25) vue: - specifier: ^3.3.13 - version: 3.3.13 + specifier: ^3.4.21 + version: 3.4.21(typescript@5.4.2) packages/eslint-config: dependencies: '@rushstack/eslint-patch': - specifier: ^1.6.1 - version: 1.6.1 + specifier: ^1.7.2 + version: 1.7.2 '@typescript-eslint/eslint-plugin': - specifier: ^6.15.0 - version: 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: ^6.15.0 - version: 6.15.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.1 + version: 7.1.1(eslint@8.57.0)(typescript@5.4.2) eslint-plugin-vue: - specifier: ^9.19.2 - version: 9.19.2(eslint@8.56.0) + specifier: ^9.22.0 + version: 9.22.0(eslint@8.57.0) typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.4.2 + version: 5.4.2 devDependencies: '@types/eslint': - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^8.56.5 + version: 8.56.5 eslint: - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^8.57.0 + version: 8.57.0 packages/eslint-config-legacy: dependencies: @@ -50,13 +59,13 @@ importers: version: 8.56.0 eslint-config-standard: specifier: ^17.1.0 - version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.5.0)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) + version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-n: - specifier: ^16.5.0 - version: 16.5.0(eslint@8.56.0) + specifier: ^16.6.2 + version: 16.6.2(eslint@8.56.0) eslint-plugin-node: specifier: ^11.1.0 version: 11.1.0(eslint@8.56.0) @@ -64,11 +73,11 @@ importers: specifier: ^6.1.1 version: 6.1.1(eslint@8.56.0) eslint-plugin-unicorn: - specifier: ^50.0.1 - version: 50.0.1(eslint@8.56.0) + specifier: ^51.0.1 + version: 51.0.1(eslint@8.56.0) eslint-plugin-vue: - specifier: ^9.19.2 - version: 9.19.2(eslint@8.56.0) + specifier: ^9.22.0 + version: 9.22.0(eslint@8.56.0) local-pkg: specifier: ^0.5.0 version: 0.5.0 @@ -79,27 +88,27 @@ importers: specifier: ^12.0.0 version: link:../eslint-config-legacy '@typescript-eslint/eslint-plugin': - specifier: ^6.15.0 - version: 6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.56.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: ^6.15.0 - version: 6.15.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.1 + version: 7.1.1(eslint@8.56.0)(typescript@5.4.2) eslint: specifier: ^8.56.0 version: 8.56.0 eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@6.15.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + version: 3.6.1(@typescript-eslint/parser@7.1.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-vue: - specifier: ^9.19.2 - version: 9.19.2(eslint@8.56.0) + specifier: ^9.22.0 + version: 9.22.0(eslint@8.56.0) devDependencies: typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.4.2 + version: 5.4.2 packages: @@ -133,8 +142,8 @@ packages: js-tokens: 4.0.0 dev: false - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: @@ -365,6 +374,16 @@ packages: dependencies: eslint: 8.56.0 eslint-visitor-keys: 3.4.3 + dev: false + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} @@ -389,6 +408,11 @@ packages: /@eslint/js@8.56.0: resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} /@humanwhocodes/config-array@0.11.13: resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} @@ -399,6 +423,17 @@ packages: minimatch: 3.1.2 transitivePeerDependencies: - supports-color + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color /@humanwhocodes/module-importer@1.0.1: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -406,6 +441,10 @@ packages: /@humanwhocodes/object-schema@2.0.1: resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: false + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} @@ -540,16 +579,16 @@ packages: dev: true optional: true - /@rushstack/eslint-patch@1.6.1: - resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==} + /@rushstack/eslint-patch@1.7.2: + resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} dev: false /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@types/eslint@8.56.0: - resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==} + /@types/eslint@8.56.5: + resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -566,6 +605,12 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: false + /@types/node@20.11.25: + resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + dependencies: + undici-types: 5.26.5 + dev: true + /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: false @@ -574,91 +619,161 @@ packages: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: false - /@typescript-eslint/eslint-plugin@6.15.0(@typescript-eslint/parser@6.15.0)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==} + /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.56.0)(typescript@5.4.2): + resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.15.0 - '@typescript-eslint/type-utils': 6.15.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.15.0 + '@typescript-eslint/parser': 7.1.1(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/type-utils': 7.1.1(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/parser@6.15.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==} + /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/parser@7.1.1(eslint@8.56.0)(typescript@5.4.2): + resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.15.0 - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.15.0 + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 eslint: 8.56.0 - typescript: 5.3.3 + typescript: 5.4.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/scope-manager@6.15.0: - resolution: {integrity: sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==} + /@typescript-eslint/scope-manager@7.1.1: + resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/visitor-keys': 6.15.0 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 dev: false - /@typescript-eslint/type-utils@6.15.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==} + /@typescript-eslint/type-utils@7.1.1(eslint@8.56.0)(typescript@5.4.2): + resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.56.0)(typescript@5.4.2) debug: 4.3.4 eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/types@6.15.0: - resolution: {integrity: sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==} + /@typescript-eslint/types@7.1.1: + resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} engines: {node: ^16.0.0 || >=18.0.0} dev: false - /@typescript-eslint/typescript-estree@6.15.0(typescript@5.3.3): - resolution: {integrity: sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==} + /@typescript-eslint/typescript-estree@7.1.1(typescript@5.4.2): + resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -666,30 +781,31 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/visitor-keys': 6.15.0 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/visitor-keys': 7.1.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 + minimatch: 9.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/utils@6.15.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==} + /@typescript-eslint/utils@7.1.1(eslint@8.56.0)(typescript@5.4.2): + resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.15.0 - '@typescript-eslint/types': 6.15.0 - '@typescript-eslint/typescript-estree': 6.15.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) eslint: 8.56.0 semver: 7.5.4 transitivePeerDependencies: @@ -697,136 +813,146 @@ packages: - typescript dev: false - /@typescript-eslint/visitor-keys@6.15.0: - resolution: {integrity: sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==} + /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 dependencies: - '@typescript-eslint/types': 6.15.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + eslint: 8.57.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/visitor-keys@7.1.1: + resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.1.1 eslint-visitor-keys: 3.4.3 dev: false /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@vitest/expect@1.1.0: - resolution: {integrity: sha512-9IE2WWkcJo2BR9eqtY5MIo3TPmS50Pnwpm66A6neb2hvk/QSLfPXBz2qdiwUOQkwyFuuXEUj5380CbwfzW4+/w==} + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} dependencies: - '@vitest/spy': 1.1.0 - '@vitest/utils': 1.1.0 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 chai: 4.3.10 dev: true - /@vitest/runner@1.1.0: - resolution: {integrity: sha512-zdNLJ00pm5z/uhbWF6aeIJCGMSyTyWImy3Fcp9piRGvueERFlQFbUwCpzVce79OLm2UHk9iwaMSOaU9jVHgNVw==} + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} dependencies: - '@vitest/utils': 1.1.0 + '@vitest/utils': 1.3.1 p-limit: 5.0.0 pathe: 1.1.1 dev: true - /@vitest/snapshot@1.1.0: - resolution: {integrity: sha512-5O/wyZg09V5qmNmAlUgCBqflvn2ylgsWJRRuPrnHEfDNT6tQpQ8O1isNGgo+VxofISHqz961SG3iVvt3SPK/QQ==} + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} dependencies: magic-string: 0.30.5 pathe: 1.1.1 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.1.0: - resolution: {integrity: sha512-sNOVSU/GE+7+P76qYo+VXdXhXffzWZcYIPQfmkiRxaNCSPiLANvQx5Mx6ZURJ/ndtEkUJEpvKLXqAYTKEY+lTg==} + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.1.0: - resolution: {integrity: sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==} + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} dependencies: diff-sequences: 29.6.3 + estree-walker: 3.0.3 loupe: 2.3.7 pretty-format: 29.7.0 dev: true - /@vue/compiler-core@3.3.13: - resolution: {integrity: sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==} + /@vue/compiler-core@3.4.21: + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: - '@babel/parser': 7.23.6 - '@vue/shared': 3.3.13 + '@babel/parser': 7.24.0 + '@vue/shared': 3.4.21 + entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 dev: true - /@vue/compiler-dom@3.3.13: - resolution: {integrity: sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw==} + /@vue/compiler-dom@3.4.21: + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} dependencies: - '@vue/compiler-core': 3.3.13 - '@vue/shared': 3.3.13 + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 dev: true - /@vue/compiler-sfc@3.3.13: - resolution: {integrity: sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw==} + /@vue/compiler-sfc@3.4.21: + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: - '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.3.13 - '@vue/compiler-dom': 3.3.13 - '@vue/compiler-ssr': 3.3.13 - '@vue/reactivity-transform': 3.3.13 - '@vue/shared': 3.3.13 + '@babel/parser': 7.24.0 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.32 + magic-string: 0.30.8 + postcss: 8.4.35 source-map-js: 1.0.2 dev: true - /@vue/compiler-ssr@3.3.13: - resolution: {integrity: sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw==} - dependencies: - '@vue/compiler-dom': 3.3.13 - '@vue/shared': 3.3.13 - dev: true - - /@vue/reactivity-transform@3.3.13: - resolution: {integrity: sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q==} + /@vue/compiler-ssr@3.4.21: + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} dependencies: - '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.3.13 - '@vue/shared': 3.3.13 - estree-walker: 2.0.2 - magic-string: 0.30.5 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 dev: true - /@vue/reactivity@3.3.13: - resolution: {integrity: sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ==} + /@vue/reactivity@3.4.21: + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} dependencies: - '@vue/shared': 3.3.13 + '@vue/shared': 3.4.21 dev: true - /@vue/runtime-core@3.3.13: - resolution: {integrity: sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA==} + /@vue/runtime-core@3.4.21: + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} dependencies: - '@vue/reactivity': 3.3.13 - '@vue/shared': 3.3.13 + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 dev: true - /@vue/runtime-dom@3.3.13: - resolution: {integrity: sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ==} + /@vue/runtime-dom@3.4.21: + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} dependencies: - '@vue/runtime-core': 3.3.13 - '@vue/shared': 3.3.13 + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 csstype: 3.1.3 dev: true - /@vue/server-renderer@3.3.13(vue@3.3.13): - resolution: {integrity: sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg==} + /@vue/server-renderer@3.4.21(vue@3.4.21): + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} peerDependencies: - vue: 3.3.13 + vue: 3.4.21 dependencies: - '@vue/compiler-ssr': 3.3.13 - '@vue/shared': 3.3.13 - vue: 3.3.13 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.4.2) dev: true - /@vue/shared@3.3.13: - resolution: {integrity: sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==} + /@vue/shared@3.4.21: + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} dev: true /acorn-jsx@5.3.2(acorn@8.11.2): @@ -836,8 +962,8 @@ packages: dependencies: acorn: 8.11.2 - /acorn-walk@8.3.1: - resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} dev: true @@ -968,6 +1094,12 @@ packages: balanced-match: 1.0.2 concat-map: 0.0.1 + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: false + /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -1198,6 +1330,11 @@ packages: tapable: 2.2.1 dev: false + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -1327,7 +1464,7 @@ packages: eslint: 8.56.0 dev: false - /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.5.0)(eslint-plugin-promise@6.1.1)(eslint@8.56.0): + /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -1337,8 +1474,8 @@ packages: eslint-plugin-promise: ^6.0.0 dependencies: eslint: 8.56.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-n: 16.5.0(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-n: 16.6.2(eslint@8.56.0) eslint-plugin-promise: 6.1.1(eslint@8.56.0) dev: false @@ -1352,7 +1489,7 @@ packages: - supports-color dev: false - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.15.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.1.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1362,8 +1499,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -1375,7 +1512,7 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -1396,11 +1533,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.1.1(eslint@8.56.0)(typescript@5.4.2) debug: 3.2.7 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.15.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.1.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0) transitivePeerDependencies: - supports-color dev: false @@ -1428,7 +1565,7 @@ packages: regexpp: 3.2.0 dev: false - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -1438,7 +1575,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.15.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 7.1.1(eslint@8.56.0)(typescript@5.4.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -1447,7 +1584,7 @@ packages: doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.15.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -1463,8 +1600,8 @@ packages: - supports-color dev: false - /eslint-plugin-n@16.5.0(eslint@8.56.0): - resolution: {integrity: sha512-Hw02Bj1QrZIlKyj471Tb1jSReTl4ghIMHGuBGiMVmw+s0jOPbI4CBuYpGbZr+tdQ+VAvSK6FDSta3J4ib/SKHQ==} + /eslint-plugin-n@16.6.2(eslint@8.56.0): + resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' @@ -1474,6 +1611,7 @@ packages: eslint: 8.56.0 eslint-plugin-es-x: 7.5.0(eslint@8.56.0) get-tsconfig: 4.7.2 + globals: 13.24.0 ignore: 5.3.0 is-builtin-module: 3.2.1 is-core-module: 2.13.1 @@ -1506,8 +1644,8 @@ packages: eslint: 8.56.0 dev: false - /eslint-plugin-unicorn@50.0.1(eslint@8.56.0): - resolution: {integrity: sha512-KxenCZxqSYW0GWHH18okDlOQcpezcitm5aOSz6EnobyJ6BIByiPDviQRjJIUAjG/tMN11958MxaQ+qCoU6lfDA==} + /eslint-plugin-unicorn@51.0.1(eslint@8.56.0): + resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.56.0' @@ -1533,8 +1671,8 @@ packages: - supports-color dev: false - /eslint-plugin-vue@9.19.2(eslint@8.56.0): - resolution: {integrity: sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==} + /eslint-plugin-vue@9.22.0(eslint@8.56.0): + resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 @@ -1543,9 +1681,27 @@ packages: eslint: 8.56.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.13 - semver: 7.5.4 - vue-eslint-parser: 9.3.2(eslint@8.56.0) + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.56.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-plugin-vue@9.22.0(eslint@8.57.0): + resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint@8.57.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -1619,6 +1775,53 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: false + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + 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.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} @@ -1648,6 +1851,12 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -2088,6 +2297,10 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2191,6 +2404,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true @@ -2223,6 +2443,13 @@ packages: dependencies: brace-expansion: 1.1.11 + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false @@ -2453,8 +2680,8 @@ packages: engines: {node: '>=4'} dev: false - /postcss-selector-parser@6.0.13: - resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + /postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -2470,6 +2697,15 @@ packages: source-map-js: 1.0.2 dev: true + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -2628,6 +2864,14 @@ packages: lru-cache: 6.0.0 dev: false + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + /set-function-length@1.1.1: resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} engines: {node: '>= 0.4'} @@ -2766,10 +3010,10 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: - acorn: 8.11.2 + js-tokens: 8.0.3 dev: true /supports-color@5.5.0: @@ -2802,8 +3046,8 @@ packages: resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true - /tinypool@0.8.1: - resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} engines: {node: '>=14.0.0'} dev: true @@ -2824,13 +3068,13 @@ packages: is-number: 7.0.0 dev: false - /ts-api-utils@1.0.3(typescript@5.3.3): + /ts-api-utils@1.0.3(typescript@5.4.2): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.3.3 + typescript: 5.4.2 dev: false /tsconfig-paths@3.15.0: @@ -2905,8 +3149,8 @@ packages: is-typed-array: 1.1.12 dev: false - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true @@ -2922,6 +3166,10 @@ packages: which-boxed-primitive: 1.0.2 dev: false + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -2949,8 +3197,8 @@ packages: spdx-expression-parse: 3.0.1 dev: false - /vite-node@1.1.0: - resolution: {integrity: sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==} + /vite-node@1.3.1(@types/node@20.11.25): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -2958,7 +3206,7 @@ packages: debug: 4.3.4 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.0.10 + vite: 5.0.10(@types/node@20.11.25) transitivePeerDependencies: - '@types/node' - less @@ -2970,7 +3218,7 @@ packages: - terser dev: true - /vite@5.0.10: + /vite@5.0.10(@types/node@20.11.25): resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2998,6 +3246,7 @@ packages: terser: optional: true dependencies: + '@types/node': 20.11.25 esbuild: 0.19.10 postcss: 8.4.32 rollup: 4.9.1 @@ -3005,15 +3254,15 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.1.0: - resolution: {integrity: sha512-oDFiCrw7dd3Jf06HoMtSRARivvyjHJaTxikFxuqJjO76U436PqlVw1uLn7a8OSPrhSfMGVaRakKpA2lePdw79A==} + /vitest@1.3.1(@types/node@20.11.25): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': ^1.0.0 - '@vitest/ui': ^1.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3030,13 +3279,13 @@ packages: jsdom: optional: true dependencies: - '@vitest/expect': 1.1.0 - '@vitest/runner': 1.1.0 - '@vitest/snapshot': 1.1.0 - '@vitest/spy': 1.1.0 - '@vitest/utils': 1.1.0 - acorn-walk: 8.3.1 - cac: 6.7.14 + '@types/node': 20.11.25 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 @@ -3045,11 +3294,11 @@ packages: pathe: 1.1.1 picocolors: 1.0.0 std-env: 3.6.0 - strip-literal: 1.3.0 + strip-literal: 2.0.0 tinybench: 2.5.1 - tinypool: 0.8.1 - vite: 5.0.10 - vite-node: 1.1.0 + tinypool: 0.8.2 + vite: 5.0.10(@types/node@20.11.25) + vite-node: 1.3.1(@types/node@20.11.25) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -3061,8 +3310,8 @@ packages: - terser dev: true - /vue-eslint-parser@9.3.2(eslint@8.56.0): - resolution: {integrity: sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==} + /vue-eslint-parser@9.4.2(eslint@8.56.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' @@ -3074,24 +3323,43 @@ packages: espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.5.4 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: false + + /vue-eslint-parser@9.4.2(eslint@8.57.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: false - /vue@3.3.13: - resolution: {integrity: sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q==} + /vue@3.4.21(typescript@5.4.2): + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.3.13 - '@vue/compiler-sfc': 3.3.13 - '@vue/runtime-dom': 3.3.13 - '@vue/server-renderer': 3.3.13(vue@3.3.13) - '@vue/shared': 3.3.13 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/shared': 3.4.21 + typescript: 5.4.2 dev: true /which-boxed-primitive@1.0.2: From 0f653dfe05de487d6ce29b9358509c1181104e7b Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 11 Mar 2024 15:33:14 +0100 Subject: [PATCH 02/22] chore: update readme --- packages/eslint-config-legacy-typescript/{a.md => README.md} | 0 packages/eslint-config-legacy/{a.md => README.md} | 0 packages/eslint-config/{a.md => README.md} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename packages/eslint-config-legacy-typescript/{a.md => README.md} (100%) rename packages/eslint-config-legacy/{a.md => README.md} (100%) rename packages/eslint-config/{a.md => README.md} (100%) diff --git a/packages/eslint-config-legacy-typescript/a.md b/packages/eslint-config-legacy-typescript/README.md similarity index 100% rename from packages/eslint-config-legacy-typescript/a.md rename to packages/eslint-config-legacy-typescript/README.md diff --git a/packages/eslint-config-legacy/a.md b/packages/eslint-config-legacy/README.md similarity index 100% rename from packages/eslint-config-legacy/a.md rename to packages/eslint-config-legacy/README.md diff --git a/packages/eslint-config/a.md b/packages/eslint-config/README.md similarity index 100% rename from packages/eslint-config/a.md rename to packages/eslint-config/README.md From eb8c8ad16cd5bac0ef6e6e733aaa4d37559ac128 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 11 Mar 2024 19:58:44 +0100 Subject: [PATCH 03/22] feat: migrate `nuxt-module-eslint-config` --- .gitignore | 9 +- .npmrc | 2 + README.md | 4 +- package.json | 3 +- packages/module/README.md | 114 + packages/module/build.config.ts | 12 + packages/module/package.json | 76 + packages/module/src/addons/unimport.ts | 40 + packages/module/src/config.ts | 1 + packages/module/src/config/constants.ts | 1 + packages/module/src/config/index.ts | 16 + packages/module/src/config/parts/disables.ts | 39 + packages/module/src/config/parts/nuxt.ts | 16 + packages/module/src/config/parts/setup.ts | 106 + packages/module/src/config/types.ts | 70 + packages/module/src/module.ts | 209 + packages/module/src/plugin.ts | 1 + packages/module/src/plugin/index.ts | 9 + packages/module/src/plugin/rules/index.ts | 5 + .../plugin/rules/prefer-import-meta/index.ts | 53 + packages/module/src/plugin/rules/utils.ts | 14 + packages/module/src/utils.ts | 12 + packages/module/tsconfig.json | 9 + pnpm-lock.yaml | 5590 ++++++++++++++++- tsconfig.json | 7 + 25 files changed, 6169 insertions(+), 249 deletions(-) create mode 100644 .npmrc create mode 100644 packages/module/README.md create mode 100644 packages/module/build.config.ts create mode 100644 packages/module/package.json create mode 100644 packages/module/src/addons/unimport.ts create mode 100644 packages/module/src/config.ts create mode 100644 packages/module/src/config/constants.ts create mode 100644 packages/module/src/config/index.ts create mode 100644 packages/module/src/config/parts/disables.ts create mode 100644 packages/module/src/config/parts/nuxt.ts create mode 100644 packages/module/src/config/parts/setup.ts create mode 100644 packages/module/src/config/types.ts create mode 100644 packages/module/src/module.ts create mode 100644 packages/module/src/plugin.ts create mode 100644 packages/module/src/plugin/index.ts create mode 100644 packages/module/src/plugin/rules/index.ts create mode 100644 packages/module/src/plugin/rules/prefer-import-meta/index.ts create mode 100644 packages/module/src/plugin/rules/utils.ts create mode 100644 packages/module/src/utils.ts create mode 100644 packages/module/tsconfig.json create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore index e537282e..80e6651a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,8 @@ -# Dependencies node_modules -package-lock.json - -# Intellij idea *.iml .idea - *.log - -# Yarn +.nuxt +.output **/.yarn/cache **/.yarn/*state* diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..bac7fb07 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +shamefully-hoist=true +ignore-workspace-root-check=true diff --git a/README.md b/README.md index 8eb4417b..4c8e9b71 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ Collection of [ESLint](https://eslint.org)-related packages for Nuxt ✨ ## Packages -- [@nuxt/eslint-config](./packages/eslint-config) - ESLint Config for Nuxt 3 +- [@nuxt/eslint](./packages/module) - Nuxt module generating project-aware ESLint config +- [@nuxt/eslint-config](./packages/eslint-config) - Static ESLint Config +- [@nuxt/eslint-plugin](./packages/eslint-plugin) - ESLint Plugin ## License diff --git a/package.json b/package.json index 4fed8ce5..576c5a82 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "scripts": { "lint": "eslint . --config=packages/eslint-config/index.js", "release": "pnpm test && pnpm publish -r", - "test": "pnpm lint && vitest run" + "test": "pnpm lint && vitest run", + "typecheck": "tsc --noEmit" }, "devDependencies": { "@types/eslint": "^8.56.5", diff --git a/packages/module/README.md b/packages/module/README.md new file mode 100644 index 00000000..a8c7f636 --- /dev/null +++ b/packages/module/README.md @@ -0,0 +1,114 @@ +# `@nuxt/eslint` + +[![npm version][npm-version-src]][npm-version-href] +[![npm downloads][npm-downloads-src]][npm-downloads-href] +[![License][license-src]][license-href] +[![Nuxt][nuxt-src]][nuxt-href] + +> [!IMPORTANT] +> Experimental. Feedbacks are greatly welcome. + +A module that generates project-aware [ESLint flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new) for Nuxt. This should replace [`@nuxt/eslint-config`](https://github.com/nuxt/eslint-config) as the flat config version. + +## Features + +- [ESLint flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new), future-proof +- Project-aware Nuxt-specific settings, [supports layers](https://nuxt.com/docs/getting-started/layers). +- [Nuxt DevTools](https://github.com/nuxt/devtools) integration powered by [`eslint-flat-config-viewer`](https://github.com/antfu/eslint-flat-config-viewer) + +## Quick Setup + +```bash +npm i -D @nuxt/eslint +``` + +```js +// nuxt.config.ts +export default defineNuxtConfig({ + modules: [ + '@nuxt/eslint' + ] +}) +``` + +And create an `eslint.config.js` file in your project root, with the following content: + +```js +// eslint.config.js +import nuxt from './.nuxt/eslint.config.mjs' + +export default [ + ...nuxt, + // your custom flat config here. +] +``` + +## Receipts + +## Work with VS Code + +Note that ESLint Flat config is not yet enabled by default in the [ESLint VS Code extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint), you will need to enable it via the `eslint.experimental.useFlatConfig` to get ESLint working in VS Code. (This is likely not needed after ESLint v9). + +```json +// .vscode/settings.json +{ + // Enable the ESlint flat config support + "eslint.experimental.useFlatConfig": true +} +``` + +### Use with Prettier + +This module does not enable any stylistic/formatting rules by default. You can use Prettier alongside directly. + +### Use with Custom Config Presets + +By default, this module installs the JS, TS and Vue plugins with their recommended rules. This might already been covered by your config presets. You can disable the default setup by disable `standalone` option. + +```js +// nuxt.config.ts +export default defineNuxtConfig({ + modules: [ + '@nuxt/eslint' + ], + eslint: { + standalone: false // <--- + } +}) +``` + +This will make this module only generate the Nuxt-specific rules and disables, so that you can merge it with your own config presets. + +For example, with [`@antfu/eslint-config`](https://github.com/antfu/eslint-config): + +```js +// eslint.config.js +import antfu from '@antfu/eslint-config' +import nuxt from './.nuxt/eslint.config.mjs' + +export default antfu( + { + // ...@antfu/eslint-config options, + }, + // Add the Nuxt rules + nuxt, + // ...your other rules +) +``` + +## License + +MIT + + +[npm-version-src]: https://img.shields.io/npm/v/@nuxt/eslint/latest.svg?style=flat&colorA=18181B&colorB=28CF8D +[npm-version-href]: https://npmjs.com/package/@nuxt/eslint + +[npm-downloads-src]: https://img.shields.io/npm/dm/@nuxt/eslint.svg?style=flat&colorA=18181B&colorB=28CF8D +[npm-downloads-href]: https://npmjs.com/package/@nuxt/eslint + +[license-src]: https://img.shields.io/npm/l/@nuxt/eslint.svg?style=flat&colorA=18181B&colorB=28CF8D +[license-href]: https://npmjs.com/package/@nuxt/eslint + +[nuxt-src]: https://img.shields.io/badge/Nuxt-18181B?logo=nuxt.js +[nuxt-href]: https://nuxt.com diff --git a/packages/module/build.config.ts b/packages/module/build.config.ts new file mode 100644 index 00000000..ec49fd18 --- /dev/null +++ b/packages/module/build.config.ts @@ -0,0 +1,12 @@ +import { defineBuildConfig } from 'unbuild' + +export default defineBuildConfig({ + entries: [ + 'src/module.ts', + 'src/config.ts', + 'src/plugin.ts', + ], + rollup: { + emitCJS: true, + }, +}) diff --git a/packages/module/package.json b/packages/module/package.json new file mode 100644 index 00000000..7cf5636f --- /dev/null +++ b/packages/module/package.json @@ -0,0 +1,76 @@ +{ + "name": "@nuxt/eslint", + "type": "module", + "version": "0.1.1", + "packageManager": "pnpm@8.15.4", + "description": "Generate ESLint config from current Nuxt settings", + "license": "MIT", + "repository": "antfu/nuxt-module-eslint-config", + "exports": { + ".": { + "types": "./dist/types.d.ts", + "import": "./dist/module.mjs", + "require": "./dist/module.cjs" + }, + "./config": { + "types": "./dist/config.d.ts", + "import": "./dist/config.mjs", + "require": "./dist/config.cjs" + }, + "./plugin": { + "types": "./dist/plugin.d.ts", + "import": "./dist/plugin.mjs", + "require": "./dist/plugin.cjs" + } + }, + "main": "./dist/module.cjs", + "types": "./dist/types.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "nuxt-module-build build", + "prepare": "nuxt-module-build prepare", + "dev": "nuxi dev playground", + "dev:build": "nuxi build playground", + "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground", + "prepublishOnly": "npm run build", + "lint": "eslint .", + "lint:play": "cd playground && eslint .", + "test": "vitest run", + "test:watch": "vitest watch" + }, + "peerDependencies": { + "eslint": "^8.55.0" + }, + "dependencies": { + "@eslint/js": "^8.57.0", + "@nuxt/devtools-kit": "^1.0.8", + "@nuxt/kit": "^3.10.3", + "@typescript-eslint/eslint-plugin": "^7.1.1", + "@typescript-eslint/parser": "^7.1.1", + "@typescript-eslint/types": "^7.1.1", + "@typescript-eslint/utils": "^7.1.1", + "eslint-flat-config-viewer": "^0.1.11", + "eslint-plugin-i": "^2.29.1", + "eslint-plugin-unimport": "^0.0.0", + "eslint-plugin-unused-imports": "^3.1.0", + "eslint-plugin-vue": "^9.22.0", + "get-port-please": "^3.1.2", + "pathe": "^1.1.2", + "unimport": "^3.7.1", + "vue-eslint-parser": "^9.4.2" + }, + "devDependencies": { + "@nuxt/module-builder": "^0.5.5", + "@nuxt/schema": "^3.10.3", + "@nuxt/test-utils": "^3.11.0", + "@types/node": "^20.11.25", + "@typescript-eslint/scope-manager": "^7.1.1", + "eslint": "npm:eslint-ts-patch@8.56.0-0", + "eslint-factory": "^0.0.2", + "eslint-ts-patch": "8.56.0-0", + "nuxt": "^3.10.3", + "vitest": "^1.3.1" + } +} diff --git a/packages/module/src/addons/unimport.ts b/packages/module/src/addons/unimport.ts new file mode 100644 index 00000000..28e67f24 --- /dev/null +++ b/packages/module/src/addons/unimport.ts @@ -0,0 +1,40 @@ +import { join } from 'pathe' +import { addTemplate } from '@nuxt/kit' +import type { Nuxt } from '@nuxt/schema' +import { defineESLintPluginAddon } from '../utils' + +export const Unimport = defineESLintPluginAddon((nuxt: Nuxt) => { + console.warn('[eslint-config] Unimport addon is not yet ready.') + + let dataPath = join(nuxt.options.buildDir, '.unimport.json') + nuxt.hook('imports:context', (ctx) => { + dataPath = addTemplate({ + filename: '.unimport.json', + write: true, + async getContents() { + return JSON.stringify(await ctx.getImports(), null, 2) + }, + }).filename + }) + + return { + imports: [ + { + from: 'eslint-plugin-unimport', + name: 'createUnimportConfig', + }, + { + from: 'fs', + name: 'default', + as: 'fs', + }, + ], + configLines: [ + `createUnimportConfig({`, + ` getImports() {`, + ` return JSON.parse(fs.readFileSync(${JSON.stringify(dataPath)}, "utf-8"))`, + ` }`, + `}),`, + ], + } +}) diff --git a/packages/module/src/config.ts b/packages/module/src/config.ts new file mode 100644 index 00000000..804fd494 --- /dev/null +++ b/packages/module/src/config.ts @@ -0,0 +1 @@ +export * from './config/index' diff --git a/packages/module/src/config/constants.ts b/packages/module/src/config/constants.ts new file mode 100644 index 00000000..af1b2bae --- /dev/null +++ b/packages/module/src/config/constants.ts @@ -0,0 +1 @@ +export const GLOB_EXTS = '{js,ts,jsx,tsx,vue}' diff --git a/packages/module/src/config/index.ts b/packages/module/src/config/index.ts new file mode 100644 index 00000000..7514e033 --- /dev/null +++ b/packages/module/src/config/index.ts @@ -0,0 +1,16 @@ +import type { FlatConfig, NuxtESLintConfigOptions } from './types' +import setup from './parts/setup' +import disables from './parts/disables' +import nuxt from './parts/nuxt' + +export function createBasicNuxtConfig(options: NuxtESLintConfigOptions = {}): FlatConfig[] { + const items: FlatConfig[] = [] + + if (options.features?.standalone !== false) + items.push(...setup()) + + items.push(...nuxt()) + items.push(...disables(options)) + + return items +} diff --git a/packages/module/src/config/parts/disables.ts b/packages/module/src/config/parts/disables.ts new file mode 100644 index 00000000..dd60b0bc --- /dev/null +++ b/packages/module/src/config/parts/disables.ts @@ -0,0 +1,39 @@ +import { join, relative } from 'pathe' +import { GLOB_EXTS } from '../constants' +import type { FlatConfig, NuxtESLintConfigOptions } from '../types' + +export default function disables(options: NuxtESLintConfigOptions): FlatConfig[] { + const dirs = options.dirs ?? {} + const nestedGlobPattern = `**/*.${GLOB_EXTS}` + + return [ + { + name: 'nuxt:vue-routes-disables', + files: [ + relative(dirs.src || '', `app.${GLOB_EXTS}`), + relative(dirs.src || '', `error.${GLOB_EXTS}`), + + // Layouts and pages are not used directly by users so they can have one-word names. + ...(dirs.layouts?.map(layoutsDir => join(layoutsDir, nestedGlobPattern)) || []), + ...(dirs.pages?.map(pagesDir => join(pagesDir, nestedGlobPattern)) || []), + + // These files should have multiple words in their names as they are within subdirectories. + ...(dirs.components?.map(componentsDir => join(componentsDir, nestedGlobPattern)) || []), + ], + rules: { + 'vue/multi-word-component-names': 'off', + }, + }, + // Layouts and pages are required to have a single root element if transitions are enabled. + { + name: 'nuxt:vue-single-root', + files: [ + ...(dirs.layouts?.map(layoutsDir => join(layoutsDir, nestedGlobPattern)) || []), + ...(dirs.pages?.map(pagesDir => join(pagesDir, nestedGlobPattern)) || []), + ], + rules: { + 'vue/no-multiple-template-root': 'error', + }, + }, + ] +} diff --git a/packages/module/src/config/parts/nuxt.ts b/packages/module/src/config/parts/nuxt.ts new file mode 100644 index 00000000..03a43d30 --- /dev/null +++ b/packages/module/src/config/parts/nuxt.ts @@ -0,0 +1,16 @@ +import type { FlatConfig } from '../types' +import nuxtPlugin from '../../plugin' + +export default function nuxt(): FlatConfig[] { + return [ + { + name: 'nuxt:rules', + plugins: { + nuxt: nuxtPlugin, + }, + rules: { + 'nuxt/prefer-import-meta': 'error', + }, + }, + ] +} diff --git a/packages/module/src/config/parts/setup.ts b/packages/module/src/config/parts/setup.ts new file mode 100644 index 00000000..180bd8ac --- /dev/null +++ b/packages/module/src/config/parts/setup.ts @@ -0,0 +1,106 @@ +import * as parserTs from '@typescript-eslint/parser' +import * as parserVue from 'vue-eslint-parser' +import pluginTs from '@typescript-eslint/eslint-plugin' + +// @ts-expect-error missing types +import pluginVue from 'eslint-plugin-vue' + +// @ts-expect-error missing types +import pluginESLint from '@eslint/js' +import type { Linter } from 'eslint' + +export default function setup(): Linter.FlatConfig[] { + return [ + { + ignores: [ + '**/dist', + '**/node_modules', + '**/.nuxt', + '**/.output', + '**/.vercel', + '**/.netlify', + ], + }, + { + name: 'nuxt:plugins-setup', + plugins: { + '@typescript-eslint': pluginTs as any, + 'vue': pluginVue as any, + }, + }, + { + name: 'nuxt:setup', + languageOptions: { + parserOptions: { + ecmaVersion: 'latest', + extraFileExtensions: ['.vue'], + ecmaFeatures: { + jsx: true, + }, + }, + }, + }, + pluginESLint.configs.recommended, + { + name: 'nuxt:typescript', + files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'], + languageOptions: { + parser: parserTs, + }, + rules: { + ...pluginTs.configs['eslint-recommended'].overrides![0].rules, + ...pluginTs.configs.recommended.rules, + }, + }, + { + name: 'nuxt:vue', + files: [ + '**/*.vue', + ], + languageOptions: { + parser: parserVue, + }, + processor: pluginVue.processors['.vue'] as any, + rules: { + ...pluginVue.configs.base.rules, + ...pluginVue.configs['vue3-essential'].rules, + ...pluginVue.configs['vue3-strongly-recommended'].rules, + ...pluginVue.configs['vue3-recommended'].rules, + + // Include typescript eslint rules in *.vue files + // https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/src/configs/eslint-recommended.ts + 'constructor-super': 'off', // ts(2335) & ts(2377) + 'getter-return': 'off', // ts(2378) + 'no-const-assign': 'off', // ts(2588) + 'no-dupe-args': 'off', // ts(2300) + 'no-dupe-class-members': 'off', // ts(2393) & ts(2300) + 'no-dupe-keys': 'off', // ts(1117) + 'no-func-assign': 'off', // ts(2539) + 'no-import-assign': 'off', // ts(2539) & ts(2540) + 'no-new-symbol': 'off', // ts(7009) + 'no-obj-calls': 'off', // ts(2349) + 'no-redeclare': 'off', // ts(2451) + 'no-setter-return': 'off', // ts(2408) + 'no-this-before-super': 'off', // ts(2376) + 'no-undef': 'off', // ts(2304) + 'no-unreachable': 'off', // ts(7027) + 'no-unsafe-negation': 'off', // ts(2365) & ts(2360) & ts(2358) + 'no-var': 'error', // ts transpiles let/const to var, so no need for vars any more + 'prefer-const': 'error', // ts provides better types with const + 'prefer-rest-params': 'error', // ts provides better types with rest args over arguments + 'prefer-spread': 'error', // ts transpiles spread to apply, so no need for manual apply + 'valid-typeof': 'off', // ts(2367) + }, + }, + { + name: 'nuxt:typescript-disables', + files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts', '**/*.vue'], + rules: { + // The core 'no-unused-vars' rules (in the eslint:recommended ruleset) + // does not work with type definitions. + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': 'warn', + }, + }, + ] +} diff --git a/packages/module/src/config/types.ts b/packages/module/src/config/types.ts new file mode 100644 index 00000000..a55a6b86 --- /dev/null +++ b/packages/module/src/config/types.ts @@ -0,0 +1,70 @@ +import type { Linter } from 'eslint' + +export interface NuxtESLintConfigOptions { + features?: { + /** + * Setup basic JavaScript, TypeScript and Vue plugins and rules. + * + * You might want to disable it when you are using other ESLint config that handles the basic setup. + * + * @default true + */ + standalone?: boolean + } + + dirs?: { + /** + * Nuxt source directory + */ + src?: string + + /** + * Directory for pages + */ + pages?: string[] + + /** + * Directory for layouts + */ + layouts?: string[] + + /** + * Directory for components + */ + components?: string[] + + /** + * Directory for composobles + */ + composables?: string[] + + /** + * Directory for plugins + */ + plugins?: string[] + + /** + * Directory for modules + */ + modules?: string[] + + /** + * Directory for middleware + */ + middleware?: string[] + + /** + * Directory for server + */ + servers?: string[] + + /** + * Directory for layers + */ + layers?: string[] + } +} + +export interface FlatConfig extends Linter.FlatConfig { + name?: string +} diff --git a/packages/module/src/module.ts b/packages/module/src/module.ts new file mode 100644 index 00000000..35c04f20 --- /dev/null +++ b/packages/module/src/module.ts @@ -0,0 +1,209 @@ +import { addTemplate, defineNuxtModule } from '@nuxt/kit' +import { stringifyImports } from 'unimport' +import type { Import } from 'unimport' +import type { Nuxt } from '@nuxt/schema' +import { relative, resolve } from 'pathe' +import { getPort } from 'get-port-please' +import type { ESLintPluginData } from './utils' +import { Unimport } from './addons/unimport' +import type { NuxtESLintConfigOptions } from './config/types' + +// Module options TypeScript interface definition +export interface ModuleOptions { + /** + * Setup basic JavaScript, TypeScript and Vue plugins and rules. + * + * You might want to disable it when you are using other ESLint config that handles the basic setup. + * + * @default true + */ + standalone?: boolean + + /** + * Enable experimental features. + */ + experimental?: { + /** + * Enable unimport plugin that inserts import statements automatically. + * + * @experimental + * @default false + */ + unimport?: boolean + } +} + +export default defineNuxtModule({ + meta: { + name: '@nuxt/eslint', + configKey: 'eslint', + }, + defaults: { + standalone: true, + experimental: { + unimport: false, + }, + }, + setup(options, nuxt) { + const addons: ESLintPluginData[] = [] + + if (options.experimental?.unimport) + addons.push(Unimport(nuxt)) + + addTemplate({ + filename: 'eslint.config.mjs', + write: true, + async getContents() { + return generateESLintConfig(options, nuxt, addons) + }, + }) + + setupDevToolsIntegration(nuxt) + }, +}) + +function generateESLintConfig(options: ModuleOptions, nuxt: Nuxt, addons: ESLintPluginData[]) { + const importLines: Import[] = [] + const configLines: string[] = [] + + importLines.push({ + from: 'nuxt-module-eslint-config/config', + name: 'createBasicNuxtConfig', + }) + + const basicOptions: NuxtESLintConfigOptions = { + features: { + standalone: options.standalone, + }, + dirs: getDirs(nuxt), + } + + configLines.push(`...createBasicNuxtConfig(\n${JSON.stringify(basicOptions, null, 2)}\n),`) + + for (const mod of addons) { + importLines.push(...mod.imports) + configLines.push(...mod.configLines) + } + + return [ + '// ESLint config generated by Nuxt', + stringifyImports(importLines, false), +`export default [`, +...configLines, +`]`, +'', + ].join('\n') +} + +function setupDevToolsIntegration(nuxt: Nuxt) { + let viewerProcess: ReturnType | undefined + let viewerPort: number | undefined + let viewerUrl: string | undefined + + nuxt.hook('devtools:customTabs', (tabs) => { + tabs.push({ + name: 'eslint-config', + title: 'ESLint Config', + icon: 'https://raw.githubusercontent.com/antfu/eslint-flat-config-viewer/main/public/favicon.svg', + view: viewerUrl + ? { + type: 'iframe', + src: viewerUrl, + } + : { + type: 'launch', + description: 'Start ESLint config viewer to inspect the local ESLint config', + actions: [ + { + label: 'Launch', + pending: !!viewerProcess, + handle: async () => { + const { startSubprocess } = await import('@nuxt/devtools-kit') + viewerPort = await getPort({ + port: 8123, + portRange: [8123, 10000], + }) + viewerProcess = startSubprocess( + { + command: 'npx', + args: ['eslint-flat-config-viewer'], + cwd: nuxt.options.rootDir, + env: { + PORT: viewerPort.toString(), + NO_OPEN: 'true', + }, + }, + { + id: 'eslint-flat-config-viewer', + name: 'ESLint Config Viewer', + }, + nuxt, + ) + nuxt.callHook('devtools:customTabs:refresh') + + // Wait for viewer to be ready + const url = `http://localhost:${viewerPort}` + for (let i = 0; i < 100; i++) { + if (await fetch(url).then(r => r.ok).catch(() => false)) + break + await new Promise(resolve => setTimeout(resolve, 500)) + } + await new Promise(resolve => setTimeout(resolve, 2000)) + viewerUrl = url + }, + }, + ], + }, + }) + }) +} + +function getDirs(nuxt: Nuxt): NuxtESLintConfigOptions['dirs'] { + const dirs: Required = { + pages: [], + composables: [], + components: [], + layouts: [], + plugins: [], + middleware: [], + modules: [], + layers: [], + servers: [], + src: nuxt.options.srcDir, + } + + for (const layer of nuxt.options._layers) { + const r = (t: string) => relative(nuxt.options.rootDir, resolve(layer.config.srcDir, t)) + + dirs.layers.push(r('')) + dirs.pages.push(r(nuxt.options.dir.pages || 'pages')) + dirs.layouts.push(r(nuxt.options.dir.layouts || 'layouts')) + dirs.plugins.push(r(nuxt.options.dir.plugins || 'plugins')) + dirs.middleware.push(r(nuxt.options.dir.middleware || 'middleware')) + dirs.modules.push(r(nuxt.options.dir.modules || 'modules')) + + dirs.composables.push(r('composables')) + dirs.composables.push(r('utils')) + for (const dir of (layer.config.imports?.dirs ?? [])) { + if (dir) + dirs.composables.push(r(dir)) + } + + if (layer.config.components !== false) { + const options = layer.config.components || {} + if (options !== true && 'dirs' in options) { + for (const dir of options.dirs || []) { + if (typeof dir === 'string') + dirs.components.push(r(dir)) + else if (dir && 'path' in dir && typeof dir.path === 'string') + dirs.components.push(r(dir.path)) + } + } + } + else { + dirs.components.push(r('components')) + } + } + + return dirs +} diff --git a/packages/module/src/plugin.ts b/packages/module/src/plugin.ts new file mode 100644 index 00000000..1cd948b7 --- /dev/null +++ b/packages/module/src/plugin.ts @@ -0,0 +1 @@ +export { default } from './plugin/index' diff --git a/packages/module/src/plugin/index.ts b/packages/module/src/plugin/index.ts new file mode 100644 index 00000000..b8d9a0c8 --- /dev/null +++ b/packages/module/src/plugin/index.ts @@ -0,0 +1,9 @@ +import type { ESLint } from 'eslint' +import rules from './rules' + +export default { + meta: { + name: 'nuxt-module-eslint-config/plugin', + }, + rules, +} satisfies ESLint.Plugin diff --git a/packages/module/src/plugin/rules/index.ts b/packages/module/src/plugin/rules/index.ts new file mode 100644 index 00000000..4e1dc2be --- /dev/null +++ b/packages/module/src/plugin/rules/index.ts @@ -0,0 +1,5 @@ +import { rule as preferImportMetaRule } from './prefer-import-meta' + +export default { + 'prefer-import-meta': preferImportMetaRule, +} diff --git a/packages/module/src/plugin/rules/prefer-import-meta/index.ts b/packages/module/src/plugin/rules/prefer-import-meta/index.ts new file mode 100644 index 00000000..2a54a08a --- /dev/null +++ b/packages/module/src/plugin/rules/prefer-import-meta/index.ts @@ -0,0 +1,53 @@ +import { AST_NODE_TYPES } from '@typescript-eslint/types' +import { createRule } from '../utils' + +type MessageIds = 'default' + +type Options = [] + +const processSuffixes = new Set([ + 'client', + 'browser', + 'server', + 'nitro', + 'dev', + 'test', + 'prerender', +]) + +export const rule = createRule({ + name: 'prefer-import-meta', + meta: { + type: 'suggestion', + docs: { + description: 'Prefer using `import.meta.*` over `process.*`', + }, + schema: [], + messages: { + default: 'Replace `process.{{ suffix }}` with `import.meta.{{ suffix }}`.', + }, + fixable: 'code', + }, + defaultOptions: [], + create: context => ({ + MemberExpression: (node) => { + if ( + node.object.type === AST_NODE_TYPES.Identifier + && node.object.name === 'process' + && node.property.type === AST_NODE_TYPES.Identifier + && processSuffixes.has(node.property.name) + ) { + const suffix = node.property.name + + context.report({ + node, + messageId: 'default', + data: { + suffix, + }, + fix: fixer => fixer.replaceText(node, `import.meta.${suffix}`), + }) + } + }, + }), +}) diff --git a/packages/module/src/plugin/rules/utils.ts b/packages/module/src/plugin/rules/utils.ts new file mode 100644 index 00000000..53f4eb5b --- /dev/null +++ b/packages/module/src/plugin/rules/utils.ts @@ -0,0 +1,14 @@ +import { ESLintUtils } from '@typescript-eslint/utils' +import type { Rule } from 'eslint' + +export function createRule< + TMessageIds extends string, + TOptions extends readonly unknown[], +>( + rule: Readonly>, +) { + const _createRule = ESLintUtils.RuleCreator( + name => `https://eslint.nuxt.com/rules/${name}`, + ) + return _createRule(rule) as unknown as Rule.RuleModule +} diff --git a/packages/module/src/utils.ts b/packages/module/src/utils.ts new file mode 100644 index 00000000..ff63265d --- /dev/null +++ b/packages/module/src/utils.ts @@ -0,0 +1,12 @@ +import type { Import } from 'unimport' + +export interface ESLintPluginData { + imports: Import[] + configLines: string[] +} + +export type ESLintPluginAddon = (options: T) => ESLintPluginData + +export function defineESLintPluginAddon(module: ESLintPluginAddon) { + return module +} diff --git a/packages/module/tsconfig.json b/packages/module/tsconfig.json new file mode 100644 index 00000000..406dc74c --- /dev/null +++ b/packages/module/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "./.nuxt/tsconfig.json", + "compilerOptions": { + "moduleResolution": "Bundler" + }, + "exclude": [ + "playground" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 43e9b493..dd82747a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -110,29 +110,282 @@ importers: specifier: ^5.4.2 version: 5.4.2 + packages/module: + dependencies: + '@eslint/js': + specifier: ^8.57.0 + version: 8.57.0 + '@nuxt/devtools-kit': + specifier: ^1.0.8 + version: 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10) + '@nuxt/kit': + specifier: ^3.10.3 + version: 3.10.3(rollup@3.29.4) + '@typescript-eslint/eslint-plugin': + specifier: ^7.1.1 + version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + '@typescript-eslint/parser': + specifier: ^7.1.1 + version: 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + '@typescript-eslint/types': + specifier: ^7.1.1 + version: 7.1.1 + '@typescript-eslint/utils': + specifier: ^7.1.1 + version: 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + eslint-flat-config-viewer: + specifier: ^0.1.11 + version: 0.1.11(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + eslint-plugin-i: + specifier: ^2.29.1 + version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0) + eslint-plugin-unimport: + specifier: ^0.0.0 + version: 0.0.0(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2) + eslint-plugin-unused-imports: + specifier: ^3.1.0 + version: 3.1.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.56.0-0) + eslint-plugin-vue: + specifier: ^9.22.0 + version: 9.22.0(eslint-ts-patch@8.56.0-0) + get-port-please: + specifier: ^3.1.2 + version: 3.1.2 + pathe: + specifier: ^1.1.2 + version: 1.1.2 + unimport: + specifier: ^3.7.1 + version: 3.7.1(rollup@3.29.4) + vue-eslint-parser: + specifier: ^9.4.2 + version: 9.4.2(eslint-ts-patch@8.56.0-0) + devDependencies: + '@nuxt/module-builder': + specifier: ^0.5.5 + version: 0.5.5(@nuxt/kit@3.10.3)(nuxi@3.10.1)(typescript@5.4.2) + '@nuxt/schema': + specifier: ^3.10.3 + version: 3.10.3(rollup@3.29.4) + '@nuxt/test-utils': + specifier: ^3.11.0 + version: 3.11.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@types/node': + specifier: ^20.11.25 + version: 20.11.25 + '@typescript-eslint/scope-manager': + specifier: ^7.1.1 + version: 7.1.1 + eslint: + specifier: npm:eslint-ts-patch@8.56.0-0 + version: /eslint-ts-patch@8.56.0-0 + eslint-factory: + specifier: ^0.0.2 + version: 0.0.2(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + eslint-ts-patch: + specifier: 8.56.0-0 + version: 8.56.0-0 + nuxt: + specifier: ^3.10.3 + version: 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10) + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.25) + packages: /@aashutoshrathi/word-wrap@1.2.6: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + /@antfu/utils@0.7.7: + resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} + /@babel/code-frame@7.23.5: resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.23.4 chalk: 2.4.2 - dev: false + + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.24.0: + resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/helpers': 7.24.0 + '@babel/parser': 7.24.0 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.0 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.24.0(@babel/core@7.24.0): + resolution: {integrity: sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + + /@babel/helpers@7.24.0: + resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.0 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} @@ -140,7 +393,6 @@ packages: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - dev: false /@babel/parser@7.24.0: resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} @@ -148,7 +400,102 @@ packages: hasBin: true dependencies: '@babel/types': 7.23.6 - dev: true + + /@babel/plugin-proposal-decorators@7.24.0(@babel/core@7.24.0): + resolution: {integrity: sha512-LiT1RqZWeij7X+wGxCoYh3/3b8nVOX6/7BZ9wiQgAIyjoeQWdROaodJCgT+dwtbjHaz0r7bEbHJzjSbVfcOyjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-decorators': 7.24.0(@babel/core@7.24.0) + + /@babel/plugin-syntax-decorators@7.24.0(@babel/core@7.24.0): + resolution: {integrity: sha512-MXW3pQCu9gUiVGzqkGqsgiINDVYXoAnrY8FYF/rmb+OfufNF0zHMpHPN4ulRrinxYT8Vk/aZJxYqOKsDECjKAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.24.0): + resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0) + + /@babel/standalone@7.24.0: + resolution: {integrity: sha512-yIZ/X3EAASgX/MW1Bn8iZKxCwixgYJAUaIScoZ9C6Gapw5l3eKIbtVSgO/IGldQed9QXm22yurKVWyWj5/j+SQ==} + engines: {node: '>=6.9.0'} + + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + + /@babel/traverse@7.24.0: + resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color /@babel/types@7.23.6: resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} @@ -157,7 +504,19 @@ packages: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@cloudflare/kv-asset-handler@0.3.1: + resolution: {integrity: sha512-lKN2XCfKCmpKb86a1tl4GIwsJYDy9TGuwjhDELLmpKygQhw8X2xR4dusgpC5Tg7q1pB96Eb0rBo81kxSILQMwA==} + dependencies: + mime: 3.0.0 /@esbuild/aix-ppc64@0.19.10: resolution: {integrity: sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==} @@ -165,7 +524,14 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true - dev: true + optional: true + + /@esbuild/aix-ppc64@0.20.1: + resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true optional: true /@esbuild/android-arm64@0.19.10: @@ -174,7 +540,14 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true + optional: true + + /@esbuild/android-arm64@0.20.1: + resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true optional: true /@esbuild/android-arm@0.19.10: @@ -183,7 +556,14 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: true + optional: true + + /@esbuild/android-arm@0.20.1: + resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true optional: true /@esbuild/android-x64@0.19.10: @@ -192,7 +572,14 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: true + optional: true + + /@esbuild/android-x64@0.20.1: + resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true optional: true /@esbuild/darwin-arm64@0.19.10: @@ -201,7 +588,14 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true + optional: true + + /@esbuild/darwin-arm64@0.20.1: + resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true optional: true /@esbuild/darwin-x64@0.19.10: @@ -210,7 +604,14 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true + optional: true + + /@esbuild/darwin-x64@0.20.1: + resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true optional: true /@esbuild/freebsd-arm64@0.19.10: @@ -219,7 +620,14 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true + optional: true + + /@esbuild/freebsd-arm64@0.20.1: + resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true optional: true /@esbuild/freebsd-x64@0.19.10: @@ -228,7 +636,14 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true + optional: true + + /@esbuild/freebsd-x64@0.20.1: + resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true optional: true /@esbuild/linux-arm64@0.19.10: @@ -237,7 +652,14 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true + optional: true + + /@esbuild/linux-arm64@0.20.1: + resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-arm@0.19.10: @@ -246,7 +668,14 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true + optional: true + + /@esbuild/linux-arm@0.20.1: + resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-ia32@0.19.10: @@ -255,7 +684,14 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: true + optional: true + + /@esbuild/linux-ia32@0.20.1: + resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-loong64@0.19.10: @@ -264,7 +700,14 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true + optional: true + + /@esbuild/linux-loong64@0.20.1: + resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-mips64el@0.19.10: @@ -273,7 +716,14 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: true + optional: true + + /@esbuild/linux-mips64el@0.20.1: + resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-ppc64@0.19.10: @@ -282,7 +732,14 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true + optional: true + + /@esbuild/linux-ppc64@0.20.1: + resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true optional: true /@esbuild/linux-riscv64@0.19.10: @@ -291,16 +748,30 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true optional: true - /@esbuild/linux-s390x@0.19.10: - resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==} + /@esbuild/linux-riscv64@0.20.1: + resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.19.10: + resolution: {integrity: sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.20.1: + resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true - dev: true optional: true /@esbuild/linux-x64@0.19.10: @@ -309,7 +780,14 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true + optional: true + + /@esbuild/linux-x64@0.20.1: + resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true optional: true /@esbuild/netbsd-x64@0.19.10: @@ -318,7 +796,14 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: true + optional: true + + /@esbuild/netbsd-x64@0.20.1: + resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true optional: true /@esbuild/openbsd-x64@0.19.10: @@ -327,7 +812,14 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: true + optional: true + + /@esbuild/openbsd-x64@0.20.1: + resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true /@esbuild/sunos-x64@0.19.10: @@ -336,7 +828,14 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: true + optional: true + + /@esbuild/sunos-x64@0.20.1: + resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true optional: true /@esbuild/win32-arm64@0.19.10: @@ -345,7 +844,14 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true + optional: true + + /@esbuild/win32-arm64@0.20.1: + resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true /@esbuild/win32-ia32@0.19.10: @@ -354,7 +860,14 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true + optional: true + + /@esbuild/win32-ia32@0.20.1: + resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true /@esbuild/win32-x64@0.19.10: @@ -363,9 +876,25 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true + /@esbuild/win32-x64@0.20.1: + resolution: {integrity: sha512-0MBh53o6XtI6ctDnRMeQ+xoCN8kD2qI1rY1KgF/xdWQwoFeKou7puvDfV8/Wv4Ctx2rRpET/gGdz3YlNtNACSA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint-ts-patch@8.56.0-0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: /eslint-ts-patch@8.56.0-0 + eslint-visitor-keys: 3.4.3 + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -414,6 +943,10 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + /@humanwhocodes/config-array@0.11.13: resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} @@ -446,6 +979,20 @@ packages: /@humanwhocodes/object-schema@2.0.2: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + /@ioredis/commands@1.2.0: + resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -453,9 +1000,80 @@ packages: '@sinclair/typebox': 0.27.8 dev: true + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@kwsites/file-exists@1.1.1: + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /@kwsites/promise-deferred@1.1.1: + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + dependencies: + detect-libc: 2.0.2 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.7.0 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.6.0 + tar: 6.2.0 + transitivePeerDependencies: + - encoding + - supports-color + + /@netlify/functions@2.6.0: + resolution: {integrity: sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==} + engines: {node: '>=14.0.0'} + dependencies: + '@netlify/serverless-functions-api': 1.14.0 + + /@netlify/node-cookies@0.1.0: + resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} + engines: {node: ^14.16.0 || >=16.0.0} + + /@netlify/serverless-functions-api@1.14.0: + resolution: {integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@netlify/node-cookies': 0.1.0 + urlpattern-polyfill: 8.0.2 /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -475,60 +1093,839 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.16.0 - /@rollup/rollup-android-arm-eabi@4.9.1: - resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==} - cpu: [arm] - os: [android] - requiresBuild: true + /@npmcli/agent@2.2.1: + resolution: {integrity: sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + agent-base: 7.1.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 + lru-cache: 10.2.0 + socks-proxy-agent: 8.0.2 + transitivePeerDependencies: + - supports-color + + /@npmcli/fs@3.1.0: + resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + semver: 7.6.0 + + /@npmcli/git@5.0.4: + resolution: {integrity: sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/promise-spawn': 7.0.1 + lru-cache: 10.2.0 + npm-pick-manifest: 9.0.0 + proc-log: 3.0.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.6.0 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + + /@npmcli/installed-package-contents@2.0.2: + resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + npm-bundled: 3.0.0 + npm-normalize-package-bin: 3.0.1 + + /@npmcli/node-gyp@3.0.0: + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + /@npmcli/package-json@5.0.0: + resolution: {integrity: sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/git': 5.0.4 + glob: 10.3.10 + hosted-git-info: 7.0.1 + json-parse-even-better-errors: 3.0.1 + normalize-package-data: 6.0.0 + proc-log: 3.0.0 + semver: 7.6.0 + transitivePeerDependencies: + - bluebird + + /@npmcli/promise-spawn@7.0.1: + resolution: {integrity: sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + which: 4.0.0 + + /@npmcli/run-script@7.0.4: + resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/package-json': 5.0.0 + '@npmcli/promise-spawn': 7.0.1 + node-gyp: 10.0.1 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + - supports-color + + /@nuxt/devalue@2.0.2: + resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} + + /@nuxt/devtools-kit@1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10): + resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} + peerDependencies: + nuxt: ^3.9.0 + vite: '*' + dependencies: + '@nuxt/kit': 3.10.3(rollup@3.29.4) + '@nuxt/schema': 3.10.3(rollup@3.29.4) + execa: 7.2.0 + nuxt: 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10) + vite: 5.0.10(@types/node@20.11.25) + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/devtools-wizard@1.0.8: + resolution: {integrity: sha512-RxyOlM7Isk5npwXwDJ/rjm9ekX5sTNG0LS0VOBMdSx+D5nlRPMRr/r9yO+9WQDyzPLClLzHaXRHBWLPlRX3IMw==} + hasBin: true + dependencies: + consola: 3.2.3 + diff: 5.2.0 + execa: 7.2.0 + global-directory: 4.0.1 + magicast: 0.3.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + prompts: 2.4.2 + rc9: 2.1.1 + semver: 7.6.0 + + /@nuxt/devtools@1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10): + resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} + hasBin: true + peerDependencies: + nuxt: ^3.9.0 + vite: '*' + dependencies: + '@antfu/utils': 0.7.7 + '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10) + '@nuxt/devtools-wizard': 1.0.8 + '@nuxt/kit': 3.10.3(rollup@3.29.4) + birpc: 0.2.17 + consola: 3.2.3 + destr: 2.0.3 + error-stack-parser-es: 0.1.1 + execa: 7.2.0 + fast-glob: 3.3.2 + flatted: 3.2.9 + get-port-please: 3.1.2 + hookable: 5.5.3 + image-meta: 0.2.0 + is-installed-globally: 1.0.0 + launch-editor: 2.6.1 + local-pkg: 0.5.0 + magicast: 0.3.3 + nuxt: 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10) + nypm: 0.3.8 + ohash: 1.1.3 + pacote: 17.0.6 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + scule: 1.3.0 + semver: 7.6.0 + simple-git: 3.22.0 + sirv: 2.0.4 + unimport: 3.7.1(rollup@3.29.4) + vite: 5.0.10(@types/node@20.11.25) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.3)(rollup@3.29.4)(vite@5.0.10) + vite-plugin-vue-inspector: 4.0.2(vite@5.0.10) + which: 3.0.1 + ws: 8.16.0 + transitivePeerDependencies: + - bluebird + - bufferutil + - rollup + - supports-color + - utf-8-validate + + /@nuxt/kit@3.10.3(rollup@3.29.4): + resolution: {integrity: sha512-PUjYB9Mvx0qD9H1QZBwwtY4fLlCLET+Mm9BVqUOtXCaGoXd6u6BE4e/dGFPk2UEKkIcDGrUMSbqkHYvsEuK9NQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dependencies: + '@nuxt/schema': 3.10.3(rollup@3.29.4) + c12: 1.10.0 + consola: 3.2.3 + defu: 6.1.4 + globby: 14.0.1 + hash-sum: 2.0.0 + ignore: 5.3.1 + jiti: 1.21.0 + knitwork: 1.0.0 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + semver: 7.6.0 + ufo: 1.4.0 + unctx: 2.3.1 + unimport: 3.7.1(rollup@3.29.4) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/module-builder@0.5.5(@nuxt/kit@3.10.3)(nuxi@3.10.1)(typescript@5.4.2): + resolution: {integrity: sha512-ifFfwA1rbSXSae25RmqA2kAbV3xoShZNrq1yK8VXB/EnIcDn4WiaYR1PytaSxIt5zsvWPn92BJXiIUBiMQZ0hw==} + hasBin: true + peerDependencies: + '@nuxt/kit': ^3.8.2 + nuxi: ^3.10.0 + dependencies: + '@nuxt/kit': 3.10.3(rollup@3.29.4) + citty: 0.1.6 + consola: 3.2.3 + mlly: 1.4.2 + nuxi: 3.10.1 + pathe: 1.1.2 + unbuild: 2.0.0(typescript@5.4.2) + transitivePeerDependencies: + - sass + - supports-color + - typescript dev: true - optional: true - /@rollup/rollup-android-arm64@4.9.1: - resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==} + /@nuxt/schema@3.10.3(rollup@3.29.4): + resolution: {integrity: sha512-a4cYbeskEVBPazgAhvUGkL/j7ho/iPWMK3vCEm6dRMjSqHVEITRosrj0aMfLbRrDpTrMjlRs0ZitxiaUfE/p5Q==} + engines: {node: ^14.18.0 || >=16.10.0} + dependencies: + '@nuxt/ui-templates': 1.3.1 + consola: 3.2.3 + defu: 6.1.4 + hookable: 5.5.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.4.0 + unimport: 3.7.1(rollup@3.29.4) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/telemetry@2.5.3(rollup@3.29.4): + resolution: {integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==} + hasBin: true + dependencies: + '@nuxt/kit': 3.10.3(rollup@3.29.4) + ci-info: 4.0.0 + consola: 3.2.3 + create-require: 1.1.1 + defu: 6.1.4 + destr: 2.0.3 + dotenv: 16.4.5 + git-url-parse: 13.1.1 + is-docker: 3.0.0 + jiti: 1.21.0 + mri: 1.2.0 + nanoid: 4.0.2 + ofetch: 1.3.3 + parse-git-config: 3.0.0 + pathe: 1.1.2 + rc9: 2.1.1 + std-env: 3.7.0 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/test-utils@3.11.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} + engines: {node: ^14.18.0 || >=16.10.0} + peerDependencies: + '@cucumber/cucumber': ^10.3.1 + '@jest/globals': ^29.5.0 + '@testing-library/vue': ^7.0.0 || ^8.0.1 + '@vitest/ui': ^0.34.6 || ^1.0.0 + '@vue/test-utils': ^2.4.2 + h3: '*' + happy-dom: ^9.10.9 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 + jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 + playwright-core: ^1.34.3 + vite: '*' + vitest: ^0.34.6 || ^1.0.0 + vue: ^3.3.4 + vue-router: ^4.0.0 + peerDependenciesMeta: + '@cucumber/cucumber': + optional: true + '@jest/globals': + optional: true + '@testing-library/vue': + optional: true + '@vitest/ui': + optional: true + '@vue/test-utils': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright-core: + optional: true + vitest: + optional: true + dependencies: + '@nuxt/kit': 3.10.3(rollup@3.29.4) + '@nuxt/schema': 3.10.3(rollup@3.29.4) + c12: 1.10.0 + consola: 3.2.3 + defu: 6.1.4 + destr: 2.0.3 + estree-walker: 3.0.3 + execa: 8.0.1 + fake-indexeddb: 5.0.2 + get-port-please: 3.1.2 + h3: 1.11.1 + local-pkg: 0.5.0 + magic-string: 0.30.8 + node-fetch-native: 1.6.2 + ofetch: 1.3.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + radix3: 1.1.1 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.3.2 + unenv: 1.9.0 + unplugin: 1.9.0 + vite: 5.0.10(@types/node@20.11.25) + vitest: 1.3.1(@types/node@20.11.25) + vitest-environment-nuxt: 1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vue: 3.4.21(typescript@5.4.2) + vue-router: 4.3.0(vue@3.4.21) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@nuxt/ui-templates@1.3.1: + resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} + + /@nuxt/vite-builder@3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vue@3.4.21): + resolution: {integrity: sha512-BqkbrYkEk1AVUJleofbqTRV+ltf2p1CDjGDK78zENPCgrSABlj4F4oK8rze8vmRY5qoH7kMZxgMa2dXVXCp6OA==} + engines: {node: ^14.18.0 || >=16.10.0} + peerDependencies: + vue: ^3.3.4 + dependencies: + '@nuxt/kit': 3.10.3(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) + '@vitejs/plugin-vue': 5.0.4(vite@5.1.6)(vue@3.4.21) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.1.6)(vue@3.4.21) + autoprefixer: 10.4.18(postcss@8.4.35) + clear: 0.1.0 + consola: 3.2.3 + cssnano: 6.1.0(postcss@8.4.35) + defu: 6.1.4 + esbuild: 0.20.1 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + externality: 1.0.2 + fs-extra: 11.2.0 + get-port-please: 3.1.2 + h3: 1.11.1 + knitwork: 1.0.0 + magic-string: 0.30.8 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + postcss: 8.4.35 + rollup-plugin-visualizer: 5.12.0(rollup@3.29.4) + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.4.0 + unenv: 1.9.0 + unplugin: 1.9.0 + vite: 5.1.6(@types/node@20.11.25) + vite-node: 1.3.1(@types/node@20.11.25) + vite-plugin-checker: 0.6.4(eslint-ts-patch@8.56.0-0)(typescript@5.4.2)(vite@5.1.6) + vue: 3.4.21(typescript@5.4.2) + vue-bundle-renderer: 2.0.0 + transitivePeerDependencies: + - '@types/node' + - eslint + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - uWebSockets.js + - vls + - vti + - vue-tsc + + /@parcel/watcher-android-arm64@2.4.1: + resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] requiresBuild: true - dev: true optional: true - /@rollup/rollup-darwin-arm64@4.9.1: - resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==} + /@parcel/watcher-darwin-arm64@2.4.1: + resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] requiresBuild: true - dev: true optional: true - /@rollup/rollup-darwin-x64@4.9.1: - resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==} + /@parcel/watcher-darwin-x64@2.4.1: + resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} + engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] requiresBuild: true - dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.9.1: - resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==} + /@parcel/watcher-freebsd-x64@2.4.1: + resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-arm-glibc@2.4.1: + resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} + engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] requiresBuild: true - dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.9.1: - resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==} + /@parcel/watcher-linux-arm64-glibc@2.4.1: + resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] requiresBuild: true - dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.9.1: - resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==} + /@parcel/watcher-linux-arm64-musl@2.4.1: + resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} + engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-glibc@2.4.1: + resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-linux-x64-musl@2.4.1: + resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@parcel/watcher-wasm@2.4.1: + resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} + engines: {node: '>= 10.0.0'} + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.5 + bundledDependencies: + - napi-wasm + + /@parcel/watcher-win32-arm64@2.4.1: + resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-ia32@2.4.1: + resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher-win32-x64@2.4.1: + resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@parcel/watcher@2.4.1: + resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} + engines: {node: '>= 10.0.0'} + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.5 + node-addon-api: 7.1.0 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.4.1 + '@parcel/watcher-darwin-arm64': 2.4.1 + '@parcel/watcher-darwin-x64': 2.4.1 + '@parcel/watcher-freebsd-x64': 2.4.1 + '@parcel/watcher-linux-arm-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-musl': 2.4.1 + '@parcel/watcher-linux-x64-glibc': 2.4.1 + '@parcel/watcher-linux-x64-musl': 2.4.1 + '@parcel/watcher-win32-arm64': 2.4.1 + '@parcel/watcher-win32-ia32': 2.4.1 + '@parcel/watcher-win32-x64': 2.4.1 + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + optional: true + + /@polka/url@1.0.0-next.25: + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + + /@rollup/plugin-alias@5.1.0(rollup@3.29.4): + resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 3.29.4 + slash: 4.0.0 + dev: true + + /@rollup/plugin-alias@5.1.0(rollup@4.12.1): + resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 4.12.1 + slash: 4.0.0 + + /@rollup/plugin-commonjs@25.0.7(rollup@3.29.4): + resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.8 + rollup: 3.29.4 + dev: true + + /@rollup/plugin-commonjs@25.0.7(rollup@4.12.1): + resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.8 + rollup: 4.12.1 + + /@rollup/plugin-inject@5.0.5(rollup@4.12.1): + resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + estree-walker: 2.0.2 + magic-string: 0.30.8 + rollup: 4.12.1 + + /@rollup/plugin-json@6.1.0(rollup@3.29.4): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + rollup: 3.29.4 dev: true + + /@rollup/plugin-json@6.1.0(rollup@4.12.1): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + rollup: 4.12.1 + + /@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4): + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + rollup: 3.29.4 + dev: true + + /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.1): + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + rollup: 4.12.1 + + /@rollup/plugin-replace@5.0.5(rollup@3.29.4): + resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + magic-string: 0.30.8 + rollup: 3.29.4 + + /@rollup/plugin-replace@5.0.5(rollup@4.12.1): + resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + magic-string: 0.30.8 + rollup: 4.12.1 + + /@rollup/plugin-terser@0.4.4(rollup@4.12.1): + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 4.12.1 + serialize-javascript: 6.0.2 + smob: 1.4.1 + terser: 5.29.1 + + /@rollup/pluginutils@4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + + /@rollup/pluginutils@5.1.0(rollup@3.29.4): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.29.4 + + /@rollup/pluginutils@5.1.0(rollup@4.12.1): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 4.12.1 + + /@rollup/rollup-android-arm-eabi@4.12.1: + resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-android-arm-eabi@4.9.1: + resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-android-arm64@4.12.1: + resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-android-arm64@4.9.1: + resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.1: + resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-arm64@4.9.1: + resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.1: + resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-darwin-x64@4.9.1: + resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.1: + resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.9.1: + resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.1: + resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.9.1: + resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.1: + resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.9.1: + resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.1: + resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} + cpu: [riscv64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-riscv64-gnu@4.9.1: @@ -536,7 +1933,13 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.1: + resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} + cpu: [x64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-x64-gnu@4.9.1: @@ -544,7 +1947,13 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.1: + resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} + cpu: [x64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-x64-musl@4.9.1: @@ -552,7 +1961,13 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.1: + resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true /@rollup/rollup-win32-arm64-msvc@4.9.1: @@ -560,7 +1975,13 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.1: + resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true /@rollup/rollup-win32-ia32-msvc@4.9.1: @@ -568,7 +1989,13 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.1: + resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} + cpu: [x64] + os: [win32] + requiresBuild: true optional: true /@rollup/rollup-win32-x64-msvc@4.9.1: @@ -576,27 +2003,90 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@rushstack/eslint-patch@1.7.2: resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} dev: false + /@sigstore/bundle@2.2.0: + resolution: {integrity: sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.3.0 + + /@sigstore/core@1.0.0: + resolution: {integrity: sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==} + engines: {node: ^16.14.0 || >=18.0.0} + + /@sigstore/protobuf-specs@0.3.0: + resolution: {integrity: sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + /@sigstore/sign@2.2.3: + resolution: {integrity: sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + + /@sigstore/tuf@2.3.1: + resolution: {integrity: sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.3.0 + tuf-js: 2.2.0 + transitivePeerDependencies: + - supports-color + + /@sigstore/verify@1.1.0: + resolution: {integrity: sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true + /@sindresorhus/merge-streams@2.3.0: + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + /@tufjs/canonical-json@2.0.0: + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} + + /@tufjs/models@2.0.0: + resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.3 + /@types/eslint@8.56.5: resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 - dev: true /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true + + /@types/http-proxy@1.17.14: + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + dependencies: + '@types/node': 20.11.25 /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -609,14 +2099,44 @@ packages: resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} dependencies: undici-types: 5.26.5 - dev: true /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: false + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + /@types/semver@7.5.6: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + + /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/type-utils': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 + debug: 4.3.4 + eslint: /eslint-ts-patch@8.56.0-0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 + transitivePeerDependencies: + - supports-color dev: false /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.56.0)(typescript@5.4.2): @@ -641,7 +2161,7 @@ packages: graphemer: 1.4.0 ignore: 5.3.0 natural-compare: 1.4.0 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.3(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: @@ -677,6 +2197,27 @@ packages: - supports-color dev: false + /@typescript-eslint/parser@7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.1.1 + debug: 4.3.4 + eslint: /eslint-ts-patch@8.56.0-0 + typescript: 5.4.2 + transitivePeerDependencies: + - supports-color + dev: false + /@typescript-eslint/parser@7.1.1(eslint@8.56.0)(typescript@5.4.2): resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -719,12 +2260,38 @@ packages: - supports-color dev: false + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + /@typescript-eslint/scope-manager@7.1.1: resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 7.1.1 '@typescript-eslint/visitor-keys': 7.1.1 + + /@typescript-eslint/type-utils@7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/utils': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + debug: 4.3.4 + eslint: /eslint-ts-patch@8.56.0-0 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 + transitivePeerDependencies: + - supports-color dev: false /@typescript-eslint/type-utils@7.1.1(eslint@8.56.0)(typescript@5.4.2): @@ -767,10 +2334,34 @@ packages: - supports-color dev: false + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/types@7.1.1: resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} engines: {node: ^16.0.0 || >=18.0.0} - dev: false + + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 + transitivePeerDependencies: + - supports-color /@typescript-eslint/typescript-estree@7.1.1(typescript@5.4.2): resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} @@ -787,13 +2378,50 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.3(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: false + /@typescript-eslint/utils@6.21.0(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.56.0-0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) + eslint: /eslint-ts-patch@8.56.0-0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + /@typescript-eslint/utils@7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.56.0-0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 7.1.1 + '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + eslint: /eslint-ts-patch@8.56.0-0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + /@typescript-eslint/utils@7.1.1(eslint@8.56.0)(typescript@5.4.2): resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -832,17 +2460,103 @@ packages: - typescript dev: false + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + /@typescript-eslint/visitor-keys@7.1.1: resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 7.1.1 eslint-visitor-keys: 3.4.3 - dev: false /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + /@unhead/dom@1.8.13: + resolution: {integrity: sha512-BWqtatmrcrT+rN/FBZ/Il7mW0TuPlS4bXrsZewAVanOPU3ahr+sHAIUDJmDjziBjSUsO5wLOEYXA+4t08AZnrQ==} + dependencies: + '@unhead/schema': 1.8.13 + '@unhead/shared': 1.8.13 + + /@unhead/schema@1.8.13: + resolution: {integrity: sha512-38SMOv/RaTtldOJx2/Mezlg3xlMeAAFtyI+M7vwj8Qb0xAosRc804ct3Xta5ecFMe9bEXQbZWEIKydU6ZV6B7w==} + dependencies: + hookable: 5.5.3 + zhead: 2.2.4 + + /@unhead/shared@1.8.13: + resolution: {integrity: sha512-NV/quz31oqkITx+Epwzgf01AaYMPTzvkEdg9jvGltTWeSHWKtowUeTRPfWUc3TTPtCzrYgHQQjGN8YOHdWjC7Q==} + dependencies: + '@unhead/schema': 1.8.13 + + /@unhead/ssr@1.8.13: + resolution: {integrity: sha512-4GzpVlwJn8HRa6YE+9UuABf3XSe1WvcqLOWszCJiD3oUaFCZ2jqrVXS4v/jhJ6bAm7LTHrfT7Znyw4nQG57/XQ==} + dependencies: + '@unhead/schema': 1.8.13 + '@unhead/shared': 1.8.13 + + /@unhead/vue@1.8.13(vue@3.4.21): + resolution: {integrity: sha512-2CIwSeadfJxFfY44nz7U+w/F7lg646aw2t8G58P4A08t6KtPRoAVA0cR0iX+yqQEZIAKYEoaNINv3p/GMxyvBw==} + peerDependencies: + vue: '>=2.7 || >=3' + dependencies: + '@unhead/schema': 1.8.13 + '@unhead/shared': 1.8.13 + hookable: 5.5.3 + unhead: 1.8.13 + vue: 3.4.21(typescript@5.4.2) + + /@vercel/nft@0.26.4: + resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + '@rollup/pluginutils': 4.2.1 + acorn: 8.11.3 + acorn-import-attributes: 1.9.2(acorn@8.11.3) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + node-gyp-build: 4.8.0 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - supports-color + + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.6)(vue@3.4.21): + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.24.0 + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0) + '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.24.0) + vite: 5.1.6(@types/node@20.11.25) + vue: 3.4.21(typescript@5.4.2) + transitivePeerDependencies: + - supports-color + + /@vitejs/plugin-vue@5.0.4(vite@5.1.6)(vue@3.4.21): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.1.6(@types/node@20.11.25) + vue: 3.4.21(typescript@5.4.2) + /@vitest/expect@1.3.1: resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} dependencies: @@ -856,14 +2570,14 @@ packages: dependencies: '@vitest/utils': 1.3.1 p-limit: 5.0.0 - pathe: 1.1.1 + pathe: 1.1.2 dev: true /@vitest/snapshot@1.3.1: resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} dependencies: - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.8 + pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -882,6 +2596,63 @@ packages: pretty-format: 29.7.0 dev: true + /@vue-macros/common@1.10.1(rollup@3.29.4)(vue@3.4.21): + resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + dependencies: + '@babel/types': 7.23.6 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@vue/compiler-sfc': 3.4.21 + ast-kit: 0.11.3(rollup@3.29.4) + local-pkg: 0.5.0 + magic-string-ast: 0.3.0 + vue: 3.4.21(typescript@5.4.2) + transitivePeerDependencies: + - rollup + + /@vue/babel-helper-vue-transform-on@1.2.1: + resolution: {integrity: sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==} + + /@vue/babel-plugin-jsx@1.2.1(@babel/core@7.24.0): + resolution: {integrity: sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + dependencies: + '@babel/core': 7.24.0 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.0 + '@babel/types': 7.23.6 + '@vue/babel-helper-vue-transform-on': 1.2.1 + '@vue/babel-plugin-resolve-type': 1.2.1(@babel/core@7.24.0) + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + + /@vue/babel-plugin-resolve-type@1.2.1(@babel/core@7.24.0): + resolution: {integrity: sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/core': 7.24.0 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/parser': 7.24.0 + '@vue/compiler-sfc': 3.4.21 + /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: @@ -890,14 +2661,12 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - dev: true /@vue/compiler-dom@3.4.21: resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} dependencies: '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 - dev: true /@vue/compiler-sfc@3.4.21: resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} @@ -911,27 +2680,26 @@ packages: magic-string: 0.30.8 postcss: 8.4.35 source-map-js: 1.0.2 - dev: true /@vue/compiler-ssr@3.4.21: resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} dependencies: '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 - dev: true + + /@vue/devtools-api@6.6.1: + resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} /@vue/reactivity@3.4.21: resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} dependencies: '@vue/shared': 3.4.21 - dev: true /@vue/runtime-core@3.4.21: resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} dependencies: '@vue/reactivity': 3.4.21 '@vue/shared': 3.4.21 - dev: true /@vue/runtime-dom@3.4.21: resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} @@ -939,7 +2707,6 @@ packages: '@vue/runtime-core': 3.4.21 '@vue/shared': 3.4.21 csstype: 3.1.3 - dev: true /@vue/server-renderer@3.4.21(vue@3.4.21): resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} @@ -949,11 +2716,29 @@ packages: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 vue: 3.4.21(typescript@5.4.2) - dev: true /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - dev: true + + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + /abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + + /acorn-import-attributes@1.9.2(acorn@8.11.3): + resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.3 /acorn-jsx@5.3.2(acorn@8.11.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -972,6 +2757,34 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -980,16 +2793,29 @@ packages: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} dependencies: color-convert: 1.9.3 - dev: false /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} @@ -1002,6 +2828,51 @@ packages: engines: {node: '>=10'} dev: true + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + + /archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + dependencies: + glob: 10.3.10 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + + /archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + dependencies: + archiver-utils: 5.0.2 + async: 3.2.5 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + + /are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1026,7 +2897,6 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: false /array.prototype.findlastindex@1.2.3: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} @@ -1076,17 +2946,89 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true + /ast-kit@0.11.3(rollup@3.29.4): + resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + + /ast-kit@0.9.5(rollup@3.29.4): + resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + + /ast-walker-scope@0.5.0(rollup@3.29.4): + resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.24.0 + ast-kit: 0.9.5(rollup@3.29.4) + transitivePeerDependencies: + - rollup + + /async-sema@3.1.1: + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + + /autoprefixer@10.4.18(postcss@8.4.35): + resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001597 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} dev: false + /b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + /bare-events@2.2.1: + resolution: {integrity: sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==} + requiresBuild: true + optional: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + dependencies: + file-uri-to-path: 1.0.0 + + /birpc@0.2.17: + resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: false /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1098,14 +3040,12 @@ packages: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 - dev: false /braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: false /browserslist@4.22.2: resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} @@ -1116,23 +3056,81 @@ packages: electron-to-chromium: 1.4.615 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) - dev: false + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001597 + electron-to-chromium: 1.4.699 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + + /buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - dev: false /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: semver: 7.5.4 - dev: false + + /bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + dependencies: + run-applescript: 7.0.0 + + /c12@1.10.0: + resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} + dependencies: + chokidar: 3.6.0 + confbox: 0.1.3 + defu: 6.1.4 + dotenv: 16.4.5 + giget: 1.2.1 + jiti: 1.21.0 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true + + /cacache@18.0.2: + resolution: {integrity: sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.10 + lru-cache: 10.2.0 + minipass: 7.0.4 + minipass-collect: 2.0.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.2.0 + unique-filename: 3.0.0 /call-bind@1.0.5: resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} @@ -1146,9 +3144,23 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + /caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001570 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + /caniuse-lite@1.0.30001570: resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} - dev: false + + /caniuse-lite@1.0.30001597: + resolution: {integrity: sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==} /chai@4.3.10: resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} @@ -1170,7 +3182,6 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: false /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1179,16 +3190,42 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + /check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 dev: true + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + /chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + /ci-info@4.0.0: resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} - dev: false + + /citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + dependencies: + consola: 3.2.3 /clean-regexp@1.0.0: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} @@ -1197,11 +3234,37 @@ packages: escape-string-regexp: 1.0.5 dev: false + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + /clear@0.1.0: + resolution: {integrity: sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==} + + /clipboardy@4.0.0: + resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} + engines: {node: '>=18'} + dependencies: + execa: 8.0.1 + is-wsl: 3.1.0 + is64bit: 2.0.0 + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + /cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 - dev: false /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -1211,20 +3274,88 @@ packages: /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: false /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + /color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + /compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + /confbox@0.1.3: + resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + /console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + /cookie-es@1.0.0: + resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} + /core-js-compat@3.34.0: resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} dependencies: browserslist: 4.22.2 dev: false + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + /crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + /crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + dependencies: + crc-32: 1.2.2 + readable-stream: 4.5.2 + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + /croner@8.0.1: + resolution: {integrity: sha512-Hq1+lXVgjJjcS/U+uk6+yVmtxami0r0b+xVtlGyABgdz110l/kOnHWvlSI7nVzrTl8GCdZHwZS4pbBFT7hSL/g==} + engines: {node: '>=18.0'} + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1233,15 +3364,142 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /crossws@0.2.4: + resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} + peerDependencies: + uWebSockets.js: '*' + peerDependenciesMeta: + uWebSockets.js: + optional: true + + /css-declaration-sorter@7.1.1(postcss@8.4.35): + resolution: {integrity: sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.35 + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + + /css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.0.2 + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - dev: false + + /cssnano-preset-default@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-4DUXZoDj+PI3fRl3MqMjl9DwLGjcsFP4qt+92nLUcN1RGfw2TY+GwNoG2B38Usu1BrcTs8j9pxNfSusmvtSjfg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + css-declaration-sorter: 7.1.1(postcss@8.4.35) + cssnano-utils: 4.0.2(postcss@8.4.35) + postcss: 8.4.35 + postcss-calc: 9.0.1(postcss@8.4.35) + postcss-colormin: 6.1.0(postcss@8.4.35) + postcss-convert-values: 6.1.0(postcss@8.4.35) + postcss-discard-comments: 6.0.2(postcss@8.4.35) + postcss-discard-duplicates: 6.0.3(postcss@8.4.35) + postcss-discard-empty: 6.0.3(postcss@8.4.35) + postcss-discard-overridden: 6.0.2(postcss@8.4.35) + postcss-merge-longhand: 6.0.4(postcss@8.4.35) + postcss-merge-rules: 6.1.0(postcss@8.4.35) + postcss-minify-font-values: 6.0.3(postcss@8.4.35) + postcss-minify-gradients: 6.0.3(postcss@8.4.35) + postcss-minify-params: 6.1.0(postcss@8.4.35) + postcss-minify-selectors: 6.0.3(postcss@8.4.35) + postcss-normalize-charset: 6.0.2(postcss@8.4.35) + postcss-normalize-display-values: 6.0.2(postcss@8.4.35) + postcss-normalize-positions: 6.0.2(postcss@8.4.35) + postcss-normalize-repeat-style: 6.0.2(postcss@8.4.35) + postcss-normalize-string: 6.0.2(postcss@8.4.35) + postcss-normalize-timing-functions: 6.0.2(postcss@8.4.35) + postcss-normalize-unicode: 6.1.0(postcss@8.4.35) + postcss-normalize-url: 6.0.2(postcss@8.4.35) + postcss-normalize-whitespace: 6.0.2(postcss@8.4.35) + postcss-ordered-values: 6.0.2(postcss@8.4.35) + postcss-reduce-initial: 6.1.0(postcss@8.4.35) + postcss-reduce-transforms: 6.0.2(postcss@8.4.35) + postcss-svgo: 6.0.3(postcss@8.4.35) + postcss-unique-selectors: 6.0.3(postcss@8.4.35) + + /cssnano-utils@4.0.2(postcss@8.4.35): + resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + + /cssnano@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-e2v4w/t3OFM6HTuSweI4RSdABaqgVgHlJp5FZrQsopHnKKHLFIvK2D3C4kHWeFIycN/1L1J5VIrg5KlDzn3r/g==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + cssnano-preset-default: 6.1.0(postcss@8.4.35) + lilconfig: 3.1.1 + postcss: 8.4.35 + + /csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + css-tree: 2.2.1 /csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: true + + /db0@0.1.4: + resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==} + peerDependencies: + '@libsql/client': ^0.5.2 + better-sqlite3: ^9.4.3 + drizzle-orm: ^0.29.4 + peerDependenciesMeta: + '@libsql/client': + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 /debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -1275,6 +3533,21 @@ packages: /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + /default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + /default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + /define-data-property@1.1.1: resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} engines: {node: '>= 0.4'} @@ -1284,6 +3557,14 @@ packages: has-property-descriptors: 1.0.1 dev: false + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + /define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} @@ -1293,17 +3574,53 @@ packages: object-keys: 1.1.1 dev: false + /defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + /delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + /denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + /destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + /detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + + /devalue@4.3.2: + resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} + /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} dependencies: path-type: 4.0.0 - dev: false /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -1318,9 +3635,70 @@ packages: dependencies: esutils: 2.0.3 + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + /dot-prop@8.0.2: + resolution: {integrity: sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==} + engines: {node: '>=16'} + dependencies: + type-fest: 3.13.1 + + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + /electron-to-chromium@1.4.615: resolution: {integrity: sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==} - dev: false + + /electron-to-chromium@1.4.699: + resolution: {integrity: sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==} + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + optional: true /enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} @@ -1328,12 +3706,17 @@ packages: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - dev: false /entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: true + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + /err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} /error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1341,6 +3724,9 @@ packages: is-arrayish: 0.2.1 dev: false + /error-stack-parser-es@0.1.1: + resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} + /es-abstract@1.22.3: resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} @@ -1439,22 +3825,56 @@ packages: '@esbuild/win32-arm64': 0.19.10 '@esbuild/win32-ia32': 0.19.10 '@esbuild/win32-x64': 0.19.10 - dev: true + + /esbuild@0.20.1: + resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.1 + '@esbuild/android-arm': 0.20.1 + '@esbuild/android-arm64': 0.20.1 + '@esbuild/android-x64': 0.20.1 + '@esbuild/darwin-arm64': 0.20.1 + '@esbuild/darwin-x64': 0.20.1 + '@esbuild/freebsd-arm64': 0.20.1 + '@esbuild/freebsd-x64': 0.20.1 + '@esbuild/linux-arm': 0.20.1 + '@esbuild/linux-arm64': 0.20.1 + '@esbuild/linux-ia32': 0.20.1 + '@esbuild/linux-loong64': 0.20.1 + '@esbuild/linux-mips64el': 0.20.1 + '@esbuild/linux-ppc64': 0.20.1 + '@esbuild/linux-riscv64': 0.20.1 + '@esbuild/linux-s390x': 0.20.1 + '@esbuild/linux-x64': 0.20.1 + '@esbuild/netbsd-x64': 0.20.1 + '@esbuild/openbsd-x64': 0.20.1 + '@esbuild/sunos-x64': 0.20.1 + '@esbuild/win32-arm64': 0.20.1 + '@esbuild/win32-ia32': 0.20.1 + '@esbuild/win32-x64': 0.20.1 /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - dev: false + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - dev: false /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + /eslint-compat-utils@0.1.2(eslint@8.56.0): resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} engines: {node: '>=12'} @@ -1479,6 +3899,45 @@ packages: eslint-plugin-promise: 6.1.1(eslint@8.56.0) dev: false + /eslint-factory@0.0.2(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + resolution: {integrity: sha512-XMGK91oUPt/B8dl4pvwzM5EzXPlxtWteNoHwhiay5qOcqoYUIdYK37nAEu60KBrHCcgsMJ2AQ/HYi8gRDYbjqw==} + peerDependencies: + '@types/eslint': ^8.44.0 + eslint: ^8.44.0 + dependencies: + '@types/eslint': 8.56.5 + '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + eslint: /eslint-ts-patch@8.56.0-0 + transitivePeerDependencies: + - supports-color + - typescript + + /eslint-flat-config-viewer@0.1.11(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + resolution: {integrity: sha512-yPLqlKJrz5LX2H3IG9iXAMr5tsqgXkZ8HGwr8qZGlPgWy5GEhmmUTAWOGfP3FT26jk4Qrx5VsYXAv9M8JCpmYw==} + hasBin: true + peerDependencies: + eslint: ^8.50.0 + dependencies: + '@unhead/shared': 1.8.13 + '@unhead/ssr': 1.8.13 + chokidar: 3.6.0 + consola: 3.2.3 + devalue: 4.3.2 + eslint: /eslint-ts-patch@8.56.0-0 + get-port-please: 3.1.2 + jiti: 1.21.0 + ofetch: 1.3.3 + open: 10.1.0 + unhead: 1.8.13 + vue: 3.4.21(typescript@5.4.2) + vue-bundle-renderer: 2.0.0 + ws: 8.16.0 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + dev: false + /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: @@ -1542,6 +4001,35 @@ packages: - supports-color dev: false + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.56.0-0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + debug: 3.2.7 + eslint: /eslint-ts-patch@8.56.0-0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: false + /eslint-plugin-es-x@7.5.0(eslint@8.56.0): resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -1558,11 +4046,33 @@ packages: resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: - eslint: '>=4.19.1' + eslint: '>=4.19.1' + dependencies: + eslint: 8.56.0 + eslint-utils: 2.1.0 + regexpp: 3.2.0 + dev: false + + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0): + resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} + engines: {node: '>=12'} + peerDependencies: + eslint: ^7.2.0 || ^8 dependencies: - eslint: 8.56.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 + debug: 4.3.4 + doctrine: 3.0.0 + eslint: /eslint-ts-patch@8.56.0-0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.56.0-0) + get-tsconfig: 4.7.2 + is-glob: 4.0.3 + minimatch: 3.1.2 + semver: 7.6.0 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color dev: false /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): @@ -1671,6 +4181,57 @@ packages: - supports-color dev: false + /eslint-plugin-unimport@0.0.0(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2): + resolution: {integrity: sha512-SrUnJEr3VYGviQKQGK2aWlv8K1ADJ1aV7mQ08TVEtkV1KqjADoVKjwi+3xqvy42/vtuw3ilblgtSakpIT2fCfg==} + peerDependencies: + eslint: ^8.40.0 + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + eslint: /eslint-ts-patch@8.56.0-0 + eslint-factory: 0.0.2(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + pathe: 1.1.2 + unimport: 3.7.1(rollup@3.29.4) + transitivePeerDependencies: + - '@types/eslint' + - rollup + - supports-color + - typescript + dev: false + + /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.56.0-0): + resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': 6 - 7 + eslint: '8' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + eslint: /eslint-ts-patch@8.56.0-0 + eslint-rule-composer: 0.3.0 + dev: false + + /eslint-plugin-vue@9.22.0(eslint-ts-patch@8.56.0-0): + resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.56.0-0) + eslint: /eslint-ts-patch@8.56.0-0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.15 + semver: 7.6.0 + vue-eslint-parser: 9.4.2(eslint-ts-patch@8.56.0-0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: false + /eslint-plugin-vue@9.22.0(eslint@8.56.0): resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} engines: {node: ^14.17.0 || >=16.0.0} @@ -1707,6 +4268,11 @@ packages: - supports-color dev: false + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: false + /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1714,6 +4280,16 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 + /eslint-ts-patch@8.56.0-0: + resolution: {integrity: sha512-J9Efj9P1GBaC665MIeX6+kGje3vToaJ/Z3Ky5yI05Td+xiTCKHlG1cAd3IHgicf0bGYKV/Y/gWyp5/84MfsbOg==} + hasBin: true + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + jiti: 1.21.0 + transitivePeerDependencies: + - supports-color + /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -1849,18 +4425,42 @@ packages: /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: '@types/estree': 1.0.5 - dev: true /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.2.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + /execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -1874,11 +4474,29 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 + + /exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + + /externality@1.0.2: + resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} + dependencies: + enhanced-resolve: 5.15.0 + mlly: 1.6.1 + pathe: 1.1.2 + ufo: 1.4.0 + + /fake-indexeddb@5.0.2: + resolution: {integrity: sha512-cB507r5T3D55DfclY01GLkninZLfU7HXV/mhVRTnTRm5k2u+fY7Fof2dBkr80p5t7G7dlA/G5dI87QiMdPpMCQ==} + engines: {node: '>=18'} dev: true /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + /fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + /fast-glob@3.3.2: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} @@ -1888,7 +4506,6 @@ packages: glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: false /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -1907,12 +4524,14 @@ packages: dependencies: flat-cache: 3.2.0 + /file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: false /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} @@ -1937,6 +4556,10 @@ packages: keyv: 4.5.4 rimraf: 3.0.2 + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + /flatted@3.2.9: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} @@ -1946,6 +4569,40 @@ packages: is-callable: 1.2.7 dev: false + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + /fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + + /fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 7.0.4 + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1954,12 +4611,10 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true - dev: true optional: true /function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: false /function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} @@ -1975,6 +4630,28 @@ packages: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: false + /gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true @@ -1988,10 +4665,16 @@ packages: hasown: 2.0.0 dev: false + /get-port-please@3.1.2: + resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - dev: true /get-symbol-description@1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} @@ -2007,12 +4690,39 @@ packages: resolve-pkg-maps: 1.0.0 dev: false + /giget@1.2.1: + resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} + hasBin: true + dependencies: + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.2 + nypm: 0.3.8 + ohash: 1.1.3 + pathe: 1.1.2 + tar: 6.2.0 + + /git-config-path@2.0.0: + resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==} + engines: {node: '>=4'} + + /git-up@7.0.0: + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + dependencies: + is-ssh: 1.4.0 + parse-url: 8.1.0 + + /git-url-parse@13.1.1: + resolution: {integrity: sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==} + dependencies: + git-up: 7.0.0 + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: false /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -2020,6 +4730,17 @@ packages: dependencies: is-glob: 4.0.3 + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.4 + path-scurry: 1.10.1 + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -2030,6 +4751,26 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + + /global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + dependencies: + ini: 4.1.1 + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -2053,7 +4794,28 @@ packages: ignore: 5.3.0 merge2: 1.4.1 slash: 3.0.0 - dev: false + + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.2 + ignore: 5.3.0 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -2063,11 +4825,32 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: false /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + /gzip-size@7.0.0: + resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + duplexer: 0.1.2 + + /h3@1.11.1: + resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + dependencies: + cookie-es: 1.0.0 + crossws: 0.2.4 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.1.0 + ohash: 1.1.3 + radix3: 1.1.1 + ufo: 1.4.0 + uncrypto: 0.1.3 + unenv: 1.9.0 + transitivePeerDependencies: + - uWebSockets.js + /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: false @@ -2075,7 +4858,6 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} - dev: false /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -2104,26 +4886,118 @@ packages: has-symbols: 1.0.3 dev: false + /has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + /hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + /hasown@2.0.0: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - dev: false + + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: false + /hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.2.0 + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /httpxy@0.1.5: + resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==} + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + /human-signals@5.0.0: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} - dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + requiresBuild: true + dependencies: + safer-buffer: 2.1.2 + optional: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore-walk@6.0.4: + resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minimatch: 9.0.3 /ignore@5.3.0: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + /image-meta@0.2.0: + resolution: {integrity: sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==} + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -2138,7 +5012,6 @@ packages: /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - dev: false /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} @@ -2149,6 +5022,13 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + /ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /internal-slot@1.0.6: resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} engines: {node: '>= 0.4'} @@ -2158,6 +5038,32 @@ packages: side-channel: 1.0.4 dev: false + /ioredis@5.3.2: + resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} + engines: {node: '>=12.22.0'} + dependencies: + '@ioredis/commands': 1.2.0 + cluster-key-slot: 1.1.2 + debug: 4.3.4 + denque: 2.1.0 + lodash.defaults: 4.2.0 + lodash.isarguments: 3.1.0 + redis-errors: 1.2.0 + redis-parser: 3.0.0 + standard-as-callback: 2.1.0 + transitivePeerDependencies: + - supports-color + + /ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + + /iron-webcrypto@1.1.0: + resolution: {integrity: sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==} + /is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} dependencies: @@ -2176,6 +5082,12 @@ packages: has-bigints: 1.0.2 dev: false + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} @@ -2189,7 +5101,6 @@ packages: engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 - dev: false /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -2200,7 +5111,6 @@ packages: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.0 - dev: false /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} @@ -2209,16 +5119,50 @@ packages: has-tostringtag: 1.0.0 dev: false + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + + /is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + dependencies: + global-directory: 4.0.1 + is-path-inside: 4.0.0 + + /is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + + /is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + /is-negative-zero@2.0.2: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} @@ -2234,12 +5178,24 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: false /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + /is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + + /is-primitive@3.0.1: + resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} + engines: {node: '>=0.10.0'} + + /is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + dependencies: + '@types/estree': 1.0.5 + /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -2254,10 +5210,18 @@ packages: call-bind: 1.0.5 dev: false + /is-ssh@1.4.0: + resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + dependencies: + protocols: 2.0.1 + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true /is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -2277,14 +5241,35 @@ packages: resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.13 - dev: false + which-typed-array: 1.1.13 + dev: false + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: false + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + /is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} dependencies: - call-bind: 1.0.5 - dev: false + system-architecture: 0.1.0 + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} /isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -2293,13 +5278,27 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false /js-tokens@8.0.3: resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} @@ -2307,11 +5306,19 @@ packages: dependencies: argparse: 2.0.1 + /jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: false + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + /jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -2325,6 +5332,10 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false + /json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -2338,14 +5349,56 @@ packages: minimist: 1.2.8 dev: false + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + /klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + /knitwork@1.0.0: + resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==} + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + /launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + dependencies: + picocolors: 1.0.0 + shell-quote: 1.8.1 + + /lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + dependencies: + readable-stream: 2.3.8 + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2353,10 +5406,43 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 + /lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: false + /listhen@1.7.2: + resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} + hasBin: true + dependencies: + '@parcel/watcher': 2.4.1 + '@parcel/watcher-wasm': 2.4.1 + citty: 0.1.6 + clipboardy: 4.0.0 + consola: 3.2.3 + crossws: 0.2.4 + defu: 6.1.4 + get-port-please: 3.1.2 + h3: 1.11.1 + http-shutdown: 1.2.2 + jiti: 1.21.0 + mlly: 1.6.1 + node-forge: 1.3.1 + pathe: 1.1.2 + std-env: 3.7.0 + ufo: 1.4.0 + untun: 0.1.3 + uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -2377,12 +5463,23 @@ packages: dependencies: p-locate: 5.0.0 + /lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + /lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + + /lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + /lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false /loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} @@ -2390,35 +5487,76 @@ packages: get-func-name: 2.0.2 dev: true + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} dependencies: yallist: 4.0.0 - dev: false - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} + /magic-string-ast@0.3.0: + resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==} + engines: {node: '>=16.14.0'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true + magic-string: 0.30.8 /magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.23.6 + source-map-js: 1.0.2 + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + + /make-fetch-happen@13.0.0: + resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/agent': 2.2.1 + cacache: 18.0.2 + http-cache-semantics: 4.1.1 + is-lambda: 1.0.1 + minipass: 7.0.4 + minipass-fetch: 3.0.4 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + ssri: 10.0.5 + transitivePeerDependencies: + - supports-color + + /mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: false /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} @@ -2426,12 +5564,25 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: false + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + /mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + /mime@4.0.1: + resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} + engines: {node: '>=16'} + hasBin: true /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dev: true /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -2443,44 +5594,322 @@ packages: dependencies: brace-expansion: 1.1.11 + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 - dev: false /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false + /minipass-collect@2.0.1: + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + minipass: 7.0.4 + + /minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 7.0.4 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + + /minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + + /minipass-json-stream@1.0.1: + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + dependencies: + jsonparse: 1.3.1 + minipass: 3.3.6 + + /minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + + /minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + /minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + /mkdist@1.4.0(typescript@5.4.2): + resolution: {integrity: sha512-LzzdzWDx6cWWPd8saIoO+kT5jnbijfeDaE6jZfmCYEi3YL2aJSyF23/tCFee/mDuh/ek1UQeSYdLeSa6oesdiw==} + hasBin: true + peerDependencies: + sass: ^1.69.5 + typescript: '>=5.3.2' + peerDependenciesMeta: + sass: + optional: true + typescript: + optional: true + dependencies: + autoprefixer: 10.4.18(postcss@8.4.35) + citty: 0.1.6 + cssnano: 6.1.0(postcss@8.4.35) + defu: 6.1.4 + esbuild: 0.19.10 + fs-extra: 11.2.0 + globby: 13.2.2 + jiti: 1.21.0 + mlly: 1.4.2 + mri: 1.2.0 + pathe: 1.1.2 + postcss: 8.4.35 + postcss-nested: 6.0.1(postcss@8.4.35) + typescript: 5.4.2 + dev: true + /mlly@1.4.2: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.11.2 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.3.2 + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: false /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true + + /nanoid@4.0.2: + resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} + engines: {node: ^14 || ^16 || >=18} + hasBin: true /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + /nitropack@2.9.3: + resolution: {integrity: sha512-k3wXlhxmTNkkFXnVyRYJ6CCdZmvlqjYJ4oaL8o9uTKIjg7A1udAle+3cVDxUWi2r9owwEysAP2+quNsAujZyTg==} + engines: {node: ^16.11.0 || >=17.0.0} + hasBin: true + peerDependencies: + xml2js: ^0.6.2 + peerDependenciesMeta: + xml2js: + optional: true + dependencies: + '@cloudflare/kv-asset-handler': 0.3.1 + '@netlify/functions': 2.6.0 + '@rollup/plugin-alias': 5.1.0(rollup@4.12.1) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.1) + '@rollup/plugin-inject': 5.0.5(rollup@4.12.1) + '@rollup/plugin-json': 6.1.0(rollup@4.12.1) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.1) + '@rollup/plugin-replace': 5.0.5(rollup@4.12.1) + '@rollup/plugin-terser': 0.4.4(rollup@4.12.1) + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@types/http-proxy': 1.17.14 + '@vercel/nft': 0.26.4 + archiver: 7.0.1 + c12: 1.10.0 + chalk: 5.3.0 + chokidar: 3.6.0 + citty: 0.1.6 + consola: 3.2.3 + cookie-es: 1.0.0 + croner: 8.0.1 + crossws: 0.2.4 + db0: 0.1.4 + defu: 6.1.4 + destr: 2.0.3 + dot-prop: 8.0.2 + esbuild: 0.20.1 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + fs-extra: 11.2.0 + globby: 14.0.1 + gzip-size: 7.0.0 + h3: 1.11.1 + hookable: 5.5.3 + httpxy: 0.1.5 + is-primitive: 3.0.1 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.0.0 + listhen: 1.7.2 + magic-string: 0.30.8 + mime: 4.0.1 + mlly: 1.6.1 + mri: 1.2.0 + node-fetch-native: 1.6.2 + ofetch: 1.3.3 + ohash: 1.1.3 + openapi-typescript: 6.7.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 + radix3: 1.1.1 + rollup: 4.12.1 + rollup-plugin-visualizer: 5.12.0(rollup@4.12.1) + scule: 1.3.0 + semver: 7.6.0 + serve-placeholder: 2.0.1 + serve-static: 1.15.0 + std-env: 3.7.0 + ufo: 1.4.0 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.9.0 + unimport: 3.7.1(rollup@4.12.1) + unstorage: 1.10.1 + unwasm: 0.3.7 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - drizzle-orm + - encoding + - idb-keyval + - supports-color + - uWebSockets.js + + /node-addon-api@7.1.0: + resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} + engines: {node: ^16 || ^18 || >= 20} + + /node-fetch-native@1.6.2: + resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} + + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + + /node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + /node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + hasBin: true + + /node-gyp@10.0.1: + resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.1 + glob: 10.3.10 + graceful-fs: 4.2.11 + make-fetch-happen: 13.0.0 + nopt: 7.2.0 + proc-log: 3.0.0 + semver: 7.6.0 + tar: 6.2.0 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + /node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: false + + /nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + abbrev: 1.1.1 + + /nopt@7.2.0: + resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + abbrev: 2.0.0 /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -2491,18 +5920,232 @@ packages: validate-npm-package-license: 3.0.4 dev: false + /normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + is-core-module: 2.13.1 + semver: 7.6.0 + validate-npm-package-license: 3.0.4 + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + /npm-bundled@3.0.0: + resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + npm-normalize-package-bin: 3.0.1 + + /npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + semver: 7.6.0 + + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + /npm-package-arg@11.0.1: + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + proc-log: 3.0.0 + semver: 7.6.0 + validate-npm-package-name: 5.0.0 + + /npm-packlist@8.0.2: + resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + ignore-walk: 6.0.4 + + /npm-pick-manifest@9.0.0: + resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 11.0.1 + semver: 7.6.0 + + /npm-registry-fetch@16.1.0: + resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + make-fetch-happen: 13.0.0 + minipass: 7.0.4 + minipass-fetch: 3.0.4 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 11.0.1 + proc-log: 3.0.0 + transitivePeerDependencies: + - supports-color + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + /npm-run-path@5.2.0: resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 - dev: true + + /npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 /nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} dependencies: boolbase: 1.0.0 - dev: false + + /nuxi@3.10.1: + resolution: {integrity: sha512-ZNt858+FOZDIiKKFJkXO7uJAnALytDdn1XbLgtZAqbtWNMayHbOnWcnxh+WSOE4H9uOi2+loWXEqKElmNWLgcQ==} + engines: {node: ^14.18.0 || >=16.10.0} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + + /nuxt@3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10): + resolution: {integrity: sha512-NchGNiiz9g/ErJAb462W/lpX2NqcXYb9hugySKWvLXNdrjeAPiJ2/7mhgwUSiZA9MpjuQg3saiEajr1zlRIOCg==} + engines: {node: ^14.18.0 || >=16.10.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': ^14.18.0 || >=16.10.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/devtools': 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10) + '@nuxt/kit': 3.10.3(rollup@3.29.4) + '@nuxt/schema': 3.10.3(rollup@3.29.4) + '@nuxt/telemetry': 2.5.3(rollup@3.29.4) + '@nuxt/ui-templates': 1.3.1 + '@nuxt/vite-builder': 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vue@3.4.21) + '@types/node': 20.11.25 + '@unhead/dom': 1.8.13 + '@unhead/ssr': 1.8.13 + '@unhead/vue': 1.8.13(vue@3.4.21) + '@vue/shared': 3.4.21 + acorn: 8.11.3 + c12: 1.10.0 + chokidar: 3.6.0 + cookie-es: 1.0.0 + defu: 6.1.4 + destr: 2.0.3 + devalue: 4.3.2 + esbuild: 0.20.1 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fs-extra: 11.2.0 + globby: 14.0.1 + h3: 1.11.1 + hookable: 5.5.3 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.0.0 + magic-string: 0.30.8 + mlly: 1.6.1 + nitropack: 2.9.3 + nuxi: 3.10.1 + nypm: 0.3.8 + ofetch: 1.3.3 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + radix3: 1.1.1 + scule: 1.3.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.4.0 + ultrahtml: 1.5.3 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.9.0 + unimport: 3.7.1(rollup@3.29.4) + unplugin: 1.9.0 + unplugin-vue-router: 0.7.0(rollup@3.29.4)(vue-router@4.3.0)(vue@3.4.21) + untyped: 1.4.2 + vue: 3.4.21(typescript@5.4.2) + vue-bundle-renderer: 2.0.0 + vue-devtools-stub: 0.1.0 + vue-router: 4.3.0(vue@3.4.21) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - bluebird + - bufferutil + - drizzle-orm + - encoding + - eslint + - idb-keyval + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - uWebSockets.js + - utf-8-validate + - vite + - vls + - vti + - vue-tsc + - xml2js + + /nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + dependencies: + citty: 0.1.6 + consola: 3.2.3 + execa: 8.0.1 + pathe: 1.1.2 + ufo: 1.4.0 + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -2550,6 +6193,22 @@ packages: es-abstract: 1.22.3 dev: false + /ofetch@1.3.3: + resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.2 + ufo: 1.3.2 + + /ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -2560,7 +6219,34 @@ packages: engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 - dev: true + + /open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + /openapi-typescript@6.7.4: + resolution: {integrity: sha512-EZyeW9Wy7UDCKv0iYmKrq2pVZtquXiD/YHiUClAKqiMi42nodx/EQH11K6fLqjt1IZlJmVokrAsExsBMM2RROQ==} + hasBin: true + dependencies: + ansi-colors: 4.1.3 + fast-glob: 3.3.2 + js-yaml: 4.1.0 + supports-color: 9.4.0 + undici: 5.28.3 + yargs-parser: 21.1.1 /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} @@ -2606,17 +6292,57 @@ packages: dependencies: p-limit: 3.1.0 + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + /p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} dev: false + /pacote@17.0.6: + resolution: {integrity: sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + '@npmcli/git': 5.0.4 + '@npmcli/installed-package-contents': 2.0.2 + '@npmcli/promise-spawn': 7.0.1 + '@npmcli/run-script': 7.0.4 + cacache: 18.0.2 + fs-minipass: 3.0.3 + minipass: 7.0.4 + npm-package-arg: 11.0.1 + npm-packlist: 8.0.2 + npm-pick-manifest: 9.0.0 + npm-registry-fetch: 16.1.0 + proc-log: 3.0.0 + promise-retry: 2.0.1 + read-package-json: 7.0.0 + read-package-json-fast: 3.0.2 + sigstore: 2.2.2 + ssri: 10.0.5 + tar: 6.2.0 + transitivePeerDependencies: + - bluebird + - supports-color + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} dependencies: callsites: 3.1.0 + /parse-git-config@3.0.0: + resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} + engines: {node: '>=8'} + dependencies: + git-config-path: 2.0.0 + ini: 1.3.8 + /parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -2627,6 +6353,20 @@ packages: lines-and-columns: 1.2.4 dev: false + /parse-path@7.0.0: + resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + dependencies: + protocols: 2.0.1 + + /parse-url@8.1.0: + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + dependencies: + parse-path: 7.0.0 + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -2642,51 +6382,328 @@ packages: /path-key@4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - dev: true /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: false + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - dev: false - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} /pathval@1.1.1: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: false /pkg-types@1.0.3: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 - pathe: 1.1.1 + pathe: 1.1.2 /pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} dev: false + /postcss-calc@9.0.1(postcss@8.4.35): + resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 + postcss-value-parser: 4.2.0 + + /postcss-colormin@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-convert-values@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-discard-comments@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + + /postcss-discard-duplicates@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + + /postcss-discard-empty@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + + /postcss-discard-overridden@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + + /postcss-merge-longhand@6.0.4(postcss@8.4.35): + resolution: {integrity: sha512-vAfWGcxUUGlFiPM3nDMZA+/Yo9sbpc3JNkcYZez8FfJDv41Dh7tAgA3QGVTocaHCZZL6aXPXPOaBMJsjujodsA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + stylehacks: 6.1.0(postcss@8.4.35) + + /postcss-merge-rules@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-lER+W3Gr6XOvxOYk1Vi/6UsAgKMg6MDBthmvbNqi2XxAk/r9XfhdYZSigfWjuWWn3zYw2wLelvtM8XuAEFqRkA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + cssnano-utils: 4.0.2(postcss@8.4.35) + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 + + /postcss-minify-font-values@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-SmAeTA1We5rMnN3F8X9YBNo9bj9xB4KyDHnaNJnBfQIPi+60fNiR9OTRnIaMqkYzAQX0vObIw4Pn0vuKEOettg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-minify-gradients@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + colord: 2.9.3 + cssnano-utils: 4.0.2(postcss@8.4.35) + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-minify-params@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + cssnano-utils: 4.0.2(postcss@8.4.35) + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-minify-selectors@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-IcV7ZQJcaXyhx4UBpWZMsinGs2NmiUC60rJSkyvjPCPqhNjVGsrJUM+QhAtCaikZ0w0/AbZuH4wVvF/YMuMhvA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 + + /postcss-nested@6.0.1(postcss@8.4.35): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 + dev: true + + /postcss-normalize-charset@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + + /postcss-normalize-display-values@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-normalize-positions@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-normalize-repeat-style@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-normalize-string@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-normalize-timing-functions@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-normalize-unicode@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-normalize-url@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-normalize-whitespace@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-ordered-values@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + cssnano-utils: 4.0.2(postcss@8.4.35) + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + + /postcss-reduce-initial@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + caniuse-api: 3.0.0 + postcss: 8.4.35 + + /postcss-reduce-transforms@6.0.2(postcss@8.4.35): + resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + /postcss-selector-parser@6.0.15: resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: false + + /postcss-svgo@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==} + engines: {node: ^14 || ^16 || >= 18} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + svgo: 3.2.0 + + /postcss-unique-selectors@6.0.3(postcss@8.4.35): + resolution: {integrity: sha512-NFXbYr8qdmCr/AFceaEfdcsKGCvWTeGO6QVC9h2GvtWgj0/0dklKQcaMMVzs6tr8bY+ase8hOtHW8OBTTRvS8A==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} /postcss@8.4.32: resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} @@ -2695,7 +6712,6 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true /postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} @@ -2704,12 +6720,15 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: true /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + /pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + /pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2719,6 +6738,42 @@ packages: react-is: 18.2.0 dev: true + /proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + /promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + /promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + /protocols@2.0.1: + resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + /punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -2726,10 +6781,48 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + + /radix3@1.1.1: + resolution: {integrity: sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg==} + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + /rc9@2.1.1: + resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} + dependencies: + defu: 6.1.4 + destr: 2.0.3 + flat: 5.0.2 + /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true + /read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + json-parse-even-better-errors: 3.0.1 + npm-normalize-package-bin: 3.0.1 + + /read-package-json@7.0.0: + resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + glob: 10.3.10 + json-parse-even-better-errors: 3.0.1 + normalize-package-data: 6.0.0 + npm-normalize-package-bin: 3.0.1 + /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -2749,6 +6842,56 @@ packages: type-fest: 0.6.0 dev: false + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + + /readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + dependencies: + minimatch: 5.1.6 + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + /redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + dependencies: + redis-errors: 1.2.0 + /regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true @@ -2775,10 +6918,18 @@ packages: jsesc: 0.5.0 dev: false + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: false @@ -2790,17 +6941,95 @@ packages: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: false + + /retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + + /rollup-plugin-dts@6.1.0(rollup@3.29.4)(typescript@5.4.2): + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} + engines: {node: '>=16'} + peerDependencies: + rollup: ^3.29.4 || ^4 + typescript: ^4.5 || ^5.0 + dependencies: + magic-string: 0.30.8 + rollup: 3.29.4 + typescript: 5.4.2 + optionalDependencies: + '@babel/code-frame': 7.23.5 + dev: true + + /rollup-plugin-visualizer@5.12.0(rollup@3.29.4): + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + rollup: 3.29.4 + source-map: 0.7.4 + yargs: 17.7.2 + + /rollup-plugin-visualizer@5.12.0(rollup@4.12.1): + resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + rollup: 4.12.1 + source-map: 0.7.4 + yargs: 17.7.2 + + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + + /rollup@4.12.1: + resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: - glob: 7.2.3 + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.1 + '@rollup/rollup-android-arm64': 4.12.1 + '@rollup/rollup-darwin-arm64': 4.12.1 + '@rollup/rollup-darwin-x64': 4.12.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 + '@rollup/rollup-linux-arm64-gnu': 4.12.1 + '@rollup/rollup-linux-arm64-musl': 4.12.1 + '@rollup/rollup-linux-riscv64-gnu': 4.12.1 + '@rollup/rollup-linux-x64-gnu': 4.12.1 + '@rollup/rollup-linux-x64-musl': 4.12.1 + '@rollup/rollup-win32-arm64-msvc': 4.12.1 + '@rollup/rollup-win32-ia32-msvc': 4.12.1 + '@rollup/rollup-win32-x64-msvc': 4.12.1 + fsevents: 2.3.3 /rollup@4.9.1: resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==} @@ -2821,7 +7050,10 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.9.1 '@rollup/rollup-win32-x64-msvc': 4.9.1 fsevents: 2.3.3 - dev: true + + /run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -2838,6 +7070,12 @@ packages: isarray: 2.0.5 dev: false + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + /safe-regex-test@1.0.0: resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} dependencies: @@ -2846,6 +7084,14 @@ packages: is-regex: 1.1.4 dev: false + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + requiresBuild: true + optional: true + + /scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -2854,7 +7100,6 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: false /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} @@ -2862,7 +7107,6 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 - dev: false /semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} @@ -2870,7 +7114,50 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 - dev: false + + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + + /serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + dependencies: + randombytes: 2.1.0 + + /serve-placeholder@2.0.1: + resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} + dependencies: + defu: 6.1.4 + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} /set-function-length@1.1.1: resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} @@ -2891,6 +7178,9 @@ packages: has-property-descriptors: 1.0.1 dev: false + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2901,6 +7191,9 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -2913,51 +7206,169 @@ packages: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true + + /sigstore@2.2.2: + resolution: {integrity: sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.2.0 + '@sigstore/core': 1.0.0 + '@sigstore/protobuf-specs': 0.3.0 + '@sigstore/sign': 2.2.3 + '@sigstore/tuf': 2.3.1 + '@sigstore/verify': 1.1.0 + transitivePeerDependencies: + - supports-color + + /simple-git@3.22.0: + resolution: {integrity: sha512-6JujwSs0ac82jkGjMHiCnTifvf1crOiY/+tfs/Pqih6iow7VrpNKRRNdWm6RtaXpvvv/JGNYhlUtLhGFqHF+Yw==} + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: false + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + /smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + /smob@1.4.1: + resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} + + /socks-proxy-agent@8.0.2: + resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + socks: 2.8.1 + transitivePeerDependencies: + - supports-color + + /socks@2.8.1: + resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} /spdx-correct@3.2.0: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.16 - dev: false /spdx-exceptions@2.3.0: resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - dev: false /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.3.0 spdx-license-ids: 3.0.16 - dev: false /spdx-license-ids@3.0.16: resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} - dev: false + + /sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + /ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 7.0.4 /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true + /standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + /std-env@3.6.0: resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==} dev: true + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + /streamx@2.16.1: + resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.1 + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + /string.prototype.trim@1.2.8: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} @@ -2983,12 +7394,28 @@ packages: es-abstract: 1.22.3 dev: false + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -2997,7 +7424,6 @@ packages: /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - dev: true /strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -3010,18 +7436,31 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.11.2 + /strip-literal@2.0.0: resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: js-tokens: 8.0.3 - dev: true + + /stylehacks@6.1.0(postcss@8.4.35): + resolution: {integrity: sha512-ETErsPFgwlfYZ/CSjMO2Ddf+TsnkCVPBPaoB99Ro8WMAxf7cglzmFsRBhRmKObFjibtcvlNxFFPHuyr3sNlNUQ==} + engines: {node: ^14 || ^16 || >=18.0} + peerDependencies: + postcss: ^8.4.31 + dependencies: + browserslist: 4.23.0 + postcss: 8.4.35 + postcss-selector-parser: 6.0.15 /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} dependencies: has-flag: 3.0.0 - dev: false /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -3029,19 +7468,72 @@ packages: dependencies: has-flag: 4.0.0 + /supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: false + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + /svgo@3.2.0: + resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.0.0 + + /system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - dev: false + + /tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + dependencies: + b4a: 1.6.6 + fast-fifo: 1.3.2 + streamx: 2.16.1 + + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + /terser@5.29.1: + resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.5 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + /tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + /tinybench@2.5.1: resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true @@ -3059,14 +7551,23 @@ packages: /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} - dev: true /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /ts-api-utils@1.0.3(typescript@5.4.2): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} @@ -3075,7 +7576,6 @@ packages: typescript: '>=4.2.0' dependencies: typescript: 5.4.2 - dev: false /tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -3086,6 +7586,16 @@ packages: strip-bom: 3.0.0 dev: false + /tuf-js@2.2.0: + resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@tufjs/models': 2.0.0 + debug: 4.3.4 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -3101,6 +7611,10 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -3111,64 +7625,326 @@ packages: engines: {node: '>=8'} dev: false - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: false + + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + + /ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + + /ultrahtml@1.5.3: + resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: false + + /unbuild@2.0.0(typescript@5.4.2): + resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} + hasBin: true + peerDependencies: + typescript: ^5.1.6 + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) + '@rollup/plugin-commonjs': 25.0.7(rollup@3.29.4) + '@rollup/plugin-json': 6.1.0(rollup@3.29.4) + '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.5(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + chalk: 5.3.0 + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + esbuild: 0.19.10 + globby: 13.2.2 + hookable: 5.5.3 + jiti: 1.21.0 + magic-string: 0.30.8 + mkdist: 1.4.0(typescript@5.4.2) + mlly: 1.4.2 + pathe: 1.1.2 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 + rollup: 3.29.4 + rollup-plugin-dts: 6.1.0(rollup@3.29.4)(typescript@5.4.2) + scule: 1.3.0 + typescript: 5.4.2 + untyped: 1.4.2 + transitivePeerDependencies: + - sass + - supports-color + dev: true + + /uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + /unctx@2.3.1: + resolution: {integrity: sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==} + dependencies: + acorn: 8.11.3 + estree-walker: 3.0.3 + magic-string: 0.30.8 + unplugin: 1.9.0 + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /undici@5.28.3: + resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + + /unenv@1.9.0: + resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} + dependencies: + consola: 3.2.3 + defu: 6.1.4 + mime: 3.0.0 + node-fetch-native: 1.6.2 + pathe: 1.1.2 + + /unhead@1.8.13: + resolution: {integrity: sha512-VL1eOXc1U0zI6XO2JJQ98tywcEW9cM6tfrmuNcltOKSB7Xg3isVXFSf2bEbO4XPUjg8D5Uy3Q3Zi9cN9XSiTyA==} + dependencies: + '@unhead/dom': 1.8.13 + '@unhead/schema': 1.8.13 + '@unhead/shared': 1.8.13 + hookable: 5.5.3 + + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + /unimport@3.7.1(rollup@3.29.4): + resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + acorn: 8.11.2 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.8 + mlly: 1.4.2 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + strip-literal: 1.3.0 + unplugin: 1.9.0 + transitivePeerDependencies: + - rollup + + /unimport@3.7.1(rollup@4.12.1): + resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + acorn: 8.11.2 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.8 + mlly: 1.4.2 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + strip-literal: 1.3.0 + unplugin: 1.9.0 + transitivePeerDependencies: + - rollup + + /unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 - dev: false + unique-slug: 4.0.0 - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} + /unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: false + imurmurhash: 0.1.4 - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + /unplugin-vue-router@0.7.0(rollup@3.29.4)(vue-router@4.3.0)(vue@3.4.21): + resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} + peerDependencies: + vue-router: ^4.1.0 + peerDependenciesMeta: + vue-router: + optional: true dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - dev: false + '@babel/types': 7.23.6 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@vue-macros/common': 1.10.1(rollup@3.29.4)(vue@3.4.21) + ast-walker-scope: 0.5.0(rollup@3.29.4) + chokidar: 3.6.0 + fast-glob: 3.3.2 + json5: 2.2.3 + local-pkg: 0.4.3 + mlly: 1.6.1 + pathe: 1.1.2 + scule: 1.3.0 + unplugin: 1.9.0 + vue-router: 4.3.0(vue@3.4.21) + yaml: 2.4.1 + transitivePeerDependencies: + - rollup + - vue - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + /unplugin@1.9.0: + resolution: {integrity: sha512-14PslvMY3gNbXnQtNIRB566Q057L5Fe7f5LDEamxVi0QQVxoz5hrveBwwZLcKyHtZ09ysmipxRRj5Lv+BGz2Iw==} + engines: {node: '>=14.0.0'} dependencies: - call-bind: 1.0.5 - for-each: 0.3.3 - is-typed-array: 1.1.12 - dev: false + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} - hasBin: true + /unstorage@1.10.1: + resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} + peerDependencies: + '@azure/app-configuration': ^1.4.1 + '@azure/cosmos': ^4.0.0 + '@azure/data-tables': ^13.2.2 + '@azure/identity': ^3.3.2 + '@azure/keyvault-secrets': ^4.7.0 + '@azure/storage-blob': ^12.16.0 + '@capacitor/preferences': ^5.0.6 + '@netlify/blobs': ^6.2.0 + '@planetscale/database': ^1.11.0 + '@upstash/redis': ^1.23.4 + '@vercel/kv': ^0.2.3 + idb-keyval: ^6.2.1 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/kv': + optional: true + idb-keyval: + optional: true + dependencies: + anymatch: 3.1.3 + chokidar: 3.6.0 + destr: 2.0.3 + h3: 1.11.1 + ioredis: 5.3.2 + listhen: 1.7.2 + lru-cache: 10.2.0 + mri: 1.2.0 + node-fetch-native: 1.6.2 + ofetch: 1.3.3 + ufo: 1.4.0 + transitivePeerDependencies: + - supports-color + - uWebSockets.js - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /untun@0.1.3: + resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} + hasBin: true + dependencies: + citty: 0.1.6 + consola: 3.2.3 + pathe: 1.1.2 - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + /untyped@1.4.2: + resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} + hasBin: true dependencies: - call-bind: 1.0.5 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: false + '@babel/core': 7.24.0 + '@babel/standalone': 7.24.0 + '@babel/types': 7.23.6 + defu: 6.1.4 + jiti: 1.21.0 + mri: 1.2.0 + scule: 1.3.0 + transitivePeerDependencies: + - supports-color - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true + /unwasm@0.3.7: + resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} + dependencies: + magic-string: 0.30.8 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + unplugin: 1.9.0 /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} @@ -3179,23 +7955,42 @@ packages: browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 - dev: false + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.1 + picocolors: 1.0.0 + + /uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 + /urlpattern-polyfill@8.0.2: + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: false /validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - dev: false + + /validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + builtins: 5.0.1 /vite-node@1.3.1(@types/node@20.11.25): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} @@ -3204,7 +7999,7 @@ packages: dependencies: cac: 6.7.14 debug: 4.3.4 - pathe: 1.1.1 + pathe: 1.1.2 picocolors: 1.0.0 vite: 5.0.10(@types/node@20.11.25) transitivePeerDependencies: @@ -3216,7 +8011,99 @@ packages: - sugarss - supports-color - terser - dev: true + + /vite-plugin-checker@0.6.4(eslint-ts-patch@8.56.0-0)(typescript@5.4.2)(vite@5.1.6): + resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} + engines: {node: '>=14.16'} + peerDependencies: + eslint: '>=7' + meow: ^9.0.0 + optionator: ^0.9.1 + stylelint: '>=13' + typescript: '*' + vite: '>=2.0.0' + vls: '*' + vti: '*' + vue-tsc: '>=1.3.9' + peerDependenciesMeta: + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + dependencies: + '@babel/code-frame': 7.23.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + chokidar: 3.6.0 + commander: 8.3.0 + eslint: /eslint-ts-patch@8.56.0-0 + fast-glob: 3.3.2 + fs-extra: 11.2.0 + npm-run-path: 4.0.1 + semver: 7.6.0 + strip-ansi: 6.0.1 + tiny-invariant: 1.3.3 + typescript: 5.4.2 + vite: 5.1.6(@types/node@20.11.25) + vscode-languageclient: 7.0.0 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.11 + vscode-uri: 3.0.8 + + /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.3)(rollup@3.29.4)(vite@5.0.10): + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.7 + '@nuxt/kit': 3.10.3(rollup@3.29.4) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.2.0 + open: 10.1.0 + perfect-debounce: 1.0.0 + picocolors: 1.0.0 + sirv: 2.0.4 + vite: 5.0.10(@types/node@20.11.25) + transitivePeerDependencies: + - rollup + - supports-color + + /vite-plugin-vue-inspector@4.0.2(vite@5.0.10): + resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + dependencies: + '@babel/core': 7.24.0 + '@babel/plugin-proposal-decorators': 7.24.0(@babel/core@7.24.0) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0) + '@vue/babel-plugin-jsx': 1.2.1(@babel/core@7.24.0) + '@vue/compiler-dom': 3.4.21 + kolorist: 1.8.0 + magic-string: 0.30.8 + vite: 5.0.10(@types/node@20.11.25) + transitivePeerDependencies: + - supports-color /vite@5.0.10(@types/node@20.11.25): resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==} @@ -3252,6 +8139,62 @@ packages: rollup: 4.9.1 optionalDependencies: fsevents: 2.3.3 + + /vite@5.1.6(@types/node@20.11.25): + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.25 + esbuild: 0.19.10 + postcss: 8.4.35 + rollup: 4.9.1 + optionalDependencies: + fsevents: 2.3.3 + + /vitest-environment-nuxt@1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} + dependencies: + '@nuxt/test-utils': 3.11.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + transitivePeerDependencies: + - '@cucumber/cucumber' + - '@jest/globals' + - '@testing-library/vue' + - '@vitest/ui' + - '@vue/test-utils' + - h3 + - happy-dom + - jsdom + - playwright-core + - rollup + - supports-color + - vite + - vitest + - vue + - vue-router dev: true /vitest@1.3.1(@types/node@20.11.25): @@ -3290,8 +8233,8 @@ packages: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.5 - pathe: 1.1.1 + magic-string: 0.30.8 + pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.6.0 strip-literal: 2.0.0 @@ -3310,6 +8253,65 @@ packages: - terser dev: true + /vscode-jsonrpc@6.0.0: + resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} + engines: {node: '>=8.0.0 || >=10.0.0'} + + /vscode-languageclient@7.0.0: + resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==} + engines: {vscode: ^1.52.0} + dependencies: + minimatch: 3.1.2 + semver: 7.6.0 + vscode-languageserver-protocol: 3.16.0 + + /vscode-languageserver-protocol@3.16.0: + resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} + dependencies: + vscode-jsonrpc: 6.0.0 + vscode-languageserver-types: 3.16.0 + + /vscode-languageserver-textdocument@1.0.11: + resolution: {integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==} + + /vscode-languageserver-types@3.16.0: + resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} + + /vscode-languageserver@7.0.0: + resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} + hasBin: true + dependencies: + vscode-languageserver-protocol: 3.16.0 + + /vscode-uri@3.0.8: + resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} + + /vue-bundle-renderer@2.0.0: + resolution: {integrity: sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==} + dependencies: + ufo: 1.4.0 + + /vue-devtools-stub@0.1.0: + resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} + + /vue-eslint-parser@9.4.2(eslint-ts-patch@8.56.0-0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: /eslint-ts-patch@8.56.0-0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: false + /vue-eslint-parser@9.4.2(eslint@8.56.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} @@ -3346,6 +8348,14 @@ packages: - supports-color dev: false + /vue-router@4.3.0(vue@3.4.21): + resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.6.1 + vue: 3.4.21(typescript@5.4.2) + /vue@3.4.21(typescript@5.4.2): resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: @@ -3360,7 +8370,22 @@ packages: '@vue/server-renderer': 3.4.21(vue@3.4.21) '@vue/shared': 3.4.21 typescript: 5.4.2 - dev: true + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + /webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -3390,6 +8415,20 @@ packages: dependencies: isexe: 2.0.0 + /which@3.0.1: + resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + isexe: 2.0.0 + + /which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + isexe: 3.1.1 + /why-is-node-running@2.2.2: resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} engines: {node: '>=8'} @@ -3399,17 +8438,77 @@ packages: stackback: 0.0.2 dev: true + /wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + dependencies: + string-width: 4.2.3 + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + /xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} dev: false + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: false + + /yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + 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.8 + yargs-parser: 21.1.1 /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -3419,3 +8518,14 @@ packages: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true + + /zhead@2.2.4: + resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} + + /zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.5.2 diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..92f8df7d --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler" + } +} From 3b5ae3158d9aa2026fbc565bdb81ea668017a699 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 11 Mar 2024 21:02:51 +0100 Subject: [PATCH 04/22] feat: refactor packages out --- .gitignore | 1 + eslint.config.js | 6 + package.json | 12 +- packages/eslint-config/README.md | 1 - packages/eslint-config/build.config.ts | 12 + packages/eslint-config/package.json | 36 +- packages/eslint-config/src/flat.ts | 1 + .../src/flat/configs}/disables.ts | 0 .../src/flat/configs}/nuxt.ts | 2 +- .../src/flat/configs}/setup.ts | 9 +- .../src/flat}/constants.ts | 0 .../src/flat}/index.ts | 10 +- .../src/flat}/types.ts | 0 .../eslint-config/{index.js => src/legacy.ts} | 8 +- packages/eslint-config/test/basic.test.ts | 2 +- packages/eslint-plugin/README.md | 56 + packages/eslint-plugin/build.config.ts | 11 + packages/eslint-plugin/package.json | 33 + .../src/plugin => eslint-plugin/src}/index.ts | 0 .../src}/rules/index.ts | 0 .../src}/rules/prefer-import-meta/index.ts | 0 .../src}/rules/utils.ts | 0 packages/module/README.md | 4 +- packages/module/build.config.ts | 2 - packages/module/package.json | 34 +- packages/module/src/addons/unimport.ts | 40 - packages/module/src/config.ts | 1 - packages/module/src/module.ts | 36 +- packages/module/src/plugin.ts | 1 - packages/module/src/types.ts | 6 + packages/module/src/utils.ts | 12 - packages/module/tsconfig.json | 9 - .../CHANGELOG.md | 0 .../README.md | 0 .../index.js | 0 .../package.json | 4 +- .../CHANGELOG.md | 0 .../README.md | 0 .../index.js | 0 .../package.json | 0 .../test/basic.test.js | 0 .../test/validate-config.test.js | 0 playground/app.vue | 9 + playground/eslint.config.js | 3 + playground/nuxt.config.ts | 6 + playground/package.json | 13 + playground/pages/index.vue | 9 + playground/server/tsconfig.json | 3 + playground/tsconfig.json | 3 + pnpm-lock.yaml | 1417 ++++++++--------- pnpm-workspace.yaml | 3 +- tsconfig.json | 15 +- 52 files changed, 925 insertions(+), 905 deletions(-) create mode 100644 eslint.config.js create mode 100644 packages/eslint-config/build.config.ts create mode 100644 packages/eslint-config/src/flat.ts rename packages/{module/src/config/parts => eslint-config/src/flat/configs}/disables.ts (100%) rename packages/{module/src/config/parts => eslint-config/src/flat/configs}/nuxt.ts (85%) rename packages/{module/src/config/parts => eslint-config/src/flat/configs}/setup.ts (96%) rename packages/{module/src/config => eslint-config/src/flat}/constants.ts (100%) rename packages/{module/src/config => eslint-config/src/flat}/index.ts (51%) rename packages/{module/src/config => eslint-config/src/flat}/types.ts (100%) rename packages/eslint-config/{index.js => src/legacy.ts} (95%) create mode 100644 packages/eslint-plugin/README.md create mode 100644 packages/eslint-plugin/build.config.ts create mode 100644 packages/eslint-plugin/package.json rename packages/{module/src/plugin => eslint-plugin/src}/index.ts (100%) rename packages/{module/src/plugin => eslint-plugin/src}/rules/index.ts (100%) rename packages/{module/src/plugin => eslint-plugin/src}/rules/prefer-import-meta/index.ts (100%) rename packages/{module/src/plugin => eslint-plugin/src}/rules/utils.ts (100%) delete mode 100644 packages/module/src/addons/unimport.ts delete mode 100644 packages/module/src/config.ts delete mode 100644 packages/module/src/plugin.ts create mode 100644 packages/module/src/types.ts delete mode 100644 packages/module/src/utils.ts delete mode 100644 packages/module/tsconfig.json rename packages/{eslint-config-legacy-typescript => nuxt2-legacy-eslint-config-typescript}/CHANGELOG.md (100%) rename packages/{eslint-config-legacy-typescript => nuxt2-legacy-eslint-config-typescript}/README.md (100%) rename packages/{eslint-config-legacy-typescript => nuxt2-legacy-eslint-config-typescript}/index.js (100%) rename packages/{eslint-config-legacy-typescript => nuxt2-legacy-eslint-config-typescript}/package.json (85%) rename packages/{eslint-config-legacy => nuxt2-legacy-eslint-config}/CHANGELOG.md (100%) rename packages/{eslint-config-legacy => nuxt2-legacy-eslint-config}/README.md (100%) rename packages/{eslint-config-legacy => nuxt2-legacy-eslint-config}/index.js (100%) rename packages/{eslint-config-legacy => nuxt2-legacy-eslint-config}/package.json (100%) rename packages/{eslint-config-legacy => nuxt2-legacy-eslint-config}/test/basic.test.js (100%) rename packages/{eslint-config-legacy => nuxt2-legacy-eslint-config}/test/validate-config.test.js (100%) create mode 100644 playground/app.vue create mode 100644 playground/eslint.config.js create mode 100644 playground/nuxt.config.ts create mode 100644 playground/package.json create mode 100644 playground/pages/index.vue create mode 100644 playground/server/tsconfig.json create mode 100644 playground/tsconfig.json diff --git a/.gitignore b/.gitignore index 80e6651a..81bd0449 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ node_modules .output **/.yarn/cache **/.yarn/*state* +dist diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..2d24a3d7 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,6 @@ +// @ts-check +import { createNuxtESLintFlatConfig } from '@nuxt/eslint-config/flat' + +export default [ + ...createNuxtESLintFlatConfig() +] diff --git a/package.json b/package.json index 576c5a82..92e5ff8c 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,21 @@ { "private": true, "packageManager": "pnpm@8.15.4", + "version": "0.3.0-alpha.0", "scripts": { - "lint": "eslint . --config=packages/eslint-config/index.js", + "build": "pnpm run -r build", + "stub": "pnpm run -r stub", "release": "pnpm test && pnpm publish -r", - "test": "pnpm lint && vitest run", + "test": "vitest run", + "play": "pnpm -C playground run play:dev", + "lint": "eslint . --config=packages/eslint-config/index.js", + "lint:play": "pnpm -C playground run lint", "typecheck": "tsc --noEmit" }, "devDependencies": { + "@nuxt/test-utils": "^3.11.0", + "@nuxt/eslint-config": "workspace:*", + "@nuxt/eslint-plugin": "workspace:*", "@types/eslint": "^8.56.5", "@types/node": "^20.11.25", "eslint": "^8.57.0", diff --git a/packages/eslint-config/README.md b/packages/eslint-config/README.md index dc732a57..74004dce 100644 --- a/packages/eslint-config/README.md +++ b/packages/eslint-config/README.md @@ -9,7 +9,6 @@ - Works out-of-the-box with no additional configuration. - Nuxt-specific rules for pages, components and more. -- ... under active development ### Installation diff --git a/packages/eslint-config/build.config.ts b/packages/eslint-config/build.config.ts new file mode 100644 index 00000000..37dee9ee --- /dev/null +++ b/packages/eslint-config/build.config.ts @@ -0,0 +1,12 @@ +import { defineBuildConfig } from 'unbuild' + +export default defineBuildConfig({ + entries: [ + 'src/legacy.ts', + 'src/flat.ts', + ], + declaration: true, + rollup: { + emitCJS: true, + }, +}) diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index c0c6a677..74bb274c 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -4,25 +4,41 @@ "description": "ESLint config for Nuxt projects", "repository": "nuxt/eslint-config", "license": "MIT", - "main": "index.js", + "main": "./dist/legacy.cjs", "exports": { - ".": "./index.js" + ".": { + "import": "./dist/legacy.mjs", + "require": "./dist/legacy.cjs" + }, + "./flat": { + "import": "./dist/flat.mjs", + "require": "./dist/flat.cjs" + } }, "files": [ - "index.js" + "dist" ], + "scripts": { + "build": "unbuild", + "stub": "unbuild --stub", + "prepack": "npm run build" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, "dependencies": { + "@eslint/js": "^8.57.0", + "@nuxt/eslint-plugin": "workspace:*", "@rushstack/eslint-patch": "^1.7.2", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", "eslint-plugin-vue": "^9.22.0", - "typescript": "^5.4.2" + "pathe": "^1.1.2", + "vue-eslint-parser": "^9.4.2" }, "devDependencies": { "@types/eslint": "^8.56.5", - "eslint": "^8.57.0" - }, - "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0", + "typescript": "^5.4.2" } } diff --git a/packages/eslint-config/src/flat.ts b/packages/eslint-config/src/flat.ts new file mode 100644 index 00000000..d309148d --- /dev/null +++ b/packages/eslint-config/src/flat.ts @@ -0,0 +1 @@ +export * from './flat/index' diff --git a/packages/module/src/config/parts/disables.ts b/packages/eslint-config/src/flat/configs/disables.ts similarity index 100% rename from packages/module/src/config/parts/disables.ts rename to packages/eslint-config/src/flat/configs/disables.ts diff --git a/packages/module/src/config/parts/nuxt.ts b/packages/eslint-config/src/flat/configs/nuxt.ts similarity index 85% rename from packages/module/src/config/parts/nuxt.ts rename to packages/eslint-config/src/flat/configs/nuxt.ts index 03a43d30..8d2c2003 100644 --- a/packages/module/src/config/parts/nuxt.ts +++ b/packages/eslint-config/src/flat/configs/nuxt.ts @@ -1,5 +1,5 @@ import type { FlatConfig } from '../types' -import nuxtPlugin from '../../plugin' +import nuxtPlugin from '@nuxt/eslint-plugin' export default function nuxt(): FlatConfig[] { return [ diff --git a/packages/module/src/config/parts/setup.ts b/packages/eslint-config/src/flat/configs/setup.ts similarity index 96% rename from packages/module/src/config/parts/setup.ts rename to packages/eslint-config/src/flat/configs/setup.ts index 180bd8ac..e4475866 100644 --- a/packages/module/src/config/parts/setup.ts +++ b/packages/eslint-config/src/flat/configs/setup.ts @@ -1,10 +1,8 @@ import * as parserTs from '@typescript-eslint/parser' import * as parserVue from 'vue-eslint-parser' import pluginTs from '@typescript-eslint/eslint-plugin' - // @ts-expect-error missing types import pluginVue from 'eslint-plugin-vue' - // @ts-expect-error missing types import pluginESLint from '@eslint/js' import type { Linter } from 'eslint' @@ -29,7 +27,7 @@ export default function setup(): Linter.FlatConfig[] { }, }, { - name: 'nuxt:setup', + name: 'nuxt:language-options', languageOptions: { parserOptions: { ecmaVersion: 'latest', @@ -40,7 +38,10 @@ export default function setup(): Linter.FlatConfig[] { }, }, }, - pluginESLint.configs.recommended, + { + name: 'eslint:recommended', + ...pluginESLint.configs.recommended, + }, { name: 'nuxt:typescript', files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'], diff --git a/packages/module/src/config/constants.ts b/packages/eslint-config/src/flat/constants.ts similarity index 100% rename from packages/module/src/config/constants.ts rename to packages/eslint-config/src/flat/constants.ts diff --git a/packages/module/src/config/index.ts b/packages/eslint-config/src/flat/index.ts similarity index 51% rename from packages/module/src/config/index.ts rename to packages/eslint-config/src/flat/index.ts index 7514e033..1f14b9c6 100644 --- a/packages/module/src/config/index.ts +++ b/packages/eslint-config/src/flat/index.ts @@ -1,9 +1,11 @@ import type { FlatConfig, NuxtESLintConfigOptions } from './types' -import setup from './parts/setup' -import disables from './parts/disables' -import nuxt from './parts/nuxt' +import setup from './configs/setup' +import disables from './configs/disables' +import nuxt from './configs/nuxt' -export function createBasicNuxtConfig(options: NuxtESLintConfigOptions = {}): FlatConfig[] { +export * from './types' + +export function createNuxtESLintFlatConfig(options: NuxtESLintConfigOptions = {}): FlatConfig[] { const items: FlatConfig[] = [] if (options.features?.standalone !== false) diff --git a/packages/module/src/config/types.ts b/packages/eslint-config/src/flat/types.ts similarity index 100% rename from packages/module/src/config/types.ts rename to packages/eslint-config/src/flat/types.ts diff --git a/packages/eslint-config/index.js b/packages/eslint-config/src/legacy.ts similarity index 95% rename from packages/eslint-config/index.js rename to packages/eslint-config/src/legacy.ts index 547db964..26423398 100644 --- a/packages/eslint-config/index.js +++ b/packages/eslint-config/src/legacy.ts @@ -1,7 +1,7 @@ -require('@rushstack/eslint-patch/modern-module-resolution') +import '@rushstack/eslint-patch/modern-module-resolution' +import { ESLint } from 'eslint' -/** @type {import('eslint').ESLint.ConfigData} */ -module.exports = { +const config: ESLint.ConfigData = { parserOptions: { ecmaVersion: 'latest', parser: { @@ -80,3 +80,5 @@ module.exports = { } ] } + +export default config diff --git a/packages/eslint-config/test/basic.test.ts b/packages/eslint-config/test/basic.test.ts index 7e2ec8da..392c1c70 100644 --- a/packages/eslint-config/test/basic.test.ts +++ b/packages/eslint-config/test/basic.test.ts @@ -6,7 +6,7 @@ describe('eslint-config', () => { it('loads config in eslint to validate all rule syntax is correct', async () => { const cli = new ESLint({ useEslintrc: false, - overrideConfigFile: fileURLToPath(new URL('../index.js', import.meta.url)), + overrideConfigFile: fileURLToPath(new URL('../dist/index.js', import.meta.url)), }) const code = 'const foo = 1\nconst bar = function () {}\nbar(foo)\n' diff --git a/packages/eslint-plugin/README.md b/packages/eslint-plugin/README.md new file mode 100644 index 00000000..fadc0f2b --- /dev/null +++ b/packages/eslint-plugin/README.md @@ -0,0 +1,56 @@ +# `@nuxt/eslint-plugin` + +[![npm version][npm-version-src]][npm-version-href] +[![npm downloads][npm-downloads-src]][npm-downloads-href] + +> Non-opinionated [ESlint](https://eslint.org/) configuration for Nuxt 3 apps. + +### Features + +- Works out-of-the-box with no additional configuration. +- Nuxt-specific rules for pages, components and more. +- ... under active development + +### Installation + +1. Install this package and `eslint` in your `devDependencies`. + +```bash +npm i -D @nuxt/eslint-plugin eslint +yarn add -D @nuxt/eslint-plugin eslint +pnpm add -D @nuxt/eslint-plugin eslint +``` + +2. Extend the default Nuxt config by creating an `.eslintrc.cjs`: + +```js +module.exports = { + root: true, + extends: ["@nuxt/eslint-plugin"], +}; +``` + +You might also want to add a script entry to your `package.json: + +```json +{ + "scripts": { + "lint": "eslint ." + } +} +``` + + + +[npm-version-src]: https://img.shields.io/npm/v/@nuxt/eslint-plugin?style=flat-square +[npm-version-href]: https://npmjs.com/package/@nuxt/eslint-plugin +[npm-downloads-src]: https://img.shields.io/npm/dm/@nuxt/eslint-plugin?style=flat-square +[npm-downloads-href]: https://npmjs.com/package/@nuxt/eslint-plugin +[github-actions-src]: https://img.shields.io/github/workflow/status/nuxt/eslint-plugin/ci/main?style=flat-square +[github-actions-href]: https://github.com/nuxt/eslint-plugin/actions?query=workflow%3Aci +[codecov-src]: https://img.shields.io/codecov/c/gh/nuxt/eslint-plugin/main?style=flat-square +[codecov-href]: https://codecov.io/gh/nuxt/eslint-plugin +[lgtm-src]: https://img.shields.io/lgtm/grade/javascript/github/nuxt/eslint-plugin?style=flat-square +[lgtm-href]: https://lgtm.com/projects/g/nuxt/eslint-plugin +[bundlephobia-src]: https://img.shields.io/bundlephobia/minzip/@nuxt/eslint-plugin?style=flat-square +[bundlephobia-href]: https://bundlephobia.com/package/@nuxt/eslint-plugin diff --git a/packages/eslint-plugin/build.config.ts b/packages/eslint-plugin/build.config.ts new file mode 100644 index 00000000..3243c30c --- /dev/null +++ b/packages/eslint-plugin/build.config.ts @@ -0,0 +1,11 @@ +import { defineBuildConfig } from 'unbuild' + +export default defineBuildConfig({ + entries: [ + 'src/index.ts', + ], + rollup: { + emitCJS: true, + }, + declaration: true, +}) diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json new file mode 100644 index 00000000..26db0ddd --- /dev/null +++ b/packages/eslint-plugin/package.json @@ -0,0 +1,33 @@ +{ + "name": "@nuxt/eslint-plugin", + "type": "module", + "version": "0.1.1", + "description": "ESLint plugin for Nuxt", + "license": "MIT", + "repository": "nuxt/eslint", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], + "scripts": { + "build": "unbuild", + "stub": "unbuild --stub", + "prepack": "npm run build" + }, + "peerDependencies": { + "eslint": "^8.55.0" + }, + "dependencies": { + "@typescript-eslint/types": "^7.2.0", + "@typescript-eslint/utils": "^7.2.0" + } +} diff --git a/packages/module/src/plugin/index.ts b/packages/eslint-plugin/src/index.ts similarity index 100% rename from packages/module/src/plugin/index.ts rename to packages/eslint-plugin/src/index.ts diff --git a/packages/module/src/plugin/rules/index.ts b/packages/eslint-plugin/src/rules/index.ts similarity index 100% rename from packages/module/src/plugin/rules/index.ts rename to packages/eslint-plugin/src/rules/index.ts diff --git a/packages/module/src/plugin/rules/prefer-import-meta/index.ts b/packages/eslint-plugin/src/rules/prefer-import-meta/index.ts similarity index 100% rename from packages/module/src/plugin/rules/prefer-import-meta/index.ts rename to packages/eslint-plugin/src/rules/prefer-import-meta/index.ts diff --git a/packages/module/src/plugin/rules/utils.ts b/packages/eslint-plugin/src/rules/utils.ts similarity index 100% rename from packages/module/src/plugin/rules/utils.ts rename to packages/eslint-plugin/src/rules/utils.ts diff --git a/packages/module/README.md b/packages/module/README.md index a8c7f636..eb3a3f72 100644 --- a/packages/module/README.md +++ b/packages/module/README.md @@ -8,7 +8,9 @@ > [!IMPORTANT] > Experimental. Feedbacks are greatly welcome. -A module that generates project-aware [ESLint flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new) for Nuxt. This should replace [`@nuxt/eslint-config`](https://github.com/nuxt/eslint-config) as the flat config version. +A module that generates project-aware [ESLint flat config](https://eslint.org/docs/latest/use/configure/configuration-files-new) for Nuxt. + +Different from [`@nuxtjs/eslint-module`](https://github.com/nuxt-modules/eslint), this module does not run ESLint but only generates config under `.nuxt/eslint.config.mjs` based on your project settings. We command using IDEs and `eslint` CLI to lint your code. ## Features diff --git a/packages/module/build.config.ts b/packages/module/build.config.ts index ec49fd18..a08557bc 100644 --- a/packages/module/build.config.ts +++ b/packages/module/build.config.ts @@ -3,8 +3,6 @@ import { defineBuildConfig } from 'unbuild' export default defineBuildConfig({ entries: [ 'src/module.ts', - 'src/config.ts', - 'src/plugin.ts', ], rollup: { emitCJS: true, diff --git a/packages/module/package.json b/packages/module/package.json index 7cf5636f..cefb8209 100644 --- a/packages/module/package.json +++ b/packages/module/package.json @@ -11,16 +11,6 @@ "types": "./dist/types.d.ts", "import": "./dist/module.mjs", "require": "./dist/module.cjs" - }, - "./config": { - "types": "./dist/config.d.ts", - "import": "./dist/config.mjs", - "require": "./dist/config.cjs" - }, - "./plugin": { - "types": "./dist/plugin.d.ts", - "import": "./dist/plugin.mjs", - "require": "./dist/plugin.cjs" } }, "main": "./dist/module.cjs", @@ -44,33 +34,19 @@ "eslint": "^8.55.0" }, "dependencies": { - "@eslint/js": "^8.57.0", "@nuxt/devtools-kit": "^1.0.8", + "@nuxt/eslint-plugin": "workspace:*", "@nuxt/kit": "^3.10.3", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", - "@typescript-eslint/types": "^7.1.1", - "@typescript-eslint/utils": "^7.1.1", "eslint-flat-config-viewer": "^0.1.11", - "eslint-plugin-i": "^2.29.1", - "eslint-plugin-unimport": "^0.0.0", - "eslint-plugin-unused-imports": "^3.1.0", - "eslint-plugin-vue": "^9.22.0", "get-port-please": "^3.1.2", + "@nuxt/eslint-config": "workspace:*", "pathe": "^1.1.2", - "unimport": "^3.7.1", - "vue-eslint-parser": "^9.4.2" + "unimport": "^3.7.1" }, "devDependencies": { "@nuxt/module-builder": "^0.5.5", "@nuxt/schema": "^3.10.3", - "@nuxt/test-utils": "^3.11.0", - "@types/node": "^20.11.25", - "@typescript-eslint/scope-manager": "^7.1.1", - "eslint": "npm:eslint-ts-patch@8.56.0-0", - "eslint-factory": "^0.0.2", - "eslint-ts-patch": "8.56.0-0", - "nuxt": "^3.10.3", - "vitest": "^1.3.1" + "@typescript-eslint/scope-manager": "^7.2.0", + "nuxt": "^3.10.3" } } diff --git a/packages/module/src/addons/unimport.ts b/packages/module/src/addons/unimport.ts deleted file mode 100644 index 28e67f24..00000000 --- a/packages/module/src/addons/unimport.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { join } from 'pathe' -import { addTemplate } from '@nuxt/kit' -import type { Nuxt } from '@nuxt/schema' -import { defineESLintPluginAddon } from '../utils' - -export const Unimport = defineESLintPluginAddon((nuxt: Nuxt) => { - console.warn('[eslint-config] Unimport addon is not yet ready.') - - let dataPath = join(nuxt.options.buildDir, '.unimport.json') - nuxt.hook('imports:context', (ctx) => { - dataPath = addTemplate({ - filename: '.unimport.json', - write: true, - async getContents() { - return JSON.stringify(await ctx.getImports(), null, 2) - }, - }).filename - }) - - return { - imports: [ - { - from: 'eslint-plugin-unimport', - name: 'createUnimportConfig', - }, - { - from: 'fs', - name: 'default', - as: 'fs', - }, - ], - configLines: [ - `createUnimportConfig({`, - ` getImports() {`, - ` return JSON.parse(fs.readFileSync(${JSON.stringify(dataPath)}, "utf-8"))`, - ` }`, - `}),`, - ], - } -}) diff --git a/packages/module/src/config.ts b/packages/module/src/config.ts deleted file mode 100644 index 804fd494..00000000 --- a/packages/module/src/config.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './config/index' diff --git a/packages/module/src/module.ts b/packages/module/src/module.ts index 35c04f20..0083e395 100644 --- a/packages/module/src/module.ts +++ b/packages/module/src/module.ts @@ -4,9 +4,8 @@ import type { Import } from 'unimport' import type { Nuxt } from '@nuxt/schema' import { relative, resolve } from 'pathe' import { getPort } from 'get-port-please' -import type { ESLintPluginData } from './utils' -import { Unimport } from './addons/unimport' -import type { NuxtESLintConfigOptions } from './config/types' +import type { ESLintPluginAddon } from './types' +import type { NuxtESLintConfigOptions } from '@nuxt/eslint-config/flat' // Module options TypeScript interface definition export interface ModuleOptions { @@ -18,19 +17,6 @@ export interface ModuleOptions { * @default true */ standalone?: boolean - - /** - * Enable experimental features. - */ - experimental?: { - /** - * Enable unimport plugin that inserts import statements automatically. - * - * @experimental - * @default false - */ - unimport?: boolean - } } export default defineNuxtModule({ @@ -40,15 +26,11 @@ export default defineNuxtModule({ }, defaults: { standalone: true, - experimental: { - unimport: false, - }, }, setup(options, nuxt) { - const addons: ESLintPluginData[] = [] + const addons: ESLintPluginAddon[] = [] - if (options.experimental?.unimport) - addons.push(Unimport(nuxt)) + // TODO: hook to add more addons addTemplate({ filename: 'eslint.config.mjs', @@ -62,13 +44,13 @@ export default defineNuxtModule({ }, }) -function generateESLintConfig(options: ModuleOptions, nuxt: Nuxt, addons: ESLintPluginData[]) { +function generateESLintConfig(options: ModuleOptions, nuxt: Nuxt, addons: ESLintPluginAddon[]) { const importLines: Import[] = [] const configLines: string[] = [] importLines.push({ - from: 'nuxt-module-eslint-config/config', - name: 'createBasicNuxtConfig', + from: '@nuxt/eslint-config/flat', + name: 'createNuxtESLintFlatConfig', }) const basicOptions: NuxtESLintConfigOptions = { @@ -78,11 +60,11 @@ function generateESLintConfig(options: ModuleOptions, nuxt: Nuxt, addons: ESLint dirs: getDirs(nuxt), } - configLines.push(`...createBasicNuxtConfig(\n${JSON.stringify(basicOptions, null, 2)}\n),`) + configLines.push(`...createNuxtESLintFlatConfig(\n${JSON.stringify(basicOptions, null, 2)}\n),`) for (const mod of addons) { importLines.push(...mod.imports) - configLines.push(...mod.configLines) + configLines.push(...mod.configs) } return [ diff --git a/packages/module/src/plugin.ts b/packages/module/src/plugin.ts deleted file mode 100644 index 1cd948b7..00000000 --- a/packages/module/src/plugin.ts +++ /dev/null @@ -1 +0,0 @@ -export { default } from './plugin/index' diff --git a/packages/module/src/types.ts b/packages/module/src/types.ts new file mode 100644 index 00000000..e8eefcca --- /dev/null +++ b/packages/module/src/types.ts @@ -0,0 +1,6 @@ +import { Import } from 'unimport' + +export interface ESLintPluginAddon { + imports: Import[] + configs: string[] +} diff --git a/packages/module/src/utils.ts b/packages/module/src/utils.ts deleted file mode 100644 index ff63265d..00000000 --- a/packages/module/src/utils.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { Import } from 'unimport' - -export interface ESLintPluginData { - imports: Import[] - configLines: string[] -} - -export type ESLintPluginAddon = (options: T) => ESLintPluginData - -export function defineESLintPluginAddon(module: ESLintPluginAddon) { - return module -} diff --git a/packages/module/tsconfig.json b/packages/module/tsconfig.json deleted file mode 100644 index 406dc74c..00000000 --- a/packages/module/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./.nuxt/tsconfig.json", - "compilerOptions": { - "moduleResolution": "Bundler" - }, - "exclude": [ - "playground" - ] -} diff --git a/packages/eslint-config-legacy-typescript/CHANGELOG.md b/packages/nuxt2-legacy-eslint-config-typescript/CHANGELOG.md similarity index 100% rename from packages/eslint-config-legacy-typescript/CHANGELOG.md rename to packages/nuxt2-legacy-eslint-config-typescript/CHANGELOG.md diff --git a/packages/eslint-config-legacy-typescript/README.md b/packages/nuxt2-legacy-eslint-config-typescript/README.md similarity index 100% rename from packages/eslint-config-legacy-typescript/README.md rename to packages/nuxt2-legacy-eslint-config-typescript/README.md diff --git a/packages/eslint-config-legacy-typescript/index.js b/packages/nuxt2-legacy-eslint-config-typescript/index.js similarity index 100% rename from packages/eslint-config-legacy-typescript/index.js rename to packages/nuxt2-legacy-eslint-config-typescript/index.js diff --git a/packages/eslint-config-legacy-typescript/package.json b/packages/nuxt2-legacy-eslint-config-typescript/package.json similarity index 85% rename from packages/eslint-config-legacy-typescript/package.json rename to packages/nuxt2-legacy-eslint-config-typescript/package.json index 9e145e22..ca071bb8 100644 --- a/packages/eslint-config-legacy-typescript/package.json +++ b/packages/nuxt2-legacy-eslint-config-typescript/package.json @@ -9,8 +9,8 @@ ], "dependencies": { "@nuxtjs/eslint-config": "^12.0.0", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-vue": "^9.22.0" diff --git a/packages/eslint-config-legacy/CHANGELOG.md b/packages/nuxt2-legacy-eslint-config/CHANGELOG.md similarity index 100% rename from packages/eslint-config-legacy/CHANGELOG.md rename to packages/nuxt2-legacy-eslint-config/CHANGELOG.md diff --git a/packages/eslint-config-legacy/README.md b/packages/nuxt2-legacy-eslint-config/README.md similarity index 100% rename from packages/eslint-config-legacy/README.md rename to packages/nuxt2-legacy-eslint-config/README.md diff --git a/packages/eslint-config-legacy/index.js b/packages/nuxt2-legacy-eslint-config/index.js similarity index 100% rename from packages/eslint-config-legacy/index.js rename to packages/nuxt2-legacy-eslint-config/index.js diff --git a/packages/eslint-config-legacy/package.json b/packages/nuxt2-legacy-eslint-config/package.json similarity index 100% rename from packages/eslint-config-legacy/package.json rename to packages/nuxt2-legacy-eslint-config/package.json diff --git a/packages/eslint-config-legacy/test/basic.test.js b/packages/nuxt2-legacy-eslint-config/test/basic.test.js similarity index 100% rename from packages/eslint-config-legacy/test/basic.test.js rename to packages/nuxt2-legacy-eslint-config/test/basic.test.js diff --git a/packages/eslint-config-legacy/test/validate-config.test.js b/packages/nuxt2-legacy-eslint-config/test/validate-config.test.js similarity index 100% rename from packages/eslint-config-legacy/test/validate-config.test.js rename to packages/nuxt2-legacy-eslint-config/test/validate-config.test.js diff --git a/playground/app.vue b/playground/app.vue new file mode 100644 index 00000000..50d6bcf5 --- /dev/null +++ b/playground/app.vue @@ -0,0 +1,9 @@ + + + diff --git a/playground/eslint.config.js b/playground/eslint.config.js new file mode 100644 index 00000000..1cc5ff8f --- /dev/null +++ b/playground/eslint.config.js @@ -0,0 +1,3 @@ +import nuxt from './.nuxt/eslint.config.mjs' + +export default nuxt diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts new file mode 100644 index 00000000..e5c4bcaf --- /dev/null +++ b/playground/nuxt.config.ts @@ -0,0 +1,6 @@ +export default defineNuxtConfig({ + modules: [ + '../packages/module/src/module' + ], + devtools: { enabled: true }, +}) diff --git a/playground/package.json b/playground/package.json new file mode 100644 index 00000000..cfd19ada --- /dev/null +++ b/playground/package.json @@ -0,0 +1,13 @@ +{ + "name": "nuxt-eslint-playground", + "type": "module", + "private": true, + "scripts": { + "play:dev": "nuxi dev", + "play:build": "nuxi build", + "lint": "nuxi preprare && eslint ." + }, + "devDependencies": { + "nuxt": "^3.10.3" + } +} diff --git a/playground/pages/index.vue b/playground/pages/index.vue new file mode 100644 index 00000000..13bd05a3 --- /dev/null +++ b/playground/pages/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/playground/server/tsconfig.json b/playground/server/tsconfig.json new file mode 100644 index 00000000..b9ed69c1 --- /dev/null +++ b/playground/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/playground/tsconfig.json b/playground/tsconfig.json new file mode 100644 index 00000000..4b34df15 --- /dev/null +++ b/playground/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nuxt/tsconfig.json" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd82747a..41026bc6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,15 @@ importers: .: devDependencies: + '@nuxt/eslint-config': + specifier: workspace:* + version: link:packages/eslint-config + '@nuxt/eslint-plugin': + specifier: workspace:* + version: link:packages/eslint-plugin + '@nuxt/test-utils': + specifier: ^3.11.0 + version: 3.11.0(h3@1.11.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) '@types/eslint': specifier: ^8.56.5 version: 8.56.5 @@ -29,21 +38,30 @@ importers: packages/eslint-config: dependencies: + '@eslint/js': + specifier: ^8.57.0 + version: 8.57.0 + '@nuxt/eslint-plugin': + specifier: workspace:* + version: link:../eslint-plugin '@rushstack/eslint-patch': specifier: ^1.7.2 version: 1.7.2 '@typescript-eslint/eslint-plugin': - specifier: ^7.1.1 - version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2) + specifier: ^7.2.0 + version: 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: ^7.1.1 - version: 7.1.1(eslint@8.57.0)(typescript@5.4.2) + specifier: ^7.2.0 + version: 7.2.0(eslint@8.57.0)(typescript@5.4.2) eslint-plugin-vue: specifier: ^9.22.0 version: 9.22.0(eslint@8.57.0) - typescript: - specifier: ^5.4.2 - version: 5.4.2 + pathe: + specifier: ^1.1.2 + version: 1.1.2 + vue-eslint-parser: + specifier: ^9.4.2 + version: 9.4.2(eslint@8.57.0) devDependencies: '@types/eslint': specifier: ^8.56.5 @@ -51,146 +69,128 @@ importers: eslint: specifier: ^8.57.0 version: 8.57.0 + typescript: + specifier: ^5.4.2 + version: 5.4.2 + + packages/eslint-plugin: + dependencies: + '@typescript-eslint/types': + specifier: ^7.2.0 + version: 7.2.0 + '@typescript-eslint/utils': + specifier: ^7.2.0 + version: 7.2.0(eslint@8.57.0)(typescript@5.4.2) + eslint: + specifier: ^8.55.0 + version: 8.57.0 - packages/eslint-config-legacy: + packages/module: + dependencies: + '@nuxt/devtools-kit': + specifier: ^1.0.8 + version: 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.1.6) + '@nuxt/eslint-config': + specifier: workspace:* + version: link:../eslint-config + '@nuxt/eslint-plugin': + specifier: workspace:* + version: link:../eslint-plugin + '@nuxt/kit': + specifier: ^3.10.3 + version: 3.10.3(rollup@3.29.4) + eslint: + specifier: ^8.55.0 + version: 8.57.0 + eslint-flat-config-viewer: + specifier: ^0.1.11 + version: 0.1.11(eslint@8.57.0)(typescript@5.4.2) + get-port-please: + specifier: ^3.1.2 + version: 3.1.2 + pathe: + specifier: ^1.1.2 + version: 1.1.2 + unimport: + specifier: ^3.7.1 + version: 3.7.1(rollup@3.29.4) + devDependencies: + '@nuxt/module-builder': + specifier: ^0.5.5 + version: 0.5.5(@nuxt/kit@3.10.3)(nuxi@3.10.1)(typescript@5.4.2) + '@nuxt/schema': + specifier: ^3.10.3 + version: 3.10.3(rollup@3.29.4) + '@typescript-eslint/scope-manager': + specifier: ^7.2.0 + version: 7.2.0 + nuxt: + specifier: ^3.10.3 + version: 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.1.6) + + packages/nuxt2-legacy-eslint-config: dependencies: eslint: specifier: ^8.56.0 - version: 8.56.0 + version: 8.57.0 eslint-config-standard: specifier: ^17.1.0 - version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0) + version: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-n: specifier: ^16.6.2 - version: 16.6.2(eslint@8.56.0) + version: 16.6.2(eslint@8.57.0) eslint-plugin-node: specifier: ^11.1.0 - version: 11.1.0(eslint@8.56.0) + version: 11.1.0(eslint@8.57.0) eslint-plugin-promise: specifier: ^6.1.1 - version: 6.1.1(eslint@8.56.0) + version: 6.1.1(eslint@8.57.0) eslint-plugin-unicorn: specifier: ^51.0.1 - version: 51.0.1(eslint@8.56.0) + version: 51.0.1(eslint@8.57.0) eslint-plugin-vue: specifier: ^9.22.0 - version: 9.22.0(eslint@8.56.0) + version: 9.22.0(eslint@8.57.0) local-pkg: specifier: ^0.5.0 version: 0.5.0 - packages/eslint-config-legacy-typescript: + packages/nuxt2-legacy-eslint-config-typescript: dependencies: '@nuxtjs/eslint-config': specifier: ^12.0.0 - version: link:../eslint-config-legacy + version: link:../nuxt2-legacy-eslint-config '@typescript-eslint/eslint-plugin': - specifier: ^7.1.1 - version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.56.0)(typescript@5.4.2) + specifier: ^7.2.0 + version: 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2) '@typescript-eslint/parser': - specifier: ^7.1.1 - version: 7.1.1(eslint@8.56.0)(typescript@5.4.2) + specifier: ^7.2.0 + version: 7.2.0(eslint@8.57.0)(typescript@5.4.2) eslint: specifier: ^8.56.0 - version: 8.56.0 + version: 8.57.0 eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.6.1(@typescript-eslint/parser@7.1.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + version: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-vue: specifier: ^9.22.0 - version: 9.22.0(eslint@8.56.0) + version: 9.22.0(eslint@8.57.0) devDependencies: typescript: specifier: ^5.4.2 version: 5.4.2 - packages/module: - dependencies: - '@eslint/js': - specifier: ^8.57.0 - version: 8.57.0 - '@nuxt/devtools-kit': - specifier: ^1.0.8 - version: 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10) - '@nuxt/kit': - specifier: ^3.10.3 - version: 3.10.3(rollup@3.29.4) - '@typescript-eslint/eslint-plugin': - specifier: ^7.1.1 - version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - '@typescript-eslint/parser': - specifier: ^7.1.1 - version: 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - '@typescript-eslint/types': - specifier: ^7.1.1 - version: 7.1.1 - '@typescript-eslint/utils': - specifier: ^7.1.1 - version: 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - eslint-flat-config-viewer: - specifier: ^0.1.11 - version: 0.1.11(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - eslint-plugin-i: - specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0) - eslint-plugin-unimport: - specifier: ^0.0.0 - version: 0.0.0(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2) - eslint-plugin-unused-imports: - specifier: ^3.1.0 - version: 3.1.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.56.0-0) - eslint-plugin-vue: - specifier: ^9.22.0 - version: 9.22.0(eslint-ts-patch@8.56.0-0) - get-port-please: - specifier: ^3.1.2 - version: 3.1.2 - pathe: - specifier: ^1.1.2 - version: 1.1.2 - unimport: - specifier: ^3.7.1 - version: 3.7.1(rollup@3.29.4) - vue-eslint-parser: - specifier: ^9.4.2 - version: 9.4.2(eslint-ts-patch@8.56.0-0) + playground: devDependencies: - '@nuxt/module-builder': - specifier: ^0.5.5 - version: 0.5.5(@nuxt/kit@3.10.3)(nuxi@3.10.1)(typescript@5.4.2) - '@nuxt/schema': - specifier: ^3.10.3 - version: 3.10.3(rollup@3.29.4) - '@nuxt/test-utils': - specifier: ^3.11.0 - version: 3.11.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) - '@types/node': - specifier: ^20.11.25 - version: 20.11.25 - '@typescript-eslint/scope-manager': - specifier: ^7.1.1 - version: 7.1.1 - eslint: - specifier: npm:eslint-ts-patch@8.56.0-0 - version: /eslint-ts-patch@8.56.0-0 - eslint-factory: - specifier: ^0.0.2 - version: 0.0.2(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - eslint-ts-patch: - specifier: 8.56.0-0 - version: 8.56.0-0 nuxt: specifier: ^3.10.3 - version: 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10) - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.25) + version: 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6) packages: @@ -886,25 +886,6 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint-ts-patch@8.56.0-0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: /eslint-ts-patch@8.56.0-0 - eslint-visitor-keys: 3.4.3 - - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.56.0 - eslint-visitor-keys: 3.4.3 - dev: false - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -926,7 +907,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -934,11 +915,6 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: false - /@eslint/js@8.57.0: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -947,17 +923,6 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: false - /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -972,10 +937,6 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} - dev: false - /@humanwhocodes/object-schema@2.0.2: resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} @@ -1174,7 +1135,7 @@ packages: /@nuxt/devalue@2.0.2: resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} - /@nuxt/devtools-kit@1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10): + /@nuxt/devtools-kit@1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.1.6): resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} peerDependencies: nuxt: ^3.9.0 @@ -1183,12 +1144,28 @@ packages: '@nuxt/kit': 3.10.3(rollup@3.29.4) '@nuxt/schema': 3.10.3(rollup@3.29.4) execa: 7.2.0 - nuxt: 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10) - vite: 5.0.10(@types/node@20.11.25) + nuxt: 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.1.6) + vite: 5.1.6(@types/node@20.11.25) transitivePeerDependencies: - rollup - supports-color + /@nuxt/devtools-kit@1.0.8(nuxt@3.10.3)(vite@5.1.6): + resolution: {integrity: sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==} + peerDependencies: + nuxt: ^3.9.0 + vite: '*' + dependencies: + '@nuxt/kit': 3.10.3 + '@nuxt/schema': 3.10.3 + execa: 7.2.0 + nuxt: 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6) + vite: 5.1.6(@types/node@20.11.25) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /@nuxt/devtools-wizard@1.0.8: resolution: {integrity: sha512-RxyOlM7Isk5npwXwDJ/rjm9ekX5sTNG0LS0VOBMdSx+D5nlRPMRr/r9yO+9WQDyzPLClLzHaXRHBWLPlRX3IMw==} hasBin: true @@ -1204,7 +1181,7 @@ packages: rc9: 2.1.1 semver: 7.6.0 - /@nuxt/devtools@1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10): + /@nuxt/devtools@1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.1.6): resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} hasBin: true peerDependencies: @@ -1212,7 +1189,7 @@ packages: vite: '*' dependencies: '@antfu/utils': 0.7.7 - '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10) + '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.1.6) '@nuxt/devtools-wizard': 1.0.8 '@nuxt/kit': 3.10.3(rollup@3.29.4) birpc: 0.2.17 @@ -1229,7 +1206,7 @@ packages: launch-editor: 2.6.1 local-pkg: 0.5.0 magicast: 0.3.3 - nuxt: 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10) + nuxt: 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.1.6) nypm: 0.3.8 ohash: 1.1.3 pacote: 17.0.6 @@ -1242,9 +1219,59 @@ packages: simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@3.29.4) - vite: 5.0.10(@types/node@20.11.25) - vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.3)(rollup@3.29.4)(vite@5.0.10) - vite-plugin-vue-inspector: 4.0.2(vite@5.0.10) + vite: 5.1.6(@types/node@20.11.25) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.3)(rollup@3.29.4)(vite@5.1.6) + vite-plugin-vue-inspector: 4.0.2(vite@5.1.6) + which: 3.0.1 + ws: 8.16.0 + transitivePeerDependencies: + - bluebird + - bufferutil + - rollup + - supports-color + - utf-8-validate + + /@nuxt/devtools@1.0.8(nuxt@3.10.3)(vite@5.1.6): + resolution: {integrity: sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==} + hasBin: true + peerDependencies: + nuxt: ^3.9.0 + vite: '*' + dependencies: + '@antfu/utils': 0.7.7 + '@nuxt/devtools-kit': 1.0.8(nuxt@3.10.3)(vite@5.1.6) + '@nuxt/devtools-wizard': 1.0.8 + '@nuxt/kit': 3.10.3 + birpc: 0.2.17 + consola: 3.2.3 + destr: 2.0.3 + error-stack-parser-es: 0.1.1 + execa: 7.2.0 + fast-glob: 3.3.2 + flatted: 3.2.9 + get-port-please: 3.1.2 + hookable: 5.5.3 + image-meta: 0.2.0 + is-installed-globally: 1.0.0 + launch-editor: 2.6.1 + local-pkg: 0.5.0 + magicast: 0.3.3 + nuxt: 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6) + nypm: 0.3.8 + ohash: 1.1.3 + pacote: 17.0.6 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + scule: 1.3.0 + semver: 7.6.0 + simple-git: 3.22.0 + sirv: 2.0.4 + unimport: 3.7.1(rollup@4.12.1) + vite: 5.1.6(@types/node@20.11.25) + vite-plugin-inspect: 0.8.3(@nuxt/kit@3.10.3)(vite@5.1.6) + vite-plugin-vue-inspector: 4.0.2(vite@5.1.6) which: 3.0.1 ws: 8.16.0 transitivePeerDependencies: @@ -1253,6 +1280,34 @@ packages: - rollup - supports-color - utf-8-validate + dev: true + + /@nuxt/kit@3.10.3: + resolution: {integrity: sha512-PUjYB9Mvx0qD9H1QZBwwtY4fLlCLET+Mm9BVqUOtXCaGoXd6u6BE4e/dGFPk2UEKkIcDGrUMSbqkHYvsEuK9NQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dependencies: + '@nuxt/schema': 3.10.3 + c12: 1.10.0 + consola: 3.2.3 + defu: 6.1.4 + globby: 14.0.1 + hash-sum: 2.0.0 + ignore: 5.3.1 + jiti: 1.21.0 + knitwork: 1.0.0 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + semver: 7.6.0 + ufo: 1.4.0 + unctx: 2.3.1 + unimport: 3.7.1(rollup@4.12.1) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true /@nuxt/kit@3.10.3(rollup@3.29.4): resolution: {integrity: sha512-PUjYB9Mvx0qD9H1QZBwwtY4fLlCLET+Mm9BVqUOtXCaGoXd6u6BE4e/dGFPk2UEKkIcDGrUMSbqkHYvsEuK9NQ==} @@ -1300,6 +1355,26 @@ packages: - typescript dev: true + /@nuxt/schema@3.10.3: + resolution: {integrity: sha512-a4cYbeskEVBPazgAhvUGkL/j7ho/iPWMK3vCEm6dRMjSqHVEITRosrj0aMfLbRrDpTrMjlRs0ZitxiaUfE/p5Q==} + engines: {node: ^14.18.0 || >=16.10.0} + dependencies: + '@nuxt/ui-templates': 1.3.1 + consola: 3.2.3 + defu: 6.1.4 + hookable: 5.5.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + scule: 1.3.0 + std-env: 3.7.0 + ufo: 1.4.0 + unimport: 3.7.1(rollup@4.12.1) + untyped: 1.4.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /@nuxt/schema@3.10.3(rollup@3.29.4): resolution: {integrity: sha512-a4cYbeskEVBPazgAhvUGkL/j7ho/iPWMK3vCEm6dRMjSqHVEITRosrj0aMfLbRrDpTrMjlRs0ZitxiaUfE/p5Q==} engines: {node: ^14.18.0 || >=16.10.0} @@ -1319,6 +1394,32 @@ packages: - rollup - supports-color + /@nuxt/telemetry@2.5.3: + resolution: {integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==} + hasBin: true + dependencies: + '@nuxt/kit': 3.10.3 + ci-info: 4.0.0 + consola: 3.2.3 + create-require: 1.1.1 + defu: 6.1.4 + destr: 2.0.3 + dotenv: 16.4.5 + git-url-parse: 13.1.1 + is-docker: 3.0.0 + jiti: 1.21.0 + mri: 1.2.0 + nanoid: 4.0.2 + ofetch: 1.3.3 + parse-git-config: 3.0.0 + pathe: 1.1.2 + rc9: 2.1.1 + std-env: 3.7.0 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /@nuxt/telemetry@2.5.3(rollup@3.29.4): resolution: {integrity: sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==} hasBin: true @@ -1344,7 +1445,7 @@ packages: - rollup - supports-color - /@nuxt/test-utils@3.11.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /@nuxt/test-utils@3.11.0(h3@1.11.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-9ovgpQZkZpVg/MhYVVn2169WjH/IL0XUqwGryTa/lkx0/BCi1LMVEp3HTPkmt4qbRcxitO+kL4vFqqrFGVaSVg==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -1381,8 +1482,8 @@ packages: vitest: optional: true dependencies: - '@nuxt/kit': 3.10.3(rollup@3.29.4) - '@nuxt/schema': 3.10.3(rollup@3.29.4) + '@nuxt/kit': 3.10.3 + '@nuxt/schema': 3.10.3 c12: 1.10.0 consola: 3.2.3 defu: 6.1.4 @@ -1401,12 +1502,12 @@ packages: radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 - ufo: 1.3.2 + ufo: 1.4.0 unenv: 1.9.0 unplugin: 1.9.0 - vite: 5.0.10(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.25) vitest: 1.3.1(@types/node@20.11.25) - vitest-environment-nuxt: 1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + vitest-environment-nuxt: 1.0.0(h3@1.11.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-router: 4.3.0(vue@3.4.21) transitivePeerDependencies: @@ -1417,7 +1518,7 @@ packages: /@nuxt/ui-templates@1.3.1: resolution: {integrity: sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==} - /@nuxt/vite-builder@3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vue@3.4.21): + /@nuxt/vite-builder@3.10.3(@types/node@20.11.25)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vue@3.4.21): resolution: {integrity: sha512-BqkbrYkEk1AVUJleofbqTRV+ltf2p1CDjGDK78zENPCgrSABlj4F4oK8rze8vmRY5qoH7kMZxgMa2dXVXCp6OA==} engines: {node: ^14.18.0 || >=16.10.0} peerDependencies: @@ -1455,7 +1556,68 @@ packages: unplugin: 1.9.0 vite: 5.1.6(@types/node@20.11.25) vite-node: 1.3.1(@types/node@20.11.25) - vite-plugin-checker: 0.6.4(eslint-ts-patch@8.56.0-0)(typescript@5.4.2)(vite@5.1.6) + vite-plugin-checker: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6) + vue: 3.4.21(typescript@5.4.2) + vue-bundle-renderer: 2.0.0 + transitivePeerDependencies: + - '@types/node' + - eslint + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - uWebSockets.js + - vls + - vti + - vue-tsc + + /@nuxt/vite-builder@3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vue@3.4.21): + resolution: {integrity: sha512-BqkbrYkEk1AVUJleofbqTRV+ltf2p1CDjGDK78zENPCgrSABlj4F4oK8rze8vmRY5qoH7kMZxgMa2dXVXCp6OA==} + engines: {node: ^14.18.0 || >=16.10.0} + peerDependencies: + vue: ^3.3.4 + dependencies: + '@nuxt/kit': 3.10.3 + '@rollup/plugin-replace': 5.0.5(rollup@4.12.1) + '@vitejs/plugin-vue': 5.0.4(vite@5.1.6)(vue@3.4.21) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.1.6)(vue@3.4.21) + autoprefixer: 10.4.18(postcss@8.4.35) + clear: 0.1.0 + consola: 3.2.3 + cssnano: 6.1.0(postcss@8.4.35) + defu: 6.1.4 + esbuild: 0.20.1 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + externality: 1.0.2 + fs-extra: 11.2.0 + get-port-please: 3.1.2 + h3: 1.11.1 + knitwork: 1.0.0 + magic-string: 0.30.8 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + postcss: 8.4.35 + rollup-plugin-visualizer: 5.12.0(rollup@3.29.4) + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.4.0 + unenv: 1.9.0 + unplugin: 1.9.0 + vite: 5.1.6(@types/node@20.11.25) + vite-node: 1.3.1(@types/node@20.11.25) + vite-plugin-checker: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6) vue: 3.4.21(typescript@5.4.2) vue-bundle-renderer: 2.0.0 transitivePeerDependencies: @@ -1477,6 +1639,7 @@ packages: - vls - vti - vue-tsc + dev: true /@parcel/watcher-android-arm64@2.4.1: resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} @@ -2079,6 +2242,7 @@ packages: dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 + dev: true /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -2104,198 +2268,44 @@ packages: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: false - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} - - /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): - resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/type-utils': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 - debug: 4.3.4 - eslint: /eslint-ts-patch@8.56.0-0 - graphemer: 1.4.0 - ignore: 5.3.0 - natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.56.0)(typescript@5.4.2): - resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.1.1(eslint@8.56.0)(typescript@5.4.2) - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/type-utils': 7.1.1(eslint@8.56.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.56.0)(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 - debug: 4.3.4 - eslint: 8.56.0 - graphemer: 1.4.0 - ignore: 5.3.0 - natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 - debug: 4.3.4 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.0 - natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@typescript-eslint/parser@7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): - resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 - debug: 4.3.4 - eslint: /eslint-ts-patch@8.56.0-0 - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@typescript-eslint/parser@7.1.1(eslint@8.56.0)(typescript@5.4.2): - resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 - debug: 4.3.4 - eslint: 8.56.0 - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - dev: false - - /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + /@types/resolve@1.20.2: + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - /@typescript-eslint/scope-manager@7.1.1: - resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + dev: false - /@typescript-eslint/type-utils@7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): - resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + /@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: + '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 - eslint: /eslint-ts-patch@8.56.0-0 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 ts-api-utils: 1.0.3(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/type-utils@7.1.1(eslint@8.56.0)(typescript@5.4.2): - resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -2304,18 +2314,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 - eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.4.2) + eslint: 8.57.0 typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: false - /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + /@typescript-eslint/scope-manager@7.2.0: + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 + + /@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -2324,8 +2342,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) + '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.4.2) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.0.3(typescript@5.4.2) @@ -2334,37 +2352,12 @@ packages: - supports-color dev: false - /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - - /@typescript-eslint/types@7.1.1: - resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} - engines: {node: ^16.0.0 || >=18.0.0} - - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + /@typescript-eslint/types@7.2.0: + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.4.2) - typescript: 5.4.2 - transitivePeerDependencies: - - supports-color - /@typescript-eslint/typescript-estree@7.1.1(typescript@5.4.2): - resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} + /@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.2): + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -2372,8 +2365,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -2385,64 +2378,8 @@ packages: - supports-color dev: false - /@typescript-eslint/utils@6.21.0(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.56.0-0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2) - eslint: /eslint-ts-patch@8.56.0-0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - - /@typescript-eslint/utils@7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): - resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.56.0-0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - eslint: /eslint-ts-patch@8.56.0-0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: false - - /@typescript-eslint/utils@7.1.1(eslint@8.56.0)(typescript@5.4.2): - resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - eslint: 8.56.0 - semver: 7.5.4 - transitivePeerDependencies: - - supports-color - - typescript - dev: false - - /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.4.2): - resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + /@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.4.2): + resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -2450,28 +2387,21 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) eslint: 8.57.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: false - /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 - - /@typescript-eslint/visitor-keys@7.1.1: - resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + /@typescript-eslint/visitor-keys@7.2.0: + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 /@ungap/structured-clone@1.2.0: @@ -2615,6 +2545,26 @@ packages: transitivePeerDependencies: - rollup + /@vue-macros/common@1.10.1(vue@3.4.21): + resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} + engines: {node: '>=16.14.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + dependencies: + '@babel/types': 7.23.6 + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@vue/compiler-sfc': 3.4.21 + ast-kit: 0.11.3 + local-pkg: 0.5.0 + magic-string-ast: 0.3.0 + vue: 3.4.21(typescript@5.4.2) + transitivePeerDependencies: + - rollup + dev: true + /@vue/babel-helper-vue-transform-on@1.2.1: resolution: {integrity: sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==} @@ -2740,12 +2690,12 @@ packages: dependencies: acorn: 8.11.3 - /acorn-jsx@5.3.2(acorn@8.11.2): + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.2 + acorn: 8.11.3 /acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} @@ -2897,6 +2847,7 @@ packages: /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + dev: false /array.prototype.findlastindex@1.2.3: resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} @@ -2946,6 +2897,17 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true + /ast-kit@0.11.3: + resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + dev: true + /ast-kit@0.11.3(rollup@3.29.4): resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} @@ -2956,6 +2918,17 @@ packages: transitivePeerDependencies: - rollup + /ast-kit@0.9.5: + resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.24.0 + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + pathe: 1.1.2 + transitivePeerDependencies: + - rollup + dev: true + /ast-kit@0.9.5(rollup@3.29.4): resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} @@ -2966,6 +2939,16 @@ packages: transitivePeerDependencies: - rollup + /ast-walker-scope@0.5.0: + resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} + engines: {node: '>=16.14.0'} + dependencies: + '@babel/parser': 7.24.0 + ast-kit: 0.9.5 + transitivePeerDependencies: + - rollup + dev: true + /ast-walker-scope@0.5.0(rollup@3.29.4): resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} @@ -3087,7 +3070,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.5.4 + semver: 7.6.0 /bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} @@ -3331,7 +3314,7 @@ packages: /core-js-compat@3.34.0: resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} dependencies: - browserslist: 4.22.2 + browserslist: 4.23.0 dev: false /core-util-is@1.0.3: @@ -3875,16 +3858,16 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - /eslint-compat-utils@0.1.2(eslint@8.56.0): + /eslint-compat-utils@0.1.2(eslint@8.57.0): resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} engines: {node: '>=12'} peerDependencies: eslint: '>=6.0.0' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.56.0): + /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -3893,26 +3876,13 @@ packages: eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.56.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-n: 16.6.2(eslint@8.56.0) - eslint-plugin-promise: 6.1.1(eslint@8.56.0) + eslint: 8.57.0 + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-n: 16.6.2(eslint@8.57.0) + eslint-plugin-promise: 6.1.1(eslint@8.57.0) dev: false - /eslint-factory@0.0.2(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): - resolution: {integrity: sha512-XMGK91oUPt/B8dl4pvwzM5EzXPlxtWteNoHwhiay5qOcqoYUIdYK37nAEu60KBrHCcgsMJ2AQ/HYi8gRDYbjqw==} - peerDependencies: - '@types/eslint': ^8.44.0 - eslint: ^8.44.0 - dependencies: - '@types/eslint': 8.56.5 - '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - eslint: /eslint-ts-patch@8.56.0-0 - transitivePeerDependencies: - - supports-color - - typescript - - /eslint-flat-config-viewer@0.1.11(eslint-ts-patch@8.56.0-0)(typescript@5.4.2): + /eslint-flat-config-viewer@0.1.11(eslint@8.57.0)(typescript@5.4.2): resolution: {integrity: sha512-yPLqlKJrz5LX2H3IG9iXAMr5tsqgXkZ8HGwr8qZGlPgWy5GEhmmUTAWOGfP3FT26jk4Qrx5VsYXAv9M8JCpmYw==} hasBin: true peerDependencies: @@ -3923,7 +3893,7 @@ packages: chokidar: 3.6.0 consola: 3.2.3 devalue: 4.3.2 - eslint: /eslint-ts-patch@8.56.0-0 + eslint: 8.57.0 get-port-please: 3.1.2 jiti: 1.21.0 ofetch: 1.3.3 @@ -3948,7 +3918,7 @@ packages: - supports-color dev: false - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.1.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3957,9 +3927,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint: 8.57.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -3971,37 +3941,7 @@ packages: - supports-color dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - dependencies: - '@typescript-eslint/parser': 7.1.1(eslint@8.56.0)(typescript@5.4.2) - debug: 3.2.7 - eslint: 8.56.0 - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.1.1)(eslint-plugin-import@2.29.1)(eslint@8.56.0) - transitivePeerDependencies: - - supports-color - dev: false - - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.56.0-0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -4022,60 +3962,39 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.1.1(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2) debug: 3.2.7 - eslint: /eslint-ts-patch@8.56.0-0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color dev: false - /eslint-plugin-es-x@7.5.0(eslint@8.56.0): + /eslint-plugin-es-x@7.5.0(eslint@8.57.0): resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 - eslint: 8.56.0 - eslint-compat-utils: 0.1.2(eslint@8.56.0) + eslint: 8.57.0 + eslint-compat-utils: 0.1.2(eslint@8.57.0) dev: false - /eslint-plugin-es@3.0.1(eslint@8.56.0): + /eslint-plugin-es@3.0.1(eslint@8.57.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: false - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0): - resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} - engines: {node: '>=12'} - peerDependencies: - eslint: ^7.2.0 || ^8 - dependencies: - debug: 4.3.4 - doctrine: 3.0.0 - eslint: /eslint-ts-patch@8.56.0-0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.56.0-0) - get-tsconfig: 4.7.2 - is-glob: 4.0.3 - minimatch: 3.1.2 - semver: 7.6.0 - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: false - - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -4085,16 +4004,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 7.1.1(eslint@8.56.0)(typescript@5.4.2) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.56.0 + eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -4110,63 +4029,63 @@ packages: - supports-color dev: false - /eslint-plugin-n@16.6.2(eslint@8.56.0): + /eslint-plugin-n@16.6.2(eslint@8.57.0): resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) builtins: 5.0.1 - eslint: 8.56.0 - eslint-plugin-es-x: 7.5.0(eslint@8.56.0) + eslint: 8.57.0 + eslint-plugin-es-x: 7.5.0(eslint@8.57.0) get-tsconfig: 4.7.2 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 is-builtin-module: 3.2.1 is-core-module: 2.13.1 minimatch: 3.1.2 resolve: 1.22.8 - semver: 7.5.4 + semver: 7.6.0 dev: false - /eslint-plugin-node@11.1.0(eslint@8.56.0): + /eslint-plugin-node@11.1.0(eslint@8.57.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.56.0 - eslint-plugin-es: 3.0.1(eslint@8.56.0) + eslint: 8.57.0 + eslint-plugin-es: 3.0.1(eslint@8.57.0) eslint-utils: 2.1.0 - ignore: 5.3.0 + ignore: 5.3.1 minimatch: 3.1.2 resolve: 1.22.8 semver: 6.3.1 dev: false - /eslint-plugin-promise@6.1.1(eslint@8.56.0): + /eslint-plugin-promise@6.1.1(eslint@8.57.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 dev: false - /eslint-plugin-unicorn@51.0.1(eslint@8.56.0): + /eslint-plugin-unicorn@51.0.1(eslint@8.57.0): resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} engines: {node: '>=16'} peerDependencies: eslint: '>=8.56.0' dependencies: '@babel/helper-validator-identifier': 7.22.20 - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint/eslintrc': 2.1.4 ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.34.0 - eslint: 8.56.0 + eslint: 8.57.0 esquery: 1.5.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 @@ -4175,77 +4094,8 @@ packages: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.5.4 - strip-indent: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: false - - /eslint-plugin-unimport@0.0.0(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2): - resolution: {integrity: sha512-SrUnJEr3VYGviQKQGK2aWlv8K1ADJ1aV7mQ08TVEtkV1KqjADoVKjwi+3xqvy42/vtuw3ilblgtSakpIT2fCfg==} - peerDependencies: - eslint: ^8.40.0 - dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - eslint: /eslint-ts-patch@8.56.0-0 - eslint-factory: 0.0.2(@types/eslint@8.56.5)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - pathe: 1.1.2 - unimport: 3.7.1(rollup@3.29.4) - transitivePeerDependencies: - - '@types/eslint' - - rollup - - supports-color - - typescript - dev: false - - /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.56.0-0): - resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': 6 - 7 - eslint: '8' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.56.0-0)(typescript@5.4.2) - eslint: /eslint-ts-patch@8.56.0-0 - eslint-rule-composer: 0.3.0 - dev: false - - /eslint-plugin-vue@9.22.0(eslint-ts-patch@8.56.0-0): - resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.56.0-0) - eslint: /eslint-ts-patch@8.56.0-0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.0.15 - semver: 7.6.0 - vue-eslint-parser: 9.4.2(eslint-ts-patch@8.56.0-0) - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - supports-color - dev: false - - /eslint-plugin-vue@9.22.0(eslint@8.56.0): - resolution: {integrity: sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - eslint: 8.56.0 - natural-compare: 1.4.0 - nth-check: 2.1.1 - postcss-selector-parser: 6.0.15 semver: 7.6.0 - vue-eslint-parser: 9.4.2(eslint@8.56.0) - xml-name-validator: 4.0.0 + strip-indent: 3.0.0 transitivePeerDependencies: - supports-color dev: false @@ -4268,11 +4118,6 @@ packages: - supports-color dev: false - /eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} - dev: false - /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4280,16 +4125,6 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-ts-patch@8.56.0-0: - resolution: {integrity: sha512-J9Efj9P1GBaC665MIeX6+kGje3vToaJ/Z3Ky5yI05Td+xiTCKHlG1cAd3IHgicf0bGYKV/Y/gWyp5/84MfsbOg==} - hasBin: true - dependencies: - debug: 4.3.4 - eslint: 8.57.0 - jiti: 1.21.0 - transitivePeerDependencies: - - supports-color - /eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -4306,53 +4141,6 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - 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.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: false - /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -4383,7 +4171,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -4403,8 +4191,8 @@ packages: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 /esquery@1.5.0: @@ -4791,9 +4579,10 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 + dev: false /globby@13.2.2: resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} @@ -5447,7 +5236,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.4.2 + mlly: 1.6.1 pkg-types: 1.0.3 /locate-path@5.0.0: @@ -6023,7 +5812,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /nuxt@3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.0.10): + /nuxt@3.10.3(@types/node@20.11.25)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vite@5.1.6): resolution: {integrity: sha512-NchGNiiz9g/ErJAb462W/lpX2NqcXYb9hugySKWvLXNdrjeAPiJ2/7mhgwUSiZA9MpjuQg3saiEajr1zlRIOCg==} engines: {node: ^14.18.0 || >=16.10.0} hasBin: true @@ -6037,12 +5826,12 @@ packages: optional: true dependencies: '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.0.10) + '@nuxt/devtools': 1.0.8(nuxt@3.10.3)(rollup@3.29.4)(vite@5.1.6) '@nuxt/kit': 3.10.3(rollup@3.29.4) '@nuxt/schema': 3.10.3(rollup@3.29.4) '@nuxt/telemetry': 2.5.3(rollup@3.29.4) '@nuxt/ui-templates': 1.3.1 - '@nuxt/vite-builder': 3.10.3(@types/node@20.11.25)(eslint-ts-patch@8.56.0-0)(rollup@3.29.4)(typescript@5.4.2)(vue@3.4.21) + '@nuxt/vite-builder': 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(rollup@3.29.4)(typescript@5.4.2)(vue@3.4.21) '@types/node': 20.11.25 '@unhead/dom': 1.8.13 '@unhead/ssr': 1.8.13 @@ -6132,6 +5921,116 @@ packages: - vue-tsc - xml2js + /nuxt@3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6): + resolution: {integrity: sha512-NchGNiiz9g/ErJAb462W/lpX2NqcXYb9hugySKWvLXNdrjeAPiJ2/7mhgwUSiZA9MpjuQg3saiEajr1zlRIOCg==} + engines: {node: ^14.18.0 || >=16.10.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': ^14.18.0 || >=16.10.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/devtools': 1.0.8(nuxt@3.10.3)(vite@5.1.6) + '@nuxt/kit': 3.10.3 + '@nuxt/schema': 3.10.3 + '@nuxt/telemetry': 2.5.3 + '@nuxt/ui-templates': 1.3.1 + '@nuxt/vite-builder': 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vue@3.4.21) + '@types/node': 20.11.25 + '@unhead/dom': 1.8.13 + '@unhead/ssr': 1.8.13 + '@unhead/vue': 1.8.13(vue@3.4.21) + '@vue/shared': 3.4.21 + acorn: 8.11.3 + c12: 1.10.0 + chokidar: 3.6.0 + cookie-es: 1.0.0 + defu: 6.1.4 + destr: 2.0.3 + devalue: 4.3.2 + esbuild: 0.20.1 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fs-extra: 11.2.0 + globby: 14.0.1 + h3: 1.11.1 + hookable: 5.5.3 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.0.0 + magic-string: 0.30.8 + mlly: 1.6.1 + nitropack: 2.9.3 + nuxi: 3.10.1 + nypm: 0.3.8 + ofetch: 1.3.3 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + radix3: 1.1.1 + scule: 1.3.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + ufo: 1.4.0 + ultrahtml: 1.5.3 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.9.0 + unimport: 3.7.1(rollup@4.12.1) + unplugin: 1.9.0 + unplugin-vue-router: 0.7.0(vue-router@4.3.0)(vue@3.4.21) + untyped: 1.4.2 + vue: 3.4.21(typescript@5.4.2) + vue-bundle-renderer: 2.0.0 + vue-devtools-stub: 0.1.0 + vue-router: 4.3.0(vue@3.4.21) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - bluebird + - bufferutil + - drizzle-orm + - encoding + - eslint + - idb-keyval + - less + - lightningcss + - meow + - optionator + - rollup + - sass + - stylelint + - stylus + - sugarss + - supports-color + - terser + - typescript + - uWebSockets.js + - utf-8-validate + - vite + - vls + - vti + - vue-tsc + - xml2js + dev: true + /nypm@0.3.8: resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} engines: {node: ^14.16.0 || >=16.10.0} @@ -6198,7 +6097,7 @@ packages: dependencies: destr: 2.0.3 node-fetch-native: 1.6.2 - ufo: 1.3.2 + ufo: 1.4.0 /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} @@ -7101,13 +7000,6 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - /semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} @@ -7249,6 +7141,7 @@ packages: /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + dev: false /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} @@ -7576,6 +7469,7 @@ packages: typescript: '>=4.2.0' dependencies: typescript: 5.4.2 + dev: false /tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -7774,13 +7668,13 @@ packages: resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - acorn: 8.11.2 + acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.8 - mlly: 1.4.2 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 @@ -7793,13 +7687,13 @@ packages: resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.12.1) - acorn: 8.11.2 + acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.8 - mlly: 1.4.2 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 @@ -7850,6 +7744,33 @@ packages: - rollup - vue + /unplugin-vue-router@0.7.0(vue-router@4.3.0)(vue@3.4.21): + resolution: {integrity: sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==} + peerDependencies: + vue-router: ^4.1.0 + peerDependenciesMeta: + vue-router: + optional: true + dependencies: + '@babel/types': 7.23.6 + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + '@vue-macros/common': 1.10.1(vue@3.4.21) + ast-walker-scope: 0.5.0 + chokidar: 3.6.0 + fast-glob: 3.3.2 + json5: 2.2.3 + local-pkg: 0.4.3 + mlly: 1.6.1 + pathe: 1.1.2 + scule: 1.3.0 + unplugin: 1.9.0 + vue-router: 4.3.0(vue@3.4.21) + yaml: 2.4.1 + transitivePeerDependencies: + - rollup + - vue + dev: true + /unplugin@1.9.0: resolution: {integrity: sha512-14PslvMY3gNbXnQtNIRB566Q057L5Fe7f5LDEamxVi0QQVxoz5hrveBwwZLcKyHtZ09ysmipxRRj5Lv+BGz2Iw==} engines: {node: '>=14.0.0'} @@ -8012,7 +7933,7 @@ packages: - supports-color - terser - /vite-plugin-checker@0.6.4(eslint-ts-patch@8.56.0-0)(typescript@5.4.2)(vite@5.1.6): + /vite-plugin-checker@0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.6): resolution: {integrity: sha512-2zKHH5oxr+ye43nReRbC2fny1nyARwhxdm0uNYp/ERy4YvU9iZpNOsueoi/luXw5gnpqRSvjcEPxXbS153O2wA==} engines: {node: '>=14.16'} peerDependencies: @@ -8048,7 +7969,7 @@ packages: chalk: 4.1.2 chokidar: 3.6.0 commander: 8.3.0 - eslint: /eslint-ts-patch@8.56.0-0 + eslint: 8.57.0 fast-glob: 3.3.2 fs-extra: 11.2.0 npm-run-path: 4.0.1 @@ -8062,7 +7983,7 @@ packages: vscode-languageserver-textdocument: 1.0.11 vscode-uri: 3.0.8 - /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.3)(rollup@3.29.4)(vite@5.0.10): + /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.3)(rollup@3.29.4)(vite@5.1.6): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -8082,12 +8003,38 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.0.10(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.25) + transitivePeerDependencies: + - rollup + - supports-color + + /vite-plugin-inspect@0.8.3(@nuxt/kit@3.10.3)(vite@5.1.6): + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.7 + '@nuxt/kit': 3.10.3 + '@rollup/pluginutils': 5.1.0(rollup@4.12.1) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.2.0 + open: 10.1.0 + perfect-debounce: 1.0.0 + picocolors: 1.0.0 + sirv: 2.0.4 + vite: 5.1.6(@types/node@20.11.25) transitivePeerDependencies: - rollup - supports-color + dev: true - /vite-plugin-vue-inspector@4.0.2(vite@5.0.10): + /vite-plugin-vue-inspector@4.0.2(vite@5.1.6): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 @@ -8101,7 +8048,7 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.8 - vite: 5.0.10(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.25) transitivePeerDependencies: - supports-color @@ -8175,10 +8122,10 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitest-environment-nuxt@1.0.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): + /vitest-environment-nuxt@1.0.0(h3@1.11.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21): resolution: {integrity: sha512-AWMO9h4HdbaFdPWZw34gALFI8gbBiOpvfbyeZwHIPfh4kWg/TwElYHvYMQ61WPUlCGaS5LebfHkaI0WPyb//Iw==} dependencies: - '@nuxt/test-utils': 3.11.0(h3@1.11.1)(rollup@3.29.4)(vite@5.0.10)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) + '@nuxt/test-utils': 3.11.0(h3@1.11.1)(vite@5.1.6)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -8294,42 +8241,6 @@ packages: /vue-devtools-stub@0.1.0: resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} - /vue-eslint-parser@9.4.2(eslint-ts-patch@8.56.0-0): - resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - dependencies: - debug: 4.3.4 - eslint: /eslint-ts-patch@8.56.0-0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - lodash: 4.17.21 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - dev: false - - /vue-eslint-parser@9.4.2(eslint@8.56.0): - resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - dependencies: - debug: 4.3.4 - eslint: 8.56.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - lodash: 4.17.21 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - dev: false - /vue-eslint-parser@9.4.2(eslint@8.57.0): resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} engines: {node: ^14.17.0 || >=16.0.0} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9c9be4ba..0e90cf81 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,3 @@ packages: - - "packages/**" + - packages/* + - playground diff --git a/tsconfig.json b/tsconfig.json index 92f8df7d..55806466 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,19 @@ "compilerOptions": { "target": "ESNext", "module": "ESNext", - "moduleResolution": "Bundler" + "moduleResolution": "Bundler", + "strict": true, + "allowJs": true, + "paths": { + "@nuxt/eslint-plugin": [ + "./packages/eslint-plugin/src/index.ts" + ], + "@nuxt/eslint-config": [ + "./packages/eslint-config/src/legacy.ts" + ], + "@nuxt/eslint-config/flat": [ + "./packages/eslint-config/src/flat.ts" + ], + } } } From 123cf77b522d956d154b3c21f0ed3e1bf5b65a8e Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 15 Mar 2024 16:24:42 +0100 Subject: [PATCH 05/22] refactor: update deps and separate modules --- .github/workflows/ci.yml | 1 + .vscode/settings.json | 3 + eslint.config.js | 12 +- package.json | 9 +- .../CHANGELOG.md | 0 .../nuxt2-eslint-config-typescript}/README.md | 0 .../nuxt2-eslint-config-typescript}/index.js | 0 .../package.json | 2 +- .../nuxt2-eslint-config}/CHANGELOG.md | 0 .../nuxt2-eslint-config}/README.md | 0 .../nuxt2-eslint-config}/index.js | 0 .../nuxt2-eslint-config}/package.json | 2 +- .../nuxt2-eslint-config}/test/basic.test.js | 0 .../test/validate-config.test.js | 0 packages/eslint-config/package.json | 2 +- .../eslint-config/src/flat/configs/base.ts | 16 + .../src/flat/configs/disables.ts | 45 +-- .../src/flat/configs/javascript.ts | 12 + .../eslint-config/src/flat/configs/nuxt.ts | 27 +- .../src/flat/configs/typescript.ts | 37 ++ .../src/flat/configs/{setup.ts => vue.ts} | 68 ++-- packages/eslint-config/src/flat/index.ts | 15 +- .../test/{basic.test.ts => legacy.test.ts} | 2 +- packages/eslint-plugin/src/index.ts | 2 +- packages/module/package.json | 2 +- playground/app.vue | 2 +- pnpm-lock.yaml | 361 ++++++++---------- pnpm-workspace.yaml | 1 + 28 files changed, 328 insertions(+), 293 deletions(-) create mode 100644 .vscode/settings.json rename {packages/nuxt2-legacy-eslint-config-typescript => packages-legacy/nuxt2-eslint-config-typescript}/CHANGELOG.md (100%) rename {packages/nuxt2-legacy-eslint-config-typescript => packages-legacy/nuxt2-eslint-config-typescript}/README.md (100%) rename {packages/nuxt2-legacy-eslint-config-typescript => packages-legacy/nuxt2-eslint-config-typescript}/index.js (100%) rename {packages/nuxt2-legacy-eslint-config-typescript => packages-legacy/nuxt2-eslint-config-typescript}/package.json (94%) rename {packages/nuxt2-legacy-eslint-config => packages-legacy/nuxt2-eslint-config}/CHANGELOG.md (100%) rename {packages/nuxt2-legacy-eslint-config => packages-legacy/nuxt2-eslint-config}/README.md (100%) rename {packages/nuxt2-legacy-eslint-config => packages-legacy/nuxt2-eslint-config}/index.js (100%) rename {packages/nuxt2-legacy-eslint-config => packages-legacy/nuxt2-eslint-config}/package.json (93%) rename {packages/nuxt2-legacy-eslint-config => packages-legacy/nuxt2-eslint-config}/test/basic.test.js (100%) rename {packages/nuxt2-legacy-eslint-config => packages-legacy/nuxt2-eslint-config}/test/validate-config.test.js (100%) create mode 100644 packages/eslint-config/src/flat/configs/base.ts create mode 100644 packages/eslint-config/src/flat/configs/javascript.ts create mode 100644 packages/eslint-config/src/flat/configs/typescript.ts rename packages/eslint-config/src/flat/configs/{setup.ts => vue.ts} (62%) rename packages/eslint-config/test/{basic.test.ts => legacy.test.ts} (87%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1899de9..a9378589 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,6 +18,7 @@ jobs: with: node-version: 16 - run: pnpm install + - run: pnpm build - run: pnpm lint - run: pnpm vitest run - uses: codecov/codecov-action@v3 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..eb8204b6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "eslint.experimental.useFlatConfig": true +} diff --git a/eslint.config.js b/eslint.config.js index 2d24a3d7..251711db 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -2,5 +2,15 @@ import { createNuxtESLintFlatConfig } from '@nuxt/eslint-config/flat' export default [ - ...createNuxtESLintFlatConfig() + { + ignores: [ + 'packages-legacy/**', + ] + }, + ...createNuxtESLintFlatConfig({ + dirs: { + src: 'playground', + pages: ['playground/pages'] + } + }) ] diff --git a/package.json b/package.json index 92e5ff8c..d18536e5 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,6 @@ { "private": true, + "type": "module", "packageManager": "pnpm@8.15.4", "version": "0.3.0-alpha.0", "scripts": { @@ -8,19 +9,19 @@ "release": "pnpm test && pnpm publish -r", "test": "vitest run", "play": "pnpm -C playground run play:dev", - "lint": "eslint . --config=packages/eslint-config/index.js", + "lint": "eslint .", "lint:play": "pnpm -C playground run lint", "typecheck": "tsc --noEmit" }, "devDependencies": { - "@nuxt/test-utils": "^3.11.0", "@nuxt/eslint-config": "workspace:*", "@nuxt/eslint-plugin": "workspace:*", + "@nuxt/test-utils": "^3.11.0", "@types/eslint": "^8.56.5", - "@types/node": "^20.11.25", + "@types/node": "^20.11.28", "eslint": "^8.57.0", "typescript": "^5.4.2", - "vitest": "^1.3.1", + "vitest": "^1.4.0", "vue": "^3.4.21" } } diff --git a/packages/nuxt2-legacy-eslint-config-typescript/CHANGELOG.md b/packages-legacy/nuxt2-eslint-config-typescript/CHANGELOG.md similarity index 100% rename from packages/nuxt2-legacy-eslint-config-typescript/CHANGELOG.md rename to packages-legacy/nuxt2-eslint-config-typescript/CHANGELOG.md diff --git a/packages/nuxt2-legacy-eslint-config-typescript/README.md b/packages-legacy/nuxt2-eslint-config-typescript/README.md similarity index 100% rename from packages/nuxt2-legacy-eslint-config-typescript/README.md rename to packages-legacy/nuxt2-eslint-config-typescript/README.md diff --git a/packages/nuxt2-legacy-eslint-config-typescript/index.js b/packages-legacy/nuxt2-eslint-config-typescript/index.js similarity index 100% rename from packages/nuxt2-legacy-eslint-config-typescript/index.js rename to packages-legacy/nuxt2-eslint-config-typescript/index.js diff --git a/packages/nuxt2-legacy-eslint-config-typescript/package.json b/packages-legacy/nuxt2-eslint-config-typescript/package.json similarity index 94% rename from packages/nuxt2-legacy-eslint-config-typescript/package.json rename to packages-legacy/nuxt2-eslint-config-typescript/package.json index ca071bb8..203d5f26 100644 --- a/packages/nuxt2-legacy-eslint-config-typescript/package.json +++ b/packages-legacy/nuxt2-eslint-config-typescript/package.json @@ -13,7 +13,7 @@ "@typescript-eslint/parser": "^7.2.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-vue": "^9.22.0" + "eslint-plugin-vue": "^9.23.0" }, "peerDependencies": { "eslint": "^8.56.0" diff --git a/packages/nuxt2-legacy-eslint-config/CHANGELOG.md b/packages-legacy/nuxt2-eslint-config/CHANGELOG.md similarity index 100% rename from packages/nuxt2-legacy-eslint-config/CHANGELOG.md rename to packages-legacy/nuxt2-eslint-config/CHANGELOG.md diff --git a/packages/nuxt2-legacy-eslint-config/README.md b/packages-legacy/nuxt2-eslint-config/README.md similarity index 100% rename from packages/nuxt2-legacy-eslint-config/README.md rename to packages-legacy/nuxt2-eslint-config/README.md diff --git a/packages/nuxt2-legacy-eslint-config/index.js b/packages-legacy/nuxt2-eslint-config/index.js similarity index 100% rename from packages/nuxt2-legacy-eslint-config/index.js rename to packages-legacy/nuxt2-eslint-config/index.js diff --git a/packages/nuxt2-legacy-eslint-config/package.json b/packages-legacy/nuxt2-eslint-config/package.json similarity index 93% rename from packages/nuxt2-legacy-eslint-config/package.json rename to packages-legacy/nuxt2-eslint-config/package.json index e46ef0ab..836fc239 100644 --- a/packages/nuxt2-legacy-eslint-config/package.json +++ b/packages-legacy/nuxt2-eslint-config/package.json @@ -14,7 +14,7 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-unicorn": "^51.0.1", - "eslint-plugin-vue": "^9.22.0", + "eslint-plugin-vue": "^9.23.0", "local-pkg": "^0.5.0" }, "peerDependencies": { diff --git a/packages/nuxt2-legacy-eslint-config/test/basic.test.js b/packages-legacy/nuxt2-eslint-config/test/basic.test.js similarity index 100% rename from packages/nuxt2-legacy-eslint-config/test/basic.test.js rename to packages-legacy/nuxt2-eslint-config/test/basic.test.js diff --git a/packages/nuxt2-legacy-eslint-config/test/validate-config.test.js b/packages-legacy/nuxt2-eslint-config/test/validate-config.test.js similarity index 100% rename from packages/nuxt2-legacy-eslint-config/test/validate-config.test.js rename to packages-legacy/nuxt2-eslint-config/test/validate-config.test.js diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 74bb274c..7ab57e95 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -32,7 +32,7 @@ "@rushstack/eslint-patch": "^1.7.2", "@typescript-eslint/eslint-plugin": "^7.2.0", "@typescript-eslint/parser": "^7.2.0", - "eslint-plugin-vue": "^9.22.0", + "eslint-plugin-vue": "^9.23.0", "pathe": "^1.1.2", "vue-eslint-parser": "^9.4.2" }, diff --git a/packages/eslint-config/src/flat/configs/base.ts b/packages/eslint-config/src/flat/configs/base.ts new file mode 100644 index 00000000..716921f2 --- /dev/null +++ b/packages/eslint-config/src/flat/configs/base.ts @@ -0,0 +1,16 @@ +import { FlatConfig } from '../types' + +export default function base(): FlatConfig[] { + return [ + { + ignores: [ + '**/dist', + '**/node_modules', + '**/.nuxt', + '**/.output', + '**/.vercel', + '**/.netlify', + ], + }, + ] +} diff --git a/packages/eslint-config/src/flat/configs/disables.ts b/packages/eslint-config/src/flat/configs/disables.ts index dd60b0bc..f4ce8e2c 100644 --- a/packages/eslint-config/src/flat/configs/disables.ts +++ b/packages/eslint-config/src/flat/configs/disables.ts @@ -6,34 +6,29 @@ export default function disables(options: NuxtESLintConfigOptions): FlatConfig[] const dirs = options.dirs ?? {} const nestedGlobPattern = `**/*.${GLOB_EXTS}` - return [ - { - name: 'nuxt:vue-routes-disables', - files: [ - relative(dirs.src || '', `app.${GLOB_EXTS}`), - relative(dirs.src || '', `error.${GLOB_EXTS}`), + const fileRoutes = [ + relative(dirs.src || '', `app.${GLOB_EXTS}`), + relative(dirs.src || '', `error.${GLOB_EXTS}`), + + // Layouts and pages are not used directly by users so they can have one-word names. + ...(dirs.layouts?.map(layoutsDir => join(layoutsDir, nestedGlobPattern)) || []), + ...(dirs.pages?.map(pagesDir => join(pagesDir, nestedGlobPattern)) || []), - // Layouts and pages are not used directly by users so they can have one-word names. - ...(dirs.layouts?.map(layoutsDir => join(layoutsDir, nestedGlobPattern)) || []), - ...(dirs.pages?.map(pagesDir => join(pagesDir, nestedGlobPattern)) || []), + // These files should have multiple words in their names as they are within subdirectories. + ...(dirs.components?.map(componentsDir => join(componentsDir, nestedGlobPattern)) || []), + ] - // These files should have multiple words in their names as they are within subdirectories. - ...(dirs.components?.map(componentsDir => join(componentsDir, nestedGlobPattern)) || []), - ], + const configs: FlatConfig[] = [] + + if (fileRoutes.length) { + configs.push({ + name: 'nuxt:vue-routes-disables', + files: fileRoutes, rules: { 'vue/multi-word-component-names': 'off', }, - }, - // Layouts and pages are required to have a single root element if transitions are enabled. - { - name: 'nuxt:vue-single-root', - files: [ - ...(dirs.layouts?.map(layoutsDir => join(layoutsDir, nestedGlobPattern)) || []), - ...(dirs.pages?.map(pagesDir => join(pagesDir, nestedGlobPattern)) || []), - ], - rules: { - 'vue/no-multiple-template-root': 'error', - }, - }, - ] + }) + } + + return configs } diff --git a/packages/eslint-config/src/flat/configs/javascript.ts b/packages/eslint-config/src/flat/configs/javascript.ts new file mode 100644 index 00000000..591a5bdd --- /dev/null +++ b/packages/eslint-config/src/flat/configs/javascript.ts @@ -0,0 +1,12 @@ +// @ts-expect-error missing types +import pluginESLint from '@eslint/js' +import type { Linter } from 'eslint' + +export default function javascript(): Linter.FlatConfig[] { + return [ + { + name: 'eslint:recommended', + ...pluginESLint.configs.recommended, + }, + ] +} diff --git a/packages/eslint-config/src/flat/configs/nuxt.ts b/packages/eslint-config/src/flat/configs/nuxt.ts index 8d2c2003..a452feac 100644 --- a/packages/eslint-config/src/flat/configs/nuxt.ts +++ b/packages/eslint-config/src/flat/configs/nuxt.ts @@ -1,8 +1,17 @@ -import type { FlatConfig } from '../types' +import { join } from 'pathe' +import type { FlatConfig, NuxtESLintConfigOptions } from '../types' import nuxtPlugin from '@nuxt/eslint-plugin' +import { GLOB_EXTS } from '../constants' -export default function nuxt(): FlatConfig[] { - return [ +export default function nuxt(options: NuxtESLintConfigOptions): FlatConfig[] { + const dirs = options.dirs ?? {} + + const fileSingleRoot = [ + ...(dirs.layouts?.map(layoutsDir => join(layoutsDir, `**/*.${GLOB_EXTS}`)) || []), + ...(dirs.pages?.map(pagesDir => join(pagesDir, `**/*.${GLOB_EXTS}`)) || []), + ] + + const configs: FlatConfig[] = [ { name: 'nuxt:rules', plugins: { @@ -13,4 +22,16 @@ export default function nuxt(): FlatConfig[] { }, }, ] + + if (fileSingleRoot.length) + configs.push({ + name: 'nuxt:vue-single-root', + files: fileSingleRoot, + rules: { + 'vue/no-multiple-template-root': 'error', + } + }) + + + return configs } diff --git a/packages/eslint-config/src/flat/configs/typescript.ts b/packages/eslint-config/src/flat/configs/typescript.ts new file mode 100644 index 00000000..824d9cbd --- /dev/null +++ b/packages/eslint-config/src/flat/configs/typescript.ts @@ -0,0 +1,37 @@ +import * as parserTs from '@typescript-eslint/parser' +import pluginTs from '@typescript-eslint/eslint-plugin' +import { FlatConfig } from '../types' + +export default function typescript(): FlatConfig[] { + return [ + { + name: 'nuxt:setup:typescript', + plugins: { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + '@typescript-eslint': pluginTs as any, + }, + }, + { + name: 'nuxt:typescript', + files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'], + languageOptions: { + parser: parserTs, + }, + rules: { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + ...pluginTs.configs['eslint-recommended'].overrides![0].rules as any, + ...pluginTs.configs.recommended.rules, + }, + }, + { + name: 'nuxt:typescript-disables', + files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts', '**/*.vue'], + rules: { + // The core 'no-unused-vars' rules (in the eslint:recommended ruleset) + // does not work with type definitions. + 'no-unused-vars': 'off', + '@typescript-eslint/no-unused-vars': 'warn', + }, + }, + ] +} diff --git a/packages/eslint-config/src/flat/configs/setup.ts b/packages/eslint-config/src/flat/configs/vue.ts similarity index 62% rename from packages/eslint-config/src/flat/configs/setup.ts rename to packages/eslint-config/src/flat/configs/vue.ts index e4475866..5c572be3 100644 --- a/packages/eslint-config/src/flat/configs/setup.ts +++ b/packages/eslint-config/src/flat/configs/vue.ts @@ -1,33 +1,19 @@ -import * as parserTs from '@typescript-eslint/parser' import * as parserVue from 'vue-eslint-parser' -import pluginTs from '@typescript-eslint/eslint-plugin' // @ts-expect-error missing types import pluginVue from 'eslint-plugin-vue' -// @ts-expect-error missing types -import pluginESLint from '@eslint/js' -import type { Linter } from 'eslint' +import { FlatConfig } from '../types' -export default function setup(): Linter.FlatConfig[] { +export default function vue(): FlatConfig[] { return [ { - ignores: [ - '**/dist', - '**/node_modules', - '**/.nuxt', - '**/.output', - '**/.vercel', - '**/.netlify', - ], - }, - { - name: 'nuxt:plugins-setup', + name: 'nuxt:setup-vue', plugins: { - '@typescript-eslint': pluginTs as any, + // eslint-disable-next-line @typescript-eslint/no-explicit-any 'vue': pluginVue as any, }, }, { - name: 'nuxt:language-options', + name: 'nuxt:vue-language-options', languageOptions: { parserOptions: { ecmaVersion: 'latest', @@ -36,21 +22,24 @@ export default function setup(): Linter.FlatConfig[] { jsx: true, }, }, - }, - }, - { - name: 'eslint:recommended', - ...pluginESLint.configs.recommended, - }, - { - name: 'nuxt:typescript', - files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'], - languageOptions: { - parser: parserTs, - }, - rules: { - ...pluginTs.configs['eslint-recommended'].overrides![0].rules, - ...pluginTs.configs.recommended.rules, + // This allows Vue plugin to work with auto imports + // https://github.com/vuejs/eslint-plugin-vue/pull/2422 + globals: { + computed: 'readonly', + defineEmits: 'readonly', + defineExpose: 'readonly', + defineProps: 'readonly', + onMounted: 'readonly', + onUnmounted: 'readonly', + reactive: 'readonly', + ref: 'readonly', + shallowReactive: 'readonly', + shallowRef: 'readonly', + toRef: 'readonly', + toRefs: 'readonly', + watch: 'readonly', + watchEffect: 'readonly', + }, }, }, { @@ -61,6 +50,7 @@ export default function setup(): Linter.FlatConfig[] { languageOptions: { parser: parserVue, }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any processor: pluginVue.processors['.vue'] as any, rules: { ...pluginVue.configs.base.rules, @@ -93,15 +83,5 @@ export default function setup(): Linter.FlatConfig[] { 'valid-typeof': 'off', // ts(2367) }, }, - { - name: 'nuxt:typescript-disables', - files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts', '**/*.vue'], - rules: { - // The core 'no-unused-vars' rules (in the eslint:recommended ruleset) - // does not work with type definitions. - 'no-unused-vars': 'off', - '@typescript-eslint/no-unused-vars': 'warn', - }, - }, ] } diff --git a/packages/eslint-config/src/flat/index.ts b/packages/eslint-config/src/flat/index.ts index 1f14b9c6..7242a0fc 100644 --- a/packages/eslint-config/src/flat/index.ts +++ b/packages/eslint-config/src/flat/index.ts @@ -1,17 +1,24 @@ import type { FlatConfig, NuxtESLintConfigOptions } from './types' -import setup from './configs/setup' import disables from './configs/disables' import nuxt from './configs/nuxt' +import base from './configs/base' +import javascript from './configs/javascript' +import typescript from './configs/typescript' +import vue from './configs/vue' export * from './types' export function createNuxtESLintFlatConfig(options: NuxtESLintConfigOptions = {}): FlatConfig[] { const items: FlatConfig[] = [] - if (options.features?.standalone !== false) - items.push(...setup()) + if (options.features?.standalone !== false) { + items.push(...base()) + items.push(...javascript()) + items.push(...typescript()) + items.push(...vue()) + } - items.push(...nuxt()) + items.push(...nuxt(options)) items.push(...disables(options)) return items diff --git a/packages/eslint-config/test/basic.test.ts b/packages/eslint-config/test/legacy.test.ts similarity index 87% rename from packages/eslint-config/test/basic.test.ts rename to packages/eslint-config/test/legacy.test.ts index 392c1c70..6aaf07c4 100644 --- a/packages/eslint-config/test/basic.test.ts +++ b/packages/eslint-config/test/legacy.test.ts @@ -6,7 +6,7 @@ describe('eslint-config', () => { it('loads config in eslint to validate all rule syntax is correct', async () => { const cli = new ESLint({ useEslintrc: false, - overrideConfigFile: fileURLToPath(new URL('../dist/index.js', import.meta.url)), + overrideConfigFile: fileURLToPath(new URL('../dist/legacy.cjs', import.meta.url)), }) const code = 'const foo = 1\nconst bar = function () {}\nbar(foo)\n' diff --git a/packages/eslint-plugin/src/index.ts b/packages/eslint-plugin/src/index.ts index b8d9a0c8..ac2d77b7 100644 --- a/packages/eslint-plugin/src/index.ts +++ b/packages/eslint-plugin/src/index.ts @@ -3,7 +3,7 @@ import rules from './rules' export default { meta: { - name: 'nuxt-module-eslint-config/plugin', + name: '@nuxt/eslint-plugin', }, rules, } satisfies ESLint.Plugin diff --git a/packages/module/package.json b/packages/module/package.json index cefb8209..8f23de89 100644 --- a/packages/module/package.json +++ b/packages/module/package.json @@ -35,11 +35,11 @@ }, "dependencies": { "@nuxt/devtools-kit": "^1.0.8", + "@nuxt/eslint-config": "workspace:*", "@nuxt/eslint-plugin": "workspace:*", "@nuxt/kit": "^3.10.3", "eslint-flat-config-viewer": "^0.1.11", "get-port-please": "^3.1.2", - "@nuxt/eslint-config": "workspace:*", "pathe": "^1.1.2", "unimport": "^3.7.1" }, diff --git a/playground/app.vue b/playground/app.vue index 50d6bcf5..de8d883c 100644 --- a/playground/app.vue +++ b/playground/app.vue @@ -1,7 +1,7 @@