From 35cfa852695ebea57453c5eb34a9ba22f1414699 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Wed, 3 May 2023 00:28:27 +0200 Subject: [PATCH] Ignore `export type *` (fixes #12) --- CHANGELOG.md | 8 +- bun.lockb | Bin 51496 -> 48200 bytes package.json | 2 +- src/only-export-components.test.ts | 8 +- src/only-export-components.ts | 1 + yarn.lock | 216 ++++++++--------------------- 6 files changed, 70 insertions(+), 165 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfdc0b1..a9201e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,16 @@ # Changelog +## Unreleased + +- Ignore `export type *` (fixes #12) + ## 0.4.0 ### Add `allowConstantExport` option (fixes #8) -This option allow tp don't warn when a constant (string, number, boolean, templateLiteral) is exported aside one or more components. +This option allow to don't warn when a constant (string, number, boolean, templateLiteral) is exported aside one or more components. -This should be enabled if the fast refresh implementation correctly handles this case (HMR when the constant doesn't change, propagate update to importers when the constant changes.). Vite supports it, PR welcome if you notice other integrations works well. +This should be enabled if the fast refresh implementation correctly handles this case (HMR when the constant doesn't change, propagate update to importers when the constant changes). Vite supports it, PR welcome if you notice other integrations works well. ### Allow all-uppercase function exports (fixes #11) diff --git a/bun.lockb b/bun.lockb index 9788ed2b839c8aa681ac5f57863bd1a182717f9d..6019c0ecad121bd7541246ba89d8f49e48c29988 100755 GIT binary patch delta 13867 zcmeHOd3;pW^?z?NA^S=~X0i~1sBGCLWPyaWY}wcf1oZbe_^H$d{Q)ZczUR%mGZTvX(MI}D?`OX6ynF7s=bm%! z^6tF3vty~t>6@Cmm`)4+FTPKQs~IaUb^NGk>)oJE+YE7Ue>38Z)Gt>i`h4+l?C?WJ zBqgn1k`rkunrX|}u3?g7t--A)XnCcvs>)=nG@46HldB}@TaAr>4YW1N-&gbJTx|S{ zYW_>){ZU?GoHCiUUQ^32sq_k{2g)ZJjpfnZOlIj1sOSeqBPbX2)Y|f6LD`TjP+!pf zDE9_kNS)+J%S_~$YcfX{mXzg5V_j|1X7IhhFI1%~z~@>ML481<0_9drg_FxFjgmAP zasez4CAlSLDXo>QJX6(EV46HJy1HCi06y!r+Gwh^Ji4STKeq}_l$c6QRZ^gvO&}E& z+5ZUS+5AdVX=QGKBq>%R9&fslM)OGStEzZGNp4k@aiY`})i?@9b9I#ob{NeS)yB#i z>4v*ajnRw_fxUXjarg~zg8j(NFRSD@`+(1WwndxFzeV#jk(TSS&8VqGru-sEnasv% zP$FG~6t@-!mpCfrxm88clZ-X_MY$!DP<{Y>j&4z|IT{ugZbu#;>vS~1@@GKVx!mF@ zkd~zCN>g;PS(3`DC)ebcO*D>yP!L3{y>Jr>!OIly5@Jb!PBwlXC>y&Bl+CCC<(Qp- zxottWg7R1tLn0kQ;mEH6pPO9(%JP+3U4w1mX${KqVz5j!RVt$~ zT;)eYp2PMJv>ypti;>256@j(`{U1;cXF4cEEY{vIoE_>0$`v04Wr4*ZHj1Dqfis%( zs!b&mrJE2&MeB#49M~pMv}rxA@^`EGm1_AMm0zjy$APwi{9q+NPO`@125nix)B<-< zR(u0yv*N#ka)Ym{`9q+rU@Iug)q%o!>kPHLKrJ7kYdGv0<3cGOMYO}i>R#}6?*pTv zQ$D1Qo>%(9DJ7l1hoV>At>CRy`AoDsvtNqeJNPf}(BMkVWmk8|NY7EaSBkrud57jX zGLdw~E5$=CY2`wm-pPJyt{>K+A+VH&dB+Q09e8QXtMiWcSLH<8uC&BEPRmSk^+~hc z3=lW6e`{Ll)5*r26`1O(m`1L?LQveC^c7|Ee3Pl%OY13|aM6;dU$Uy#Ppx+{Scsnz zELZ=udrgzsG~s2Xmgf5>3y~dIJX7G2hD8MP3YbY?YN^S`UayTSWdzvk39q#@JiuO0 zFf}w>gu>y^fWS1-1riPSiiLCT0m3;^Q?bAB7w0f2pnY?LmSY+3rGy|L*sk{iGzBOBOC_IXUI>HL zEpThEXajfVT$nZg$(YC`g_ zs-(=FXB#dU8=_QHK^Hk%48${p2LXcUV^^L5CPzRfrwG)#(|nye2v6zmr!~MHtz+(# zq5qe-yVCGLyT~1PI_nTg#Zt*L4vq`U2ZW}HZrtNR^F!_GEU`px z&*lJMj)KdmABd-Y0-J&c{m^S&?z2o_^r}l?RN6f)C~+2(ZGc!< zUEAA7>lWxAWpmZBEZ*{^`R(m%hS87CwpYhF7HKgCH-PPBkH-bXn*5ujA9)z2aNQ8tJ zE%CSe+ZS5_1DGy6=fqfqV@kpZa|FR0L>Zm!%7h5UaC`e;ItgVx6dO9*r-cw~wnhr3 zoAa|wFqOyiy{2FS{i}Vh&QncPcX8JFFm^C(kuudpk0_F)j_+VGr=Ni6NQm0I)n3wo zl4c!lFS&)1(av@3i`39IbT-;PNEfsr&lvjvYQi>)2cEqpdo6tkWyIKPjR>LnG4_bB z!DcQMwUkGQ=;2EtBU3?(_!j^JQ=Dao1g zf{BGwNldYak-FQm3f15~6<|56^-B5y>Zu6!gqVgJ6GP}+qC3zoitF_OSWRDmlQY$j zPg0~TQAARRh06v2EQ`@Du?ZNZN@B|Vbd_ePG!v8)Q!dW}xE}TfN`5FPyEY2o#FXVQ zXO!ebElR~PYQYatR`8fA#}qq#X`Gs8%H@x%d8Ta869Drk0GuWOoX=Hh9)CyUln1y_ z&*Tsb7Z)-M$(gb`6Ts!g04JuLpQO?fP) z!95pDWhT=7D92$sz;aIloSZ54VbZe-*G9R)IclCMmp=z^{W@-+ZBfaP}roS1SuyHvVcrF**KhSMH^1@@}69+Z8j5Rfu~VMf(qEwNWCd zEH-GlH@A+|o6aP9{deK{@4{mn4*y+v9@xV3gc9*zZsBQ|-rJ>ZpA(^1E3y}ORKIh3 z)U1QA6h--edt=Pe?&sx{q~mqzUp(3I%@4N?`RMaSM;Dj)Khwu|^WC|>Px`9wTM+|q zT|O1__uAsA4ULc2X{pheNh|YwvX*q2{qdb|ve$m0yE!m*!Lsci-54CId!^m`w?`e+ z?I`VhwkA8+%#u{+lc=2XKvb_wz|5`w{S)OO`ke7SV|Q| zIW)%TLl=uOD>iVA(G=cG)zn&wT)AzhIV zeTv*v>RysVr;%G%k}22FHRPt5d?>p#Q+|?GmF7^#VjudhG&B1t+l*4KTK|la)H4VB zYj<~)Pk-HG?9q3>OBxU(Y7-dnt7r2bOW zqSA5oW#_KfCM^ywse5h4-Gzbg^_+uGICUO#R?jpyz3eS;cbnVXUGPyNng zpUwO3g#%}OgXpPAI(ob;Q=UaT%W^2C#3$?U-mYD`_9$MI7xa(ELWd6c?47H3-`F^# z?fBOpALlY;Y5le<9lWa2LtSSdH$A@TpG%L9+`4>6Y}ky>V`IbLP77UsJi^J=XGkv3 zp{pf6WGv5=XVZSyo#3K zx|*)xx`z5r%aPa8DqPpm=hKE+B9(2pl|vc;1OnQ5Uc9MMwvsDxxA86(7x2Und#|Ak zZ#b;X6F>3=Vrt-xjaB-IJPZFq_;V|_KwZnvvbqHtR@=4w{19^Zi_OtBxuqr2L~Q%< z@=6K+PvTkroysjx*YdNhZh?l?b}j#Y2>&f(EI-_L+{fZ~;5^gh82+i0r&x>eEG@0@ zC+f4bm?z)UFh@}Q)V&$sIq^|uiORD`_hCLjp2fC|{vBVk@UdRU#b34Xf$;cM(to63 zwOz{t_qe&k7G*FzkWe>oSZx;@n*U_@uXF!@-+<$(BMw5mg3W<=zPBXL!mC+JD*TE1 zEXpyDU&^~5HwOLxON8~u8&=!3{Aa^I#loj-MEH5YRZYezAUxz0isv2k#Gw^Go$YW7 zd)Godi*j0~1r`28eaimNb|mK)@b1TrvEVGwgKT);O!O^M8U{WmDxWjhvI;l+nv~!0 zauRudm5P0ulK9Op%kXRG5cPhIO0oInvtml(H^MB(-(bYs@FMVAfL~wN0t zuX~RGM}bD*7&X?0Sx({Z55TLyY2XZS7T~W_=YT%~uLExY`+?;EMVNRRg^HDhG-I6Hox~G|mFDfx-NS|5v!_3G@Q?0^0!osbLZ@ z1V{(A13Q4Bz%XDq@M~ZskOAxja)4dHZh*%^4KNe@CvV{j1hiw*M1$dCo1WEw*j6=*a9A@^i55UH=%u@h6$XyW% zu&n4F8TT`Q=>T_I6u@1`5gP}L2H?a9g~_4hkaB1_I^5sW09MNHIk_?JCef&~k!%1P z$WF5pbLpw)5)3?gxU+clECv<hxjanB@nx?^f*}a@JiVkM9=K zEhY|4(_NH{W0`GSABz|g@yr>GoD!4Joy)hA%3iP6 z_-Lr@Qk|@)tFQ-z(h6Fj2hT}S#q9`Fu9OS+HyWM{IBerft;|VcwtlUgx zlpxO}w~g6&*YY`J#S!7jx4PfVE*=r47@7ocrA7)^8$^EVT;)Gd<3@d$IIY}nO2)p* zpo|lcjEm_W6E8{c)1v3~Vd9kY(7jDlKmC(FQE4@vTm68YhF%XH!5+;h(G3)zorQ-NlEd?z%B#9%>p6fn%=UKPEB`7-M*#~jh zd3V&97jDnK+rd$_!j)z$*M*By&>wrZ(|bMrumJ*UP}5q`zU78+^_a7D^zhe)i8wkXH0jMU(i^RSf#nj7vkc9TJ4 z@Sw$;xT9THb?Gnqt3`M;p!${;jn)ey}^Pr9@! zD_k5`_Pmx8(R<^<+YYn0dr_~|I?Vwu8nfDVXmWOV}K-eK)>vac<=PZ0|UNxlwh9j+uYw%bewA--Pvpi z7bnf{+kaVGbm8CM)IS2rx+Pd+kf<*@_%~Z-hx6L+iN-fPZ0*`*wlU9NPHU~KXx8W; z8n)G-NeQB7w-#_$e6m%itR-!ew?b*!NBcYi=_q;aWdiX^KeeDpKqo)Zw zbxGoce64m*(GvkZra1(}8G1_n94JkGq#K(hk!Vi?;g;r z%OUysbB>amdir*!&hxX?823nVYpCt6ej03~$L}(PJ_C+7dhXej#B=gA-#Zg{hm5rE z2<_T6tyOt$rP)~7;J5pKHFU8)EZSUEX)4FxFUlrI=a-e18YfqoW20m5!;QvVpr&I{ z5w^12$!3#XkTcP|#K+TDd%p?Ett?cULAkh%#@fiW8$PT5olM7Hbk!NB;lC8zmh$%z zTP_;&h2E%-YS^~#*DkbgPml}BnQHANw;C47A>yAUC>6JMfjPfjC)1yfg-7z2$P!at zY=JpuD*l)PS@kZOAFe4Bc`$_J1K}aL=Bf%VWQwBrMEFrvIK3h1;3N$#JUl@*G<=MWD)-B z4c`m*Ddu=9I(HbqFdd76Wli;w3TNE0c1}4i|IM+7>>M|`b!-;bYGWH6ieern(YA$O NRpZw1cFX;K7)MNq^T6%~Y~h#eCf!Je26#zI?QktQIDZPyNV7&L%lFQ}*x zG-_gEG*Pf6YBXx>H7`b!XpFsl&$(q;Qv8y9G5P*@=eN&2cg~!dbLPyMxp(iqQ}sYm zl4mmC$Lsv5$dq1z_6zJ>C-rSO_hOm=u2&f~<_eps#6Oq4D%J)a!9_5Le%w%e{ zhg9w_(N3V2D38%-QoRGT>D)$Cv;$)mC>0bzfb!d<3hO{^kuN}bUC?yq#e3*9$PrhY z?j4ty62<9EMKcD2Zw-E5NqQmpR4WJ626P1|Y0<_dr=)2(t`p?yAy17&CZ=a`|)RE8FIXwpZH(xhc^XUxTBH0c-+4eCRV z-0x~3+8G(0l16^M%ZvRqL+7Y}7g>(NLw5pP(lR<;8yycRZMtR*HIfJs(pCvdUP+D2 zi1!|$$%>ATOdNsoP(%QEH$F1m8y3cOMxNR^4NCGYkf9)nOvr>Z$BjzUdMBiFT&%{G)fK}27SlLipn%lu4SbZ=rL$oNc98kEU6kQuR{Lfw-M-UP>Mx4B!ZyR z9r?-NliD;;k`D)U1?>Pz_2gJh)5K}Uq^5ES>E7uv>4~y4bvUW*#qZEbGDP;O>_u6D z8hs;gb^%p_rfZTiHEA4o4%&&I6`7c*P0uiRUmmS7C~u1L3~4koFo~i#cF&}NP7b^n z2eFB7K&ekxrF>LcWV8mZye0APgVIo#!EvNg4$K&Bnh^Q65^Qt&k>mG7xvkznRy(tpQW`f;1>OCCf!T`x2}d0-_!*151*$0?1z_W$`m zHWe*2Yh1b~IPc6>eY+_uSABWp{R@S6RBLo=Lgf6S!ls|}VQcSdCRUG53%|6M6mBO8Fy)IkP@b^ zkTTgit6HJLih%Q_e%Eu>otmSEkMwX?HhW!8QI{ZXX68M|%m3yvepsOv3C z)FlZ=c2~$dvh7wa*bysJ7HntFQf2^|lI@BxVF|X9LR+fh!X8+A z3C;W3iA|)6l;_C++0ZXd*bO_O9CD-&&sU~dcDk8OUJgd$q8mG z!BMoL4)e1UtYBk2$!CHt$$u90WZ!&*VeE`H>#*DPel0E811p{2vKr50ykw(nvFLY1 z114mY%zOjP0D%b`WadOLeZe$mJ? zL4uqubWW~z9n9ARvy3K+3TrXN28N|(q9j|h^^N3-a=T^>4?>s*7GqS;7gtarnczy+ zA58Y6unyR<3~_D?^Z!Q=VN}gwC!*D`E{StZmF*9tq9>S>7J zT<91iT3Ivquh(TaJPp%opbcx;L<}V?I`Zhx2G`m!Zo6@z2@&i!ig_NFxn5vmsc<#8 zI26o*BGbkftG$pu05cFwT0cGI&af@6g6W3odLL5a(jy0!wAdLWyx}^UdX@~n72O~& zIbzreZZL8qkMOEl+aggt1l2KQbqzCRxgA^oN?X~|GZ5(k5xM|$V7KjB8Fa5hG>~qz zs5JEUI+*RjtXW}<<^ooHafOuTimanCuK2@@b%=xas=@co9N3Ll#VE3d4F+vVxXMyY zo5<@Kt*)XYpbPU-9=xS!pqU(oBRxe|r8XDW2@`qkgmVzjfp94 z)R@r^j9OLle<^Vej9P6p#cgk`Dq1jVHTpgneT=m{|D{AP+?e+>mUs`0T2-!sQA=$r z+#J@@k^x37J9hk1LV+9iT8;JtqgJB}!3Z<9;}RIPw6ts}wIK)O=!R^)Uwa*8WtK5* z0luF&9JMGdeh7FW5yj<^mQf)QrO?Cl<46vJE~FPwl_1y=VpI{!ypUc*d6uN|VEHPg zC)IdOszH=gzAohj$__*FiAuct=qZ&D=6=C z;$z_!k};)vYKi|MO7-87r3l!#J3L82o-DG|lpAD049c`88Zw0ran{l=!ST(1kZ)hXXxyRJH}6Iv)d+ zh*EwZKsqWVS_MjpDAhYa86=|Sz)^tsUjdYeQcRqt4AO5<9YAUmPF!<$3eRRh^>VnZ35@X+`!S z^T#K`w{oU!>wQ#cJ|?K?>`&I%P3_jHP08G+t(rxd$9>SY;%WGN(~!ab>*`xrwc0zv zD%JbFy-SY1YJ2ce{W#Y1K=0W(CH0SgIpW7j+QthW+nkwsV?yle2O766KL>1GbGp@( z+uXPoL-OL;;bBVMnvIJF&x?JlbKByN63_6PPi{S!eeBMNORE+vZ5ppSak{vp-nXD|M-jFTcNF+f0)Xzi*CtIWon#>O zzL3|=z1fFdv<3REq5aR7w2JhZa^rcO^xPem*6#O>tkW7>H{9GiGv5UtK(fubX?4=hw!f1Xazg3WwN00R zXWykYn!Nk`E9d4XO`hB3$MEP&m!`VjTIis096fWBc2L+O<^8v>6%TM$m;5wqR$X=u z)*aijrkndoeaEV@&TCwcMT~uNah$5%1^trEdCzyf;&QC(PyHTTHlK5)hs%V>(B7_- zj~q;_E!(4O$slmqcbs$uwkD-KX8Fn|Pk}S&_xv%zk(4=|#a;51XBG zT+;mH4`nG~AFJ;zdN*r=>kiA?!}nzkJvY9xNw!}gx8J7ei66YaTycCen-i(*J#=j4 z&pkFQ4fC$>8d?(6^3JYL3LV#kI|P2d(q+V^0JB}sL+4DiZ{|`xVTmuSk>f6fO&X?Vy`pS-tGb=PIiPc^;rsR$+Fdt|K3`Vxfo;3Q zUWuc3pPF-M_l}%TN(Ov+{c(6v$I<4!^DWwYkGvXOHpcN_=Pi-@GtU%WDKKhuB=Z}t zW)Grl*n;6?TuHPI>mCutk7BtIYW7ZyP45Mhcbi@;b$++|!L27Y1m11-!>k#j z<~24ek1Cw;)b{j>(lh0IE?XuAcwbj!?rmQD@XDDBH%}zA8B&rtg)5mk^03lK;b_)1 zQq3$hHf(id7@x&%Bexy7K~Z7+IJP`W&EjKidRrw%M8r?+*yPgq9o3zSdoOogq2n#u zTbyk;zHgllj|=CGP5*Xb=t0{qCj(E$rg@*3F{|syMyk%2uSI&z)J>`!P-vuZ0(*!? zm2oy~Xml8_W9y>TtO_}sm@s}43y)E=G4VF+W8|hVOO2Yf(AuyhO&C9o?Lh7nat&j{ z_!&$atJY0ps%@rG|hxx(X}ZbbwnJy_d4@b0*y`I^TUM(bK`a4(J6 zO8*$;hG!Z#T)1J&?v*XD zS;-4@;6Kt!?A;3#OM2-)+Am#A?#G+ftjMH9Za40Y@z_-l)=S~({s|>7(4l*&y?cRT zNiY2WPr2II7#d>XLk1ll#zbk8eduLBCHd=ye~PF3w-ifyb$_|XOPb@%y8{ zR{3wJtNTk<{|$;Iy>$Qae{|vh$rzpR`PaYZetY!)&jbwxTt+fJ$df59+~TwozwOfD z?I!*s=uwPm_Xl|7|34)7lH_#sMcSXX`tLJF_vhU8_bHb2y8qh!CDWk=DI%MtP3)^H z!YMr+G$kIAoTp)@7eJI20VG2YvgH>|izOb_+bf+HgHjzc0AVMjl{ive;tQ{1KvzjT zb9`S&A7lz?wZz1|4mTAbWorPch^q*97@$ON!Kgu8R=6VorHugb5SzjqE)Z@LKsLnF!2gn#qG{Id|_8~x(=V#-9G=3KQeo_iOS(86y$-ttd=LBp{0Q6z?f^dlcY&XQ zdjLIdd;rjO=n?Q3cmg~Ho&nDRvWN%%gVV#n5ugg#59|Zx10_HvkV<|YiIYSi2}lNF z0eaFJ2}A+WKm_m(5DvTnbO(9>uLB`KSD*_(Pe6i!c0dQf9|!>20)D_(z;WONa1uC0 z<9rk+l|VX>0i*#bfEI`cG(Zdx2J{Ac0TMD;Wha&Z>GU%GV4CMc|97o z5digE@EFUQ?9a!sjgvj-Po81k)9h&v&=8T=NS=nBQV2k00{|LQYUdTe6KDvKefEGE zKqE05ATwtIIY1^rBR3Kt%V-2KnmVCj8Ws}D2B`5YpaDR_qXF_Lr5ONubOJCQ7zd06 zh5&B^G%CcK2lV9Vw+@B#U!_wZIx+HLwa;39JB?1IvJ= zz!LWJRDY|BR1L{#JsUhN&qWEP=6%PFPWAf!H4A=Npif{sA3sjb8cy%SN3apoUHJ~I zA#>%!+0yB*f%13f@~6iNewfO~*GC0wdGW^E*(|(a--c86EBIg^|8_pUFp=Gw?&>Cg zI^W(e?5zfqE|j9CA8Ps`I+^E;KKu!mg5yQ@@eEft`73w%Lubgg^?@E(&2G<#bCdTX zxK`y_o|{&-0pq!In$ND!p1>L-hnchUwo#={iW1?peW_fHqZ2TlXskaYWwZFo)s~- z1uZJ-P7n5Ura#}G`OR|WN!Ha(-mMb6&^zDrGY7bNqOXr&kx(8aZ%zr{^}X5R^S4?E zZTa~iV&rWq>H)|54861el29V}Wt$26VwTEX-l1YueCeC1=2!e7pn_L1LOG_)eYVnF z-l}r*LDae7jurtBfM)W>3RBj9wo(y^50+=E6syhH66DIv*!J1I-Q|5JZPs@F^!l`@ z38;l(r&^|USmQadicNJ`_MF~$(t2W!zXH2Ytmeil&X}{bxhgk#6G=gS$mhqmzoSIm zKp%e!Hwpw-c51GJRVr2+OcA}ACF_{4q?)$#WWqw`^;INVvib9RD=ID7`FTord8bI< zHhWgM9{9{j=!9TSs19g|v zwP*n&;DgJ~8h+_Cq*9_D|2+z~7v;Lj1_PSmcci=#{@1II>0NEFjO(O^9Q8W0AZYLU2I< z>o~8`|C@OqDDU5qcW?+D5*DaGv?Bbm@OE;8lQ3us;YLj_@BV-;XkyRuoUJ-{qL{(u z%Q*Dev)oVVVQwW#?}~Ut0_oLQvYFqhFG_(_4GY zEKMlE!mHxsJv_;ce%f{7RMU0}Ub>EO5!l(0U*8M?HO8JTW5U^8o_)x=87A&IduEZZ zQiz>!mv<^g-PeS=pMi(S!Q!KwK=C#mY@r?r;wov6R z?|&K;ar613`H}a8aX{~BClo7PsC1V%LYcm!dh2kV^?M;8E%RoM>>^r_cS3DC`_WC$ z^wtf8t_ka>*fqlxH5Ue6WVU-je{pl{B>vy-JWR3k_zxCXNm^1sAbHv|Re{QVPknI@ zQk8lC_j>#%X^$z7rL3)wUoiJ|eWou^2FaV0l#d?y4LlH}sS%*NBh=O}ar6D~tLo^% zH6`_(*%zoP?|ZUw=~lgDQ)Xq2fV?wm5BGh~X4Q(2nv#Le%)LzTxLBs{7THY9+cLIBAY#2ZWXsmG^+m6-AB%h& zB!E*FzMmQ#c!(ck`|OA$GQWzoUo@uT;G&ZX)_Upvig%ZNz*qEJ@uo?|oz-*rifwC) z@m_SDW5wxpBNVJ?v7-a6vl($?#Rr1kv~`mmUFyMxEvttcileJNS=K5CHehoT)^CHm z!p}!I?N%DW`&FziZNxL5awT)y)XdC}8e!j*d9cNscCtB}^Vz#)-Py!aM|P{sllfJ6 hvNq+f3RG9>z|NG~u>5joDR0J(luxcGdViDU{{V4No&*2@ diff --git a/package.json b/package.json index cc9347d..30b711f 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "build": "scripts/bundle.ts", "prettier": "bun prettier-ci --write", "prettier-ci": "prettier --ignore-path=.gitignore --check '**/*.{ts,json,md,yml}'", - "test": "src/tests.ts", "ci": "tsc && bun prettier-ci && bun test && bun run build" }, "prettier": { @@ -19,6 +18,7 @@ "@nabla/tnode": "^0.9.0", "@types/eslint": "^8.37.0", "@types/node": "^18.16.3", + "@typescript-eslint/parser": "^5.59.2", "@typescript-eslint/utils": "^5.59.1", "bun-types": "^0.5.8", "eslint": "^8.39.0", diff --git a/src/only-export-components.test.ts b/src/only-export-components.test.ts index d8bf401..ed8aff5 100755 --- a/src/only-export-components.test.ts +++ b/src/only-export-components.test.ts @@ -4,9 +4,10 @@ import { RuleTester } from "eslint"; import { onlyExportComponents } from "./only-export-components.ts"; const ruleTester = new RuleTester({ + parser: require.resolve("@typescript-eslint/parser"), parserOptions: { sourceType: "module", - ecmaVersion: 2018, + ecmaVersion: 2022, ecmaFeatures: { jsx: true }, }, }); @@ -76,6 +77,11 @@ const valid = [ name: "Direct export default AF", code: "export default function foo () {};", }, + { + name: "export type *", + code: "export type * from './module';", + filename: "Test.tsx", + }, { name: "Mixed export in JS without checkJS", code: "export const foo = () => {}; export const Bar = () => {};", diff --git a/src/only-export-components.ts b/src/only-export-components.ts index 2568cd6..b07b3b0 100644 --- a/src/only-export-components.ts +++ b/src/only-export-components.ts @@ -132,6 +132,7 @@ export const onlyExportComponents: TSESLint.RuleModule< for (const node of program.body) { if (node.type === "ExportAllDeclaration") { + if (node.exportKind === "type") continue; hasExports = true; context.report({ messageId: "exportAll", node }); } else if (node.type === "ExportDefaultDeclaration") { diff --git a/yarn.lock b/yarn.lock index ca44c97..471bb59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: DED8616F48351095-0f19814e1d8ee0b0-335A0BB91874809A-c777336f981ba95a +# bun ./bun.lockb --hash: 8BF7314024E84A97-d628e768a5ff1429-A63230D9FB52CF3B-f398350df2252f51 "@esbuild/android-arm@0.17.18": @@ -125,21 +125,6 @@ resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz" integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - "@eslint/eslintrc@^2.0.2": version "2.0.2" resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz" @@ -201,7 +186,7 @@ "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" - resolved "" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -235,26 +220,36 @@ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== -"@typescript-eslint/scope-manager@5.59.1": - version "5.59.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz" - integrity sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA== +"@typescript-eslint/parser@^5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz" + integrity sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ== dependencies: - "@typescript-eslint/types" "5.59.1" - "@typescript-eslint/visitor-keys" "5.59.1" + "@typescript-eslint/scope-manager" "5.59.2" + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/typescript-estree" "5.59.2" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz" + integrity sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA== + dependencies: + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/visitor-keys" "5.59.2" -"@typescript-eslint/types@5.59.1": - version "5.59.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz" - integrity sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg== +"@typescript-eslint/types@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz" + integrity sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w== -"@typescript-eslint/typescript-estree@5.59.1": - version "5.59.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz" - integrity sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA== +"@typescript-eslint/typescript-estree@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz" + integrity sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q== dependencies: - "@typescript-eslint/types" "5.59.1" - "@typescript-eslint/visitor-keys" "5.59.1" + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/visitor-keys" "5.59.2" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -262,25 +257,25 @@ tsutils "^3.21.0" "@typescript-eslint/utils@^5.59.1": - version "5.59.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz" - integrity sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA== + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz" + integrity sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.59.1" - "@typescript-eslint/types" "5.59.1" - "@typescript-eslint/typescript-estree" "5.59.1" + "@typescript-eslint/scope-manager" "5.59.2" + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/typescript-estree" "5.59.2" eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.59.1": - version "5.59.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz" - integrity sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA== +"@typescript-eslint/visitor-keys@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz" + integrity sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig== dependencies: - "@typescript-eslint/types" "5.59.1" + "@typescript-eslint/types" "5.59.2" eslint-visitor-keys "^3.3.0" "acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.8.0: @@ -317,7 +312,7 @@ ansi-styles@^4.1.0: argparse@^2.0.1: version "2.0.1" - resolved "" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== array-union@^2.1.0: @@ -445,55 +440,10 @@ esbuild@^0.17: escape-string-regexp@^4.0.0: version "4.0.0" - resolved "" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.33.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz" - integrity sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA== - dependencies: - "@eslint/eslintrc" "^1.4.1" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -eslint@^8.39.0: +"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", eslint@^8.39.0: version "8.39.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz" integrity sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og== @@ -541,20 +491,12 @@ eslint@^8.39.0: eslint-scope@^5.1.1: version "5.1.1" - resolved "" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.1.1: - version "7.1.1" - resolved "" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - eslint-scope@^7.2.0: version "7.2.0" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz" @@ -563,37 +505,11 @@ eslint-scope@^7.2.0: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: version "3.4.0" resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz" integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - espree@^9.5.1: version "9.5.1" resolved "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz" @@ -603,13 +519,6 @@ espree@^9.5.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.0" -esquery@^1.4.0: - version "1.4.0" - resolved "" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - esquery@^1.4.2: version "1.5.0" resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" @@ -666,9 +575,9 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: - version "1.13.0" - resolved "" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -747,7 +656,7 @@ globals@^13.19.0: globby@^11.1.0: version "11.1.0" - resolved "" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -764,14 +673,9 @@ grapheme-splitter@^1.0.4: has-flag@^4.0.0: version "4.0.0" - resolved "" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -ignore@^5.2.0: - version "5.2.0" - resolved "" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - ignore@^5.2.0: version "5.2.4" resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" @@ -830,11 +734,6 @@ isexe@^2.0.0: resolved "" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -js-sdsl@^4.1.4: - version "4.3.0" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz" - integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== - js-sdsl@^4.1.4: version "4.4.0" resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz" @@ -963,7 +862,7 @@ parent-module@^1.0.0: path-exists@^4.0.0: version "4.0.0" - resolved "" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: @@ -978,12 +877,12 @@ path-key@^3.1.0: path-type@^4.0.0: version "4.0.0" - resolved "" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picomatch@^2.3.1: version "2.3.1" - resolved "" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== prelude-ls@^1.2.1: @@ -1006,11 +905,6 @@ queue-microtask@^1.2.2: resolved "" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -regexpp@^3.2.0: - version "3.2.0" - resolved "" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - resolve-from@^4.0.0: version "4.0.0" resolved "" @@ -1061,14 +955,14 @@ slash@^3.0.0: strip-ansi@^6.0.1: version "6.0.1" - resolved "" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" - resolved "" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@^7.1.0: @@ -1097,7 +991,7 @@ tslib@^1.8.1: tsutils@^3.21.0: version "3.21.0" - resolved "" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -1114,7 +1008,7 @@ type-fest@^0.20.2: resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -typescript@^5.0.4: +"typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@^5.0.4: version "5.0.4" resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz" integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==