From 3372b3195b5b616249277d61ce1340d2a8350d4a Mon Sep 17 00:00:00 2001 From: Ty Bolt Date: Tue, 10 Dec 2024 09:28:58 -0500 Subject: [PATCH 1/6] adds prettier and related run scripts --- bun.lockb | Bin 1039520 -> 1039880 bytes package.json | 3 +++ 2 files changed, 3 insertions(+) diff --git a/bun.lockb b/bun.lockb index 4d043dc0cfb704ffb21b8c8a6748e0959d7f1338..0ffdf19d09f9277999ef9763ad94c22dc167b81d 100755 GIT binary patch delta 133705 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 delta 133405 zcmeF4dz_8s-v8HHV=;@Ik{B8qIVOa%XdEgMN~wgADT8syF@vZys$EejTGeG}DjlhG zJ`g&~p>$B~j7*x2B(*#3DC+nA+}C%p>aqLn=lSj5^Vi(3)_ktd=lWi!?{&QIwcO2K z)$Oho-R8A!5nKJ?ONX`XJO3YJb4qJ0xaE#YKP|fb>7(0SlK=IyWxt+QcW;fY)kC_D zoIkK(g3WunQV!IQ($%v5Ui@dSDR+t3nq~4~J@l=`(x*S6M;3(QBZ8395o0fvUhbP!+$H^veGR z?5ly3;A&`2fQ6x1r(iVbTp`hA6?<~ zAMsFSar4x3pjz}0DEk3d`2vdIYWZYP70)&73#yzWz^e5LR3M-h&P%jy)-e3H#97U{ z#jcy}Gn<|$YSyr3_v^wTSv~?D0UncB-)vyvlQ;T;7lIk6lk*EEj+>Srx(coePG$g1 zX*H%`8e9z+0jfd+KzX3I>0{@654{CyY`inq$2TQj{FR%1x~zov?DZh|96GD%ExskQ zK^1s;;_>EnPOb@4dw;=9e%S%4gGNjoK4tQl3HjB?R?YpHVidm(6tB)yP%a<1MCBH( zBWo5UPH1s|Y|S0vP%G5?5<6N9EUa{ouj)^rn!FZN9#4U)>MT&c{o-zqBj7>bncX~4 zE=Z=k+xSJG`tF~kQ(Zp*#b0>9=UZ<{kZ#zlM-f!O)Tv{FdG|CC8Y~l+`r$qlRKk9s z>`pXnYx;#37ihYMF1$D|z&;Q80*(bW`tMIT`t!u7* z#7AHMsIT?d#Nw89dS6W4HAr?Z_H7-OSCHST!*QX%!yBQ$|G4k1>Ep+>yO7!pd&2XA zyy-!eCXX3EId5brR6h|urcU7pPx>;}gBmn1f|}otJmnjj_O#dY3T8|gK6cEMH^^P_ z!zYfLIGNm6P--T8#xuT`2ZE}_sn7ZbKLe`w@5fF(m@vEoq^AmJZ66Z~3hwiqH*5>4 z>(5*1GddB}+^B`#KpCtGhmHb|Snchu1=Xcrtq6x&fa}35@M%yBUNNW&Oaq&N{lKPR z){CkD3sfrvWmwtp`{h2tSZb(+W+BR%2r*i;&ztNB{r!be~6_HEXA z{voBe88TtcA_;7UJbbp8Zo{f6-^%$&qwt&a%TOSElWC-T;ti9W4+ zhObG?Z{4i0$-BOcUJr$WMnCt2pS+iD@_FC)njaqHCyvjbFeMafNja+Pvu}FmjmVp! zu@|aF9p$ty-uHv{ZBR~q_wT+=!wU+g%$SrPx(r=DnD;^8w8B|y5LD?UpvKokysC`W zZuZ^106myGC4Ls#Ro9Z`>G~a%rj0;CRch65dm9bWfDEX;`>$o6qJq{Gx2Sf9!c2RJFfCmw%d+d3{R3 zxG}@2lbozM8}H#^;Y4b4mVF=vwfS)xHCcKMQ9i>;Iv3 z%tlb{9sapbFbI@CS6c-~4Ift! ztW$Bg=53N616Knc-sLNB_&0uiI2?XxD*+8xA!DD}3(_8ZbZQiPrz{L+{h? z5)Za*P;=)G-s~Mv4Xd0eY1^=H&3As4DH|OMR-54@mK&C!3vU3m_+A8RRcgD(53dJ6 z)wY1bmD^3m2bf*9;ox6=`YgEYDj80lJWkFyDztj9Z|0<_6J`vbI3m9Qu7Y+^dnNc{ zUt(dq28GG=i>_utLEb$o6b$npe)DGUVXjqlTPPCXO5=AM&M{2xb9s?S(B5OyB0={L zjz)rM@-3*(q;Qiqs!zB@K-=b!n^oXBY>--u~C2>*vhLH`G5;wPRUAQe47|v=( z2F=M}W0gqgXs`xc`@<1cBf&EKGN@(w888@k`4fVT_p@rAmw@W_d`9b-$pus1H2yuu ziNJnJ-jt~Y`30ZB)ypIDg9CHr(9LEzC(--3Zs9qJImb22c+d*D6I7;?5A&IfPOLw! z;h|5|_UiqhvM#BX_~p0;g*EF$f&u*VA(2oMl!qiZOAhP?*<9#BV$Z$MS*LRvGNv2Y2T4X<$4=b65sC&2a?%mUki z?>F%-{j{m)Ye9|8so*i-Vo*EXnb@}l^ICZR6R07Th29$c=?HJX0aOL=0@YR10%U3* zo8kNHbc<+Ym|oxa?H;fN3EnnbV)`t@L5A6N{a`%Scv(H~spkxD0af9Npgi42s2#G2 z2_eI+RH!lf3Q$}3kmLPGyv_I&t8lvtUf1Jwl;(bY9O zI(vK%EY$8XpMYF49F)sCgBrDUK-Kh{Z0~`|v`~kXb#S%hPSY<1RpA^^qrU^FidO?Q zJ9eJn`3g{7`zHAu3Ep}_q%cU>-!dMJffl<}9ess5!P~$O=^Y7m1Z%-n@cW%2p|0Sg zp!oHmDlm_Hv|i-F)u8sE8gvM#27N)kfjy`()3Re>B-Dk#uDH+eF0e0r6xa!D1FGOP zb^I(zKilJ5xLl+8+;e=3T7hb5MNkEOgPj)4vopL$w!*a^@BSzhbk#<kx1~7_dF0c}-l$WRemeZ;KkiI=F}Tc}!psxo@zl1)~8 zjbXlVD=k%gxX-=?sHLxG1;2IF7~#_wukh>gyU%&N9bL|8lJC>ytql3*=TDhDk!sH! z8PUyFpIOs<;J@_gP;|BT*wK;Ta55!-azXy&P)G+!`Ee7v;=iWCYJZo+;uGrhX-F!0 z;S5mC`TauQ=+>s!1XcZa#`?(`g{%3$QcXGMqN({)^QqqV`H4t&(@x*v6?Muc!>2$^ zIR|R)UIuD)%QKuX$ri6fUUr?{doJ>x-vO$MC5CH2750|l52RA1KL=I0{0Y;>Oc*&a z)Do^CQaSNbcC!;sr3`Hac50o~5Ux|(UL2tQJ>ehTF|WbZq~xJ?Wm=+9=ca`XkmZri zY`$7WE@D&GoEQx1uD1s$f7S<;Z48wCU=A7D+)umI7e9Tr*L$HWe(Hpg`BR3E4#nZB z#@5SxBbpkwd%SaI9gZL`9LHLu0iNIprHmI{?w6xGM~8yRnmjrsk5Z?wC}{ago}H3M zEsj?8x-`g29<3_>=x@c6^-rE-J+P^r0Rr%AADsg1j8ioJe<5RNd{@i29o*FcZ$AQ$bj$!iH*o3;PN6)?44_5A> z#!MNLe{#W0Jg?DQn(*uMN>Cd{*)4wko^Y%0^5k9bLgF(k+y8`Fv+!QDtZcyN>f)$d_Y>ArS;DrS?9?pn@T3rfC#uoK=I2##h;8PG^tvG>WX9m$%-c%ayaoS zC~WxItNxbqu$TN8d-GMEWUDWpAwsjT7?kS=yzD(N7p{T_ff~h^zT)-qpvJh~bIjr;ceeE^pZD8~m&}o`Tf{4M62n4OGJl_podz!>>Ti z*W@#U=WIC{6Y1RB-&8e){|fYJc6--=B0&e9ITK2~-1K1?8bh1>=HrW!S3% zXMviIagYY`6lLPXv3h=S6oTe!4KqA_lQ%p8lna+^wBrJ(ivA9&#oriKe$N-U_g#&3|bCg6-Mjw%p3|_PXo=EKI(XcRQvu|$?P<}cTRJQFvWs?Oe zbre*)_k7^}@(rkw@u^|*yg6m^aUJB45_FA}w?S2Jtzq77WMBH`_eE4{B7eGQ1a5x*H6qf*KSTfSL`b zf$EBrKy;}Cj zK#xCvx8%^Nv3kLR|N;L0!W;)3JU|M?bw zD#+=i-mE+J_=KY;<&Dzw-wO*SPH5YfM`nq|y#^K@zt2~1;-vfuO0L~eGj9#Lrrn>v z{&)sm)ob;;AI6P9RcAdYeZ<5moWDb%MwUJb>V&v+uOCunpsKqloTi~wdDgWA)Xry~ zyrTC5jjuX(!n4Ot2#@X^?Kv?V>YB*>Iy?FVp#h29ud~xTPYQ>6V(VV|IsMqgyhZ7; z>rqZX2`3ic9*?Y<|N&SaOZSFU1jGM=Y~6q9UHK$`#d{2 z$fNARcq}$GnPb*t@mP0QN8&<>tVBF~sVjLd+%2|Zze(BJc&sAd)}9e0&w4E$8x0%e zGkYPP{vzyj*!~Jf54kuT>X*nY&W;Ts)ZbgKji+yb4N0|(HRW4dH8z|mdm$dX0d{th zMQhHWl8MrF*|F0UO6C&18rI7duMT$$_eta~%#PN%Bx!gSp}+${b~nLPv9QaU8|hd9 zc1oi7)9l!hm*VSWF|lb$=CX?L6U?W{dlYt=uQ1j7JRX|@>l38Qx-TAk9_Gu+x+5Oj z3p1Bs*?(rTAz8o2WB0>+Bk^|hYgk7)C)${AjDr@$CJ^dC&XGjkz46$+u)t|9@7{37 z3hcst5~VL>$3_wA7nGm3G#-5xcCyA!WKW?R{7SfMtm~|BsPq1IT>|s2S0BF#>!lK0 z*(>4f=!xF!@px>&6~1z5uIwTj4D-VzZ(qj>kP}^Qb?lG6lB|Qi7)i(~*A07^cV*t! z@mP(ktf4Ni5)Oy;NaWs|9a}<3PK_j}O8Sp5_45Al66^W5q`S(f(E^yNiql~q!_E(w zn$h)YbF<63h0cG$79#Q_gFVAgfF$J4Ke$vX#Xz7a)bMuNIVx$hMVyS&G#9V{DGJ(2ZrJXQo# zPQE_dVDd;M)ivDG6}`@s8$Kr-8jM&Wv3Pwv^79;5?~QQR@cAz14I(%2Rs2~*20o0{ zzdjr~6BbTn(bfxL@>s>77Ei!54AO$QZ(wRG>1a>u8+;9`CKlfj507*iZ<6(5#N#lD zC9)RAWADS1pi+XV9;rPys70*L+!W`AuXH(Yg}bGH&o}Gp{lFjY?NO0f`c2``c_I zZ;1yVh{pvR1@n*BWDVu8YUsg8BKOc~z+>nWsizw#(T}Pfa&5l*oHG9(x$3A?u6% z9_Ggd$)oKSl3616f$Z3Yga%<1b&C(fc`!}xAWir%m$8LqdZNn#Vz)1{H7IbzXR!8I z)(D1ao!kAis}xkVH>?wJnJ%v%W8_Ncsn8fcqX^hZu*xoP7OdF(naEodkDUzDi1D-R z8kj~C-eB$61e4#=6J-y@W7Y2PjB$5IJlY3#UZQw+cJzBfmj&ii+d%)D_D#1)m zz~Zn&gNaxFo^Yr)tb)s`6^@6ixss15W7xfZrZajL#-oqJPSrq;?Isk=8@Kp%%0A&f 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 diff --git a/package.json b/package.json index 262b8a503a..cb8b0e498f 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "cdk": "cdk", "build:cli": "turbo build:cli", "lint": "eslint", + "format:check": "prettier --check .", + "format:write": "prettier --write .", "e2e": "turbo e2e", "e2e:ui": "turbo e2e:ui", "test-tsc": "tsc --skipLibCheck --noEmit", @@ -69,6 +71,7 @@ "happy-dom": "^15.7.4", "jest": "^29.7.0", "npm-run-all": "^4.1.5", + "prettier": "3.4.2", "semantic-release": "^21.1.2", "ts-jest": "^29.2.5", "ts-node": "^10.9.2", From 00bf7433a05db924cd45679bcf31593bb58d178e Mon Sep 17 00:00:00 2001 From: Ty Bolt Date: Thu, 12 Dec 2024 11:17:56 -0500 Subject: [PATCH 2/6] adds eslint <-> prettier integration, making eslint flag formatting issues --- bun.lockb | Bin 1039880 -> 1042304 bytes eslint.config.mjs | 88 ++++++++++++++++++++++++++-------------------- package.json | 2 ++ 3 files changed, 51 insertions(+), 39 deletions(-) diff --git a/bun.lockb b/bun.lockb index 0ffdf19d09f9277999ef9763ad94c22dc167b81d..1b3b067d28cb15c200e8c92468dcc9be0211a143 100755 GIT binary patch delta 199511 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 Date: Thu, 9 Jan 2025 09:19:56 -0500 Subject: [PATCH 3/6] regen lockfile --- bun.lockb | Bin 998992 -> 1000520 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/bun.lockb b/bun.lockb index 1b55051cae32cadc34a5964ba2a410b543870a9f..e37eb598b30e0da6e0dfb68b93f02474efaa01f2 100755 GIT binary patch delta 237364 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%0D@r@Awrcn6@h>~yn{aMby8B4A_v-wfggE!cn$N7` z{(^;xOyxB(mp60InO?gmNWY2|>gJLGlt;3EU{OD34qoE1=9_rjz#K0AypPxR zFE!2|5U4H~>0WQg7dZc1N9dW>PZBDL`h&L)v46ME6j|VMR4#ah#L|wH(J{Y9$%tSWMQFSZM1n-0(28+3O>I9GE;ya;xPq~{{v{H&`TtL1KKHs{sw#`O@PD* zPK>xec-&8d{$K)iRzNR>&xy*M7;t!;n8=9_*@@kFn8b#s^;z-wD~V$T7_tLKDGU)E zHo!Q*R50>f*~;m{VTVM1zaDi#`$f=iqJbPn^M>_`b&}rIPKd4yqR~iFMT( z&Yih9XQ0*~Y?(#XOFhZ_2RBbME%EPUh{iHF5Zkw~{LVs?pTAdoMcmN;{a|3TC{Jay zsmSTCj{_}L=Z_YxcbT#C(y*S(*1{jnpQNS^iba+vtyy z40gm?bE14s4wV0cm~#MlxX@0}(Tx7fE*_?PZ3S)^>|LJOGv?!~%dKYlE+xIJEyF3h zS?u7lc0M5;-Ft*zBuxIcyw#4|9&*Vt@_R1o?vx$6$yELXVdX?@DPoBOC))W*iYPd7 z1BAH%Q^cMNAj$)%1DO3`9*U(Jzh|2rzPfst&saC>O)>W#Znx*FAAMtUtPbgJx@~)< zXIp9&i~2X0!r!e|WMAG9upAy1lpyf=>QR8J{`a#1SqB;Mp$P6N+~$Z0Em+!3QjWt!a@KEVlM;`odu|) zuz(271k_XTnhB63RTO+?17v0aq=?5XfV?oEm4XbBoDFCP1YSNdte5s==!d<$$wYSeLA<|IOuW|GNEbPLf#Q zm5G;5y8BHwU)UX9?l;id{cdCW)aelW86;p1r)Z#|?grKSU6*cX9lum|!@wkXP0wtF zTMI>0b+=y(o7~mYZ_@huvN+c|#hayzmZobbIYbzaq{WENN`KpAq-@|6cYvup1?KV` z7i2w4+mk6cZ)}&Mf0IbL(x0CSmQ~jcg>Q$*n0&gSrklT1PwxOE(1H zJNt0Soqg&fIbZUG*w45UB@s?h(kqPaR3yrC(4BoE=-*eU_^oz0@N1)dMTI?Wl2CEg+xh!8R@2wBn8l41lUC476A;U z0izVmiH;OtoIoo0N&_rOhBUxh7QiV3*hb7{06cPlVhT2dRTfYR2zUMBf3Wt;2Sg~J>c z1|4t|3`i9_5PKx8Hk8P_G@amqWdx3YdX9 z3cHAqJfNO}mps6pR8jC*43JR(>?Ixw0C`0~D+LE4xfsw+A#^cdKWU;6u>_#12yiAr ziU4&bKraOsqPzsqMRcMNLmWeR|2?`I30|fra5T{rU0phg>qhYbY*TAlBagQB}_0VzaNqtxf~0 z?{j?S+`K=3-=)Bj%)+Z1$^trC?nCOoqbO8gZVn%8Lxb9xqLgNnZ52PQ+fW(_x3qF_Z?Tm4 zkoAIh&m9bI&JyD8vww0z%0M(fjAK4PbW z@*IU0l$#2ilZsvcktP2492p1ejTSF^3Vh;Z>;>dsd@@&cy`S$iQLk3Hvf-;4tq;rt$)q%PUH2HXiMNFz3aY3-?72ZgOu9;nhvqI3yohdH&Fu z1%txD>)tSwRvL*N@;aO&_q%sEOmgFpn*t*>ZuI9#{ii}-Gl{@TlxLt)ptk5m1c_<* zuqg9bW1U9yg~s8S!IV_?S8OW&-+Lt*Q{0sc2E-@s$>+B|I%lw5=8F6cwxJEC)@f0e z7Lm;N771i7uQYik=l&C}dU0&AXFcybOmFy*lxTC&$hJ)SxMe=<*ul~??a-OVP$<_lWk&ll5J*2^E3rmf&(tK_*QS27W8zQ z^D18PLFLthskU2MW=5^pr1m4=m?cwrq0HsYGqlP6{i7wdPdM1kDXZkDm*4efDfWJ& zDt|Kf>kBveMTbJ}c-i1JML3@2>< zq?X%vKx>vu+*R-0*>x|b76hJ|m^0(8t61o_xhvCqa*K{0KG*&%jm1;)eS6j!&3&WC z-e;-Boe|9v7SLoWFPt=~Vto~%hV_+3+Dpae2Sr4($;$7b_wOU$el_d5oJ#JvXrR{5 ze)zn1R!{4`d1sqfrnssYA1X<$V=qWE593$XX17@RpykoxmrSvd%yVr&Z;8dQ#V-{v zt9pas=Bsa)SbxrV6t=s$=8719W0XY%x4PEiOR+n|^qUqOJ~}m^`yoWqW&7-&WvwDP zi(*O>pRFfK>R2crXWlZ-NOM}<5fLvp=|z-pN^?kW z-MnFrX5PY!PYR_vMfR=dP4qV$e#^bIFAwF246zG24#NBRJW4l62DY zPWc6tEbi2Iy08AIxIkmiuu}TQ=;__ZqXs?AceFeVlxlRS+>?Bf`&od_=W?Trk%$k9 zbI)2H{%}v>-c;h570nBn%8O<$Pv*?z`C>Mud`^iTv7EZ8@yy$$CdtloY<0_a=Usho z7x<&>)ujdNe~8&P=}yEPtRZ#>mxz6QR~YPUpE9{;N6yoCBw7QTUVU|Zq={h;uK9j* zrmo7_#RYQ*TfXJox%KhpHl21AVxxO^GSza8LG74Qo0VLD&y1j!Zl_~To{x0AZP?>C z-*y?Pz0o=I^Wk`+t%bAu1M*MxQs zSKQ|eVZNp*o($1gh8AL5Qru_qx2}1%kH0(XNuO)R>Amhz)ADQBx_6o#@DetPm)UVp z`g)kf?3;%Y2oz?){v;nE4OdGEfT?>#{14tvzYXJ2W8YyHDv9$o7 zb%21ifGpBLL0$)-v<{F>eAfZmDRffEAqqNx2wgz54j`9wP*B$cXzK#HkHP?j ze4?QTNLtUy|F>pb5z*c;1Z@U3)K*51GYzIWe!C4{n- zma7+LU#~pd9OA?-qhIaoyTm5;__&Ww{tMHR);I41n7aNB;Wb38lMz;0w-4ONsINKE zvSDM-9lgqguKoMw>##9m#E#teHQ}0E$G)=U{Ks=Qyb}(nhQ4(55b?HIHmh$%l45vn z7#sJPv_10)+;Zl3$8yz-xlL<)j%mmo?9Drs;h7Srq~s+e=H+?I&#rUs$I8CP9y9xl z8pYH&=eX8~y-m{%*4B6}y6?MI?@6m^R>FMMM8FttkJ7s8GJ&c^&stpBB_)q(Z60kp z#=DVi%=1Wrj%}Rgv&x(a#evSuk7HWXH!gdz(%F2=z%?n836tx4Bu&Jxk9#w3hbxG) z5$3wy7`@wQgx;+pV#WX;6F`75poTP1kT(S=nE>jDuL+=?LMMd>M8OmgVFrjc1vHQj z3hEmH+Gc=9B+?AfM`3_MBhlChNZJHQ-3WL}`Y9N02AFLEG?C;@fN_9n*DDcOgMrxW zxcvusZ~ExoKfrc%M#9pH2Q0^VHpMERCHF9(KhxyBTTJOC{9abJ#2w5*r4-63{3N_P0ZzLBZaV=}q>O^- zZh*utz#rng3s6s?5x~aEMdt3NN4@MJ0lP5?J89UBN#yqclugX01Jro0YE*4MhcQd%mv`%3J7okNRb8#@@@bnSAY!hbp^Cj=%gS=6x;w2 z2LaJ;00p9a5TNc3NIVEoB;6GHDCoNblt`RAAn6cbl)^Hia|mGQ0mwcCP$okZ#wl2O zV0f!={dY(VH$q^m-81>ouOgj&!7Vq#59%-1>%2Sq_*veTJ7yFa362oyTnC6A1$5TpHEX%Z;yS#ho=WjW zOrk?<(lCjSH-PgdK#!Q;1jzf)DJbX@&s=6Pf zl~!xQMf_-OeN^l!@FFu}lYkc``2)%mFv%t^5==`mJciBNGp{+@*tT!T*RkGut!>*G z>wV2h1^bu#I4%FhkUIFSVZY38zk~-xPipTsS>>}AEx*pX^0apM@$!p|R-w7sHCBpD zt2J}xCGz6`+m~t;W_0;}akr-;Ik&1r*JmC8{60&syJJVgeU0QVv!y(lzh=3WxxB*F{ej_` z5B-KSmR`s{QRs6(+1MeScS!(Q?o=B*XJYBqD9KE-oG!7(xEIshWfuinIM&7_=#>m! zyA{maGTdeng{g*Wr*wr+3>5xIS@8a6eJgmIE``etG@_PA4FrX zV+wmRM2DtNFipJy*h?~Q0OUge4xRu9Vp9xgr%+DE-G0J*3lMP<;C2h(Ov)&zhXN!@ z04~J21kgvJk%Ai$D+MHl0Rl<^?xZOTU>FWiy@Z+Z;35x8F*D;3v+iXJs&3q_@wmvl z)ldEBx{))6qPg?80NX9qme6{5Zp+n4-qZ zt7m63?`3)79Z-f`Mg&^wEJI6Pc<3NrZs zf8vo3aEbz?UIqk^3UX63#_FQHh9wm|?k_MKTZ6x`lhjRC*)T557OLMRwv~u92Sl_1fgA z@y3{zff+TYH*_$RmLB^t-K0cgXKnhk-A^OEwa)QWS$>}GSRHycnDqpH004W5nHrWh zXUH3w$9PCe{ch0M7J7~H#-sy;`pWl@^S6`hU zTs84SEqN@fUx(gm<-d<5QKX2jgZg4ouEYuSLp0${2PDM-+|mItq>O^$S*%{_Hby}?2MOTv9Xgq80*3DB(PaD=Y&wlbCL1NNa`io$9Rh-E8 zqE2I;cQWMj2d0MOn7f68Wqaq~hCh9Wb%I2r)(HwY9X;!o`fa@vtE@|(|5S70HZPqf z`vup|T24`?|%rkR5CM)KJtLPx?bqFC(5VfG|KJ zDe?qZCjf+x00^-^0^msm)KN$#LSBGU3SM4-3#5vI(>Z|5Q9vs3I10dRKCoh@kVYiE z0reC@y#W~{ISk;F1km;cWD%R=0QqFV6s;qh7=;7cDddL(atJFeEaE(%lV;=+1s{O= z1wgb9AdhrV=%bKGL-R?uFCZxepzjALAQLpyFcpwWp@{VR0mdnq`2%hc^9TUrBA_?| zP)t}O0oG}NY&t~=v7x||4k(WVl#wBSKq&>wV*q@DIt6gb0B{BX%87XZKr|EJb_!5I zaw*hPsH0FtgrWdGS%C86fEwaVLH-h;F$z#e>;nPq6ujurdqBia10u2kGC_a_;t>Q; zzYGXC4R}Nv=oEbvl%fHR#5Wp{lmqCb@RUdf0}L4e)iZ!5;!9ziLT51GIZ+4!FmeIW zA%IpAbOvC31<*@h(ngeH06cjV=oB49`6Qr}LShWy73ro^I9&zk#{xP@Tr5B|A23Rx zi|E7w>M3N$0lLW$1)pmG%d>zUl5rLwUjX2Yr+fI!?}#Q3_RIGUe{jmGn9k?+U&q(4747V2E*Di|F+ecMVO$Dh-9aV0z6 z5XH#F9zHAGV~8k3L&AxGeqx^pP%i@1QTR-R&H?%;c%1_bkSYpE*8wsF@RgL&Wo38+ z5I|vwG!Vcz1*IgwcjB7_VB7?BQWzx)$pGtOKy)(T2kD@|a|@t-9xy>7&jU&+3{dz< zG%f&~N&u-B08^x&f@mo|vF)wQ)9T{z@Y0P8QooThqNF138}YEA^D&D)Z{7?o?#E#p zY*Mctv=F>fnr+*{`fcgU=bXU_9LC@5xxQ`-+3x)BhHn3^BKSj+QxIE^STdD@wKjJ8 zjZ^8mz6_F|3Ss9alT_qyL+r4F$HvJ`4rI`EJr&_V2sbx*7)00gcOViO5MFMQc?_a{ z7t)9^&Bn(~PMw7GQ4zrVz*K;nX-~JcaD}&fTThLr`x(~{c8sJa6BSD*--UZj8P(i~ z;yt$cn&QW$*&F57kIOW9MO@)F{o|hICQ#eWCu}krp`h$RPM33v5$$X=G#w3Pqank4 zXlQ_n5I51h3>l{~ij5xIEN-Hk17TD^vU4E9++>)FbtS}-0TJOQTXG>hRghwA8QH|R z3ELG&DHVq+5OHoYEf3;U4ROnZNN|(eR77ha64(T@E#M}8*C6#&S~DS%++Feb2`U$H1DoaZ5YDSu~Kh2X-If&r@uSjJfFRdg|ib zbM1S^D!fl_p0Tw4+iq#6g4;c%8^$|ss~!Az&#!;WSB9Ge)7*CCn(mI_&Jan8I4vQ} zwg#LKMa+ST+DuNJayI@esiI5THuT9|Ei&0g5T85!Oclp2q-(M*s~{M4^;| z@MC}$v40G3Y6R3#&?Z8S0MRD^uSURHQbnPjg3J?u4)J&b@OcVorJzS7p918c0YaYw z^hpzib_%M`00t!J86ctw&`ZIHC^rGrn*oVU029(pp^t)oGr)|*H3O2K14b!qB0A3j zhAn{X=KymuL}8qQWeZ>{$!GyES^=D`083)t3b1|wD5kKDu)YBBv;iDm0BlGRg;EN_ zZGi2>z762i4yXgL*zXCXu4hrg>0PWWR7ZUjz&_`i_f*aB31SGuyq;>+_ zNk0X{E`Zq^fCou_0~n_;MZuF8bpaS}0r_13FET;Fx*K5k7T`^C-vW5v0R*}MzQm>* zP)ebkfF&|y?<^7VN*VpqUef#bQ>a*Qcx82`- zMdkR3Ra|nZLd8F4bJvHB@D^T}#uD@{N~YtQPv+^X0p@adiNs2VrJzz z{0tz({4;=O08mUJnXrBVlu~f`0=PhmC^!uQga-hr#C`xE`V~+|A&m$P0_rJv4Fd3u zP6|HX05V?zS;XTjKz<0&N+Fv_egm{q2>k}gAx#t_h5@QWfLszZ1W^AD=%tWHl!pO* z6cUF4*l(neGy>574k#dT-vNfBfKduXL}vsrP9b{)aDxm{V2lAQM*+noV-#Th1Hd^3 zC?V!!0G@F`F@-Y1`U6l(!Qlts4k@DGGyxDE2b2^0ae(L~ppHTX5t;zhQ}CJqRFNtQ zK0g66lYkoHF$s|W1!$#EM@+53 zaG@{Q@H{6g9=8#5Rsat>pqN4jVPyl9QgC1cydp&uoHzi&?0`;U&khjf1k_RJB0?O1 zdJ0|~fNoMn!G{YV!wKji9-IJqZa^!AULwf_Xr~a$1^7ssC`9l8RJj5DB#0ZJ&I{Sn>fz zNd_OlS^&Vw5BNdM`2jqFfMN<0gjE1gO2I*Z%f##_^G?v$XJ3E%hKQ8j>tOT@D6Gg{ z6dq=`p`Th-sKnEqzj`4gKBYmJihRJo0bzzpQpA(!5iV>)J_egtz_5EzC`wN4YUi+^U^%)N{ zLfAtp)@A1=%SK9{UwGWalyuHU{fV>CkO1kPg@%%Z(UAUZz;qHf8(=sGFiJs)=m-PG zDP#)+W|1KZ3=x3k9Dp#%m;L@HALURH26ujmFBuNzopLqZoaex%@5C_Oha0!^Q@C&(LXcNA#zO37Q z|MiaBm4o|DYW+7j4oB>7*{V5pyt1=&{Cw^u)~Yz$&(-ZIGas@an#Ur$;tp6Pen0lvO9ZOVrfWJD|_*&0`N6yD^ogK!PMN*Xj$tNVytdAlYaWgoaiWWZ42DO-1)aVzaN)=q%li5 z?B4ZXyFFrkZya(-%we{05u%BaUPe+SGhp5x@4 zyvwGGd zb!e86yxF+&%Mqbmq0+lEoZMC2AD;;B%0FiFAWi-6c;a9=f%TLHbFe>SB38WgSeVwa z9s2i=8a``SpE=^5lgby8reE{6_2A3!_(OMl+oV00ddUAt$nd^4(|(6!(^Wb0 z@0!Mc1#e>xp3q54KQvT$fA?(d0hXCjJ{t@eH#Wx4&cE|1So~JLsOXk%1(zs>-xK-P z^4}|@5`V-Mca}dwKeK z)jM2uo%M4w5|%q@)UthTvp&|tAtf9W7`n2Uf6uURF3SV^ZBylm$-G(grq%Rz(Dcg{ z+nIxlcD=cMz5A@jpSCx{J@<#?rvfr__!?R+lIYkQN;mvs9d2bS|NPbQ{cF9+x;=v% z&ROi(nO|JI@Y|8GPj?+Ze|Yo1o}jrq{>$Br2OPnx1h(dVX4NYl-_E#eter8@nps=7 zQ|E|<7Ney)X3^_O{{tSLj@kY}8y??XsrtKtd%H+?f#mb_=(d9XC22G0otgjJ7}yc} zWq8wzD&tLGw+wIkT|{U(pdMg)FXmg4DE}f!mREmNpNA6&q-VDsCD_Zzb-6QQnOw7<&o)zywFWvjqI0;9!S>c8(e0r{!@HO z??|uQGw1sfGp+^vUflC&&IplE!AiUpx%4{f6=+0@PFR(gFmLDhfW@0GZW*5aO{KAioCCN+Fa;Y6IFS zglYrANfU*LwE)#MfJhRw2B5wU&`TkTD6a+dQAk`1h$h_>l5_z2>i{t%ZXLi-7cfd8 zj_BxMQ*)Li(?9Wl%M46l?zo?A>6e7>N*xO6^?cKOJSbqzuG+gp*EWC8lhg0adnf*N zf0T_L-}i#$-pULe%jfSZRpZJGtm>5aw_H^QcoI7CgcDp+N+@HDq zm#**+zuTVjz-11vm`bT;WFY_PNSA4Czpdi&9)&94|If3^HVGdp@zg};*j)J*~`ZAkEEmIM; zE`^)it}O3Ky_0>?kF)NilFnG>U`}t@))2|lZY|>yS<=!^-F`o}{a*Q6^!R6we|N`c z;aP{=B<9>uHP`J2dk&kdzn3B~FHwDeAZO@Y)3L^x7Ed3#dv%aCtu>8X;!Q&w&pFNQ zO!;=WM`6qGw=ch|5oeptoE0H%1h<_XLVu zy~oAh>b2MWkG|WdEWx{VtEKkk^!(}R&3V2KU(sEV;PdRkwWD8UFZ>Pu_no^G=HTjg z52tnv=+8ARc|9y4d!t^)j@Q?DzV79&(1eEyH7|EOd|tFpLi45qUx%aRyTI7iOZ*3B zeU^AWJ$0{w;9F%|r=0&)Ot+D#%)vuErK#L(X4gL|wlY?z>5jC=ix<>()tW7o(JazC zptzp1R(4@J#{sLWc5@sq9gS?gK6J%a?DChIn=#U#mR^;jKkI=1*=X*?|8ntTFf1G< z>+GKidb@AnUgl7{L+PgL;X%=wjM*x;Mc;^bMl>xc_%k#06Y&~n_^WLl>Tz*p!QHWqIdh&fv zPTok5#O1_|Li(Q;TRk57{4mJXuV%CK(Aq9mqnenEJO3}3C6hUqr)!;Kh4f7C4VfoP zKKO6VIQx8EQSF&loezP>JIVbWX7TbV7pr+k^7A8H9`Ew^;ZDi5YLzRTu5M5~G^_q? zW_Q)!V4lBSoW&em^mF9q-e;lrHwLXZ^XA0*A9D@LjMGc~o3kQ%fAV}(WOY7}a=d)q zYZtC>t6v2zLHxRZ z3;y@ZD%s4rY5H+0<8vfiSB+fsKbevccqB@?$uUptO?;Ngn!WG7-P>IDk?*+J+9$!L z@;hX{F8Wv;wSA_lWA8k}^yfN3wu^Qj``5*Pf4=B4bMVH|JC&P$jf~A14=4ILNyn#b}SnP`>QNJ3VS$OP%m=te+APu1%o-)=6&7;{y=W02?2w+9}VGs)pK?n zEDgJIYQ>#n^?y9VF70AzFmSzgV`Nw6wWO2x*;~&%Tx5ICBY7+P{R;7K0ec@T{9nN| zIF~v2tafE;Xv(=p>Ft}sxcT4xgz=<;-PYS6ec?D>u=mdtJFxhwe+hxyNQZH?`K@32m2GuJ0k!oS@5a^nwj@>XM%VaV*tBiYw7yoSJBM~EO)0;$-f+j~p6-ee z)}xx-8tQ=+98Z2n$Lk+n@$Y()e;fa+%mv?am3cRFAMbaA%FW&>bM8L1T+y}ICTDI@ zz)HbGUcc*R9Bv4VSek0pG4i;@d~C#EPWZxxR}zfn?BemuKJQ=ow0P=o#V7C!K`bo! z|6lN2OWuml;X-SaA@bUcXz`EO+YYhvto;4@AG(ikCYlE=W|K7d-=BI*`(b#(#sZUqzhF0X|!~ z_{n2)E>oN;5ZeNfx4;wuTQEf(X`s+fL1`=C!M~mJ2ur+#E_IwLP_V!h>Qd&ICG-YK!f|u(>2;L zwm+L=19kL6KC3;;oq71V=98!*j@?fJ^t#8aehmHFMg7;aFPMY(+JwK}RXoLRG}LyX z=jO+4rr+e!%PZ5)4^?o7DhXyq1*v2(iq!X9Ze=Moep~3!TbqCJX7G2LnOXlX@sO(#5`p{na_zB_6YoC7Z$xct0lH0`Z zyus#vM{1g9+B1{BpkLC)qaURYEVCc>94#g~Ub|nhUpLnLcCAx;v1o~zEtiQ%{I}@Y z@e9vzkQ5It9?ogISy%*0x_58|vXbS2TpVPHC)YgA?T#!ge7G=>Yni})SNA=C*L?f& zJ8b`G1D@q)VL8!HsYE%8Yc0pQ7syfwKo&t($>01~AK2;>EG&XFe>>Y>{N)Gih+<)x z_BV?y^>m4*KUXHJz{1lkEW8LMXK9E~0GIf*qs~VhXwxe3L@;H0RhWI$LRY5m@$cFA_c;DeFA2KOwTa{ZW(xex#FKQxHYa{4Ygx(vq3$if ztt$4o|9yaSIEN1DR=T^pJ4BG~?rzw0r^E*75|L0O4ykkqN~fqGAV`PO$p7=*=Qq0L zdaw6B|9ju}dH2KT%*=Ow)3au;z1EsV>W3j82g@L4kJdfAcIwmGbL$S7sWKxX%Dp`! zB=k=uOnn+r+FaatzFjLrj`}Xn#HQ5?ddX_hp?ODtSNJv6x3<5GQPhx= zXdU7W{pL51Ck4``D(_BCY?;_tl3XEh1%)9iDw|$Opl}{tBoyQT<)J;@IMlpx zK~uuBEe)v>C3tpme_=~P%J_D!pzsAHf;_QR^|t;B)w~oE8ea0_khDReEz1RYVp0bm z!Lt6yl0C_&p>M~^kZ%(dsYGq8hWRT8d6MEU;#>1cNRi;$oXq-#gPc^fR)^)`ZfO#hA#dNm#cY zt$X!q-@3==;b}I6tO`+w7WG&0*jB6;kD>Sc6WJGI8{w8?gE($T?LPvdweH!eeV1My zPsN4d-){?fHz@e`xiCFqVjlT|L=j!ud{0Q8AYY7~2&?$P=AXVR{8l=)lK77;>xIre zdv@={jO)F`>^lB#7b(-=@Fsgg@&^T%UZcoj14G6H`BLu>X%sn1TTi%mf5?L{RX=7) z?!@SD%XWz_)U>YcpS2Ok@e6gU4#D6Hcw;D+*bx=(rjfLfb(1i1q)48)WVHj=-*s2~ zwlO=m?$x6!)odFr64_~T`W9Uyd2mdH>7*Z2ljvV6n&egDL<;|*QAiU9@A4B%~+uNa8 zL?s8}CRTf2MD-8jpBJfQ{#0STJGE~`#XZ-;gC2(T3=977a|-hx5WW~MX+if5*3v4G zBNokeuR}J(ytOA{qTbrWj|o+&slO@NW}b*>Ld#C=vv=sp&suW+D=o>%NE{&abp_Qd z&3()?LYYs|LR=;5)Vy@ zW2L2@{sS_}_#2Tt@hK;;n!it?5<%fLQ-m&!tPwa8_5aJ!!1e0ym8VxcBSM$&hRK4GRQ>^8PVGfiQ<{tw^R$|43~t!GR`hrpn_+UqH5i8AHZhIwXwN1zeVU@FQYm4xX)V!Ia4OhpT5Ho% zqwP1XEt+~X4IDPDuNTqZMTkG!i1#y1gT3Cg{-&ixYh~I1)6$_;Fl`{3dQ!8Ym}x`I zE(2N#(^Rf1?aj!avL+5QF%w!c(?(cgO{I6$bUq_Z%YwhIX`@WbidNsW(WYfXYiimU z)3T#|9^Dhs|6@(eftZD3K~sGknrfI6vYIvlP5I=Kj;7BPOPd@2JNP9}#pRzT52TZa zj}KQptx2BIwAoQ9Ut&JUWa1oL6|9+`)3mv!6+p{n+I(E4Eht<3DtLj}6_Rdti%ctw zrpc_&5?oEjB5HpT6IbA>bw#0=X{&HmnPTwLx^NAe3N8-SOk0blaW4VY(KLGNOe=}M zhG`otzfx$rVo(Ryv&qEL_$Mi6KAX|xEdvcehxZmV9foD0A?S0=(w4*D$gl99^7_{8 zVre;PSyVu7W>Ke1t4O%HX{SxAL|7fHgX9dFimD8;ZE3kQKtQBS}n8FI`-JKcg;@P6Vqzr z-S#jHn0s%`OU> z8d4t$plMx<>b1lgy%tjV=n|(2(dengS{TDj)99(i(xREx7=HpX)MBZ}xRkaD#Iu59 zps6xVVTF|u%j~?(5VIg^0ga8Q8fwh5n_)aNY=KtLwD_jAL@R9CTc))_D`Hv#(^{hy zH!UHWD#MRnPo^lgv?MmewuqTI2()r1K~q<@gV`DnJ~_>aN}}-?Wlu*9Ywd-@>VJOQF$mp1u%lcIC{j zA6itj)VSqM>yLj8N1e*|R4{P>{EpKN84p7M6G{+GCxV@zEm=%5WTXHLaCt-X?yCVKLMCm^K%!q-lLkn}=4)w0>ynh53-g zv;n?p2RZv5XyyxvYDRl<;tn!x5&rtt#=(}wVzdUPd3~3a#c(rUO4Mb}dUE5AFl`zB zRGd`kBxWR<3SSN(X!&r*`EniNTXuq(uRsbVN}q|QeT-k{Liuqgp{XG&VVY@EO#1}w z7Ft2YS=v?jU!oPp{lM&2<9}tE9A49 z`wXI*oo)+BTL)XoSs&ebk@h)kH*GDNrq+7cr4zU!cyyyfh8tivhSJuV;YR#>O#9rl zO=$Zq!}X?xqa849gK3-5Hk!84v@K}mP1~ezSrxn$t~2{}QnuN&ZPM+C*lLNlqishk zfxFG@cHsXUtt9Rav-<-72GhPU?Mt+SYC4}UEp3{e1ims+KWF9LB~07xYkruSw#TCO z5cPpY?KN#LS~k=6nYIrtyJ`E`iA5F%E$RSKc`fRYX$R46L0S09v_tssn0D9~bc8I9 zSkz(UVW7{~XzIZups#Lyj-t_c&)3ja0-uwa+ts1T_+$-%#c+J{e9rs()PRY+X(P z&p&H7n3lz~yXYGe_)jvJ{)j5%9&9qhd}eqbZG>sX&F%r(I5bAjQ^K@|_;2v$v`^uHY26UigU_Io zP2iqrZxenFolTpGrXGBu7U&14J{u6#3ol{5jr&G4b?Yk_h&Bp0-0XhCU)k(7qv;5L z4OLCsZfTY2;}{XAOJA54g!U3m<$HD_s@9PZdveT<#lHtlm5I!s9x)@%q4t^<1+6{_ z#uLBKv|zMGXcN%(n-+q$gu_#x1Exhqy8~0u4u(-aeov?g)A1iN!!Wd_8V5dKnZ|7# z&lEdPI&7LAD_(Df96?iWaUaK%9Bn@SZ_F+xS{m|OhIZ7nSV6u9$3vrek6Ac2Hi@xW zj?Hn?;-H10tw1|rT3j?;hxi!nq-lBpaR%B-v{RuEOAP-+-CT*X{pfins(DNOpT_War)dgEe)D} z{OEHRO`Y*JT4~cBnB6;QW%P4TpGPL9MJ$J*D)TEEK~FmV=vR_HkIgPUntl-J^At_T zL&&BHN&XMhfS@M}e`=tqGC`(gMXPCckxbJ` zfPPKs6WKJK1iWin6w`8`>Bp2l!KQijrl7he>Ks*5JQtdNVd)dy40EH^H!TL5#xoC^ z=G~|GW1*?5b&8>Rw;q37OPdevGTJ7zc&6n?I~0}i4@Zn|VgbZj7;Zs(3r*ds$3at| z>7#>≺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 a9ea5UaKT delta 237708 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

$jI`%synD=y&?r%~ywaignwo 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 HRM!0;_*Q>> From 3066155c36869faaeda8b22017afc9e61dbdb2f3 Mon Sep 17 00:00:00 2001 From: Ty Bolt Date: Wed, 15 Jan 2025 11:02:51 -0500 Subject: [PATCH 4/6] update files to be prettier formatted --- .vscode/settings.json | 10 +- bin/app.ts | 9 +- bin/cli/src/commands/deploy.ts | 35 +- bin/cli/src/commands/destroy.ts | 27 +- bin/cli/src/commands/get-cost.ts | 22 +- bin/cli/src/commands/logs.ts | 30 +- bin/cli/src/commands/open.ts | 16 +- bin/cli/src/commands/test.ts | 4 +- bin/cli/src/commands/ui.ts | 7 +- bin/cli/src/commands/watch.ts | 13 +- bin/cli/src/lib/env.ts | 4 +- bin/cli/src/lib/sts.ts | 9 +- bin/cli/tsconfig.json | 4 +- lib/lambda/processEmailsHandler.test.ts | 2 +- lib/lambda/submit/submissionPayloads/app-k.ts | 15 +- .../submissionPayloads/capitated-initial.ts | 15 +- .../submissionPayloads/capitated-renewal.ts | 15 +- .../contracting-amendment.ts | 15 +- .../submissionPayloads/contracting-initial.ts | 15 +- .../submissionPayloads/contracting-renewal.ts | 15 +- .../submissionPayloads/new-chip-submission.ts | 15 +- .../new-medicaid-submission.ts | 11 +- .../submissionPayloads/temporary-extension.ts | 15 +- .../submissionPayloads/toggle-withdraw-rai.ts | 15 +- .../submit/submissionPayloads/withdraw-rai.ts | 15 +- lib/lambda/update/adminChangeSchemas.ts | 2 +- lib/libs/api/kafka.ts | 12 +- lib/libs/api/statusMemo.ts | 2 +- .../emailTemplates/MedSpaCMS.tsx | 2 +- lib/libs/email/getAllStateUsers.ts | 11 +- lib/libs/email/index.ts | 5 +- lib/libs/email/mock-data/withdraw-rai.ts | 1 - .../CMS/Waiver_Capitated.tsx | 2 +- lib/libs/env.ts | 4 +- lib/libs/handler-lib.ts | 11 +- lib/libs/tests/env.test.ts | 4 +- lib/libs/topics-lib.ts | 23 +- lib/libs/webforms/ABP1/v202401.ts | 342 ++++++---------- lib/libs/webforms/ABP1/v202402.ts | 369 ++++++----------- lib/libs/webforms/ABP10/v202401.ts | 6 +- lib/libs/webforms/ABP2A/v202401.ts | 36 +- lib/libs/webforms/ABP2B/v202401.ts | 33 +- lib/libs/webforms/ABP2C/v202401.ts | 18 +- lib/libs/webforms/ABP3/v202401.ts | 24 +- lib/libs/webforms/ABP3_1/v202401.ts | 57 +-- lib/libs/webforms/ABP4/v202401.ts | 9 +- lib/libs/webforms/ABP5/v202401.ts | 51 +-- lib/libs/webforms/ABP6/v202401.ts | 15 +- lib/libs/webforms/ABP7/v202401.ts | 33 +- lib/libs/webforms/ABP8/sections/v202401.ts | 94 ++--- lib/libs/webforms/ABP8/v202401.ts | 15 +- lib/libs/webforms/ABP9/v202401.ts | 9 +- lib/libs/webforms/CS11/v202401.ts | 75 ++-- lib/libs/webforms/CS12/v202401.ts | 27 +- lib/libs/webforms/CS15/v202401.ts | 6 +- lib/libs/webforms/CS3/v202401.ts | 6 +- lib/libs/webforms/CS7/index.ts | 2 +- lib/libs/webforms/CS7/v202401.ts | 63 +-- lib/libs/webforms/CS8/v202401.ts | 39 +- lib/libs/webforms/CS9/v202401.ts | 36 +- lib/libs/webforms/ER/v202401.ts | 290 +++++--------- lib/libs/webforms/G1/v202401.ts | 15 +- lib/libs/webforms/G2A/v202401.ts | 30 +- lib/libs/webforms/G2B/v202401.ts | 27 +- lib/libs/webforms/G2C/v202401.ts | 6 +- lib/libs/webforms/G3/v202401.ts | 48 +-- .../iam-permissions-boundary/index.ts | 15 +- lib/local-constructs/clamav-scanning/index.ts | 45 +-- .../clamav-scanning/src/handlers/scan.test.ts | 6 +- .../clamav-scanning/src/handlers/scan.ts | 13 +- .../clamav-scanning/src/lib/clamav.ts | 144 +++---- .../clamav-scanning/src/lib/clamd.ts | 6 +- .../clamav-scanning/src/lib/constants.ts | 18 +- .../clamav-scanning/src/lib/file-ext.ts | 13 +- .../clamav-scanning/src/lib/s3.ts | 17 +- .../cleanup-kafka/index.test.ts | 8 +- lib/local-constructs/cleanup-kafka/index.ts | 84 ++-- .../cleanup-kafka/src/cleanupKafka.test.ts | 5 +- .../cleanup-kafka/src/cleanupKafka.ts | 21 +- .../cloudwatch-logs-resource-policy/index.ts | 54 ++- .../cloudwatch-to-s3/index.test.ts | 15 +- .../cloudwatch-to-s3/index.ts | 16 +- .../create-topics/index.test.ts | 16 +- lib/local-constructs/create-topics/index.ts | 18 +- .../create-topics/src/createTopics.test.ts | 9 +- .../create-topics/src/createTopics.ts | 8 +- .../empty-buckets/index.test.ts | 12 +- lib/local-constructs/empty-buckets/index.ts | 4 +- .../manage-users/index.test.ts | 16 +- lib/local-constructs/manage-users/index.ts | 109 +++--- lib/local-constructs/waf/index.test.ts | 15 +- lib/local-constructs/waf/index.ts | 26 +- lib/packages/shared-types/attachments.ts | 9 +- lib/packages/shared-types/authority.ts | 6 +- .../events/capitated-amendment.ts | 7 +- .../events/contracting-amendment.ts | 16 +- .../events/new-chip-submission.ts | 12 +- .../events/new-medicaid-submission.ts | 20 +- .../events/temporary-extension.ts | 12 +- .../events/toggle-withdraw-rai.ts | 1 - lib/packages/shared-types/forms.ts | 7 +- lib/packages/shared-types/inputs.ts | 18 +- .../shared-types/opensearch/cpocs/index.ts | 8 +- .../shared-types/opensearch/subtypes/index.ts | 8 +- .../shared-types/opensearch/types/index.ts | 8 +- .../shared-types/seatool-tables/index.ts | 2 +- lib/packages/shared-utils/cloudformation.ts | 10 +- lib/packages/shared-utils/regex.ts | 5 +- .../shared-utils/seatool-date-helper.test.ts | 18 +- .../shared-utils/seatool-date-helper.ts | 4 +- lib/packages/shared-utils/secrets-manager.ts | 9 +- lib/stacks/alerts.ts | 6 +- lib/stacks/api.ts | 61 ++- lib/stacks/data.ts | 29 +- lib/stacks/ui-infra.ts | 46 +-- lib/stacks/uploads.ts | 9 +- mocks/handlers/api/user.ts | 4 +- mocks/handlers/authUtils.ts | 4 +- mocks/handlers/opensearch/changelog.ts | 9 +- react-app/components.json | 2 +- react-app/index.html | 2 +- react-app/src/api/getAttachmentUrl.ts | 2 +- react-app/src/api/useGetCPOCs.ts | 10 +- react-app/src/api/useGetCounties.ts | 14 +- react-app/src/api/useGetForm.ts | 9 +- react-app/src/api/useGetItem.ts | 10 +- react-app/src/api/useGetPackageActions.ts | 4 +- react-app/src/api/useGetTypes.ts | 18 +- react-app/src/api/useGetUser.test.ts | 55 ++- react-app/src/api/useSearch.ts | 19 +- react-app/src/components/Alert/index.tsx | 22 +- .../src/components/BreadCrumb/BreadCrumb.tsx | 6 +- .../BreadCrumb/create-breadcrumbs.ts | 8 +- .../components/Cards/CardWithTopBorder.tsx | 4 +- .../src/components/Cards/SectionCard.tsx | 16 +- react-app/src/components/Chip/Chip.test.tsx | 4 +- react-app/src/components/Chip/index.tsx | 7 +- .../ConfirmationDialog/ConfirmationDialog.tsx | 6 +- .../ConfirmationDialog/userPrompt.tsx | 4 +- .../components/Container/Accordion/index.tsx | 8 +- .../DetailsSection/DetailsSection.test.tsx | 6 +- react-app/src/components/Dialog/index.tsx | 18 +- .../Form/content/ContentWrappers.tsx | 6 +- .../src/components/Inputs/button.test.tsx | 41 +- react-app/src/components/Inputs/button.tsx | 20 +- react-app/src/components/Inputs/calendar.tsx | 21 +- .../src/components/Inputs/checkbox.test.tsx | 118 +++--- .../src/components/Inputs/date-picker.tsx | 8 +- react-app/src/components/Inputs/form.tsx | 24 +- react-app/src/components/Inputs/input.tsx | 7 +- react-app/src/components/Inputs/label.tsx | 9 +- .../src/components/Inputs/radio-group.tsx | 8 +- react-app/src/components/Inputs/textarea.tsx | 9 +- react-app/src/components/Inputs/toggle.tsx | 5 +- .../src/components/Inputs/upload.utilities.ts | 6 +- .../components/MaintenanceBanner/index.tsx | 12 +- .../main/Filtering/Chipbar/index.tsx | 27 +- .../Filtering/Drawer/Filterable/DateRange.tsx | 80 +--- .../Opensearch/main/Filtering/Drawer/hooks.ts | 8 +- .../main/Filtering/Drawer/index.tsx | 19 +- .../main/Filtering/Export/index.tsx | 4 +- .../main/Filtering/FilterProvider.tsx | 4 +- .../Opensearch/main/Filtering/index.tsx | 6 +- .../Opensearch/main/Provider/index.tsx | 14 +- .../Opensearch/main/Settings/Visibility.tsx | 14 +- .../Opensearch/main/Table/index.tsx | 3 +- .../src/components/Opensearch/main/types.ts | 6 +- react-app/src/components/Opensearch/utils.ts | 15 +- react-app/src/components/Pagination/index.tsx | 4 +- react-app/src/components/Popover/index.tsx | 2 +- react-app/src/components/RHF/Field.tsx | 19 +- react-app/src/components/RHF/FieldArray.tsx | 29 +- react-app/src/components/RHF/FormGroup.tsx | 4 +- react-app/src/components/RHF/Section.tsx | 11 +- react-app/src/components/RHF/Slot.tsx | 8 +- react-app/src/components/RHF/SlotField.tsx | 71 +--- .../src/components/RHF/dependencyWrapper.tsx | 48 +-- .../RHF/tests/depedencyWrapper.test.tsx | 12 +- .../components/RHF/tests/initializer.test.tsx | 4 +- .../components/RHF/utils/additionalRules.ts | 53 +-- .../src/components/RHF/utils/initializer.ts | 21 +- react-app/src/components/RHF/utils/is.ts | 31 +- .../src/components/RHF/utils/validator.ts | 59 +-- react-app/src/components/Sheet/index.tsx | 27 +- react-app/src/components/Table/index.tsx | 41 +- react-app/src/components/Tooltip/index.tsx | 22 +- .../features/dashboard/Lists/spas/consts.tsx | 42 +- .../dashboard/Lists/waivers/consts.tsx | 46 +-- react-app/src/features/forms/index.ts | 2 +- react-app/src/features/guides/index.tsx | 3 +- react-app/src/features/package/hooks.tsx | 4 +- react-app/src/features/package/index.tsx | 4 +- .../features/package/package-status/index.tsx | 7 +- .../src/features/selection-flow/options.tsx | 32 +- .../src/formSchemas/temporary-extension.ts | 8 +- react-app/src/formSchemas/withdraw-package.ts | 3 +- react-app/src/hooks/UseDebounce.test.tsx | 7 +- .../src/hooks/useCountdown/index.test.ts | 10 +- react-app/src/hooks/useCountdown/index.ts | 4 +- react-app/src/hooks/useIdle/index.test.ts | 8 +- react-app/src/hooks/useIdle/index.ts | 4 +- react-app/src/index.css | 4 +- react-app/src/utils/Poller/DataPoller.ts | 3 +- react-app/src/utils/Poller/documentPoller.ts | 5 +- react-app/src/utils/createContextProvider.ts | 8 +- react-app/src/utils/crumbs.test.ts | 41 +- react-app/src/utils/crumbs.ts | 22 +- react-app/src/utils/formOrigin.test.ts | 40 +- react-app/src/utils/formOrigin.ts | 7 +- react-app/src/utils/location.ts | 3 +- react-app/src/utils/stateName.test.ts | 6 +- react-app/src/utils/stateNames.ts | 3 +- .../src/utils/test-helpers/uploadFiles.ts | 13 +- react-app/src/utils/textHelpers.test.ts | 20 +- react-app/src/utils/textHelpers.ts | 4 +- react-app/src/utils/user.test.ts | 12 +- react-app/src/utils/user.ts | 15 +- react-app/src/utils/zod.test.ts | 15 +- react-app/src/utils/zod.ts | 8 +- react-app/src/zodIdValidator.ts | 5 +- test/e2e/pages/faq.page.ts | 6 +- test/e2e/pages/home.page.ts | 22 +- test/e2e/pages/index.ts | 2 +- test/e2e/playwright.config.ts | 4 +- .../components/AddIssueForm/index.ts | 4 +- test/e2e/selectors/navigation/index.ts | 6 +- test/e2e/tests/FAQs/faq.spec.ts | 370 +++++++++++------- test/e2e/tests/a11y/index.spec.ts | 14 +- test/e2e/tests/fixtures/routes.ts | 2 +- .../home/disableRAIresponsewithdraw.spec.ts | 2 +- .../home/enableRAIresponsewithdraw.spec.ts | 2 +- test/e2e/tests/home/index.spec.ts | 25 +- test/e2e/tests/home/noauth.spec.ts | 64 +-- test/e2e/tests/home/respondtorai.spec.ts | 2 +- .../tests/home/subsequentdocuments.spec.ts | 2 +- .../tests/home/withdrawRAIresponse.spec.ts | 2 +- test/e2e/tests/home/withdrawpackage.spec.ts | 2 +- test/e2e/tests/perf/index.spec.ts | 12 +- .../tests/sub-doc/medicaidSPADetail.spec.ts | 32 +- .../sub-doc/medicaidSubDocDetail.spec.ts | 43 +- test/e2e/utils/auth.setup.ts | 5 +- test/e2e/utils/setup.ts | 5 +- 242 files changed, 1869 insertions(+), 3665 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index f2e33e6d9e..84221c8762 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,12 +1,6 @@ { "editor.formatOnSave": true, - "tailwindCSS.experimental.classRegex": [ - ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] - ], + "tailwindCSS.experimental.classRegex": [["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"]], "typescript.tsdk": "node_modules/typescript/lib", - "cSpell.words": [ - "Cpoc", - "Cpocs", - "opensearch" - ] + "cSpell.words": ["Cpoc", "Cpocs", "opensearch"] } diff --git a/bin/app.ts b/bin/app.ts index b874a0c7a2..4c0634f209 100644 --- a/bin/app.ts +++ b/bin/app.ts @@ -4,10 +4,7 @@ import * as cdk from "aws-cdk-lib"; import { ParentStack } from "../lib/stacks/parent"; import { DeploymentConfig } from "../lib/config/deployment-config"; import { getSecret, validateEnvVariable } from "shared-utils"; -import { - IamPathAspect, - IamPermissionsBoundaryAspect, -} from "../lib/local-aspects"; +import { IamPathAspect, IamPermissionsBoundaryAspect } from "../lib/local-aspects"; async function main() { try { @@ -36,9 +33,7 @@ async function main() { }); cdk.Aspects.of(app).add( - new IamPermissionsBoundaryAspect( - deploymentConfig.config.iamPermissionsBoundary, - ), + new IamPermissionsBoundaryAspect(deploymentConfig.config.iamPermissionsBoundary), ); cdk.Aspects.of(app).add(new IamPathAspect(deploymentConfig.config.iamPath)); } catch (error) { diff --git a/bin/cli/src/commands/deploy.ts b/bin/cli/src/commands/deploy.ts index 7ccbba928a..f363153ef0 100644 --- a/bin/cli/src/commands/deploy.ts +++ b/bin/cli/src/commands/deploy.ts @@ -1,17 +1,8 @@ import { Argv } from "yargs"; -import { - checkIfAuthenticated, - runCommand, - project, - region, - writeUiEnvFile, -} from "../lib/"; +import { checkIfAuthenticated, runCommand, project, region, writeUiEnvFile } from "../lib/"; import path from "path"; import { execSync } from "child_process"; -import { - CloudFrontClient, - CreateInvalidationCommand, -} from "@aws-sdk/client-cloudfront"; +import { CloudFrontClient, CreateInvalidationCommand } from "@aws-sdk/client-cloudfront"; import { GetParameterCommand, SSMClient } from "@aws-sdk/client-ssm"; export const deploy = { @@ -22,11 +13,7 @@ export const deploy = { }, handler: async (options: { stage: string; stack?: string }) => { await checkIfAuthenticated(); - await runCommand( - "cdk", - ["deploy", "-c", `stage=${options.stage}`, "--all"], - ".", - ); + await runCommand("cdk", ["deploy", "-c", `stage=${options.stage}`, "--all"], "."); await writeUiEnvFile(options.stage); @@ -57,16 +44,8 @@ export const deploy = { // There's a mime type issue when aws s3 syncing files up // Empirically, this issue never presents itself if the bucket is cleared just before. // Until we have a neat way of ensuring correct mime types, we'll remove all files from the bucket. - await runCommand( - "aws", - ["s3", "rm", `s3://${s3BucketName}/`, "--recursive"], - ".", - ); - await runCommand( - "aws", - ["s3", "sync", buildDir, `s3://${s3BucketName}/`], - ".", - ); + await runCommand("aws", ["s3", "rm", `s3://${s3BucketName}/`, "--recursive"], "."); + await runCommand("aws", ["s3", "sync", buildDir, `s3://${s3BucketName}/`], "."); const cloudfrontClient = new CloudFrontClient({ region, @@ -82,9 +61,7 @@ export const deploy = { }, }; - await cloudfrontClient.send( - new CreateInvalidationCommand(invalidationParams), - ); + await cloudfrontClient.send(new CreateInvalidationCommand(invalidationParams)); console.log( `Deployed UI to S3 bucket ${s3BucketName} and invalidated CloudFront distribution ${cloudfrontDistributionId}`, diff --git a/bin/cli/src/commands/destroy.ts b/bin/cli/src/commands/destroy.ts index 5444e3c0ae..1e0c245824 100644 --- a/bin/cli/src/commands/destroy.ts +++ b/bin/cli/src/commands/destroy.ts @@ -4,21 +4,10 @@ import { DeleteStackCommand, waitUntilStackDeleteComplete, } from "@aws-sdk/client-cloudformation"; -import { - checkIfAuthenticated, - confirmDestroyCommand, - project, - region, -} from "../lib"; +import { checkIfAuthenticated, confirmDestroyCommand, project, region } from "../lib"; -const waitForStackDeleteComplete = async ( - client: CloudFormationClient, - stackName: string, -) => { - return waitUntilStackDeleteComplete( - { client, maxWaitTime: 3600 }, - { StackName: stackName }, - ); +const waitForStackDeleteComplete = async (client: CloudFormationClient, stackName: string) => { + return waitUntilStackDeleteComplete({ client, maxWaitTime: 3600 }, { StackName: stackName }); }; export const destroy = { @@ -33,15 +22,7 @@ export const destroy = { demandOption: false, default: true, }), - handler: async ({ - stage, - wait, - verify, - }: { - stage: string; - wait: boolean; - verify: boolean; - }) => { + handler: async ({ stage, wait, verify }: { stage: string; wait: boolean; verify: boolean }) => { await checkIfAuthenticated(); const stackName = `${project}-${stage}`; diff --git a/bin/cli/src/commands/get-cost.ts b/bin/cli/src/commands/get-cost.ts index 7679785cce..142a636b5a 100644 --- a/bin/cli/src/commands/get-cost.ts +++ b/bin/cli/src/commands/get-cost.ts @@ -1,8 +1,5 @@ import { Argv } from "yargs"; -import { - CostExplorerClient, - GetCostAndUsageCommand, -} from "@aws-sdk/client-cost-explorer"; +import { CostExplorerClient, GetCostAndUsageCommand } from "@aws-sdk/client-cost-explorer"; import { checkIfAuthenticated, setStageFromBranch, project } from "../lib"; export const getCost = { @@ -34,21 +31,14 @@ export const getCost = { const dailyCosts = await getDailyStackCosts(tags, start, end); const yesterdayCost = dailyCosts[dailyCosts.length - 1].cost; - const averageDailyCost = - dailyCosts.reduce((acc, day) => acc + day.cost, 0) / dailyCosts.length; + const averageDailyCost = dailyCosts.reduce((acc, day) => acc + day.cost, 0) / dailyCosts.length; console.log(`Daily costs for the last 14 days:`); dailyCosts.forEach((day) => { console.log(`${day.date}: $${day.cost.toFixed(2)}`); }); - console.log( - `Average daily cost over the past 14 days: $${averageDailyCost.toFixed( - 2, - )}`, - ); - console.log( - `Yesterday, the stack ${stage} cost $${yesterdayCost.toFixed(2)}.`, - ); + console.log(`Average daily cost over the past 14 days: $${averageDailyCost.toFixed(2)}`); + console.log(`Yesterday, the stack ${stage} cost $${yesterdayCost.toFixed(2)}.`); }, }; @@ -90,9 +80,7 @@ export async function getDailyStackCosts( return results.map((result) => ({ date: result.TimePeriod?.Start || "", - cost: result.Total?.BlendedCost?.Amount - ? parseFloat(result.Total.BlendedCost.Amount) - : 0, + cost: result.Total?.BlendedCost?.Amount ? parseFloat(result.Total.BlendedCost.Amount) : 0, })); } catch (error) { throw new Error(`Failed to fetch cost: ${error}`); diff --git a/bin/cli/src/commands/logs.ts b/bin/cli/src/commands/logs.ts index 91009385f0..8f7d306711 100644 --- a/bin/cli/src/commands/logs.ts +++ b/bin/cli/src/commands/logs.ts @@ -1,11 +1,5 @@ import { Argv } from "yargs"; -import { - checkIfAuthenticated, - runCommand, - project, - region, - setStageFromBranch, -} from "../lib/"; +import { checkIfAuthenticated, runCommand, project, region, setStageFromBranch } from "../lib/"; import { ResourceGroupsTaggingAPIClient, GetResourcesCommand, @@ -24,13 +18,11 @@ export const logs = { command: "logs", describe: "Stream a lambda's cloudwatch logs.", builder: (yargs: Argv) => - yargs - .option("stage", { type: "string", demandOption: false }) - .option("functionName", { - alias: "f", - type: "string", - demandOption: true, - }), + yargs.option("stage", { type: "string", demandOption: false }).option("functionName", { + alias: "f", + type: "string", + demandOption: true, + }), handler: async (options: { stage?: string; functionName: string }) => { await checkIfAuthenticated(); const stage = options.stage || (await setStageFromBranch()); @@ -77,11 +69,7 @@ export const logs = { const lambdaLogGroup = await getLambdaLogGroup(lambda); // Stream the logs - await runCommand( - "awslogs", - ["get", lambdaLogGroup, "-s10m", "--watch"], - ".", - ); + await runCommand("awslogs", ["get", lambdaLogGroup, "-s10m", "--watch"], "."); }, }; @@ -115,9 +103,7 @@ async function getLambdasWithTags(tags: Tag[]): Promise { } // Extract Lambda function ARNs from the response - const lambdaArns = data.ResourceTagMappingList.map( - (resource) => resource.ResourceARN!, - ); + const lambdaArns = data.ResourceTagMappingList.map((resource) => resource.ResourceARN!); // Fetch Lambda function names from their ARNs const lambdaNames = await Promise.all( diff --git a/bin/cli/src/commands/open.ts b/bin/cli/src/commands/open.ts index 32b0ec432f..7de1e19cdd 100644 --- a/bin/cli/src/commands/open.ts +++ b/bin/cli/src/commands/open.ts @@ -1,21 +1,11 @@ import { Argv } from "yargs"; -import { - checkIfAuthenticated, - openUrl, - project, - setStageFromBranch, -} from "../lib"; +import { checkIfAuthenticated, openUrl, project, setStageFromBranch } from "../lib"; import { GetParameterCommand, SSMClient } from "@aws-sdk/client-ssm"; -const createOpenCommand = ( - name: string, - describe: string, - exportName: string, -) => ({ +const createOpenCommand = (name: string, describe: string, exportName: string) => ({ command: name, describe: describe, - builder: (yargs: Argv) => - yargs.option("stage", { type: "string", demandOption: false }), + builder: (yargs: Argv) => yargs.option("stage", { type: "string", demandOption: false }), handler: async (options: { stage?: string }) => { await checkIfAuthenticated(); const stage = options.stage || (await setStageFromBranch()); diff --git a/bin/cli/src/commands/test.ts b/bin/cli/src/commands/test.ts index 172e030a20..4c0cf188f9 100644 --- a/bin/cli/src/commands/test.ts +++ b/bin/cli/src/commands/test.ts @@ -16,9 +16,7 @@ export const test = { }) .check((argv) => { if (argv.coverage && argv.ui) { - throw new Error( - "You cannot use both --watch and --ui at the same time.", - ); + throw new Error("You cannot use both --watch and --ui at the same time."); } return true; }); diff --git a/bin/cli/src/commands/ui.ts b/bin/cli/src/commands/ui.ts index 5c16344aee..bc19729f4a 100644 --- a/bin/cli/src/commands/ui.ts +++ b/bin/cli/src/commands/ui.ts @@ -1,10 +1,5 @@ import { Argv } from "yargs"; -import { - checkIfAuthenticated, - runCommand, - setStageFromBranch, - writeUiEnvFile, -} from "../lib"; +import { checkIfAuthenticated, runCommand, setStageFromBranch, writeUiEnvFile } from "../lib"; export const ui = { command: "ui", diff --git a/bin/cli/src/commands/watch.ts b/bin/cli/src/commands/watch.ts index 57d42ba726..12e43cfc34 100644 --- a/bin/cli/src/commands/watch.ts +++ b/bin/cli/src/commands/watch.ts @@ -1,10 +1,5 @@ import { Argv } from "yargs"; -import { - checkIfAuthenticated, - runCommand, - setStageFromBranch, - writeUiEnvFile, -} from "../lib/"; +import { checkIfAuthenticated, runCommand, setStageFromBranch, writeUiEnvFile } from "../lib/"; export const watch = { command: "watch", @@ -18,10 +13,6 @@ export const watch = { await writeUiEnvFile(stage); - await runCommand( - "cdk", - ["watch", "-c", `stage=${stage}`, "--no-rollback"], - ".", - ); + await runCommand("cdk", ["watch", "-c", `stage=${stage}`, "--no-rollback"], "."); }, }; diff --git a/bin/cli/src/lib/env.ts b/bin/cli/src/lib/env.ts index 7c5609529b..98d68d4baa 100644 --- a/bin/cli/src/lib/env.ts +++ b/bin/cli/src/lib/env.ts @@ -1,9 +1,7 @@ export function validateEnvVariable(variableName: string): string { const value = process.env[variableName]; if (!value) { - throw new Error( - `Environment variable ${variableName} is required but not set`, - ); + throw new Error(`Environment variable ${variableName} is required but not set`); } return value; } diff --git a/bin/cli/src/lib/sts.ts b/bin/cli/src/lib/sts.ts index dbf3beb4a8..3b0c418bee 100644 --- a/bin/cli/src/lib/sts.ts +++ b/bin/cli/src/lib/sts.ts @@ -8,17 +8,12 @@ export async function checkIfAuthenticated(): Promise { await client.send(command); } catch (error) { if (error instanceof Error) { - if ( - error.message.includes("Could not load credentials from any providers") - ) { + if (error.message.includes("Could not load credentials from any providers")) { console.error( `\x1b[31m\x1b[1mERROR: This command requires AWS credentials available to your terminal. Please configure AWS credentials and try again.\x1b[0m`, ); } else { - console.error( - "Error occurred while checking authentication:", - error.message, - ); + console.error("Error occurred while checking authentication:", error.message); } } else { console.error("An unknown error occurred:", error); diff --git a/bin/cli/tsconfig.json b/bin/cli/tsconfig.json index e6cf1f168d..60b2c84d60 100644 --- a/bin/cli/tsconfig.json +++ b/bin/cli/tsconfig.json @@ -7,9 +7,7 @@ "incremental": true /* Enable incremental compilation */, "target": "ES2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, - "lib": [ - "ES2021" - ] /* Specify library files to be included in the compilation. */, + "lib": ["ES2021"] /* Specify library files to be included in the compilation. */, // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ diff --git a/lib/lambda/processEmailsHandler.test.ts b/lib/lambda/processEmailsHandler.test.ts index af672db109..91017c9649 100644 --- a/lib/lambda/processEmailsHandler.test.ts +++ b/lib/lambda/processEmailsHandler.test.ts @@ -131,4 +131,4 @@ describe("process emails Handler", () => { await handler(mockEvent, {} as Context, callback); expect(secSPY).toHaveBeenCalledTimes(2); }); -}); \ No newline at end of file +}); diff --git a/lib/lambda/submit/submissionPayloads/app-k.ts b/lib/lambda/submit/submissionPayloads/app-k.ts index 3253d27ee8..ab36f31841 100644 --- a/lib/lambda/submit/submissionPayloads/app-k.ts +++ b/lib/lambda/submit/submissionPayloads/app-k.ts @@ -1,18 +1,12 @@ import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const appK = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["app-k"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["app-k"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -28,10 +22,7 @@ export const appK = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/capitated-initial.ts b/lib/lambda/submit/submissionPayloads/capitated-initial.ts index 4cecba5a28..7debb8cebd 100644 --- a/lib/lambda/submit/submissionPayloads/capitated-initial.ts +++ b/lib/lambda/submit/submissionPayloads/capitated-initial.ts @@ -1,18 +1,12 @@ import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const capitatedInitial = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["capitated-initial"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["capitated-initial"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -28,10 +22,7 @@ export const capitatedInitial = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/capitated-renewal.ts b/lib/lambda/submit/submissionPayloads/capitated-renewal.ts index 6d89027c15..f5aa4bc5dc 100644 --- a/lib/lambda/submit/submissionPayloads/capitated-renewal.ts +++ b/lib/lambda/submit/submissionPayloads/capitated-renewal.ts @@ -1,20 +1,14 @@ // can/should add the additional frontend checks here import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const capitatedRenewal = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["capitated-renewal"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["capitated-renewal"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -30,10 +24,7 @@ export const capitatedRenewal = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/contracting-amendment.ts b/lib/lambda/submit/submissionPayloads/contracting-amendment.ts index f9eb70e633..3167db306d 100644 --- a/lib/lambda/submit/submissionPayloads/contracting-amendment.ts +++ b/lib/lambda/submit/submissionPayloads/contracting-amendment.ts @@ -1,20 +1,14 @@ // can/should add the additional frontend checks here import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const contractingAmendment = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["contracting-amendment"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["contracting-amendment"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -30,10 +24,7 @@ export const contractingAmendment = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/contracting-initial.ts b/lib/lambda/submit/submissionPayloads/contracting-initial.ts index a05a29422b..3c2ef84dce 100644 --- a/lib/lambda/submit/submissionPayloads/contracting-initial.ts +++ b/lib/lambda/submit/submissionPayloads/contracting-initial.ts @@ -1,18 +1,12 @@ import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const contractingInitial = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["contracting-initial"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["contracting-initial"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -28,10 +22,7 @@ export const contractingInitial = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/contracting-renewal.ts b/lib/lambda/submit/submissionPayloads/contracting-renewal.ts index bb1f60cff0..6adb5d2535 100644 --- a/lib/lambda/submit/submissionPayloads/contracting-renewal.ts +++ b/lib/lambda/submit/submissionPayloads/contracting-renewal.ts @@ -1,20 +1,14 @@ // can/should add the additional frontend checks here import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const contractingRenewal = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["contracting-renewal"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["contracting-renewal"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -30,10 +24,7 @@ export const contractingRenewal = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/new-chip-submission.ts b/lib/lambda/submit/submissionPayloads/new-chip-submission.ts index b79cf7bbd0..822f58a695 100644 --- a/lib/lambda/submit/submissionPayloads/new-chip-submission.ts +++ b/lib/lambda/submit/submissionPayloads/new-chip-submission.ts @@ -1,18 +1,12 @@ import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const newChipSubmission = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["new-chip-submission"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["new-chip-submission"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -28,10 +22,7 @@ export const newChipSubmission = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/new-medicaid-submission.ts b/lib/lambda/submit/submissionPayloads/new-medicaid-submission.ts index 91ed571e7d..046916a656 100644 --- a/lib/lambda/submit/submissionPayloads/new-medicaid-submission.ts +++ b/lib/lambda/submit/submissionPayloads/new-medicaid-submission.ts @@ -1,9 +1,5 @@ import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; @@ -28,10 +24,7 @@ export const newMedicaidSubmission = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/temporary-extension.ts b/lib/lambda/submit/submissionPayloads/temporary-extension.ts index 9b8ca9919c..87f3dba1de 100644 --- a/lib/lambda/submit/submissionPayloads/temporary-extension.ts +++ b/lib/lambda/submit/submissionPayloads/temporary-extension.ts @@ -1,20 +1,14 @@ // can/should add the additional frontend checks here import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const temporaryExtension = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["temporary-extension"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["temporary-extension"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; } @@ -34,10 +28,7 @@ export const temporaryExtension = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/toggle-withdraw-rai.ts b/lib/lambda/submit/submissionPayloads/toggle-withdraw-rai.ts index 49b5a82552..b98c5a5e85 100644 --- a/lib/lambda/submit/submissionPayloads/toggle-withdraw-rai.ts +++ b/lib/lambda/submit/submissionPayloads/toggle-withdraw-rai.ts @@ -1,18 +1,12 @@ import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const toggleWithdrawRai = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["toggle-withdraw-rai"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["toggle-withdraw-rai"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; @@ -28,10 +22,7 @@ export const toggleWithdrawRai = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/submit/submissionPayloads/withdraw-rai.ts b/lib/lambda/submit/submissionPayloads/withdraw-rai.ts index 1aee37305f..cf28796321 100644 --- a/lib/lambda/submit/submissionPayloads/withdraw-rai.ts +++ b/lib/lambda/submit/submissionPayloads/withdraw-rai.ts @@ -1,18 +1,12 @@ import { events } from "shared-types/events"; -import { - isAuthorized, - getAuthDetails, - lookupUserAttributes, -} from "../../../libs/api/auth/user"; +import { isAuthorized, getAuthDetails, lookupUserAttributes } from "../../../libs/api/auth/user"; import { type APIGatewayEvent } from "aws-lambda"; import { itemExists } from "libs/api/package"; export const withdrawRai = async (event: APIGatewayEvent) => { if (!event.body) return; - const parsedResult = events["withdraw-rai"].baseSchema.safeParse( - JSON.parse(event.body), - ); + const parsedResult = events["withdraw-rai"].baseSchema.safeParse(JSON.parse(event.body)); if (!parsedResult.success) { throw parsedResult.error; @@ -28,10 +22,7 @@ export const withdrawRai = async (event: APIGatewayEvent) => { } const authDetails = getAuthDetails(event); - const userAttr = await lookupUserAttributes( - authDetails.userId, - authDetails.poolId, - ); + const userAttr = await lookupUserAttributes(authDetails.userId, authDetails.poolId); const submitterEmail = userAttr.email; const submitterName = `${userAttr.given_name} ${userAttr.family_name}`; diff --git a/lib/lambda/update/adminChangeSchemas.ts b/lib/lambda/update/adminChangeSchemas.ts index 274c8b4af0..4404d97749 100644 --- a/lib/lambda/update/adminChangeSchemas.ts +++ b/lib/lambda/update/adminChangeSchemas.ts @@ -47,4 +47,4 @@ export const transformedUpdateIdSchema = updateIdAdminChangeSchema.transform((da packageId: data.id, id: `${data.id}`, timestamp: Date.now(), -})); \ No newline at end of file +})); diff --git a/lib/libs/api/kafka.ts b/lib/libs/api/kafka.ts index 8d92a814f1..1885a291ba 100644 --- a/lib/libs/api/kafka.ts +++ b/lib/libs/api/kafka.ts @@ -19,11 +19,7 @@ export function getProducer() { return kafka.producer(); } -export async function produceMessage( - topic: string, - key: string, - value: string, -) { +export async function produceMessage(topic: string, key: string, value: string) { producer = producer || getProducer(); await producer.connect(); @@ -35,11 +31,7 @@ export async function produceMessage( }; console.log( "About to send the following message to kafka\n" + - JSON.stringify( - { ...message, value: JSON.parse(message.value as string) }, - null, - 2, - ), + JSON.stringify({ ...message, value: JSON.parse(message.value as string) }, null, 2), ); try { await producer.send({ diff --git a/lib/libs/api/statusMemo.ts b/lib/libs/api/statusMemo.ts index ce050dfefe..73f5fcdc1b 100644 --- a/lib/libs/api/statusMemo.ts +++ b/lib/libs/api/statusMemo.ts @@ -1,7 +1,7 @@ export function buildStatusMemoQuery( id: string, msg: string, - operation: "insert" | "update" = "update" + operation: "insert" | "update" = "update", ) { const printable = new Date().toLocaleString("en-US", { timeZone: "America/New_York", diff --git a/lib/libs/email/content/uploadSubsequentDocuments/emailTemplates/MedSpaCMS.tsx b/lib/libs/email/content/uploadSubsequentDocuments/emailTemplates/MedSpaCMS.tsx index f994c33117..f606bdcf5a 100644 --- a/lib/libs/email/content/uploadSubsequentDocuments/emailTemplates/MedSpaCMS.tsx +++ b/lib/libs/email/content/uploadSubsequentDocuments/emailTemplates/MedSpaCMS.tsx @@ -10,7 +10,7 @@ import { BaseEmailTemplate } from "../../email-templates"; export const MedSpaCMSEmail = ({ variables, }: { - variables: Events["UploadSubsequentDocuments"] & CommonEmailVariables + variables: Events["UploadSubsequentDocuments"] & CommonEmailVariables; }) => { return ( attr.Name === "custom:state"); return stateAttribute?.Value?.split(",").includes(state); }).map((user) => { - const attributes = user.Attributes?.reduce((acc, attr) => { - acc[attr.Name as any] = attr.Value; - return acc; - }, {} as Record); + const attributes = user.Attributes?.reduce( + (acc, attr) => { + acc[attr.Name as any] = attr.Value; + return acc; + }, + {} as Record, + ); return { firstName: attributes?.["given_name"], lastName: attributes?.["family_name"], diff --git a/lib/libs/email/index.ts b/lib/libs/email/index.ts index 27f9002b3d..da2eea2fff 100644 --- a/lib/libs/email/index.ts +++ b/lib/libs/email/index.ts @@ -101,7 +101,10 @@ export async function getEmailTemplates( } // I think this needs to be written to handle not finding any matching events and so forth -export async function getLatestMatchingEvent(id: string, actionType: string): Promise { +export async function getLatestMatchingEvent( + id: string, + actionType: string, +): Promise { try { const item = await getPackageChangelog(id); diff --git a/lib/libs/email/mock-data/withdraw-rai.ts b/lib/libs/email/mock-data/withdraw-rai.ts index fe6ee50a33..32b31b3801 100644 --- a/lib/libs/email/mock-data/withdraw-rai.ts +++ b/lib/libs/email/mock-data/withdraw-rai.ts @@ -16,7 +16,6 @@ export const emailTemplateValue: Omit ], label: "CMS Form 179", }, - }, additionalInformation: "This some additional information about the request to withdraw and what makes it important.", diff --git a/lib/libs/email/preview/InitialSubmissions/CMS/Waiver_Capitated.tsx b/lib/libs/email/preview/InitialSubmissions/CMS/Waiver_Capitated.tsx index d2d072419f..ac56fc751b 100644 --- a/lib/libs/email/preview/InitialSubmissions/CMS/Waiver_Capitated.tsx +++ b/lib/libs/email/preview/InitialSubmissions/CMS/Waiver_Capitated.tsx @@ -1,5 +1,5 @@ import { Waiver1915bCMSEmail } from "libs/email/content/newSubmission/emailTemplates"; -import { emailTemplateValue } from "libs/email/mock-data/new-submission" ; +import { emailTemplateValue } from "libs/email/mock-data/new-submission"; export const Waiver1915bCMSCapitatedInitialEmailPreview = () => { return ( diff --git a/lib/libs/env.ts b/lib/libs/env.ts index 9c00fcf01d..f84024c037 100644 --- a/lib/libs/env.ts +++ b/lib/libs/env.ts @@ -1,8 +1,6 @@ export function checkEnvVars(requiredVars: string[]) { const missingVars = requiredVars.filter((v) => !process.env[v]); if (missingVars.length > 0) { - throw new Error( - `Missing required environment variables: ${missingVars.join(", ")}` - ); + throw new Error(`Missing required environment variables: ${missingVars.join(", ")}`); } } diff --git a/lib/libs/handler-lib.ts b/lib/libs/handler-lib.ts index 8abfce1ad4..5eb9dc0035 100644 --- a/lib/libs/handler-lib.ts +++ b/lib/libs/handler-lib.ts @@ -1,14 +1,7 @@ -import type { - APIGatewayEvent, - APIGatewayProxyResult, - Context, -} from "aws-lambda"; +import type { APIGatewayEvent, APIGatewayProxyResult, Context } from "aws-lambda"; export const handler = async ( - handler: ( - event?: APIGatewayEvent, - context?: Context, - ) => Promise, + handler: (event?: APIGatewayEvent, context?: Context) => Promise, ) => { const handlerResponse = await handler(); diff --git a/lib/libs/tests/env.test.ts b/lib/libs/tests/env.test.ts index d5bca41466..07d78284a8 100644 --- a/lib/libs/tests/env.test.ts +++ b/lib/libs/tests/env.test.ts @@ -13,12 +13,12 @@ describe("checkEnvVars", () => { test("should throw an error when a required environment variable is missing", () => { process.env.FOO = "bar"; expect(() => checkEnvVars(["FOO", "BAZ"])).toThrowError( - "Missing required environment variables: BAZ" + "Missing required environment variables: BAZ", ); }); test("should throw an error when multiple required environment variables are missing", () => { expect(() => checkEnvVars(["FOO", "BAZ"])).toThrowError( - "Missing required environment variables: FOO, BAZ" + "Missing required environment variables: FOO, BAZ", ); }); }); diff --git a/lib/libs/topics-lib.ts b/lib/libs/topics-lib.ts index 4248a23866..2ab882b3d8 100644 --- a/lib/libs/topics-lib.ts +++ b/lib/libs/topics-lib.ts @@ -7,10 +7,7 @@ interface TopicConfig { // Add other properties as needed } -export async function createTopics( - brokerString: string, - topicsConfig: TopicConfig[], -) { +export async function createTopics(brokerString: string, topicsConfig: TopicConfig[]) { const topics = topicsConfig; const brokers = brokerString.split(","); @@ -25,10 +22,7 @@ export async function createTopics( await admin.connect(); // Fetch topics from MSK and filter out __ internal management topic - const existingTopicList = _.filter( - await admin.listTopics(), - (n) => !n.startsWith("_"), - ); + const existingTopicList = _.filter(await admin.listTopics(), (n) => !n.startsWith("_")); console.log("Existing topics:", JSON.stringify(existingTopicList, null, 2)); @@ -54,8 +48,7 @@ export async function createTopics( topicsMetadata, (topicConfig, topicMetadata) => _.get(topicConfig, "topic") === _.get(topicMetadata, "name") && - _.get(topicConfig, "numPartitions") > - _.get(topicMetadata, "partitions", []).length, + _.get(topicConfig, "numPartitions") > _.get(topicMetadata, "partitions", []).length, ); // Create a collection to update topic partitioning @@ -81,14 +74,8 @@ export async function createTopics( console.log("Topics to Create:", JSON.stringify(topicsToCreate, null, 2)); console.log("Topics to Update:", JSON.stringify(topicsToUpdate, null, 2)); - console.log( - "Partitions to Update:", - JSON.stringify(partitionConfig, null, 2), - ); - console.log( - "Topic configuration options:", - JSON.stringify(configs, null, 2), - ); + console.log("Partitions to Update:", JSON.stringify(partitionConfig, null, 2)); + console.log("Topic configuration options:", JSON.stringify(configs, null, 2)); // Create topics that don't exist in MSK await admin.createTopics({ topics: topicsToCreate }); diff --git a/lib/libs/webforms/ABP1/v202401.ts b/lib/libs/webforms/ABP1/v202401.ts index 1f208e4b7c..cb661fb6a3 100644 --- a/lib/libs/webforms/ABP1/v202401.ts +++ b/lib/libs/webforms/ABP1/v202401.ts @@ -62,8 +62,7 @@ export const v202401: FormSchema = { value: "extend_medicaid_earnings", }, { - label: - "Extended Medicaid Due to Spousal Support Collections", + label: "Extended Medicaid Due to Spousal Support Collections", value: "extend_medicaid_spousal_support_collect", }, { @@ -81,8 +80,7 @@ export const v202401: FormSchema = { { label: "Children with Title IV-E Adoption Assistance, Foster Care or Guardianship Care", - value: - "children_title_IV-E_adoption_assist_foster_guardianship_care", + value: "children_title_IV-E_adoption_assist_foster_guardianship_care", }, { label: "Former Foster Care Children", @@ -97,15 +95,12 @@ export const v202401: FormSchema = { value: "ssi_beneficiaries", }, { - label: - "Aged, Blind and Disabled Individuals in 209(b) States", + label: "Aged, Blind and Disabled Individuals in 209(b) States", value: "aged_blind_disabled_individuals_209b_states", }, { - label: - "Individuals Receiving Mandatory State Supplements", - value: - "individuals_receiving_mandatory_state_supplements", + label: "Individuals Receiving Mandatory State Supplements", + value: "individuals_receiving_mandatory_state_supplements", }, { label: "Individuals Who Are Essential Spouses", @@ -122,20 +117,17 @@ export const v202401: FormSchema = { { label: "Individuals Who Lost Eligibility for SSI/SSP Due to an Increase in OASDI Benefits in 1972", - value: - "lost_eligibility_SSI_SSP_increase_in_OASDI_benefits_1972", + value: "lost_eligibility_SSI_SSP_increase_in_OASDI_benefits_1972", }, { label: "Individuals Eligible for SSI/SSP but for OASDI COLA increases since April, 1977", - value: - "eligible_SSI_SSP_but_for_OASDI_COLA_increases_April_1977", + value: "eligible_SSI_SSP_but_for_OASDI_COLA_increases_April_1977", }, { label: "Disabled Widows and Widowers Ineligible for SSI due to Increase in OASDI", - value: - "disabled_widows_ineligible_SSI_due_to_increase_OASDI", + value: "disabled_widows_ineligible_SSI_due_to_increase_OASDI", }, { label: @@ -168,13 +160,11 @@ export const v202401: FormSchema = { value: "qualifying_individuals", }, { - label: - "Optional Coverage of Parents and Other Caretaker Relatives", + label: "Optional Coverage of Parents and Other Caretaker Relatives", value: "opt_coverage_parents_other_caretaker_relatives", }, { - label: - "Reasonable Classifications of Individuals under Age 21", + label: "Reasonable Classifications of Individuals under Age 21", value: "reasonable_class_under_21", }, { @@ -190,15 +180,13 @@ export const v202401: FormSchema = { value: "opt_targeted_low_income_children", }, { - label: - "Individuals Electing COBRA Continuation Coverage", + label: "Individuals Electing COBRA Continuation Coverage", value: "individuals_electing_COBRA_cont_converage", }, { label: "Certain Individuals Needing Treatment for Breast or Cervical Cancer", - value: - "individuals_need_treatment_for_breasts_cervical_cancer", + value: "individuals_need_treatment_for_breasts_cervical_cancer", }, { label: "Individuals with Tuberculosis", @@ -207,25 +195,21 @@ export const v202401: FormSchema = { { label: "Aged, Blind or Disabled Individuals Eligible for but Not Receiving Cash", - value: - "aged_blind_disabled_eligible_but_not_receiving_cash", + value: "aged_blind_disabled_eligible_but_not_receiving_cash", }, { - label: - "Individuals Eligible for Cash except for Institutionalization", + label: "Individuals Eligible for Cash except for Institutionalization", value: "eligible_cash_except_for_institutionalization", }, { label: "Individuals Receiving Home and Community Based Services under Institutional Rules", - value: - "receiving_home_community_services_under_inst_rule", + value: "receiving_home_community_services_under_inst_rule", }, { label: "Optional State Supplement - 1634 States and SSI Criteria States with 1616 Agreements", - value: - "opt_state_supp_1634_states_SSI_criteria_states_1616_agreements", + value: "opt_state_supp_1634_states_SSI_criteria_states_1616_agreements", }, { label: @@ -263,8 +247,7 @@ export const v202401: FormSchema = { value: "ticket_work_medical_imp_group", }, { - label: - "Family Opportunity Act Children with Disabilities", + label: "Family Opportunity Act Children with Disabilities", value: "family_opportunity_act_children_disabilities", }, { @@ -288,8 +271,7 @@ export const v202401: FormSchema = { value: "med_needy_aged_blind_disabled", }, { - label: - "Medically Needy Blind or Disabled Individuals Eligible in 1973", + label: "Medically Needy Blind or Disabled Individuals Eligible in 1973", value: "med_needy_blind_disabled_eligible_1973", }, ], @@ -321,8 +303,7 @@ export const v202401: FormSchema = { ], }, { - description: - "Is enrollment available for all individuals in these eligibility groups?", + description: "Is enrollment available for all individuals in these eligibility groups?", slots: [ { rhf: "Select", @@ -384,13 +365,11 @@ export const v202401: FormSchema = { props: { options: [ { - label: - "Households with income at or below the standard", + label: "Households with income at or below the standard", value: "income_target_below", }, { - label: - "Households with income above the standard", + label: "Households with income above the standard", value: "income_target_above", }, ], @@ -433,14 +412,12 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^\d*\.?\d+$/, - message: - "Must be a positive percentage", + message: "Must be a positive percentage", }, required: "* Required", }, name: "federal_poverty_level_percentage", - label: - "Enter the federal poverty level percentage", + label: "Enter the federal poverty level percentage", }, ], }, @@ -459,8 +436,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^\d*\.?\d+$/, - message: - "Must be a positive percentage", + message: "Must be a positive percentage", }, required: "* Required", }, @@ -474,16 +450,14 @@ export const v202401: FormSchema = { { rhf: "Input", name: "other_percentage", - label: - "Enter the other percentage", + label: "Enter the other percentage", props: { icon: "%", }, rules: { pattern: { value: /^\d*\.?\d+$/, - message: - "Must be a positive percentage", + message: "Must be a positive percentage", }, required: "* Required", }, @@ -495,8 +469,7 @@ export const v202401: FormSchema = { rules: { required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -536,10 +509,8 @@ export const v202401: FormSchema = { label: "Household Size", name: "household_size", props: { - placeholder: - "enter size", - className: - "w-[300px]", + placeholder: "enter size", + className: "w-[300px]", }, rules: { pattern: { @@ -547,8 +518,7 @@ export const v202401: FormSchema = { message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { @@ -556,21 +526,17 @@ export const v202401: FormSchema = { name: "standard", label: "Standard ($)", props: { - className: - "w-[200px]", - placeholder: - "enter amount", + className: "w-[200px]", + placeholder: "enter amount", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be a positive number, maximum of two decimals, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -593,21 +559,18 @@ export const v202401: FormSchema = { slots: [ { rhf: "Input", - label: - "Incremental amount ($)", + label: "Incremental amount ($)", name: "dollar_incremental_amount_statewide_std", props: { icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -633,8 +596,7 @@ export const v202401: FormSchema = { props: { ...DefaultFieldGroupProps, appendText: "Add Region", - removeText: - "Remove Region", + removeText: "Remove Region", }, fields: [ { @@ -642,11 +604,9 @@ export const v202401: FormSchema = { name: "name_of_region", label: "Region Name", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - /^\S(.*\S)?$/, + value: /^\S(.*\S)?$/, message: "Must not have leading or trailing whitespace.", }, @@ -657,11 +617,9 @@ export const v202401: FormSchema = { name: "region_description", label: "Description", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -671,53 +629,42 @@ export const v202401: FormSchema = { rhf: "FieldArray", name: "income_definition_region_statewide_arr", props: { - appendText: - "Add household size", + appendText: "Add household size", }, fields: [ { rhf: "Input", - label: - "Household Size", + label: "Household Size", name: "household_size", props: { - placeholder: - "enter size", - className: - "w-[300px]", + placeholder: "enter size", + className: "w-[300px]", }, rules: { pattern: { - value: - /^[0-9]\d*$/, + value: /^[0-9]\d*$/, message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { rhf: "Input", name: "standard", - label: - "Standard ($)", + label: "Standard ($)", props: { - className: - "w-[200px]", - placeholder: - "enter amount", + className: "w-[200px]", + placeholder: "enter amount", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -743,15 +690,13 @@ export const v202401: FormSchema = { icon: "$", }, rules: { - pattern: - { - value: - /^\d*(?:\.\d{1,2})?$/, - message: - "Must be all numbers, no commas. e.g. 1234.56", - }, - required: - "* Required", + pattern: { + value: + /^\d*(?:\.\d{1,2})?$/, + message: + "Must be all numbers, no commas. e.g. 1234.56", + }, + required: "* Required", }, }, ], @@ -768,8 +713,7 @@ export const v202401: FormSchema = { ], }, { - label: - "Standard varies by living arrangement", + label: "Standard varies by living arrangement", value: "living_standard", form: [ @@ -780,23 +724,18 @@ export const v202401: FormSchema = { name: "income_definition_specific_statewide_group_liv_arrange", props: { ...DefaultFieldGroupProps, - appendText: - "Add Living Arrangement", - removeText: - "Remove living arrangement", + appendText: "Add Living Arrangement", + removeText: "Remove living arrangement", }, fields: [ { rhf: "Input", name: "name_of_living_arrangement", - label: - "Name of living arrangement", + label: "Name of living arrangement", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - /^\S(.*\S)?$/, + value: /^\S(.*\S)?$/, message: "Must not have leading or trailing whitespace.", }, @@ -807,11 +746,9 @@ export const v202401: FormSchema = { name: "living_arrangement_description", label: "Description", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -821,53 +758,42 @@ export const v202401: FormSchema = { rhf: "FieldArray", name: "income_definition_specific_statewide_arr", props: { - appendText: - "Add household size", + appendText: "Add household size", }, fields: [ { rhf: "Input", - label: - "Household Size", + label: "Household Size", name: "household_size", props: { - placeholder: - "enter size", - className: - "w-[300px]", + placeholder: "enter size", + className: "w-[300px]", }, rules: { pattern: { - value: - /^[0-9]\d*$/, + value: /^[0-9]\d*$/, message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { rhf: "Input", name: "standard", - label: - "Standard ($)", + label: "Standard ($)", props: { - className: - "w-[200px]", - placeholder: - "enter amount", + className: "w-[200px]", + placeholder: "enter amount", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -893,15 +819,13 @@ export const v202401: FormSchema = { icon: "$", }, rules: { - pattern: - { - value: - /^\d*(?:\.\d{1,2})?$/, - message: - "Must be all numbers, no commas. e.g. 1234.56", - }, - required: - "* Required", + pattern: { + value: + /^\d*(?:\.\d{1,2})?$/, + message: + "Must be all numbers, no commas. e.g. 1234.56", + }, + required: "* Required", }, }, ], @@ -918,8 +842,7 @@ export const v202401: FormSchema = { ], }, { - label: - "Standard varies in some other way", + label: "Standard varies in some other way", value: "other_standard", form: [ @@ -930,10 +853,8 @@ export const v202401: FormSchema = { name: "income_definition_specific_statewide_group_other", props: { ...DefaultFieldGroupProps, - appendText: - "Add some other way", - removeText: - "Remove some other way", + appendText: "Add some other way", + removeText: "Remove some other way", }, fields: [ { @@ -941,11 +862,9 @@ export const v202401: FormSchema = { name: "name_of_group", label: "Name", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - /^\S(.*\S)?$/, + value: /^\S(.*\S)?$/, message: "Must not have leading or trailing whitespace.", }, @@ -956,11 +875,9 @@ export const v202401: FormSchema = { name: "group_description", label: "Description", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -970,53 +887,42 @@ export const v202401: FormSchema = { rhf: "FieldArray", name: "income_definition_specific_statewide_arr", props: { - appendText: - "Add household size", + appendText: "Add household size", }, fields: [ { rhf: "Input", - label: - "Household Size", + label: "Household Size", name: "household_size", props: { - placeholder: - "enter size", - className: - "w-[300px]", + placeholder: "enter size", + className: "w-[300px]", }, rules: { pattern: { - value: - /^[0-9]\d*$/, + value: /^[0-9]\d*$/, message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { rhf: "Input", name: "standard", - label: - "Standard ($)", + label: "Standard ($)", props: { - className: - "w-[200px]", - placeholder: - "enter amount", + className: "w-[200px]", + placeholder: "enter amount", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -1042,15 +948,13 @@ export const v202401: FormSchema = { icon: "$", }, rules: { - pattern: - { - value: - /^\d*(?:\.\d{1,2})?$/, - message: - "Must be all numbers, no commas. e.g. 1234.56", - }, - required: - "* Required", + pattern: { + value: + /^\d*(?:\.\d{1,2})?$/, + message: + "Must be all numbers, no commas. e.g. 1234.56", + }, + required: "* Required", }, }, ], @@ -1080,8 +984,7 @@ export const v202401: FormSchema = { }, { value: "health", - label: - "Disease, condition, diagnosis, or disorder (check all that apply)", + label: "Disease, condition, diagnosis, or disorder (check all that apply)", slots: [ { rhf: "Checkbox", @@ -1133,8 +1036,7 @@ export const v202401: FormSchema = { { label: "Asthma", value: "asthma" }, { label: "Obesity", value: "obesity" }, { - label: - "Other disease, condition, diagnosis, or disorder", + label: "Other disease, condition, diagnosis, or disorder", value: "other", slots: [ { @@ -1145,8 +1047,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1169,8 +1070,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1242,8 +1142,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1265,8 +1164,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1288,8 +1186,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1311,8 +1208,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, diff --git a/lib/libs/webforms/ABP1/v202402.ts b/lib/libs/webforms/ABP1/v202402.ts index 470f051824..795aff1471 100644 --- a/lib/libs/webforms/ABP1/v202402.ts +++ b/lib/libs/webforms/ABP1/v202402.ts @@ -57,15 +57,13 @@ export const v202402: FormSchema = { value: "adult", }, { - label: - "Aged, blind, and disabled individuals in 209(b) states", + label: "Aged, blind, and disabled individuals in 209(b) states", value: "aged_blind_disabled_individuals_209b_states", }, { label: "Aged, blind, or disabled individuals eligible for but not receiving cash", - value: - "aged_blind_disabled_eligible_but_not_receiving_cash", + value: "aged_blind_disabled_eligible_but_not_receiving_cash", }, { label: "Blind or disabled individuals eligible in 1937", @@ -74,8 +72,7 @@ export const v202402: FormSchema = { { label: "Certain individuals needing treatment for breast or cervical cancer", - value: - "individuals_need_treatment_for_breasts_cervical_cancer", + value: "individuals_need_treatment_for_breasts_cervical_cancer", }, { label: "Children with non-IV-E adoption assistance", @@ -84,8 +81,7 @@ export const v202402: FormSchema = { { label: "Children with Title IV-E adoption assistance, foster care, or guardianship care", - value: - "children_title_IV-E_adoption_assist_foster_guardianship_care", + value: "children_title_IV-E_adoption_assist_foster_guardianship_care", }, { label: "Deemed newborns", @@ -104,17 +100,14 @@ export const v202402: FormSchema = { { label: "Disabled widows and widowers ineligible for SSI due to increase in OASDI", - value: - "disabled_widows_ineligible_SSI_due_to_increase_OASDI", + value: "disabled_widows_ineligible_SSI_due_to_increase_OASDI", }, { - label: - "Extended Medicaid due to spousal support collections", + label: "Extended Medicaid due to spousal support collections", value: "extend_medicaid_spousal_support_collect", }, { - label: - "Family Opportunity Act children with disabilities", + label: "Family Opportunity Act children with disabilities", value: "family_opportunity_act_children_disabilities", }, { @@ -126,31 +119,26 @@ export const v202402: FormSchema = { value: "independent_foster_care_adolescents", }, { - label: - "Individuals eligible for cash except for institutionalization", + label: "Individuals eligible for cash except for institutionalization", value: "eligible_cash_except_for_institutionalization", }, { label: "Individuals eligible for SSI/SSP but for OASDI COLA increases since April 1977", - value: - "eligible_SSI_SSP_but_for_OASDI_COLA_increases_April_1977", + value: "eligible_SSI_SSP_but_for_OASDI_COLA_increases_April_1977", }, { label: "Individuals receiving home and community-based services under institutional rules", - value: - "receiving_home_community_services_under_inst_rule", + value: "receiving_home_community_services_under_inst_rule", }, { label: "Individuals receiving hospice care", value: "hospice_care", }, { - label: - "Individuals receiving mandatory state supplements", - value: - "individuals_receiving_mandatory_state_supplements", + label: "Individuals receiving mandatory state supplements", + value: "individuals_receiving_mandatory_state_supplements", }, { label: "Individuals who are essential spouses", @@ -159,8 +147,7 @@ export const v202402: FormSchema = { { label: "Individuals who lost eligibility for SSI/SSP due to an increase in OASDI benefits in 1972", - value: - "lost_eligibility_SSI_SSP_increase_in_OASDI_benefits_1972", + value: "lost_eligibility_SSI_SSP_increase_in_OASDI_benefits_1972", }, { label: "Individuals with tuberculosis", @@ -171,8 +158,7 @@ export const v202402: FormSchema = { value: "infants_children_under_19", }, { - label: - "Institutionalized individuals continuously eligible since 1973", + label: "Institutionalized individuals continuously eligible since 1973", value: "institutionalized_eligible_1973", }, { @@ -185,10 +171,8 @@ export const v202402: FormSchema = { value: "med_needy_aged_blind_disabled", }, { - label: - "Medically needy blind or disabled individuals eligible in 1973", - value: - "med_needy_aged_blind_disabled_individuals_eligible_in_1973", + label: "Medically needy blind or disabled individuals eligible in 1973", + value: "med_needy_aged_blind_disabled_individuals_eligible_in_1973", }, { label: "Medically needy children age 18 through 20", @@ -207,15 +191,13 @@ export const v202402: FormSchema = { value: "med_needy_pregnant_women", }, { - label: - "Optional coverage of parents and other caretaker relatives", + label: "Optional coverage of parents and other caretaker relatives", value: "opt_coverage_parents_other_caretaker_relatives", }, { label: "Optional state supplement - 1634 states and SSI criteria states with 1616 agreements", - value: - "opt_state_supp_1634_states_SSI_criteria_states_1616_agreements", + value: "opt_state_supp_1634_states_SSI_criteria_states_1616_agreements", }, { label: @@ -244,8 +226,7 @@ export const v202402: FormSchema = { value: "qualified_disabled_children_under_19", }, { - label: - "Reasonable classifications of individuals under age 21", + label: "Reasonable classifications of individuals under age 21", value: "reasonable_class_under_21", }, { @@ -302,8 +283,7 @@ export const v202402: FormSchema = { ], }, { - description: - "Is enrollment available for all individuals in these eligibility groups?", + description: "Is enrollment available for all individuals in these eligibility groups?", slots: [ { rhf: "Select", @@ -364,13 +344,11 @@ export const v202402: FormSchema = { props: { options: [ { - label: - "Households with income at or below the standard", + label: "Households with income at or below the standard", value: "income_target_below", }, { - label: - "Households with income above the standard", + label: "Households with income above the standard", value: "income_target_above", }, ], @@ -415,14 +393,12 @@ export const v202402: FormSchema = { rules: { pattern: { value: /^\d*\.?\d+$/, - message: - "Must be a positive percentage", + message: "Must be a positive percentage", }, required: "* Required", }, name: "fed-poverty-level-percent", - label: - "Percentage of federal poverty level", + label: "Percentage of federal poverty level", labelClassName: "font-bold", }, ], @@ -434,8 +410,7 @@ export const v202402: FormSchema = { { rhf: "Input", name: "ssi-fed-benefit-percentage", - label: - "Percentage of SSI federal benefit", + label: "Percentage of SSI federal benefit", labelClassName: "font-bold", props: { icon: "%", @@ -445,8 +420,7 @@ export const v202402: FormSchema = { rules: { pattern: { value: /^\d*\.?\d+$/, - message: - "Must be a positive percentage", + message: "Must be a positive percentage", }, required: "* Required", }, @@ -470,8 +444,7 @@ export const v202402: FormSchema = { rules: { pattern: { value: /^\d*\.?\d+$/, - message: - "Must be a positive percentage", + message: "Must be a positive percentage", }, required: "* Required", }, @@ -484,8 +457,7 @@ export const v202402: FormSchema = { rules: { required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -520,19 +492,16 @@ export const v202402: FormSchema = { rhf: "FieldArray", name: "income-def-specific-state", props: { - appendText: - "Add standard", + appendText: "Add standard", }, fields: [ { rhf: "Input", label: "Household size", name: "house-size", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { - className: - "w-[150px]", + className: "w-[150px]", }, rules: { pattern: { @@ -540,30 +509,25 @@ export const v202402: FormSchema = { message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { rhf: "Input", name: "standard", label: "Standard", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { - className: - "w-[200px]", + className: "w-[200px]", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be a positive number, maximum of two decimals, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -573,8 +537,7 @@ export const v202402: FormSchema = { name: "is-increment-amount", label: "Is there an additional incremental amount?", - labelClassName: - "font-bold", + labelClassName: "font-bold", horizontalLayout: true, props: { @@ -613,8 +576,7 @@ export const v202402: FormSchema = { }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, @@ -637,22 +599,18 @@ export const v202402: FormSchema = { props: { ...DefaultFieldGroupProps, appendText: "Add region", - removeText: - "Remove region", + removeText: "Remove region", }, fields: [ { rhf: "Input", name: "name-of-region", label: "Region name", - labelClassName: - "font-bold", + labelClassName: "font-bold", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - /^\S(.*\S)?$/, + value: /^\S(.*\S)?$/, message: "Must not have leading or trailing whitespace.", }, @@ -662,14 +620,11 @@ export const v202402: FormSchema = { rhf: "Textarea", name: "region-descript", label: "Describe", - labelClassName: - "font-bold", + labelClassName: "font-bold", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -679,52 +634,42 @@ export const v202402: FormSchema = { rhf: "FieldArray", name: "add-house-size", props: { - appendText: - "Add household size", + appendText: "Add household size", }, fields: [ { rhf: "Input", - label: - "Household size", - labelClassName: - "font-bold", + label: "Household size", + labelClassName: "font-bold", name: "house-size", props: { - className: - "w-[150px]", + className: "w-[150px]", }, rules: { pattern: { - value: - /^[0-9]\d*$/, + value: /^[0-9]\d*$/, message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { rhf: "Input", name: "standard", label: "Standard", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { - className: - "w-[200px]", + className: "w-[200px]", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -734,8 +679,7 @@ export const v202402: FormSchema = { name: "is-increment-amount", label: "Is there an additional incremental amount?", - labelClassName: - "font-bold", + labelClassName: "font-bold", horizontalLayout: true, props: { @@ -753,23 +697,19 @@ export const v202402: FormSchema = { }, { rhf: "Input", - label: - "Incremental amount", + label: "Incremental amount", name: "increment-amount", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { icon: "$", - className: - "w-[200px]", + className: "w-[200px]", }, dependency: { conditions: [ { name: "is-increment-amount", type: "expectedValue", - expectedValue: - "yes", + expectedValue: "yes", }, ], effect: { @@ -778,13 +718,11 @@ export const v202402: FormSchema = { }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -794,8 +732,7 @@ export const v202402: FormSchema = { ], }, { - label: - "Standard varies by living arrangement", + label: "Standard varies by living arrangement", value: "living_standard", form: [ @@ -806,25 +743,19 @@ export const v202402: FormSchema = { name: "liv-arrange", props: { ...DefaultFieldGroupProps, - appendText: - "Add living arrangement", - removeText: - "Remove living arrangement", + appendText: "Add living arrangement", + removeText: "Remove living arrangement", }, fields: [ { rhf: "Input", name: "name-of-liv-arrange", - label: - "Name of living arrangement", - labelClassName: - "font-bold", + label: "Name of living arrangement", + labelClassName: "font-bold", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - /^\S(.*\S)?$/, + value: /^\S(.*\S)?$/, message: "Must not have leading or trailing whitespace.", }, @@ -834,14 +765,11 @@ export const v202402: FormSchema = { rhf: "Textarea", name: "liv-arrange-descript", label: "Describe", - labelClassName: - "font-bold", + labelClassName: "font-bold", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -851,52 +779,42 @@ export const v202402: FormSchema = { rhf: "FieldArray", name: "add-house-size", props: { - appendText: - "Add household size", + appendText: "Add household size", }, fields: [ { rhf: "Input", - label: - "Household size", - labelClassName: - "font-bold", + label: "Household size", + labelClassName: "font-bold", name: "house-size", props: { - className: - "w-[150px]", + className: "w-[150px]", }, rules: { pattern: { - value: - /^[0-9]\d*$/, + value: /^[0-9]\d*$/, message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { rhf: "Input", name: "standard", label: "Standard", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { - className: - "w-[200px]", + className: "w-[200px]", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -906,8 +824,7 @@ export const v202402: FormSchema = { name: "is-increment-amount", label: "Is there an additional incremental amount?", - labelClassName: - "font-bold", + labelClassName: "font-bold", horizontalLayout: true, props: { @@ -926,23 +843,19 @@ export const v202402: FormSchema = { { rhf: "Input", - label: - "Incremental amount", + label: "Incremental amount", name: "increment-amount", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { icon: "$", - className: - "w-[200px]", + className: "w-[200px]", }, dependency: { conditions: [ { name: "is-increment-amount", type: "expectedValue", - expectedValue: - "yes", + expectedValue: "yes", }, ], effect: { @@ -951,13 +864,11 @@ export const v202402: FormSchema = { }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -967,8 +878,7 @@ export const v202402: FormSchema = { ], }, { - label: - "Standard varies in some other way", + label: "Standard varies in some other way", value: "other_standard", form: [ @@ -979,24 +889,19 @@ export const v202402: FormSchema = { name: "add-other-way", props: { ...DefaultFieldGroupProps, - appendText: - "Add other way", - removeText: - "Remove other way", + appendText: "Add other way", + removeText: "Remove other way", }, fields: [ { rhf: "Input", name: "name-of-group", label: "Name", - labelClassName: - "font-bold", + labelClassName: "font-bold", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - /^\S(.*\S)?$/, + value: /^\S(.*\S)?$/, message: "Must not have leading or trailing whitespace.", }, @@ -1006,14 +911,11 @@ export const v202402: FormSchema = { rhf: "Textarea", name: "group-descript", label: "Describe", - labelClassName: - "font-bold", + labelClassName: "font-bold", rules: { - required: - "* Required", + required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -1023,52 +925,42 @@ export const v202402: FormSchema = { rhf: "FieldArray", name: "add-house-size", props: { - appendText: - "Add household size", + appendText: "Add household size", }, fields: [ { rhf: "Input", - label: - "Household size", + label: "Household size", name: "house-size", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { - className: - "w-[150px]", + className: "w-[150px]", }, rules: { pattern: { - value: - /^[0-9]\d*$/, + value: /^[0-9]\d*$/, message: "Must be a positive integer value", }, - required: - "* Required", + required: "* Required", }, }, { rhf: "Input", name: "standard", label: "Standard", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { - className: - "w-[200px]", + className: "w-[200px]", icon: "$", }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -1078,8 +970,7 @@ export const v202402: FormSchema = { name: "is-increment-amount", label: "Is there an additional incremental amount?", - labelClassName: - "font-bold", + labelClassName: "font-bold", horizontalLayout: true, props: { @@ -1097,23 +988,19 @@ export const v202402: FormSchema = { }, { rhf: "Input", - label: - "Incremental amount", + label: "Incremental amount", name: "increment-amount", - labelClassName: - "font-bold", + labelClassName: "font-bold", props: { icon: "$", - className: - "w-[200px]", + className: "w-[200px]", }, dependency: { conditions: [ { name: "is-increment-amount", type: "expectedValue", - expectedValue: - "yes", + expectedValue: "yes", }, ], effect: { @@ -1122,13 +1009,11 @@ export const v202402: FormSchema = { }, rules: { pattern: { - value: - /^\d*(?:\.\d{1,2})?$/, + value: /^\d*(?:\.\d{1,2})?$/, message: "Must be all numbers, no commas. e.g. 1234.56", }, - required: - "* Required", + required: "* Required", }, }, ], @@ -1203,8 +1088,7 @@ export const v202402: FormSchema = { { label: "Asthma", value: "asthma" }, { label: "Obesity", value: "obesity" }, { - label: - "Other disease, condition, diagnosis, or disorder", + label: "Other disease, condition, diagnosis, or disorder", value: "other", slots: [ { @@ -1216,8 +1100,7 @@ export const v202402: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1241,8 +1124,7 @@ export const v202402: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1260,8 +1142,7 @@ export const v202402: FormSchema = { sectionId: "geo-area", form: [ { - description: - "Will this benefit package be available to the entire state/territory?", + description: "Will this benefit package be available to the entire state/territory?", slots: [ { rhf: "Select", @@ -1314,8 +1195,7 @@ export const v202402: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1337,8 +1217,7 @@ export const v202402: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1360,8 +1239,7 @@ export const v202402: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1383,8 +1261,7 @@ export const v202402: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, diff --git a/lib/libs/webforms/ABP10/v202401.ts b/lib/libs/webforms/ABP10/v202401.ts index 6804214e3c..f7c4b066a6 100644 --- a/lib/libs/webforms/ABP10/v202401.ts +++ b/lib/libs/webforms/ABP10/v202401.ts @@ -48,8 +48,7 @@ export const v202401: FormSchema = { label: "Describe the approach", labelClassName: "font-bold", name: "approach-description", - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", rules: { required: "* Required", pattern: { @@ -97,8 +96,7 @@ export const v202401: FormSchema = { { label: "The state or territory assures that all providers of Alternative Benefit Plan benefits shall meet the provider qualification requirements of the base benchmark plan and/or the Medicaid state plan.", - value: - "providers_of_alternative_benefit_plan_meets_provider_qualifications", + value: "providers_of_alternative_benefit_plan_meets_provider_qualifications", }, ], }, diff --git a/lib/libs/webforms/ABP2A/v202401.ts b/lib/libs/webforms/ABP2A/v202401.ts index e941a55fba..02cfe564b4 100644 --- a/lib/libs/webforms/ABP2A/v202401.ts +++ b/lib/libs/webforms/ABP2A/v202401.ts @@ -39,8 +39,7 @@ export const v202401: FormSchema = { { rhf: "Textarea", name: "explain-how-state-territory-aligned", - description: - "Explain how the state has fully aligned its benefits.", + description: "Explain how the state has fully aligned its benefits.", descriptionAbove: true, descriptionClassName: "font-bold text-black", rules: { @@ -97,8 +96,7 @@ export const v202401: FormSchema = { { label: "The state/territory must have a process in place to identify individuals that meet the exemption criteria, and the state/territory must comply with requirements related to providing the option of enrollment in an ABP defined using Section 1937 requirements or an ABP defined as the state/territory's approved Medicaid state plan not subject to Section 1937 requirements.", - value: - "state_territory_must_have_a_process_that_meets_exemption_criteria", + value: "state_territory_must_have_a_process_that_meets_exemption_criteria", }, { styledLabel: [ @@ -143,8 +141,7 @@ export const v202401: FormSchema = { classname: "block py-1", }, ], - value: - "state_territory_assures_it_will_inform_the_individual", + value: "state_territory_assures_it_will_inform_the_individual", }, ], }, @@ -198,8 +195,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -211,8 +207,7 @@ export const v202401: FormSchema = { { rhf: "Upload", name: "provide-copy_upload", - description: - "Provide a copy of the letter, email, or other communication.", + description: "Provide a copy of the letter, email, or other communication.", descriptionAbove: true, descriptionClassName: "font-bold text-black", rules: { @@ -224,8 +219,7 @@ export const v202401: FormSchema = { rhf: "Input", name: "when-to-inform", descriptionAbove: true, - description: - "When did/will the state/territory inform the individuals?", + description: "When did/will the state/territory inform the individuals?", rules: { required: "* Required", pattern: { @@ -280,8 +274,7 @@ export const v202401: FormSchema = { text: "C. Chose to enroll in ABP coverage subject to Section 1937 requirements or defined as the state/territory's approved Medicaid state plan not subject to Section 1937 requirements", }, ], - value: - "state_territory_will_document_exempt_individuals_eligibility", + value: "state_territory_will_document_exempt_individuals_eligibility", }, ], }, @@ -318,8 +311,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -333,8 +325,7 @@ export const v202401: FormSchema = { name: "what-docu-will-be-maintained", descriptionAbove: true, descriptionClassName: "font-bold text-black", - description: - "What documentation will be maintained in the eligibility file?", + description: "What documentation will be maintained in the eligibility file?", formItemClassName: "pb-6 border-b-[1px] border-[#AEB0B5]", rules: { required: "* Required", @@ -348,13 +339,11 @@ export const v202401: FormSchema = { { label: "Signed documentation from the individual consenting to enrollment in the ABP", - value: - "signed_documentation_from_individual_consenting_enrollment_ABP", + value: "signed_documentation_from_individual_consenting_enrollment_ABP", }, { label: "Other", - value: - "what_documentation_will_be_maintained_in_the_eligibility_file_other", + value: "what_documentation_will_be_maintained_in_the_eligibility_file_other", slots: [ { rhf: "Textarea", @@ -365,8 +354,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, diff --git a/lib/libs/webforms/ABP2B/v202401.ts b/lib/libs/webforms/ABP2B/v202401.ts index 068496928b..afa42bd6de 100644 --- a/lib/libs/webforms/ABP2B/v202401.ts +++ b/lib/libs/webforms/ABP2B/v202401.ts @@ -61,8 +61,7 @@ export const v202401: FormSchema = { classname: "block pt-1", }, ], - value: - "effectively_inform_voluntarily_enroll_and_may_disenroll", + value: "effectively_inform_voluntarily_enroll_and_may_disenroll", }, { styledLabel: [ @@ -82,8 +81,7 @@ export const v202401: FormSchema = { classname: "block pt-1", }, ], - value: - "inform_individuals_of_abp_benefits_and_costs_of_different_packages", + value: "inform_individuals_of_abp_benefits_and_costs_of_different_packages", }, ], }, @@ -127,8 +125,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -140,8 +137,7 @@ export const v202401: FormSchema = { { rhf: "Upload", name: "provide-copy", - description: - "Provide a copy of the letter, email, or other communication.", + description: "Provide a copy of the letter, email, or other communication.", descriptionAbove: true, descriptionClassName: "font-bold text-black", rules: { @@ -153,8 +149,7 @@ export const v202401: FormSchema = { rhf: "Input", name: "when-to-inform", descriptionAbove: true, - description: - "When did/will the state/territory inform the individuals?", + description: "When did/will the state/territory inform the individuals?", rules: { required: "* Required", pattern: { @@ -209,8 +204,7 @@ export const v202401: FormSchema = { text: " C. Chose to enroll in ABP coverage subject to Section 1937 requirements or defined as the state/territory's approved Medicaid state plan not subject to Section 1937 requirements", }, ], - value: - "state_territory_will_document_exempt_individuals_eligibility", + value: "state_territory_will_document_exempt_individuals_eligibility", }, ], }, @@ -247,8 +241,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -262,8 +255,7 @@ export const v202401: FormSchema = { name: "what-docu-will-be-maintained", descriptionAbove: true, descriptionClassName: "font-bold text-black", - description: - "What documentation will be maintained in the eligibility file?", + description: "What documentation will be maintained in the eligibility file?", formItemClassName: "pb-6 border-b-[1px] border-[#AEB0B5]", rules: { required: "* Required", @@ -277,13 +269,11 @@ export const v202401: FormSchema = { { label: "Signed documentation from the individual consenting to enrollment in the ABP", - value: - "signed_documentation_from_individual_consenting_enrollment_ABP", + value: "signed_documentation_from_individual_consenting_enrollment_ABP", }, { label: "Other", - value: - "what_documentation_will_be_maintained_in_the_eligibility_file_other", + value: "what_documentation_will_be_maintained_in_the_eligibility_file_other", slots: [ { rhf: "Textarea", @@ -294,8 +284,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, diff --git a/lib/libs/webforms/ABP2C/v202401.ts b/lib/libs/webforms/ABP2C/v202401.ts index c1bd304b2b..48840b5e11 100644 --- a/lib/libs/webforms/ABP2C/v202401.ts +++ b/lib/libs/webforms/ABP2C/v202401.ts @@ -69,8 +69,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -89,8 +88,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -109,8 +107,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -162,8 +159,7 @@ export const v202401: FormSchema = { { name: "how-id-become-exempt", rhf: "Checkbox", - label: - "How will the state/territory identify if an individual becomes exempt?", + label: "How will the state/territory identify if an individual becomes exempt?", labelClassName: "font-bold text-black", rules: { required: "* Required" }, props: { @@ -201,8 +197,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -249,8 +244,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, diff --git a/lib/libs/webforms/ABP3/v202401.ts b/lib/libs/webforms/ABP3/v202401.ts index 09a7c505e9..ed0f380888 100644 --- a/lib/libs/webforms/ABP3/v202401.ts +++ b/lib/libs/webforms/ABP3/v202401.ts @@ -2,8 +2,7 @@ import { FormSchema } from "shared-types"; import { noLeadingTrailingWhitespace } from "shared-utils/regex"; export const v202401: FormSchema = { - header: - "ABP 3: Selection of benchmark or benchmark-equivalent benefit package", + header: "ABP 3: Selection of benchmark or benchmark-equivalent benefit package", formId: "abp3", sections: [ { @@ -11,8 +10,7 @@ export const v202401: FormSchema = { sectionId: "benefit-package", form: [ { - description: - "For the population defined in section 1, the state/territory wants to:", + description: "For the population defined in section 1, the state/territory wants to:", slots: [ { rhf: "Radio", @@ -168,22 +166,19 @@ export const v202401: FormSchema = { rhf: "Radio", name: "approved-state-plan-opts", rules: { - required: - "* Required", + required: "* Required", }, props: { options: [ { label: "Benefits provided in the approved state plan", - value: - "approved_state_plan", + value: "approved_state_plan", }, { label: "All benefits provided in the approved state plan plus additional benefits", - value: - "additional_benefits", + value: "additional_benefits", }, { label: @@ -194,8 +189,7 @@ export const v202401: FormSchema = { { label: "A partial list of benefits provided in the approved state plan", - value: - "partial_list_of_benefits", + value: "partial_list_of_benefits", }, { label: @@ -227,8 +221,7 @@ export const v202401: FormSchema = { rules: { required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -351,8 +344,7 @@ export const v202401: FormSchema = { slots: [ { rhf: "Select", - label: - "Is the base benchmark plan the same as the Section 1937 coverage option?", + label: "Is the base benchmark plan the same as the Section 1937 coverage option?", labelClassName: "font-bold", name: "same-as-sect-1937", rules: { required: "* Required" }, diff --git a/lib/libs/webforms/ABP3_1/v202401.ts b/lib/libs/webforms/ABP3_1/v202401.ts index fb730e2502..28bf45194a 100644 --- a/lib/libs/webforms/ABP3_1/v202401.ts +++ b/lib/libs/webforms/ABP3_1/v202401.ts @@ -2,8 +2,7 @@ import { FormSchema } from "shared-types"; import { noLeadingTrailingWhitespace } from "shared-utils/regex"; export const v202401: FormSchema = { - header: - "ABP 3.1 Selection of benchmark or benchmark-equivalent benefit package", + header: "ABP 3.1 Selection of benchmark or benchmark-equivalent benefit package", formId: "abp3-1", sections: [ { @@ -11,8 +10,7 @@ export const v202401: FormSchema = { sectionId: "benefit-package-details", form: [ { - description: - "For the population defined in Section 1, the state/territory wants to:", + description: "For the population defined in Section 1, the state/territory wants to:", slots: [ { rhf: "Radio", @@ -108,8 +106,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -132,8 +129,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -174,8 +170,7 @@ export const v202401: FormSchema = { { label: "Benefits provided in the approved state plan plus additional benefits", - value: - "additional_benefits", + value: "additional_benefits", }, { label: @@ -186,8 +181,7 @@ export const v202401: FormSchema = { { label: "A partial list of benefits provided in the approved state plan", - value: - "partial_list", + value: "partial_list", }, { label: @@ -198,8 +192,7 @@ export const v202401: FormSchema = { ], }, rules: { - required: - "* Required", + required: "* Required", }, }, ], @@ -226,8 +219,7 @@ export const v202401: FormSchema = { rules: { required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -280,8 +272,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -304,8 +295,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -360,8 +350,7 @@ export const v202401: FormSchema = { { name: "is-ehb-bench-plan-same-section-1937", rhf: "Select", - label: - "Is the EHB-benchmark plan the same as the Section 1937 coverage option?", + label: "Is the EHB-benchmark plan the same as the Section 1937 coverage option?", labelClassName: "font-bold", rules: { required: "* Required", @@ -541,8 +530,7 @@ export const v202401: FormSchema = { value: "largest_three_state_FEHBP_plans", }, { - label: - "The largest insured commercial, non-Medicaid HMO", + label: "The largest insured commercial, non-Medicaid HMO", value: "larged_insured_commercial", }, ], @@ -585,8 +573,7 @@ export const v202401: FormSchema = { value: "largest_three_state_FEHBP_plans", }, { - label: - "The largest insured commercial, non-Medicaid HMO", + label: "The largest insured commercial, non-Medicaid HMO", value: "larged_insured_commercial", }, ], @@ -1063,10 +1050,8 @@ export const v202401: FormSchema = { ], }, { - label: - "Mental health and substance use disorders", - value: - "mental_health_and_substance_use_disorders", + label: "Mental health and substance use disorders", + value: "mental_health_and_substance_use_disorders", slots: [ { rhf: "Select", @@ -1297,10 +1282,8 @@ export const v202401: FormSchema = { ], }, { - label: - "Rehabilitative and habilitative services and devices", - value: - "rehabilitative_and_habilitative_services_and_devices", + label: "Rehabilitative and habilitative services and devices", + value: "rehabilitative_and_habilitative_services_and_devices", slots: [ { rhf: "Select", @@ -1649,10 +1632,8 @@ export const v202401: FormSchema = { ], }, { - label: - "Pediatric services, including oral and vision care", - value: - "pediatric_services_including_oral_and_vision_care", + label: "Pediatric services, including oral and vision care", + value: "pediatric_services_including_oral_and_vision_care", slots: [ { rhf: "Select", diff --git a/lib/libs/webforms/ABP4/v202401.ts b/lib/libs/webforms/ABP4/v202401.ts index f810654b46..feb2fd5e42 100644 --- a/lib/libs/webforms/ABP4/v202401.ts +++ b/lib/libs/webforms/ABP4/v202401.ts @@ -46,8 +46,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "wrapped", props: { - wrapperClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary pb-6", + wrapperClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary pb-6", }, dependency: { conditions: [ @@ -67,8 +66,7 @@ export const v202401: FormSchema = { props: { options: [ { - label: - "See approved Attachment 4.18-F or G for description.", + label: "See approved Attachment 4.18-F or G for description.", value: "true", }, ], @@ -86,8 +84,7 @@ export const v202401: FormSchema = { { rhf: "Textarea", name: "other-info-about-requirements", - label: - "Other information about cost-sharing requirements (optional)", + label: "Other information about cost-sharing requirements (optional)", labelClassName: "font-bold", rules: { pattern: { diff --git a/lib/libs/webforms/ABP5/v202401.ts b/lib/libs/webforms/ABP5/v202401.ts index 5f655fc0e0..08e9e5d399 100644 --- a/lib/libs/webforms/ABP5/v202401.ts +++ b/lib/libs/webforms/ABP5/v202401.ts @@ -151,8 +151,7 @@ function subsectionFormFields({ }, { rhf: "Input", - label: - "Other information about this benefit source, including the name of the source plan", + label: "Other information about this benefit source, including the name of the source plan", labelClassName: "font-bold", name: "source-other-info_input", formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", @@ -176,8 +175,7 @@ function subsectionFormFields({ }, { rhf: "Input", - label: - "Other information about this benefit source, including the name of the source plan", + label: "Other information about this benefit source, including the name of the source plan", labelClassName: "font-bold", name: "secretary-other-info_input", formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", @@ -357,8 +355,7 @@ function subsection({ ? ([ { rhf: "Radio", - label: - "Is there an EHB-benchmark benefit duplicated or substituted?", + label: "Is there an EHB-benchmark benefit duplicated or substituted?", labelClassName: "font-bold", name: "benefit-dupe-or-sub", rules: { required: "* Required" }, @@ -379,8 +376,7 @@ function subsection({ required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -403,8 +399,7 @@ function subsection({ required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -449,8 +444,7 @@ export const v202401: FormSchema = { slots: [ { rhf: "Select", - label: - "Does this description of benefits align with the traditional state plan?", + label: "Does this description of benefits align with the traditional state plan?", labelClassName: "font-bold", name: "benefits-align", rules: { required: "* Required" }, @@ -475,8 +469,7 @@ export const v202401: FormSchema = { slots: [ { rhf: "Select", - label: - "Does the state/territory propose a benchmark-equivalent benefit package?", + label: "Does the state/territory propose a benchmark-equivalent benefit package?", labelClassName: "font-bold", name: "benchmark-equivalent-pkg", rules: { required: "* Required" }, @@ -676,8 +669,7 @@ export const v202401: FormSchema = { }, { rhf: "Input", - label: - "Coverage that exceeds the minimum requirements or other information", + label: "Coverage that exceeds the minimum requirements or other information", labelClassName: "font-bold", name: "other-info", rules: { @@ -690,8 +682,7 @@ export const v202401: FormSchema = { }, { rhf: "Radio", - label: - "Is there an EHB-benchmark benefit duplicated or substituted?", + label: "Is there an EHB-benchmark benefit duplicated or substituted?", labelClassName: "font-bold", name: "benefit-dup-or-sub", rules: { required: "* Required" }, @@ -712,8 +703,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -736,8 +726,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -754,8 +743,7 @@ export const v202401: FormSchema = { ], }, subsection({ - title: - "7. Essential health benefit: Rehabilitative and habilitative services and devices", + title: "7. Essential health benefit: Rehabilitative and habilitative services and devices", sectionName: "rehabilitative-and-habilitative", dependency: initialDependency, headerSlots: [ @@ -789,8 +777,7 @@ export const v202401: FormSchema = { "The state/territory must provide, at a minimum, a broad range of preventive services, including “A” and “B” services recommended by the United States Preventive Services Task Force; vaccines recommended by the Advisory Committee for Immunization Practices (ACIP); preventive care and screening for infants, children, and adults recommended by the Health Resources and Services Administration (HRSA) Bright Futures program; and additional preventive services for women recommended by the Institute of Medicine (IOM).", }), subsection({ - title: - "10. Essential health benefit: Pediatric services including oral and vision care", + title: "10. Essential health benefit: Pediatric services including oral and vision care", sectionName: "pediatric", dependency: initialDependency, benefitProvided: "Medicaid State Plan EPSDT Benefits", @@ -808,8 +795,7 @@ export const v202401: FormSchema = { props: { options: [ { - label: - "11. Other covered benefits that are not essential health benefits", + label: "11. Other covered benefits that are not essential health benefits", optionlabelClassName: "text-2xl font-bold p-4 bg-gray-300 py-4 px-8 w-full leading-9 text-primary", value: "other_covered_benefits_benefit", @@ -854,15 +840,13 @@ export const v202401: FormSchema = { fields: [ { rhf: "Input", - label: - "Base benchmark benefit that was substituted", + label: "Base benchmark benefit that was substituted", labelClassName: "font-bold", rules: { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, name: "benchmark-subbed", @@ -884,8 +868,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, diff --git a/lib/libs/webforms/ABP6/v202401.ts b/lib/libs/webforms/ABP6/v202401.ts index 81c153a4c5..12394a4adf 100644 --- a/lib/libs/webforms/ABP6/v202401.ts +++ b/lib/libs/webforms/ABP6/v202401.ts @@ -55,8 +55,7 @@ export const v202401: FormSchema = { { type: "greaterThanField", fieldName: "abp6_desc-of-ben_agg-actuarial-ben-plan", - message: - "Must be greater than or equal to value entered above.", + message: "Must be greater than or equal to value entered above.", }, ], }, @@ -82,8 +81,7 @@ export const v202401: FormSchema = { }, { value: "acturaial_report", - label: - "The state/territory has included a copy of the actuarial report.", + label: "The state/territory has included a copy of the actuarial report.", slots: [ { name: "actuarial-report", @@ -148,8 +146,7 @@ export const v202401: FormSchema = { }, { value: "standard_utilization_price_factors", - label: - "Using a standardized set of utilization and price factors", + label: "Using a standardized set of utilization and price factors", }, { value: "using_standard_representative_pop", @@ -186,8 +183,7 @@ export const v202401: FormSchema = { "The state/territory assures, as required by Section 1937(b)(2)(A) and 42 CFR 440.335, that benchmark-equivalent coverage shall include coverage for the following categories of services: inpatient and outpatient hospital services, physicians' surgical and medical services, laboratory and x-ray services, prescription drugs, well-baby and well-child care, including age-appropriate immunizations, emergency services, mental health benefits, family planning services and supplies, and other appropriate preventive services as designated by the Secretary.", }, { - value: - "inlcuded_desc_of_ben_and_val_as_percentage_of_equivalent", + value: "inlcuded_desc_of_ben_and_val_as_percentage_of_equivalent", label: "The state/territory has included a description of the benefits included and the actuarial value of the category as a percentage of the actuarial value of the coverage for the benefits included in the benchmark-equivalent benefit plan.", }, @@ -295,8 +291,7 @@ export const v202401: FormSchema = { sectionId: "addtnl-info", form: [ { - description: - "Other information about benchmark-equivalent assurances (optional)", + description: "Other information about benchmark-equivalent assurances (optional)", slots: [ { name: "description", diff --git a/lib/libs/webforms/ABP7/v202401.ts b/lib/libs/webforms/ABP7/v202401.ts index 6b2ee49be5..420ea228b4 100644 --- a/lib/libs/webforms/ABP7/v202401.ts +++ b/lib/libs/webforms/ABP7/v202401.ts @@ -6,8 +6,7 @@ export const v202401: FormSchema = { formId: "abp7", sections: [ { - title: - "Early and Periodic Screening, Diagnostic, and Treatment (EPSDT) assurances", + title: "Early and Periodic Screening, Diagnostic, and Treatment (EPSDT) assurances", sectionId: "epsdt-assurances", form: [ { @@ -18,8 +17,7 @@ export const v202401: FormSchema = { { rhf: "Select", name: "does-abp-include-beneficiaries-under-21", - label: - "Does the Alternative Benefit Plan (ABP) include beneficiaries under age 21?", + label: "Does the Alternative Benefit Plan (ABP) include beneficiaries under age 21?", labelClassName: "font-bold", rules: { required: "* Required" }, props: { @@ -128,10 +126,8 @@ export const v202401: FormSchema = { value: "risk_based_capitation", }, { - label: - "Administrative services contract", - value: - "administrative_services_contract", + label: "Administrative services contract", + value: "administrative_services_contract", }, { label: "Other", @@ -145,8 +141,7 @@ export const v202401: FormSchema = { rules: { required: "* Required", pattern: { - value: - noLeadingTrailingWhitespace, + value: noLeadingTrailingWhitespace, message: "Must not have leading or trailing whitespace.", }, @@ -215,8 +210,7 @@ export const v202401: FormSchema = { { label: "The state/territory assures that it meets the minimum requirements for prescription drug coverage in Section 1937 of the Act and implementing regulations at 42 CFR 440.347. Coverage is at least the greater of one drug in each United States Pharmacopeia (USP) category and class or the same number of prescription drugs in each category and class as the base benchmark.", - value: - "assures_min_requirements_for_perscription_drug_coverage", + value: "assures_min_requirements_for_perscription_drug_coverage", }, { label: @@ -227,14 +221,12 @@ export const v202401: FormSchema = { { label: "The state/territory assures that when it pays for outpatient prescription drugs covered under an ABP, it meets the requirements of Section 1927 of the Act and implementing regulations at 42 CFR 440.345, except for those requirements that are directly contrary to amount, duration, and scope of coverage permitted under Section 1937 of the Act.", - value: - "assures_outpatient_prescription_drugs_coverage_under_abp", + value: "assures_outpatient_prescription_drugs_coverage_under_abp", }, { label: "The state/territory assures that when conducting prior authorization of prescription drugs under an ABP, it complies with prior authorization program requirements in Section 1927(d)(5) of the Act.", - value: - "assures_prior_authorization_of_drugs_under_abp_prior", + value: "assures_prior_authorization_of_drugs_under_abp_prior", }, ], }, @@ -258,8 +250,7 @@ export const v202401: FormSchema = { { label: "The state/territory assures that substituted benefits are actuarially equivalent to the benefits they replaced from the base benchmark plan and that the state/territory has actuarial certification for substituted benefits available for inspection if requested by CMS.", - value: - "assures_substituted_benefits_are_actuarially_equivalent", + value: "assures_substituted_benefits_are_actuarially_equivalent", }, { label: @@ -280,8 +271,7 @@ export const v202401: FormSchema = { { label: "The state/territory assures that it will comply with the mental health and substance use disorder parity requirements of Section 1937(b)(6) of the Act by ensuring that the financial requirements and treatment limitations applicable to mental health or substance use disorder benefits comply with Section 2705(a) of the Public Health Service Act in the same manner as such requirements apply to a group health plan.", - value: - "assures_compliy_with_mental_healthy_and_substance_use_disorder", + value: "assures_compliy_with_mental_healthy_and_substance_use_disorder", }, { label: @@ -296,8 +286,7 @@ export const v202401: FormSchema = { { label: "The state/territory assures, in accordance with 45 CFR 156.115(a)(4) and 45 CFR 147.130, that it will provide as essential health benefits a broad range of preventive services including: “A” and “B” services recommended by the United States Preventive Services Task Force; vaccines recommended by the Advisory Committee for Immunization Practices (ACIP); preventive care and screening for infants, children, and adults recommended by HRSA's Bright Futures program; and additional preventive services for women recommended by the Institute of Medicine (IOM).", - value: - "assures_accordance_with_CFR_it_will_provide_essential_health_benefits", + value: "assures_accordance_with_CFR_it_will_provide_essential_health_benefits", }, ], }, diff --git a/lib/libs/webforms/ABP8/sections/v202401.ts b/lib/libs/webforms/ABP8/sections/v202401.ts index 6785b253b6..573aed3ebb 100644 --- a/lib/libs/webforms/ABP8/sections/v202401.ts +++ b/lib/libs/webforms/ABP8/sections/v202401.ts @@ -52,11 +52,7 @@ export function generateDependency({ // Section generators --------------------------------------------------------- -export function managedCare({ - conditionalInfo, - programLabel, - title, -}: SectionParams): Section { +export function managedCare({ conditionalInfo, programLabel, title }: SectionParams): Section { return { title: title || `${programLabel}`, sectionId: createSectionId(programLabel), @@ -149,8 +145,7 @@ export function managedCare({ ], }, { - label: - "Section 1932(a) mandatory managed care state plan amendment", + label: "Section 1932(a) mandatory managed care state plan amendment", value: "1932a", slots: [ { @@ -205,8 +200,7 @@ export function managedCare({ }, { label: `${ - programLabel === SectionName.HIO || - programLabel === SectionName.MCO + programLabel === SectionName.HIO || programLabel === SectionName.MCO ? "An" : "A" } ${programLabel} consistent with applicable managed care requirements (42 CFR Part 438, 42 CFR Part 440, and Sections 1903(m), 1932, and 1937 of the Social Security Act)`, @@ -222,10 +216,7 @@ export function managedCare({ } // "[Program] procurement or selection" -export function procurementOrSelection({ - conditionalInfo, - programLabel, -}: SectionParams): Section { +export function procurementOrSelection({ conditionalInfo, programLabel }: SectionParams): Section { return { title: `${programLabel} procurement or selection`, sectionId: `${createSectionId(programLabel)}-procurement`, @@ -301,8 +292,7 @@ export function deliverySystemCharactaristics({ rhf: "WrappedGroup", name: "benefit-service-group", props: { - wrapperClassName: - "ml-[0.6rem] pl-4 border-l-4 border-l-primary my-2 space-y-6", + wrapperClassName: "ml-[0.6rem] pl-4 border-l-4 border-l-primary my-2 space-y-6", }, fields: [ { @@ -326,8 +316,7 @@ export function deliverySystemCharactaristics({ required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -370,13 +359,11 @@ export function deliverySystemCharactaristics({ value: "ffs-provider-contracts", }, { - label: - "Provision of payments to FFS providers on behalf of the state", + label: "Provision of payments to FFS providers on behalf of the state", value: "ffs-provider-payments", }, { - label: - "Provision of enrollee outreach and education activities", + label: "Provision of enrollee outreach and education activities", value: "enrollee-outreach", }, { @@ -394,13 +381,11 @@ export function deliverySystemCharactaristics({ value: "quality-improvement", }, { - label: - "Coordination with behavioral health systems/providers", + label: "Coordination with behavioral health systems/providers", value: "behavioral-health-coordination", }, { - label: - "Coordination with long-term services and support systems/providers", + label: "Coordination with long-term services and support systems/providers", value: "ltss-coordination", }, { @@ -416,8 +401,7 @@ export function deliverySystemCharactaristics({ required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -523,8 +507,7 @@ export function deliverySystemCharactaristics({ ], }, { - label: - "In some other geographic area (must not be smaller than a zip code)", + label: "In some other geographic area (must not be smaller than a zip code)", value: "other-geographic-area", slots: [ { @@ -551,10 +534,7 @@ export function deliverySystemCharactaristics({ } // "[Program] participation exclusions" -export function participationExclusions({ - conditionalInfo, - programLabel, -}: SectionParams): Section { +export function participationExclusions({ conditionalInfo, programLabel }: SectionParams): Section { const sectionId = `${createSectionId(programLabel)}_participation-exclusions`; return { @@ -603,8 +583,7 @@ export function participationExclusions({ value: "less-than-three-months", }, { - label: - "Individuals in a retroactive period of Medicaid eligibility", + label: "Individuals in a retroactive period of Medicaid eligibility", value: "retroactive-period", }, { @@ -620,8 +599,7 @@ export function participationExclusions({ required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -678,8 +656,7 @@ export function participationRequirements({ required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -689,8 +666,7 @@ export function participationRequirements({ ], }, { - label: - "Voluntary, using the below method for effectuating enrollment", + label: "Voluntary, using the below method for effectuating enrollment", value: "voluntary", slots: [ { @@ -740,10 +716,7 @@ export function participationRequirements({ } // "Disenrollment" -export function disenrollment({ - conditionalInfo, - programLabel, -}: SectionParams): Section { +export function disenrollment({ conditionalInfo, programLabel }: SectionParams): Section { const sectionId = `${createSectionId(programLabel)}_disenrollment`; return { title: "Disenrollment", @@ -777,8 +750,7 @@ export function disenrollment({ }, { rhf: "Input", - label: - "Length of time the disenrollment limitation will apply (up to 12 months)", + label: "Length of time the disenrollment limitation will apply (up to 12 months)", labelClassName: "font-bold", name: "disenrollment-limit-length", props: { @@ -827,8 +799,7 @@ export function disenrollment({ }, { rhf: "Textarea", - label: - "Additional circumstances of cause for disenrollment (optional)", + label: "Additional circumstances of cause for disenrollment (optional)", labelClassName: "font-bold", name: "additional-disenrollment-cause", props: { @@ -879,8 +850,7 @@ export function disenrollment({ ], }, { - label: - "Enrollees submit disenrollment requests to the state or its agent.", + label: "Enrollees submit disenrollment requests to the state or its agent.", value: "submit-requests", }, { @@ -893,8 +863,7 @@ export function disenrollment({ "The MCO/HIO/PIHP/PAHP/PCCM/PCCM entity may not approve or disapprove requests and must refer all disenrollment requests received to the state.", value: `${createSectionId(programLabel)}-refers-requests`, }, - ...(programLabel === SectionName.PCCM || - programLabel === SectionName.PCCMEntity + ...(programLabel === SectionName.PCCM || programLabel === SectionName.PCCMEntity ? [] : [ { @@ -982,8 +951,7 @@ export function disenrollment({ required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -1019,10 +987,7 @@ export function disenrollment({ } // "Additional information: [program]" -export function additionalInfo({ - conditionalInfo, - programLabel, -}: SectionParams): Section { +export function additionalInfo({ conditionalInfo, programLabel }: SectionParams): Section { return { title: `Additional information: ${programLabel}`, sectionId: `additional-info-${createSectionId(programLabel)}`, @@ -1036,8 +1001,7 @@ export function additionalInfo({ slots: [ { rhf: "Textarea", - label: - "Additional details about this service delivery system (optional)", + label: "Additional details about this service delivery system (optional)", labelClassName: "font-bold", name: "additional-details", props: { @@ -1057,10 +1021,7 @@ export function additionalInfo({ } // "[Program] payments" -export function payments({ - conditionalInfo, - programLabel, -}: SectionParams): Section { +export function payments({ conditionalInfo, programLabel }: SectionParams): Section { const pccmEntityPayment: RHFOption[] = programLabel === SectionName.PCCMEntity ? [ @@ -1111,8 +1072,7 @@ export function payments({ required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, diff --git a/lib/libs/webforms/ABP8/v202401.ts b/lib/libs/webforms/ABP8/v202401.ts index aac203103e..246a272ed1 100644 --- a/lib/libs/webforms/ABP8/v202401.ts +++ b/lib/libs/webforms/ABP8/v202401.ts @@ -78,8 +78,7 @@ export const v202401: FormSchema = { value: "mco", }, { - label: - "Health insuring organization (HIO) (California only)", + label: "Health insuring organization (HIO) (California only)", value: "hio", }, { @@ -206,8 +205,7 @@ export const v202401: FormSchema = { }, { rhf: "Checkbox", - label: - "Which of the following will apply to the managed care program?", + label: "Which of the following will apply to the managed care program?", labelClassName: "font-bold", name: "voluntary-enrollment-options", rules: { @@ -249,8 +247,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -340,8 +337,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -365,8 +361,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { diff --git a/lib/libs/webforms/ABP9/v202401.ts b/lib/libs/webforms/ABP9/v202401.ts index 11bfa0f060..fbd93057f1 100644 --- a/lib/libs/webforms/ABP9/v202401.ts +++ b/lib/libs/webforms/ABP9/v202401.ts @@ -36,8 +36,7 @@ export const v202401: FormSchema = { message: "Must not have leading or trailing whitespace.", }, }, - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", label: "Describe the employer-sponsored insurance, including the population covered, amount of premium assistance by population, and employer-sponsored insurance activities, including required contribution, cost-effectiveness test requirements, and benefit information.", labelClassName: "font-bold", @@ -59,8 +58,7 @@ export const v202401: FormSchema = { { rhf: "Select", name: "does-provide-pay-of-premiums", - label: - "Does the state/territory otherwise provide for payment of premiums?", + label: "Does the state/territory otherwise provide for payment of premiums?", labelClassName: "font-bold", rules: { required: "* Required" }, props: { @@ -81,8 +79,7 @@ export const v202401: FormSchema = { message: "Must not have leading or trailing whitespace.", }, }, - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", label: "Describe, including the population covered, amount of premium assistance by population, required contributions, cost-effectiveness test requirements, and benefit information.", labelClassName: "font-bold", diff --git a/lib/libs/webforms/CS11/v202401.ts b/lib/libs/webforms/CS11/v202401.ts index ed16a46d6e..cb8405b041 100644 --- a/lib/libs/webforms/CS11/v202401.ts +++ b/lib/libs/webforms/CS11/v202401.ts @@ -4,8 +4,7 @@ import { noLeadingTrailingWhitespace } from "shared-utils"; export const v202401: FormSchema = { header: "CS 11: Separate CHIP eligibility—Pregnant women who have access to public employee coverage", - subheader: - "Sections 2110(b)(2)(B) and (b)(6) of the Social Security Act (SSA)", + subheader: "Sections 2110(b)(2)(B) and (b)(6) of the Social Security Act (SSA)", formId: "cs11", sections: [ { @@ -103,8 +102,7 @@ export const v202401: FormSchema = { ], }, { - label: - "Hardship criteria as provided in Section 2110(b)(6)(C)", + label: "Hardship criteria as provided in Section 2110(b)(6)(C)", value: "hardship-criteria", slots: [ { @@ -167,8 +165,7 @@ export const v202401: FormSchema = { value: "same", }, { - label: - "Lower than the income standards for targeted low-income pregnant women", + label: "Lower than the income standards for targeted low-income pregnant women", value: "lower", }, ], @@ -307,8 +304,7 @@ export const v202401: FormSchema = { props: { className: "w-[696px]", }, - formItemClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary mb-4", + formItemClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary mb-4", dependency: { conditions: [ { @@ -364,8 +360,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "County", @@ -450,8 +445,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "City", @@ -544,8 +538,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "Geographic Area", @@ -561,8 +554,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "Describe", @@ -584,8 +576,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -603,8 +594,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -651,13 +641,11 @@ export const v202401: FormSchema = { props: { options: [ { - label: - "All pregnant women who have access to public employee coverage", + label: "All pregnant women who have access to public employee coverage", value: "all-pregnant-women", }, { - label: - "Certain pregnant women who have access to public employee coverage", + label: "Certain pregnant women who have access to public employee coverage", value: "certain-pregnant-women", slots: [ { @@ -689,8 +677,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -719,8 +706,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, required: "* Required", }, @@ -759,8 +745,7 @@ export const v202401: FormSchema = { props: { options: [ { - label: - "Same as the age criteria used for targeted low-income pregnant women", + label: "Same as the age criteria used for targeted low-income pregnant women", value: "same-as-targeted", }, { @@ -791,8 +776,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^(2[0-9]|[3-9]\d|\d{3,})$/, - message: - "Must be a positive integer value greater than 19", + message: "Must be a positive integer value greater than 19", }, }, props: { @@ -814,8 +798,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, required: "* Required", }, @@ -843,14 +826,12 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, label: "Start of age range", - labelClassName: - "font-bold text-black", + labelClassName: "font-bold text-black", props: { className: "w-[125px]", }, @@ -861,8 +842,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -870,15 +850,12 @@ export const v202401: FormSchema = { { type: "greaterThanField", strictGreater: true, - fieldName: - "cs11_age-standard_start-age-range", - message: - "Must be greater than start of age range", + fieldName: "cs11_age-standard_start-age-range", + message: "Must be greater than start of age range", }, ], label: "End of age range", - labelClassName: - "font-bold text-black", + labelClassName: "font-bold text-black", props: { className: "w-[125px]", }, @@ -889,8 +866,7 @@ export const v202401: FormSchema = { rhf: "Select", label: "Does the age range for targeted low-income pregnant women overlap with the age range for targeted low-income children?", - labelClassName: - "font-bold text-black mt-4", + labelClassName: "font-bold text-black mt-4", name: "age-range-overlap", rules: { required: "* Required", @@ -920,8 +896,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, required: "* Required", }, diff --git a/lib/libs/webforms/CS12/v202401.ts b/lib/libs/webforms/CS12/v202401.ts index 17e777d0ba..f68c861c26 100644 --- a/lib/libs/webforms/CS12/v202401.ts +++ b/lib/libs/webforms/CS12/v202401.ts @@ -26,11 +26,7 @@ const ageOptions = [ const childStyle = " ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary "; -const ageRangeGroup = ( - nameMod: string, - fullMod: string, - wrapperDep = true, -): RHFSlotProps[] => [ +const ageRangeGroup = (nameMod: string, fullMod: string, wrapperDep = true): RHFSlotProps[] => [ { name: nameMod + "inc-age-standard", descriptionAbove: true, @@ -372,16 +368,11 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, - ...ageRangeGroup( - "county", - "cs12_inc-exception", - false, - ), + ...ageRangeGroup("county", "cs12_inc-exception", false), ], }, ], @@ -412,8 +403,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -429,8 +419,7 @@ export const v202401: FormSchema = { { name: "geo-group", rhf: "FieldArray", - description: - "Enter each geographic area with a unique income standard.", + description: "Enter each geographic area with a unique income standard.", descriptionAbove: true, props: { ...DefaultFieldGroupProps, @@ -448,8 +437,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -462,8 +450,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { diff --git a/lib/libs/webforms/CS15/v202401.ts b/lib/libs/webforms/CS15/v202401.ts index ef54b2fb3b..558bae7c67 100644 --- a/lib/libs/webforms/CS15/v202401.ts +++ b/lib/libs/webforms/CS15/v202401.ts @@ -3,8 +3,7 @@ import { FormSchema } from "shared-types"; export const v202401: FormSchema = { formId: "cs15", header: "CS 15: Separate CHIP MAGI-based income methodologies", - subheader: - "2102(b)(1)(B)(v) of the Social Security Act (SSA) and 42 CFR 457.315", + subheader: "2102(b)(1)(B)(v) of the Social Security Act (SSA) and 42 CFR 457.315", sections: [ { title: "Overview", @@ -212,8 +211,7 @@ export const v202401: FormSchema = { { rhf: "Upload", name: "upload-approval-documentation", - label: - "Upload approval documentation of converted MAGI-equivalent income standards.", + label: "Upload approval documentation of converted MAGI-equivalent income standards.", labelClassName: "text-black font-bold", rules: { required: "* Required" }, formItemClassName: "pb-16", diff --git a/lib/libs/webforms/CS3/v202401.ts b/lib/libs/webforms/CS3/v202401.ts index 11af7fba31..b6d8226dfe 100644 --- a/lib/libs/webforms/CS3/v202401.ts +++ b/lib/libs/webforms/CS3/v202401.ts @@ -41,8 +41,7 @@ export const v202401: FormSchema = { name: "inc-standards", rhf: "WrappedGroup", label: "Age and household income ranges", - description: - "There should be no overlaps in or gaps between ages.", + description: "There should be no overlaps in or gaps between ages.", descriptionAbove: true, labelClassName: "font-bold", fields: [ @@ -50,8 +49,7 @@ export const v202401: FormSchema = { rhf: "FieldArray", name: "age-and-house-inc-range", descriptionClassName: "age-and-house-inc-range", - formItemClassName: - "age-and-house-inc-range [&_select~.slot-form-message]:w-max", + formItemClassName: "age-and-house-inc-range [&_select~.slot-form-message]:w-max", props: { appendText: "Add range", }, diff --git a/lib/libs/webforms/CS7/index.ts b/lib/libs/webforms/CS7/index.ts index 9f925953c2..e5cf77f4fe 100644 --- a/lib/libs/webforms/CS7/index.ts +++ b/lib/libs/webforms/CS7/index.ts @@ -1 +1 @@ -export * from "./v202401"; \ No newline at end of file +export * from "./v202401"; diff --git a/lib/libs/webforms/CS7/v202401.ts b/lib/libs/webforms/CS7/v202401.ts index cbcd62ed6d..78465e3a5a 100644 --- a/lib/libs/webforms/CS7/v202401.ts +++ b/lib/libs/webforms/CS7/v202401.ts @@ -9,8 +9,7 @@ const ageOptions = Array.from({ length: 20 }, (_, i) => ({ export const v202401: FormSchema = { header: "CS 7: Separate CHIP eligibility—Targeted low-income children", - subheader: - "2102(b)(1)(B)(v) of the Social Security Act and 42 CFR 457.310, 457.315, and 457.320", + subheader: "2102(b)(1)(B)(v) of the Social Security Act and 42 CFR 457.310, 457.315, and 457.320", formId: "cs7", sections: [ { @@ -230,8 +229,7 @@ export const v202401: FormSchema = { message: "Must not have leading or trailing whitespace.", }, }, - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", dependency: { conditions: [ { @@ -358,8 +356,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, required: "* Required", }, @@ -395,8 +392,7 @@ export const v202401: FormSchema = { fieldName: "county-field-ranges", fromField: "from-age", toField: "to-age", - message: - "To age must be greater than From age", + message: "To age must be greater than From age", }, ], }, @@ -487,12 +483,10 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, - formItemClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary", dependency: { conditions: [ { @@ -546,8 +540,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, required: "* Required", }, @@ -583,8 +576,7 @@ export const v202401: FormSchema = { fieldName: "city-field-ranges", fromField: "from-age", toField: "to-age", - message: - "To age must be greater than From age", + message: "To age must be greater than From age", }, ], }, @@ -675,12 +667,10 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, - formItemClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary", dependency: { conditions: [ { @@ -734,8 +724,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, required: "* Required", }, @@ -752,8 +741,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -788,8 +776,7 @@ export const v202401: FormSchema = { fieldName: "other-field-ranges", fromField: "from-age", toField: "to-age", - message: - "To age must be greater than From age", + message: "To age must be greater than From age", }, ], }, @@ -880,12 +867,10 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, - formItemClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary", dependency: { conditions: [ { @@ -921,8 +906,7 @@ export const v202401: FormSchema = { slots: [ { rhf: "Select", - label: - "Does the state have a special program for children with disabilities?", + label: "Does the state have a special program for children with disabilities?", labelClassName: "text-black font-bold", name: "does-state-have-special-program", rules: { @@ -938,8 +922,7 @@ export const v202401: FormSchema = { }, { rhf: "Select", - label: - "Is the program available to all eligible targeted low-income children?", + label: "Is the program available to all eligible targeted low-income children?", labelClassName: "text-black font-bold", name: "program-available-to-all-eligible-targeted-low-income-children", rules: { @@ -961,8 +944,7 @@ export const v202401: FormSchema = { rules: { required: "* Required", }, - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", dependency: { conditions: [ @@ -1020,8 +1002,7 @@ export const v202401: FormSchema = { strictGreater: true, fieldName: "cs7_special-program-for-children-with-disabilities_lower-age-limit", - message: - "Upper age limit must be greater than lower age limit", + message: "Upper age limit must be greater than lower age limit", }, ], }, @@ -1032,8 +1013,7 @@ export const v202401: FormSchema = { { label: "The program is limited to targeted low-income children under a certain income level.", - value: - "limited-to-targeted-low-income-children-under-certain-income-level", + value: "limited-to-targeted-low-income-children-under-certain-income-level", slots: [ { rhf: "Input", @@ -1076,8 +1056,7 @@ export const v202401: FormSchema = { }, { rhf: "Textarea", - label: - "Describe the program, including additional benefits offered.", + label: "Describe the program, including additional benefits offered.", labelClassName: "text-black font-bold", name: "describe-the-program", props: { diff --git a/lib/libs/webforms/CS8/v202401.ts b/lib/libs/webforms/CS8/v202401.ts index 8f910b0a40..37e2d2ff0a 100644 --- a/lib/libs/webforms/CS8/v202401.ts +++ b/lib/libs/webforms/CS8/v202401.ts @@ -50,8 +50,7 @@ export const v202401: FormSchema = { subsection: true, form: [ { - description: - "The state provides coverage to pregnant women in the following age ranges:", + description: "The state provides coverage to pregnant women in the following age ranges:", descriptionClassName: "text-base", slots: [ { @@ -103,8 +102,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: @@ -158,8 +156,7 @@ export const v202401: FormSchema = { type: "greaterThanField", strictGreater: true, fieldName: "cs8_age_start-age-range", - message: - "Must be greater than start of age range", + message: "Must be greater than start of age range", }, ], label: "End of age range", @@ -196,8 +193,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "wrapped", props: { - wrapperClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary mb-4", + wrapperClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary mb-4", }, fields: [ { @@ -207,15 +203,13 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "Describe how it’s determined whether the applicant will be provided coverage as a child or as a pregnant woman.", labelClassName: "font-bold", - formItemClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary my-4", + formItemClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary my-4", props: { className: "w-[658px]", }, @@ -368,8 +362,7 @@ export const v202401: FormSchema = { props: { className: "w-[696px]", }, - formItemClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary mb-4", + formItemClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary mb-4", dependency: { conditions: [ { @@ -428,8 +421,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "County", @@ -518,8 +510,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "City", @@ -615,8 +606,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "Geographic Area", @@ -632,8 +622,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, label: "Describe", @@ -655,8 +644,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -674,8 +662,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, diff --git a/lib/libs/webforms/CS9/v202401.ts b/lib/libs/webforms/CS9/v202401.ts index f19e4ea09f..690ccecf5b 100644 --- a/lib/libs/webforms/CS9/v202401.ts +++ b/lib/libs/webforms/CS9/v202401.ts @@ -2,8 +2,7 @@ import { FormSchema } from "shared-types"; import { noLeadingTrailingWhitespace } from "shared-utils"; export const v202401: FormSchema = { - header: - "CS 9: Separate CHIP eligibility—Coverage from conception to end of pregnancy", + header: "CS 9: Separate CHIP eligibility—Coverage from conception to end of pregnancy", subheader: "Section 2112 of the Social Security Act and 42 CFR 457.10", formId: "cs9", sections: [ @@ -86,8 +85,7 @@ export const v202401: FormSchema = { label: "Describe", labelClassName: "text-black font-bold", name: "age-standard-description", - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", rules: { pattern: { value: noLeadingTrailingWhitespace, @@ -200,8 +198,7 @@ export const v202401: FormSchema = { "Explain, including a description of the overlapping geographic area and the reason for having different income standards.", labelClassName: "text-black font-bold", name: "income-standard-exceptions-description", - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", rules: { pattern: { value: noLeadingTrailingWhitespace, @@ -266,8 +263,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -282,8 +278,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -334,8 +329,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -350,8 +344,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -403,8 +396,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^\S(.*\S)?$/, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { @@ -419,8 +411,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, required: "* Required", }, @@ -448,8 +439,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -467,8 +457,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: /^[0-9]\d*$/, - message: - "Must be a positive integer value", + message: "Must be a positive integer value", }, required: "* Required", }, @@ -528,8 +517,7 @@ export const v202401: FormSchema = { props: { options: [ { - label: - "Exempt from requirement of verifying citizenship status", + label: "Exempt from requirement of verifying citizenship status", value: "exempt-from-citizenship-status", }, ], diff --git a/lib/libs/webforms/ER/v202401.ts b/lib/libs/webforms/ER/v202401.ts index b76d3f3a13..beac76d17c 100644 --- a/lib/libs/webforms/ER/v202401.ts +++ b/lib/libs/webforms/ER/v202401.ts @@ -22,8 +22,7 @@ const a1DropdownOptions = [ }, { value: "cfr-435-226", - label: - "Independent foster care adolescents (1902(a)(10)(A)(ii)(XVII)/42 CFR §435.226)", + label: "Independent foster care adolescents (1902(a)(10)(A)(ii)(XVII)/42 CFR §435.226)", }, { value: "cfr-435-229", @@ -47,8 +46,7 @@ const a1DropdownOptions = [ }, { value: "cfr-435-215", - label: - "Individuals with tuberculosis (1902(a)(10)(A)(ii)(XII) and 1902(z)/42 CFR §435.215)", + label: "Individuals with tuberculosis (1902(a)(10)(A)(ii)(XII) and 1902(z)/42 CFR §435.215)", }, { value: "cobra-1902", @@ -77,18 +75,15 @@ const a1DropdownOptions = [ }, { value: "hospice-1905", - label: - "Individuals receiving hospice (1902(a)(10)(A)(ii)(VII) and 1905(o))", + label: "Individuals receiving hospice (1902(a)(10)(A)(ii)(VII) and 1905(o))", }, { value: "cfr-435-225", - label: - "Children under age 19 with a disability (1902(e)(3)/42 CFR §435.225)", + label: "Children under age 19 with a disability (1902(e)(3)/42 CFR §435.225)", }, { value: "age-disability-1902", - label: - "Age and disability-related poverty level (1902(a)(10)(A)(ii)(X) and 1902(m)(1)) ", + label: "Age and disability-related poverty level (1902(a)(10)(A)(ii)(X) and 1902(m)(1)) ", }, { value: "work-1902", label: "Work incentives (1902(a)(10)(A)(ii)(XIII))" }, { @@ -119,8 +114,7 @@ const a1DropdownOptions = [ const a2DroppdownOptionsIncome = [ { value: "65-plus-blind-disability", - label: - "Individuals who are age 65 or older or who have blindness or a disability", + label: "Individuals who are age 65 or older or who have blindness or a disability", }, { value: "qual-med-ben", label: "Qualified medicare beneficiaries " }, { @@ -164,8 +158,7 @@ const a2DroppdownOptionsIncome = [ }, { value: "med-needy-under-21", - label: - "Medically needy reasonable classifications of individuals under age 21", + label: "Medically needy reasonable classifications of individuals under age 21", }, { value: "med-needy-parents", @@ -179,8 +172,7 @@ const a2DroppdownOptionsIncome = [ const a2DroppdownOptionsResource = [ { value: "65-plus-blind-disability", - label: - "Individuals who are age 65 or older or who have blindness or a disability", + label: "Individuals who are age 65 or older or who have blindness or a disability", }, { value: "qual-med-ben", label: "Qualified medicare beneficiaries " }, { @@ -228,8 +220,7 @@ const a2DroppdownOptionsResource = [ }, { value: "med-needy-under-21", - label: - "Medically needy reasonable classifications of individuals under age 21", + label: "Medically needy reasonable classifications of individuals under age 21", }, { value: "med-needy-parents", @@ -294,8 +285,7 @@ const b1DropdownOptions = [ }, { value: "med-needy-under-21", - label: - "Medically needy reasonable classifications of individuals under age 21", + label: "Medically needy reasonable classifications of individuals under age 21", }, { value: "med-needy-parents", @@ -318,13 +308,11 @@ const b2DropdownOptions = [ }, { value: "family-planning", - label: - "Individuals eligible for family planning services (if covered by state)", + label: "Individuals eligible for family planning services (if covered by state)", }, { value: "breat-cervical-cancer", - label: - "Individuals needing treatment for breast or cervical cancer (if covered by state)", + label: "Individuals needing treatment for breast or cervical cancer (if covered by state)", }, ]; @@ -437,8 +425,7 @@ const effectivePeriodSectionChildren = (letter: string): FormGroup[] => { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -483,8 +470,7 @@ export const v202401: FormSchema = { { name: "add-prev-spa", rhf: "Radio", - label: - "Does this SPA add to a previously approved emergency relief SPA in effect?", + label: "Does this SPA add to a previously approved emergency relief SPA in effect?", labelClassName: "font-bold text-black", rules: { required: "* Required", @@ -505,8 +491,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -519,8 +504,7 @@ export const v202401: FormSchema = { { name: "supersede-prev-spa", rhf: "Radio", - label: - "Does this SPA supersede a previously approved emergency relief SPA?", + label: "Does this SPA supersede a previously approved emergency relief SPA?", labelClassName: "font-bold text-black", rules: { required: "* Required", @@ -541,8 +525,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -622,8 +605,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -635,8 +617,7 @@ export const v202401: FormSchema = { { name: "sections-modified", rhf: "Checkbox", - label: - "Sections modified during the period of the public health emergency", + label: "Sections modified during the period of the public health emergency", labelClassName: "font-bold text-black", rules: { required: "* Required", @@ -731,9 +712,7 @@ export const v202401: FormSchema = { subsection: true, title: "A - Eligibility options elected", dependency: { - conditions: [ - { type: "valueExists", name: "ers_a-eligible_options-elected" }, - ], + conditions: [{ type: "valueExists", name: "ers_a-eligible_options-elected" }], effect: { type: "show" }, }, form: [ @@ -847,8 +826,7 @@ export const v202401: FormSchema = { }, { value: "parents-caretakers", - label: - "Medically needy parents and other caretaker relatives", + label: "Medically needy parents and other caretaker relatives", }, { value: "age-blind-disability", @@ -909,8 +887,7 @@ export const v202401: FormSchema = { }, { value: "parents-caretakers", - label: - "Medically needy parents and other caretaker relatives", + label: "Medically needy parents and other caretaker relatives", }, { value: "age-blind-disability", @@ -1130,8 +1107,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, labelClassName: "text-black font-bold", @@ -1178,8 +1154,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, labelClassName: "text-black font-bold", @@ -1355,8 +1330,7 @@ export const v202401: FormSchema = { }, form: [ { - description: - "1. Modify the agency’s approved hospital presumptive eligibility program.", + description: "1. Modify the agency’s approved hospital presumptive eligibility program.", dependency: { conditions: [ { @@ -1426,8 +1400,7 @@ export const v202401: FormSchema = { }, { value: "performance-standards", - label: - "Modify the performance standards for participating hospitals.", + label: "Modify the performance standards for participating hospitals.", slots: [ { rhf: "Textarea", @@ -1488,8 +1461,7 @@ export const v202401: FormSchema = { rhf: "Multiselect", name: "b2-magi-groups", rules: { required: "* Required" }, - label: - "State plan MAGI groups to which presumptive eligibility may be applied", + label: "State plan MAGI groups to which presumptive eligibility may be applied", labelClassName: "font-bold text-black", props: { options: b2DropdownOptions, @@ -1560,8 +1532,7 @@ export const v202401: FormSchema = { ], }, { - description: - "3. Designate additional qualified entities for presumptive eligibility.", + description: "3. Designate additional qualified entities for presumptive eligibility.", dependency: { conditions: [ { @@ -1593,8 +1564,7 @@ export const v202401: FormSchema = { rhf: "Multiselect", name: "b3-magi-groups", rules: { required: "* Required" }, - label: - "State plan MAGI groups to which presumptive eligibility may be applied", + label: "State plan MAGI groups to which presumptive eligibility may be applied", labelClassName: "font-bold text-black", props: { options: b2DropdownOptions, @@ -1714,13 +1684,11 @@ export const v202401: FormSchema = { }, { value: "3-suspend_enrollment_fees", - label: - "3. Suspend enrollment fees, premiums, and similar charges.", + label: "3. Suspend enrollment fees, premiums, and similar charges.", }, { value: "4-reduce_enrollment_fees", - label: - "4. Reduce enrollment fees, premiums, and similar charges.", + label: "4. Reduce enrollment fees, premiums, and similar charges.", }, { value: "5-hardship_waiver", @@ -1739,9 +1707,7 @@ export const v202401: FormSchema = { subsection: true, title: "C - Cost sharing and premiums options elected", dependency: { - conditions: [ - { type: "valueExists", name: "ers_c-costshare_options-elected" }, - ], + conditions: [{ type: "valueExists", name: "ers_c-costshare_options-elected" }], effect: { type: "show" }, }, form: [ @@ -1819,8 +1785,7 @@ export const v202401: FormSchema = { ], }, { - description: - "3. Suspend enrollment fees, premiums, and similar charges.", + description: "3. Suspend enrollment fees, premiums, and similar charges.", dependency: { conditions: [ { @@ -1835,8 +1800,7 @@ export const v202401: FormSchema = { { rhf: "Radio", name: "suspension-beneficiaries", - label: - "The agency suspends enrollment fees, premiums, and similar charges for:", + label: "The agency suspends enrollment fees, premiums, and similar charges for:", labelClassName: "font-bold text-black", rules: { required: "* Required" }, props: { @@ -1867,8 +1831,7 @@ export const v202401: FormSchema = { ], }, { - description: - "4. Reduce enrollment fees, premiums, and similar charges. ", + description: "4. Reduce enrollment fees, premiums, and similar charges. ", dependency: { conditions: [ { @@ -1884,8 +1847,7 @@ export const v202401: FormSchema = { rhf: "Textarea", rules: { required: "* Required" }, name: "how-reduce-fess-premiums-sc", - label: - "How does the agency reduce enrollment fees, premiums, and similar charges?", + label: "How does the agency reduce enrollment fees, premiums, and similar charges?", labelClassName: "text-black font-bold", props: { className: "h-[76px]", @@ -1916,8 +1878,7 @@ export const v202401: FormSchema = { rhf: "Textarea", rules: { required: "* Required" }, name: "unique-hardship-standards", - label: - "What are the standards and/or criteria for determining undue hardship?", + label: "What are the standards and/or criteria for determining undue hardship?", labelClassName: "text-black font-bold", props: { className: "h-[76px]", @@ -1986,8 +1947,7 @@ export const v202401: FormSchema = { }, { value: "3-temp_adj_1915", - label: - "3. Benefits - temporarily adjust the 1915(i) benefit", + label: "3. Benefits - temporarily adjust the 1915(i) benefit", }, { value: "4-compliance_reqs", @@ -2018,8 +1978,7 @@ export const v202401: FormSchema = { }, { value: "7-pharm_adj_supplies", - label: - "7. Pharmacy - adjust days’ supply or quantity limits", + label: "7. Pharmacy - adjust days’ supply or quantity limits", }, { value: "8-pharm_mod_auth", @@ -2027,13 +1986,11 @@ export const v202401: FormSchema = { }, { value: "9-pharm_add_payment", - label: - "9. Pharmacy - add supplement payment to professional dispensing fee", + label: "9. Pharmacy - add supplement payment to professional dispensing fee", }, { value: "10-pharm_establish", - label: - "10. Pharmacy - establish preferred drug list (PDL) exceptions", + label: "10. Pharmacy - establish preferred drug list (PDL) exceptions", }, { value: "11-pharm_waive_sig", @@ -2083,8 +2040,7 @@ export const v202401: FormSchema = { title: "D - Benefits options elected", form: [ { - description: - "1. Benefits—temporarily add optional 1905(a) benefit(s)", + description: "1. Benefits—temporarily add optional 1905(a) benefit(s)", dependency: { conditions: [ { @@ -2239,8 +2195,7 @@ export const v202401: FormSchema = { { rhf: "Textarea", name: "service-scope", - label: - "Service description and/or amount, duration, and scope changes", + label: "Service description and/or amount, duration, and scope changes", labelClassName: "text-black font-bold", props: { className: "h-[76px]" }, rules: { @@ -2268,8 +2223,7 @@ export const v202401: FormSchema = { { rhf: "Textarea", name: "assessment-consent-plan-policies", - label: - "Changes to assessment, consent, and service plan policies", + label: "Changes to assessment, consent, and service plan policies", labelClassName: "text-black font-bold", props: { className: "h-[76px]" }, rules: { @@ -2308,13 +2262,11 @@ export const v202401: FormSchema = { options: [ { value: "suspend-all-services", - label: - "Suspend prior authorization for all covered services.", + label: "Suspend prior authorization for all covered services.", }, { value: "suspend-some-services", - label: - "Suspend prior authorization for certain covered services.", + label: "Suspend prior authorization for certain covered services.", slots: [ { rhf: "Textarea", @@ -2326,8 +2278,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -2353,8 +2304,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -2463,16 +2413,12 @@ export const v202401: FormSchema = { { value: "limits-cat-needy", label: "Limits for categorically needy recipients", - slots: [ - { rhf: "Textarea", name: "limits-cat-needy-desc" }, - ], + slots: [{ rhf: "Textarea", name: "limits-cat-needy-desc" }], }, { value: "limits-med-needy", label: "Limits for medically needy recipients", - slots: [ - { rhf: "Textarea", name: "limits-med-needy-desc" }, - ], + slots: [{ rhf: "Textarea", name: "limits-med-needy-desc" }], }, ], }, @@ -2499,8 +2445,7 @@ export const v202401: FormSchema = { appendText: "Add provider type", divider: true, appendVariant: "default", - fieldArrayClassName: - DefaultFieldGroupProps.fieldArrayClassName, + fieldArrayClassName: DefaultFieldGroupProps.fieldArrayClassName, }, formItemClassName: childStyle, fields: [ @@ -2513,8 +2458,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -2535,8 +2479,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -2550,8 +2493,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -2584,8 +2526,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -2599,8 +2540,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -2701,8 +2641,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2711,8 +2650,7 @@ export const v202401: FormSchema = { }, { value: "service-scope", - label: - "Changes to limits on amount, duration, and scope of service", + label: "Changes to limits on amount, duration, and scope of service", slots: [ { rhf: "Textarea", @@ -2723,8 +2661,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2744,8 +2681,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2765,8 +2701,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2837,8 +2772,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2872,8 +2806,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2906,8 +2839,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2940,8 +2872,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2974,8 +2905,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -2996,8 +2926,7 @@ export const v202401: FormSchema = { options: [ { value: "assured", - label: - "The telehealth will ensure the health and safety of an individual.", + label: "The telehealth will ensure the health and safety of an individual.", slots: [ { rhf: "Textarea", @@ -3008,8 +2937,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, props: { className: "h-[76px]" }, @@ -3024,8 +2952,7 @@ export const v202401: FormSchema = { { rhf: "Textarea", name: "changes-made-to-1915-elig-proc", - label: - "Changes made to the 1915(i) eligibility evaluation process", + label: "Changes made to the 1915(i) eligibility evaluation process", labelClassName: "font-bold text-black", rules: { required: "* Required", @@ -3138,8 +3065,7 @@ export const v202401: FormSchema = { }, { value: "not-applicable", - label: - "Not applicable: The state does not currently have an approved ABP.", + label: "Not applicable: The state does not currently have an approved ABP.", }, ], }, @@ -3164,8 +3090,7 @@ export const v202401: FormSchema = { title: "D - Benefits options elected - telehealth", form: [ { - description: - "6. Telehealth - extend coverage of services provided via telehealth", + description: "6. Telehealth - extend coverage of services provided via telehealth", dependency: { conditions: [ { @@ -3281,8 +3206,7 @@ export const v202401: FormSchema = { ], }, { - description: - "9. Pharmacy - add supplement payment to professional dispensing fee", + description: "9. Pharmacy - add supplement payment to professional dispensing fee", dependency: { conditions: [ { @@ -3301,15 +3225,13 @@ export const v202401: FormSchema = { label: "Payment adjustments made to professional dispensing fee", labelClassName: "font-bold text-black", descriptionAbove: true, - description: - "Agencies must supply documentation to justify the additional fees.", + description: "Agencies must supply documentation to justify the additional fees.", props: { className: "h-[76px]" }, }, ], }, { - description: - "10. Pharmacy - establish preferred drug list (PDL) exceptions", + description: "10. Pharmacy - establish preferred drug list (PDL) exceptions", dependency: { conditions: [ { @@ -3423,8 +3345,7 @@ export const v202401: FormSchema = { }, { value: "5-bed_hold_nf", - label: - "5. Changes to bed hold policies for nursing facilities (NFs)", + label: "5. Changes to bed hold policies for nursing facilities (NFs)", }, { value: "6-bed_hols_icf_iid", @@ -3451,9 +3372,7 @@ export const v202401: FormSchema = { sectionId: "e-options-elected", subsection: true, dependency: { - conditions: [ - { type: "valueExists", name: "ers_e-payments_options-elected" }, - ], + conditions: [{ type: "valueExists", name: "ers_e-payments_options-elected" }], effect: { type: "show" }, }, title: "E - Payments options elected", @@ -3562,8 +3481,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -3723,8 +3641,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -3771,8 +3688,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -3863,8 +3779,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -3899,8 +3814,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -3908,8 +3822,7 @@ export const v202401: FormSchema = { }, { value: "differ-face-to-face", - label: - "Differ from payments for the same services when provided face to face", + label: "Differ from payments for the same services when provided face to face", slots: [ { name: "e3-face-desc", @@ -3923,8 +3836,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -3947,8 +3859,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -4064,8 +3975,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -4093,8 +4003,7 @@ export const v202401: FormSchema = { ], }, { - description: - "5. Changes to bed hold policies for nursing facilities (NFs)", + description: "5. Changes to bed hold policies for nursing facilities (NFs)", dependency: { conditions: [ { @@ -4162,8 +4071,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -4253,8 +4161,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -4345,8 +4252,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -4437,8 +4343,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -4481,8 +4386,7 @@ export const v202401: FormSchema = { }, { value: "2-elect_variance", - label: - "2. Elect a variance to the basic personal needs allowance.", + label: "2. Elect a variance to the basic personal needs allowance.", }, ], }, @@ -4602,8 +4506,7 @@ export const v202401: FormSchema = { ], }, { - description: - "2. Elect a variance to the basic personal needs allowance.", + description: "2. Elect a variance to the basic personal needs allowance.", dependency: { conditions: [ { @@ -4635,20 +4538,17 @@ export const v202401: FormSchema = { }, { sectionId: "g-other-policies", - title: - "G - Other policies and procedures differing from approved Medicaid state plan", + title: "G - Other policies and procedures differing from approved Medicaid state plan", form: [ { slots: [ { rhf: "Textarea", name: "pol-and-procedures", - label: - "Other policies and procedures differing from approved Medicaid state plan", + label: "Other policies and procedures differing from approved Medicaid state plan", labelClassName: "text-black font-bold", descriptionAbove: true, - description: - "This includes legal reference for provision being temporarily amended.", + description: "This includes legal reference for provision being temporarily amended.", }, ], }, diff --git a/lib/libs/webforms/G1/v202401.ts b/lib/libs/webforms/G1/v202401.ts index ae48189fec..b0c745eebd 100644 --- a/lib/libs/webforms/G1/v202401.ts +++ b/lib/libs/webforms/G1/v202401.ts @@ -150,8 +150,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -165,8 +164,7 @@ export const v202401: FormSchema = { ], }, { - title: - "Cost sharing for non-emergency services provided in a hospital emergency department", + title: "Cost sharing for non-emergency services provided in a hospital emergency department", sectionId: "cost-shar-for-non-emergency", form: [ { @@ -337,8 +335,7 @@ export const v202401: FormSchema = { options: [ { value: "true", - label: - "The state identifies which drugs are considered non-preferred.", + label: "The state identifies which drugs are considered non-preferred.", }, ], }, @@ -348,8 +345,7 @@ export const v202401: FormSchema = { name: "assures-timely-process-limit-cost-shar-imposed", rhf: "Checkbox", rules: { required: "* Required" }, - formItemClassName: - "ml-[0.6rem] px-4 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 border-l-4 border-l-primary", dependency: { conditions: [ { @@ -375,8 +371,7 @@ export const v202401: FormSchema = { name: "all-drugs-consider-preferred-drugs", rhf: "Checkbox", rules: { required: "* Required" }, - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", dependency: { conditions: [ { diff --git a/lib/libs/webforms/G2A/v202401.ts b/lib/libs/webforms/G2A/v202401.ts index 823a68b4eb..6b422cc7e0 100644 --- a/lib/libs/webforms/G2A/v202401.ts +++ b/lib/libs/webforms/G2A/v202401.ts @@ -2,8 +2,7 @@ import { FormSchema, DefaultFieldGroupProps } from "shared-types"; import { noLeadingTrailingWhitespace } from "shared-utils/regex"; export const v202401: FormSchema = { - header: - "Premiums and cost sharing G2a: Cost-sharing amounts—Categorically needy individuals", + header: "Premiums and cost sharing G2a: Cost-sharing amounts—Categorically needy individuals", subheader: "1916 | 1916A | 42 CFR 447.52 through 447.54", formId: "g2a", sections: [ @@ -39,8 +38,7 @@ export const v202401: FormSchema = { ], }, { - title: - "Services or items with the same cost-sharing amounts for all incomes", + title: "Services or items with the same cost-sharing amounts for all incomes", subsection: true, sectionId: "services-same-all-income", form: [ @@ -53,8 +51,7 @@ export const v202401: FormSchema = { ...DefaultFieldGroupProps, appendText: "Add service or item", removeText: "Remove", - fieldArrayClassName: - DefaultFieldGroupProps.fieldArrayClassName + "space-y-6", + fieldArrayClassName: DefaultFieldGroupProps.fieldArrayClassName + "space-y-6", }, fields: [ { @@ -167,8 +164,7 @@ export const v202401: FormSchema = { ...DefaultFieldGroupProps, appendText: "Add service or item", removeText: "Remove", - fieldArrayClassName: - DefaultFieldGroupProps.fieldArrayClassName + "space-y-6", + fieldArrayClassName: DefaultFieldGroupProps.fieldArrayClassName + "space-y-6", }, fields: [ { @@ -201,8 +197,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "wrapped", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { @@ -240,8 +235,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "wrapped", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { @@ -315,8 +309,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -329,8 +322,7 @@ export const v202401: FormSchema = { ], }, { - title: - "Cost sharing for non-preferred drugs charged to otherwise exempt individuals", + title: "Cost sharing for non-preferred drugs charged to otherwise exempt individuals", subsection: true, sectionId: "cost-share-charge-otherwise-exempt", form: [ @@ -402,8 +394,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "rateWrapper", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { @@ -562,8 +553,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "rateWrapper", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { diff --git a/lib/libs/webforms/G2B/v202401.ts b/lib/libs/webforms/G2B/v202401.ts index f86b5665a3..5795ea2956 100644 --- a/lib/libs/webforms/G2B/v202401.ts +++ b/lib/libs/webforms/G2B/v202401.ts @@ -2,8 +2,7 @@ import { FormSchema, DefaultFieldGroupProps } from "shared-types"; import { noLeadingTrailingWhitespace } from "shared-utils/regex"; export const v202401: FormSchema = { - header: - "Premiums and cost sharing G2b: Cost-sharing amounts—Medically needy individuals", + header: "Premiums and cost sharing G2b: Cost-sharing amounts—Medically needy individuals", subheader: "1916 | 1916A | 42 CFR 447.52 through 447.54", formId: "g2b", sections: [ @@ -17,8 +16,7 @@ export const v202401: FormSchema = { name: "state-charge-cost-sharing", rhf: "Select", rules: { required: "* Required" }, - label: - "Does the state charge cost sharing to all medically needy individuals?", + label: "Does the state charge cost sharing to all medically needy individuals?", labelClassName: "font-bold text-[#212121]", props: { className: "w-[125px]", @@ -61,8 +59,7 @@ export const v202401: FormSchema = { }, { - title: - "Services or items with the same cost-sharing amount for all incomes", + title: "Services or items with the same cost-sharing amount for all incomes", sectionId: "services-same-all-incomes", subsection: true, form: [ @@ -220,8 +217,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "wrapped", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { @@ -259,8 +255,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "wrapped", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { @@ -334,8 +329,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -349,8 +343,7 @@ export const v202401: FormSchema = { }, { - title: - "Cost sharing for non-preferred drugs charged to otherwise exempt individuals", + title: "Cost sharing for non-preferred drugs charged to otherwise exempt individuals", sectionId: "cost-share-charge-otherwise-exempt", subsection: true, form: [ @@ -422,8 +415,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "rateWrapper", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { @@ -583,8 +575,7 @@ export const v202401: FormSchema = { rhf: "WrappedGroup", name: "rateWrapper", props: { - wrapperClassName: - "space-between flex-row flex w-full gap-5", + wrapperClassName: "space-between flex-row flex w-full gap-5", }, fields: [ { diff --git a/lib/libs/webforms/G2C/v202401.ts b/lib/libs/webforms/G2C/v202401.ts index 21a830d610..b9f0014279 100644 --- a/lib/libs/webforms/G2C/v202401.ts +++ b/lib/libs/webforms/G2C/v202401.ts @@ -134,8 +134,7 @@ export const v202401: FormSchema = { props: { appendText: "Add service", fieldArrayClassName: - DefaultFieldGroupProps.fieldArrayClassName + - "divider-parent-element", + DefaultFieldGroupProps.fieldArrayClassName + "divider-parent-element", }, fields: [ { @@ -237,8 +236,7 @@ export const v202401: FormSchema = { rules: { pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, diff --git a/lib/libs/webforms/G3/v202401.ts b/lib/libs/webforms/G3/v202401.ts index 2d72cb477b..4725520cad 100644 --- a/lib/libs/webforms/G3/v202401.ts +++ b/lib/libs/webforms/G3/v202401.ts @@ -149,8 +149,7 @@ export const v202401: FormSchema = { subsection: true, form: [ { - description: - "The state may choose to exempt certain groups from cost sharing.", + description: "The state may choose to exempt certain groups from cost sharing.", descriptionClassName: "text-base", slots: [ { @@ -203,8 +202,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -348,8 +346,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -378,8 +375,7 @@ export const v202401: FormSchema = { name: "identify-exempt-from-cost-share", labelClassName: "font-bold text-black", formItemClassName: "border-slate-300 border-t-2 mt-2", - label: - "To identify all other individuals exempt from cost sharing, the state uses:", + label: "To identify all other individuals exempt from cost sharing, the state uses:", rules: { required: "* Required", }, @@ -391,13 +387,11 @@ export const v202401: FormSchema = { }, { value: "eligibility_and_enroll_sys", - label: - "The Eligibility and Enrollment system to flag exempt recipients", + label: "The Eligibility and Enrollment system to flag exempt recipients", }, { value: "medicaid_card_to_indicate", - label: - "The Medicaid card to indicate if a beneficiary is exempt", + label: "The Medicaid card to indicate if a beneficiary is exempt", }, { value: "use_eligi_verif_system", @@ -419,8 +413,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -543,8 +536,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: /^(?:[0-4](?:\.[0-9])?|5(?:\.0)?|\.[0-9])$/, - message: - "Must be between 0% and 5% with max one decimal place", + message: "Must be between 0% and 5% with max one decimal place", }, }, props: { @@ -594,11 +586,9 @@ export const v202401: FormSchema = { { rhf: "Checkbox", name: "how-does-state-track-incurred-prems-and-cost", - label: - "How does the state track each family’s incurred premiums and cost sharing?", + label: "How does the state track each family’s incurred premiums and cost sharing?", labelClassName: "font-bold text-black", - formItemClassName: - "ml-[0.6rem] px-4 mt-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 mt-2 border-l-4 border-l-primary", dependency: { conditions: [ { @@ -634,8 +624,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -658,8 +647,7 @@ export const v202401: FormSchema = { required: "* Required", pattern: { value: noLeadingTrailingWhitespace, - message: - "Must not have leading or trailing whitespace.", + message: "Must not have leading or trailing whitespace.", }, }, }, @@ -675,8 +663,7 @@ export const v202401: FormSchema = { label: "How does the state inform beneficiaries and providers of the beneficiaries' aggregate family limit? How does the state notify beneficiaries and providers when a beneficiary has incurred premiums and cost sharing up to the aggregate family limit and that individual family members are no longer subject to premiums or cost sharing for the remainder of the family's current monthly or quarterly cap period?", labelClassName: "font-bold text-black", - formItemClassName: - "ml-[0.6rem] px-4 mb-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 mb-2 border-l-4 border-l-primary", name: "how-state-bene-agg-fam-limit", dependency: { conditions: [ @@ -703,8 +690,7 @@ export const v202401: FormSchema = { label: "Explain how the state's premium and cost sharing rules do not place beneficiaries at risk of reaching the aggregate family limit.", labelClassName: "font-bold text-black", - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", name: "explain-state-prem-cost-share-dont-place-risk", dependency: { conditions: [ @@ -745,8 +731,7 @@ export const v202401: FormSchema = { rhf: "Textarea", label: "Describe", labelClassName: "font-bold text-black", - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", dependency: { conditions: [ { @@ -817,8 +802,7 @@ export const v202401: FormSchema = { rhf: "Textarea", label: "Describe", labelClassName: "font-bold text-black", - formItemClassName: - "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", + formItemClassName: "ml-[0.6rem] px-4 my-2 border-l-4 border-l-primary", dependency: { conditions: [ { diff --git a/lib/local-aspects/iam-permissions-boundary/index.ts b/lib/local-aspects/iam-permissions-boundary/index.ts index cc47d0c61e..20fc544d9d 100644 --- a/lib/local-aspects/iam-permissions-boundary/index.ts +++ b/lib/local-aspects/iam-permissions-boundary/index.ts @@ -14,27 +14,18 @@ export class IamPermissionsBoundaryAspect implements IAspect { // Check if the node is an instance of the higher-level iam.Role construct if (node instanceof iam.Role) { const roleResource = node.node.defaultChild as iam.CfnRole; - roleResource.addPropertyOverride( - "PermissionsBoundary", - this.permissionsBoundaryArn, - ); + roleResource.addPropertyOverride("PermissionsBoundary", this.permissionsBoundaryArn); } // Check if the node is an instance of a low-level CloudFormation resource (CfnRole) else if (node instanceof iam.CfnRole) { - node.addPropertyOverride( - "PermissionsBoundary", - this.permissionsBoundaryArn, - ); + node.addPropertyOverride("PermissionsBoundary", this.permissionsBoundaryArn); } // For roles created by other constructs such as AutoDeleteObjects which may not be of iam.Role or iam.CfnRole else if ( CfnResource.isCfnResource(node) && (node as CfnResource).cfnResourceType === "AWS::IAM::Role" ) { - (node as iam.CfnRole).addPropertyOverride( - "PermissionsBoundary", - this.permissionsBoundaryArn, - ); + (node as iam.CfnRole).addPropertyOverride("PermissionsBoundary", this.permissionsBoundaryArn); } } } diff --git a/lib/local-constructs/clamav-scanning/index.ts b/lib/local-constructs/clamav-scanning/index.ts index 56e7d60028..b712184087 100644 --- a/lib/local-constructs/clamav-scanning/index.ts +++ b/lib/local-constructs/clamav-scanning/index.ts @@ -10,12 +10,7 @@ import * as kms from "aws-cdk-lib/aws-kms"; import * as lambdaEventSources from "aws-cdk-lib/aws-lambda-event-sources"; import * as destinations from "aws-cdk-lib/aws-lambda-destinations"; import * as cr from "aws-cdk-lib/custom-resources"; -import { - ManagedPolicy, - PolicyDocument, - Role, - ServicePrincipal, -} from "aws-cdk-lib/aws-iam"; +import { ManagedPolicy, PolicyDocument, Role, ServicePrincipal } from "aws-cdk-lib/aws-iam"; import { LambdaFunction } from "aws-cdk-lib/aws-events-targets"; import { Rule, RuleTargetInput, Schedule } from "aws-cdk-lib/aws-events"; @@ -113,9 +108,7 @@ export class ClamScanScanner extends Construct { this.lambdaRole = new Role(this, "LambdaExecutionRole", { assumedBy: new ServicePrincipal("lambda.amazonaws.com"), managedPolicies: [ - ManagedPolicy.fromAwsManagedPolicyName( - "service-role/AWSLambdaBasicExecutionRole", - ), + ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaBasicExecutionRole"), ], inlinePolicies: { LambdaPolicy: new PolicyDocument({ @@ -149,11 +142,7 @@ export class ClamScanScanner extends Construct { resources: ["*"], }), new iam.PolicyStatement({ - actions: [ - "sqs:ReceiveMessage", - "sqs:DeleteMessage", - "sqs:GetQueueAttributes", - ], + actions: ["sqs:ReceiveMessage", "sqs:DeleteMessage", "sqs:GetQueueAttributes"], resources: [notificationQueue.queueArn], }), ], @@ -161,13 +150,9 @@ export class ClamScanScanner extends Construct { }, }); - const clamscanDefsLogGroup = new logs.LogGroup( - this, - `${id}ClamDefsLogGroup`, - { - removalPolicy: cdk.RemovalPolicy.DESTROY, - }, - ); + const clamscanDefsLogGroup = new logs.LogGroup(this, `${id}ClamDefsLogGroup`, { + removalPolicy: cdk.RemovalPolicy.DESTROY, + }); const clamDefsLambda = new DockerImageFunction(this, "ServerlessClamDefs", { code: DockerImageCode.fromImageAsset(__dirname, { @@ -185,13 +170,9 @@ export class ClamScanScanner extends Construct { }, }); - const clamscanLambdaLogGroup = new logs.LogGroup( - this, - `${id}ClamscanLambdaLogGroup`, - { - removalPolicy: cdk.RemovalPolicy.DESTROY, - }, - ); + const clamscanLambdaLogGroup = new logs.LogGroup(this, `${id}ClamscanLambdaLogGroup`, { + removalPolicy: cdk.RemovalPolicy.DESTROY, + }); const clamscanLambda = new DockerImageFunction(this, "ServerlessClamscan", { code: DockerImageCode.fromImageAsset(__dirname), @@ -209,9 +190,7 @@ export class ClamScanScanner extends Construct { }); // Add the SQS queue as an event source to the Lambda function - clamscanLambda.addEventSource( - new lambdaEventSources.SqsEventSource(notificationQueue), - ); + clamscanLambda.addEventSource(new lambdaEventSources.SqsEventSource(notificationQueue)); const rule = new Rule(this, "ClamscanScheduleRule", { schedule: Schedule.expression("cron(0/2 0-6,8-23 * * ? *)"), @@ -263,9 +242,7 @@ export class ClamScanScanner extends Construct { ]), }, ); - const policy = invokeClamDefsCustomResource.node.findChild( - "CustomResourcePolicy", - ); + const policy = invokeClamDefsCustomResource.node.findChild("CustomResourcePolicy"); invokeClamDefsCustomResource.node.addDependency(policy); invokeClamDefsCustomResourceLogGroup.node.addDependency(policy); } diff --git a/lib/local-constructs/clamav-scanning/src/handlers/scan.test.ts b/lib/local-constructs/clamav-scanning/src/handlers/scan.test.ts index 2545393095..5989f5b630 100644 --- a/lib/local-constructs/clamav-scanning/src/handlers/scan.test.ts +++ b/lib/local-constructs/clamav-scanning/src/handlers/scan.test.ts @@ -85,11 +85,7 @@ test("should handle event and return scan results", async () => { expect(downloadFileFromS3).toHaveBeenCalledWith("test-key", "test-bucket"); expect(checkFileExt).toHaveBeenCalledWith("file-location"); expect(scanLocalFile).toHaveBeenCalledWith("file-location"); - expect(tagWithScanStatus).toHaveBeenCalledWith( - "test-bucket", - "test-key", - STATUS_CLEAN_FILE, - ); + expect(tagWithScanStatus).toHaveBeenCalledWith("test-bucket", "test-key", STATUS_CLEAN_FILE); expect(result).toEqual([STATUS_CLEAN_FILE, STATUS_CLEAN_FILE]); }); diff --git a/lib/local-constructs/clamav-scanning/src/handlers/scan.ts b/lib/local-constructs/clamav-scanning/src/handlers/scan.ts index ba736abadc..6cf0138803 100644 --- a/lib/local-constructs/clamav-scanning/src/handlers/scan.ts +++ b/lib/local-constructs/clamav-scanning/src/handlers/scan.ts @@ -37,13 +37,7 @@ export async function handler(event: any): Promise { s3ObjectKey = extractKeyFromS3Event(sqsMessageBody); s3ObjectBucket = extractBucketFromS3Event(sqsMessageBody); } catch (error) { - logger.error( - `Error extracting data from record: ${JSON.stringify( - record, - null, - 2, - )}` + error, - ); + logger.error(`Error extracting data from record: ${JSON.stringify(record, null, 2)}` + error); results.push(STATUS_ERROR_PROCESSING_FILE); continue; } @@ -57,10 +51,7 @@ export async function handler(event: any): Promise { results.push(virusScanStatus); continue; } - const fileLoc: string = await downloadFileFromS3( - s3ObjectKey, - s3ObjectBucket, - ); + const fileLoc: string = await downloadFileFromS3(s3ObjectKey, s3ObjectBucket); virusScanStatus = await checkFileExt(fileLoc); if (virusScanStatus !== STATUS_CLEAN_FILE) { await tagWithScanStatus(s3ObjectBucket, s3ObjectKey, virusScanStatus); diff --git a/lib/local-constructs/clamav-scanning/src/lib/clamav.ts b/lib/local-constructs/clamav-scanning/src/lib/clamav.ts index bed0f133e5..ab54ca8b15 100644 --- a/lib/local-constructs/clamav-scanning/src/lib/clamav.ts +++ b/lib/local-constructs/clamav-scanning/src/lib/clamav.ts @@ -20,10 +20,7 @@ export const updateAVDefinitonsWithFreshclam = (): boolean => { try { const { stdout, stderr }: SpawnSyncReturns = spawnSync( `${constants.PATH_TO_FRESHCLAM}`, - [ - `--config-file=${constants.FRESHCLAM_CONFIG}`, - `--datadir=${constants.FRESHCLAM_WORK_DIR}`, - ], + [`--config-file=${constants.FRESHCLAM_CONFIG}`, `--datadir=${constants.FRESHCLAM_WORK_DIR}`], ); logger.info("Update message"); logger.info(stdout.toString()); @@ -52,54 +49,41 @@ export const downloadAVDefinitions = async (): Promise => { // List all the files in the bucket logger.info("Downloading Definitions"); - const allFileKeys: string[] = await listBucketFiles( - constants.CLAMAV_BUCKET_NAME, - ); + const allFileKeys: string[] = await listBucketFiles(constants.CLAMAV_BUCKET_NAME); const definitionFileKeys: string[] = allFileKeys .filter((key) => key.startsWith(constants.PATH_TO_AV_DEFINITIONS)) .map((fullPath) => path.basename(fullPath)); // Download each file in the bucket - const downloadPromises: Promise[] = definitionFileKeys.map( - (filenameToDownload) => { - return new Promise((resolve, reject) => { - const destinationFile: string = path.join( - constants.FRESHCLAM_WORK_DIR, - filenameToDownload, - ); - - logger.info( - `Downloading ${filenameToDownload} from S3 to ${destinationFile}`, - ); - - const options = { - Bucket: constants.CLAMAV_BUCKET_NAME, - Key: `${constants.PATH_TO_AV_DEFINITIONS}/${filenameToDownload}`, - }; - - try { - s3Client - .send(new GetObjectCommand(options)) - .then(async ({ Body }) => { - if (!Body || !(Body instanceof Readable)) { - throw new Error("Invalid Body type received from S3"); - } - - await asyncfs.writeFile(destinationFile, Body); - resolve(); - logger.info(`Finished download ${filenameToDownload}`); - }); - } catch (err) { - logger.info( - `Error downloading definition file ${filenameToDownload}`, - ); - logger.error(err); - reject(); - } - }); - }, - ); + const downloadPromises: Promise[] = definitionFileKeys.map((filenameToDownload) => { + return new Promise((resolve, reject) => { + const destinationFile: string = path.join(constants.FRESHCLAM_WORK_DIR, filenameToDownload); + + logger.info(`Downloading ${filenameToDownload} from S3 to ${destinationFile}`); + + const options = { + Bucket: constants.CLAMAV_BUCKET_NAME, + Key: `${constants.PATH_TO_AV_DEFINITIONS}/${filenameToDownload}`, + }; + + try { + s3Client.send(new GetObjectCommand(options)).then(async ({ Body }) => { + if (!Body || !(Body instanceof Readable)) { + throw new Error("Invalid Body type received from S3"); + } + + await asyncfs.writeFile(destinationFile, Body); + resolve(); + logger.info(`Finished download ${filenameToDownload}`); + }); + } catch (err) { + logger.info(`Error downloading definition file ${filenameToDownload}`); + logger.error(err); + reject(); + } + }); + }); return await Promise.all(downloadPromises); }; @@ -111,9 +95,7 @@ export const uploadAVDefinitions = async (): Promise => { // delete all the definitions currently in the bucket. // first list them. logger.info("Uploading Definitions"); - const s3AllFullKeys: string[] = await listBucketFiles( - constants.CLAMAV_BUCKET_NAME, - ); + const s3AllFullKeys: string[] = await listBucketFiles(constants.CLAMAV_BUCKET_NAME); const s3DefinitionFileFullKeys: string[] = s3AllFullKeys.filter((key) => key.startsWith(constants.PATH_TO_AV_DEFINITIONS), ); @@ -134,47 +116,37 @@ export const uploadAVDefinitions = async (): Promise => { logger.info(`Deleted extant definitions: ${s3DefinitionFileFullKeys}`); } catch (err) { - logger.info( - `Error deleting current definition files: ${s3DefinitionFileFullKeys}`, - ); + logger.info(`Error deleting current definition files: ${s3DefinitionFileFullKeys}`); logger.info(err); throw err; } } // list all the files in the work dir for upload - const definitionFiles: string[] = fs.readdirSync( - constants.FRESHCLAM_WORK_DIR, - ); - - const uploadPromises: Promise[] = definitionFiles.map( - (filenameToUpload) => { - return new Promise((resolve, reject) => { - logger.info( - `Uploading updated definitions for file ${filenameToUpload} ---`, - ); - - const options = { - Bucket: constants.CLAMAV_BUCKET_NAME, - Key: `${constants.PATH_TO_AV_DEFINITIONS}/${filenameToUpload}`, - Body: fs.readFileSync( - path.join(constants.FRESHCLAM_WORK_DIR, filenameToUpload), - ), - }; - - try { - s3Client.send(new PutObjectCommand(options)).then(() => { - logger.info(`--- Finished uploading ${filenameToUpload} ---`); - resolve(); - }); - } catch (err) { - logger.info(`--- Error uploading ${filenameToUpload} ---`); - logger.info(err); - reject(); - } - }); - }, - ); + const definitionFiles: string[] = fs.readdirSync(constants.FRESHCLAM_WORK_DIR); + + const uploadPromises: Promise[] = definitionFiles.map((filenameToUpload) => { + return new Promise((resolve, reject) => { + logger.info(`Uploading updated definitions for file ${filenameToUpload} ---`); + + const options = { + Bucket: constants.CLAMAV_BUCKET_NAME, + Key: `${constants.PATH_TO_AV_DEFINITIONS}/${filenameToUpload}`, + Body: fs.readFileSync(path.join(constants.FRESHCLAM_WORK_DIR, filenameToUpload)), + }; + + try { + s3Client.send(new PutObjectCommand(options)).then(() => { + logger.info(`--- Finished uploading ${filenameToUpload} ---`); + resolve(); + }); + } catch (err) { + logger.info(`--- Error uploading ${filenameToUpload} ---`); + logger.info(err); + reject(); + } + }); + }); return await Promise.all(uploadPromises); }; @@ -190,9 +162,7 @@ export const uploadAVDefinitions = async (): Promise => { * * @param pathToFile Path in the filesystem where the file is stored. */ -export const scanLocalFile = async ( - pathToFile: string, -): Promise => { +export const scanLocalFile = async (pathToFile: string): Promise => { try { const avResult: SpawnSyncReturns = spawnSync( "clamdscan", diff --git a/lib/local-constructs/clamav-scanning/src/lib/clamd.ts b/lib/local-constructs/clamav-scanning/src/lib/clamd.ts index ff71aab150..f67c2a1e05 100644 --- a/lib/local-constructs/clamav-scanning/src/lib/clamd.ts +++ b/lib/local-constructs/clamav-scanning/src/lib/clamd.ts @@ -61,11 +61,7 @@ export async function startClamd() { if (timePassed >= MAX_WAIT_TIME) { clearInterval(checkClamdReady); - reject( - new Error( - "clamd did not become fully operational within 30 seconds.", - ), - ); + reject(new Error("clamd did not become fully operational within 30 seconds.")); } }, SLEEP_INTERVAL); }); diff --git a/lib/local-constructs/clamav-scanning/src/lib/constants.ts b/lib/local-constructs/clamav-scanning/src/lib/constants.ts index c51cf7619e..c9ba371179 100644 --- a/lib/local-constructs/clamav-scanning/src/lib/constants.ts +++ b/lib/local-constructs/clamav-scanning/src/lib/constants.ts @@ -20,8 +20,7 @@ import process from "process"; // Various paths and application names on S3 export const ATTACHMENTS_BUCKET: string = process.env.ATTACHMENTS_BUCKET!; export const CLAMAV_BUCKET_NAME: string = process.env.CLAMAV_BUCKET_NAME!; -export const PATH_TO_AV_DEFINITIONS: string = - process.env.PATH_TO_AV_DEFINITIONS!; +export const PATH_TO_AV_DEFINITIONS: string = process.env.PATH_TO_AV_DEFINITIONS!; export const PATH_TO_FRESHCLAM: string = "/bin/freshclam"; export const PATH_TO_CLAMAV: string = "/bin/clamscan"; export const FRESHCLAM_CONFIG: string = "/bin/freshclam.conf"; @@ -29,21 +28,16 @@ export const FRESHCLAM_WORK_DIR: string = "/tmp/"; export const TMP_DOWNLOAD_PATH: string = "/tmp/download/"; // Constants for tagging file after a virus scan. -export const STATUS_CLEAN_FILE: string = - process.env.STATUS_CLEAN_FILE || "CLEAN"; -export const STATUS_INFECTED_FILE: string = - process.env.STATUS_INFECTED_FILE || "INFECTED"; +export const STATUS_CLEAN_FILE: string = process.env.STATUS_CLEAN_FILE || "CLEAN"; +export const STATUS_INFECTED_FILE: string = process.env.STATUS_INFECTED_FILE || "INFECTED"; export const STATUS_ERROR_PROCESSING_FILE: string = process.env.STATUS_ERROR_PROCESSING_FILE || "ERROR"; -export const STATUS_SKIPPED_FILE: string = - process.env.STATUS_SKIPPED_FILE || "SKIPPED"; +export const STATUS_SKIPPED_FILE: string = process.env.STATUS_SKIPPED_FILE || "SKIPPED"; export const STATUS_EXTENSION_MISMATCH_FILE: string = process.env.STATUS_EXTENSION_MISMATCH_FILE || "EXTMISMATCH"; -export const STATUS_UNKNOWN_EXTENSION: string = - process.env.STATUS_UNKNOWN_EXTENSION || "UKNOWNEXT"; +export const STATUS_UNKNOWN_EXTENSION: string = process.env.STATUS_UNKNOWN_EXTENSION || "UKNOWNEXT"; export const STATUS_TOO_BIG: string = process.env.STATUS_TOO_BIG || "TOOBIG"; -export const VIRUS_SCAN_STATUS_KEY: string = - process.env.VIRUS_SCAN_STATUS_KEY || "virusScanStatus"; +export const VIRUS_SCAN_STATUS_KEY: string = process.env.VIRUS_SCAN_STATUS_KEY || "virusScanStatus"; export const VIRUS_SCAN_TIMESTAMP_KEY: string = process.env.VIRUS_SCAN_TIMESTAMP_KEY || "virusScanTimestamp"; export const MAX_FILE_SIZE: string = process.env.MAX_FILE_SIZE || "314572800"; diff --git a/lib/local-constructs/clamav-scanning/src/lib/file-ext.ts b/lib/local-constructs/clamav-scanning/src/lib/file-ext.ts index f86b629e99..22a238fb80 100644 --- a/lib/local-constructs/clamav-scanning/src/lib/file-ext.ts +++ b/lib/local-constructs/clamav-scanning/src/lib/file-ext.ts @@ -37,10 +37,7 @@ export async function checkFileExt(pathToFile: string): Promise { logger.info(`File mimetype from contents: ${mimeTypeFromContents}`); // Check if the mimes are equivalent - const same = areMimeTypesEquivalent( - mimeTypeFromExtension, - mimeTypeFromContents, - ); + const same = areMimeTypesEquivalent(mimeTypeFromExtension, mimeTypeFromContents); // Error out if we can't determine equivalence if (!same) { logger.info( @@ -61,9 +58,7 @@ function isAllowedMime(mime: string): boolean { return FILE_TYPES.some((fileType) => fileType.mime === mime); } -async function getFileTypeFromContents( - filePath: string, -): Promise { +async function getFileTypeFromContents(filePath: string): Promise { try { const fileBuffer = await fs.promises.readFile(filePath); @@ -90,9 +85,7 @@ async function getFileTypeFromContents( } } if (!type?.mime) { - logger.info( - `getFileTypeFromContents: File determined to be mime:${type?.mime}`, - ); + logger.info(`getFileTypeFromContents: File determined to be mime:${type?.mime}`); return false; } logger.info( diff --git a/lib/local-constructs/clamav-scanning/src/lib/s3.ts b/lib/local-constructs/clamav-scanning/src/lib/s3.ts index 2e0addb3db..40d24b8cc1 100644 --- a/lib/local-constructs/clamav-scanning/src/lib/s3.ts +++ b/lib/local-constructs/clamav-scanning/src/lib/s3.ts @@ -16,10 +16,7 @@ import { Readable } from "stream"; const s3Client: S3Client = new S3Client(); -export async function checkFileSize( - key: string, - bucket: string, -): Promise { +export async function checkFileSize(key: string, bucket: string): Promise { try { const res: HeadObjectCommandOutput = await s3Client.send( new HeadObjectCommand({ Key: key, Bucket: bucket }), @@ -29,9 +26,7 @@ export async function checkFileSize( res.ContentLength === null || typeof res.ContentLength !== "number" ) { - logger.info( - `ContentLength is invalid for S3 Object: s3://${bucket}/${key}`, - ); + logger.info(`ContentLength is invalid for S3 Object: s3://${bucket}/${key}`); return constants.STATUS_ERROR_PROCESSING_FILE; } return res.ContentLength > parseInt(constants.MAX_FILE_SIZE) @@ -51,9 +46,7 @@ export async function downloadFileFromS3( fs.mkdirSync(constants.TMP_DOWNLOAD_PATH); } - const localPath: string = `${ - constants.TMP_DOWNLOAD_PATH - }${randomUUID()}--${s3ObjectKey}`; + const localPath: string = `${constants.TMP_DOWNLOAD_PATH}${randomUUID()}--${s3ObjectKey}`; fs.createWriteStream(localPath); logger.info(`Downloading file s3://${s3ObjectBucket}/${s3ObjectKey}`); @@ -109,9 +102,7 @@ export async function tagWithScanStatus( export async function listBucketFiles(bucketName: string): Promise { try { - const listFilesResult = await s3Client.send( - new ListObjectsV2Command({ Bucket: bucketName }), - ); + const listFilesResult = await s3Client.send(new ListObjectsV2Command({ Bucket: bucketName })); if (listFilesResult.Contents) { const keys = listFilesResult.Contents.map((c) => c.Key) as string[]; return keys; diff --git a/lib/local-constructs/cleanup-kafka/index.test.ts b/lib/local-constructs/cleanup-kafka/index.test.ts index 795533d4fa..6441ec326c 100644 --- a/lib/local-constructs/cleanup-kafka/index.test.ts +++ b/lib/local-constructs/cleanup-kafka/index.test.ts @@ -19,9 +19,7 @@ describe("CleanupKafka", () => { availabilityZone: "us-west-2a", }), ]; - const securityGroups = [ - new ec2.SecurityGroup(stack, "SecurityGroup", { vpc }), - ]; + const securityGroups = [new ec2.SecurityGroup(stack, "SecurityGroup", { vpc })]; const brokerString = "mockBrokerString"; const topicPatternsToDelete = ["mockTopicPattern"]; @@ -34,9 +32,7 @@ describe("CleanupKafka", () => { }); it("should create a log group for the Lambda function", () => { - const logGroup = cleanupKafka.node.findChild( - "cleanupKafkaLogGroup", - ) as logs.LogGroup; + const logGroup = cleanupKafka.node.findChild("cleanupKafkaLogGroup") as logs.LogGroup; expect(logGroup).toBeInstanceOf(logs.LogGroup); }); diff --git a/lib/local-constructs/cleanup-kafka/index.ts b/lib/local-constructs/cleanup-kafka/index.ts index 749a68166e..155ef13255 100644 --- a/lib/local-constructs/cleanup-kafka/index.ts +++ b/lib/local-constructs/cleanup-kafka/index.ts @@ -32,13 +32,7 @@ export class CleanupKafka extends Construct { constructor(scope: Construct, id: string, props: CleanupKafkaProps) { super(scope, id); - const { - vpc, - privateSubnets, - securityGroups, - brokerString, - topicPatternsToDelete, - } = props; + const { vpc, privateSubnets, securityGroups, brokerString, topicPatternsToDelete } = props; const logGroup = new LogGroup(this, `cleanupKafkaLogGroup`, { removalPolicy: RemovalPolicy.DESTROY, @@ -53,12 +47,8 @@ export class CleanupKafka extends Construct { role: new Role(this, "CleanupKafkaLambdaExecutionRole", { assumedBy: new ServicePrincipal("lambda.amazonaws.com"), managedPolicies: [ - ManagedPolicy.fromAwsManagedPolicyName( - "service-role/AWSLambdaBasicExecutionRole", - ), - ManagedPolicy.fromAwsManagedPolicyName( - "service-role/AWSLambdaVPCAccessExecutionRole", - ), + ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaBasicExecutionRole"), + ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaVPCAccessExecutionRole"), ], inlinePolicies: { InvokeLambdaPolicy: new PolicyDocument({ @@ -81,47 +71,39 @@ export class CleanupKafka extends Construct { bundling: commonBundlingOptions, }); - const customResourceLogGroup = new LogGroup( - this, - `cleanupKafkaCustomResourceLogGroup`, - { - removalPolicy: RemovalPolicy.DESTROY, - }, - ); + const customResourceLogGroup = new LogGroup(this, `cleanupKafkaCustomResourceLogGroup`, { + removalPolicy: RemovalPolicy.DESTROY, + }); - const customResource = new AwsCustomResource( - this, - "CleanupKafkaCustomResource", - { - onDelete: { - service: "Lambda", - action: "invoke", - parameters: { - FunctionName: lambda.functionName, - Payload: JSON.stringify({ - RequestType: "Delete", - ResourceProperties: { - brokerString, - topicPatternsToDelete, - }, - }), - }, - physicalResourceId: PhysicalResourceId.of("cleanup-kafka"), - }, - logGroup: customResourceLogGroup, - policy: AwsCustomResourcePolicy.fromStatements([ - new PolicyStatement({ - actions: ["lambda:InvokeFunction"], - resources: [lambda.functionArn], - }), - new PolicyStatement({ - effect: Effect.DENY, - actions: ["logs:CreateLogGroup"], - resources: ["*"], + const customResource = new AwsCustomResource(this, "CleanupKafkaCustomResource", { + onDelete: { + service: "Lambda", + action: "invoke", + parameters: { + FunctionName: lambda.functionName, + Payload: JSON.stringify({ + RequestType: "Delete", + ResourceProperties: { + brokerString, + topicPatternsToDelete, + }, }), - ]), + }, + physicalResourceId: PhysicalResourceId.of("cleanup-kafka"), }, - ); + logGroup: customResourceLogGroup, + policy: AwsCustomResourcePolicy.fromStatements([ + new PolicyStatement({ + actions: ["lambda:InvokeFunction"], + resources: [lambda.functionArn], + }), + new PolicyStatement({ + effect: Effect.DENY, + actions: ["logs:CreateLogGroup"], + resources: ["*"], + }), + ]), + }); const policy = customResource.node.findChild("CustomResourcePolicy"); customResource.node.addDependency(policy); customResourceLogGroup.node.addDependency(policy); diff --git a/lib/local-constructs/cleanup-kafka/src/cleanupKafka.test.ts b/lib/local-constructs/cleanup-kafka/src/cleanupKafka.test.ts index e04425d2f7..cf0b5f9dd5 100644 --- a/lib/local-constructs/cleanup-kafka/src/cleanupKafka.test.ts +++ b/lib/local-constructs/cleanup-kafka/src/cleanupKafka.test.ts @@ -30,10 +30,7 @@ describe("handler", () => { await handler(event, context); - expect(topics.deleteTopics).toHaveBeenCalledWith( - BrokerString, - TopicPatternsToDelete, - ); + expect(topics.deleteTopics).toHaveBeenCalledWith(BrokerString, TopicPatternsToDelete); expect(topics.deleteTopics).toHaveBeenCalledTimes(1); }); diff --git a/lib/local-constructs/cleanup-kafka/src/cleanupKafka.ts b/lib/local-constructs/cleanup-kafka/src/cleanupKafka.ts index 90a3cd72f4..8c21e516aa 100644 --- a/lib/local-constructs/cleanup-kafka/src/cleanupKafka.ts +++ b/lib/local-constructs/cleanup-kafka/src/cleanupKafka.ts @@ -1,14 +1,11 @@ import { CloudFormationCustomResourceEvent } from "aws-lambda"; import * as topics from "../../../libs/topics-lib"; -export const handler = async function ( - event: CloudFormationCustomResourceEvent, -): Promise { +export const handler = async function (event: CloudFormationCustomResourceEvent): Promise { console.log("Request:", JSON.stringify(event, undefined, 2)); const BrokerString: string = event.ResourceProperties.brokerString; - const TopicPatternsToDelete: string[] = - event.ResourceProperties.topicPatternsToDelete; + const TopicPatternsToDelete: string[] = event.ResourceProperties.topicPatternsToDelete; const requiredPattern = /^--.*--.*--/; // Regular expression to match the required format TopicPatternsToDelete.forEach((pattern) => { @@ -17,9 +14,7 @@ export const handler = async function ( } }); - console.log( - `Attempting a delete for each of the following patterns: ${TopicPatternsToDelete}`, - ); + console.log(`Attempting a delete for each of the following patterns: ${TopicPatternsToDelete}`); const maxRetries = 10; const retryDelay = 10000; //10s @@ -30,15 +25,9 @@ export const handler = async function ( await topics.deleteTopics(BrokerString, TopicPatternsToDelete); success = true; } catch (error) { - console.error( - `Error in deleteTopics operation: ${JSON.stringify(error)}`, - ); + console.error(`Error in deleteTopics operation: ${JSON.stringify(error)}`); retries++; - console.log( - `Retrying in ${ - retryDelay / 1000 - } seconds (Retry ${retries}/${maxRetries})`, - ); + console.log(`Retrying in ${retryDelay / 1000} seconds (Retry ${retries}/${maxRetries})`); await new Promise((resolve) => setTimeout(resolve, retryDelay)); } } diff --git a/lib/local-constructs/cloudwatch-logs-resource-policy/index.ts b/lib/local-constructs/cloudwatch-logs-resource-policy/index.ts index 974e996670..0fd54ae7b3 100644 --- a/lib/local-constructs/cloudwatch-logs-resource-policy/index.ts +++ b/lib/local-constructs/cloudwatch-logs-resource-policy/index.ts @@ -9,40 +9,32 @@ interface CloudWatchLogsResourcePolicyProps { export class CloudWatchLogsResourcePolicy extends Construct { public readonly policy: CfnResourcePolicy; - constructor( - scope: Construct, - id: string, - props: CloudWatchLogsResourcePolicyProps, - ) { + constructor(scope: Construct, id: string, props: CloudWatchLogsResourcePolicyProps) { super(scope, id); const stack = Stack.of(this); - this.policy = new CfnResourcePolicy( - this, - `CentralizedCloudWatchLogsResourcePolicy`, - { - policyName: `${props.project}-centralized-logs-policy-${id}`, - policyDocument: JSON.stringify({ - Version: "2012-10-17", - Statement: [ - { - Effect: "Allow", - Principal: { Service: "delivery.logs.amazonaws.com" }, - Action: ["logs:CreateLogStream", "logs:PutLogEvents"], - Resource: [ - `arn:aws:logs:*:${stack.account}:log-group:aws-waf-logs-*`, - `arn:aws:logs:*:${stack.account}:log-group:/aws/http-api/*`, - `arn:aws:logs:*:${stack.account}:log-group:/aws/vendedlogs/*`, - ], - Condition: { - StringEquals: { "aws:SourceAccount": stack.account }, - ArnLike: { - "aws:SourceArn": `arn:aws:logs:${stack.region}:${stack.account}:*`, - }, + this.policy = new CfnResourcePolicy(this, `CentralizedCloudWatchLogsResourcePolicy`, { + policyName: `${props.project}-centralized-logs-policy-${id}`, + policyDocument: JSON.stringify({ + Version: "2012-10-17", + Statement: [ + { + Effect: "Allow", + Principal: { Service: "delivery.logs.amazonaws.com" }, + Action: ["logs:CreateLogStream", "logs:PutLogEvents"], + Resource: [ + `arn:aws:logs:*:${stack.account}:log-group:aws-waf-logs-*`, + `arn:aws:logs:*:${stack.account}:log-group:/aws/http-api/*`, + `arn:aws:logs:*:${stack.account}:log-group:/aws/vendedlogs/*`, + ], + Condition: { + StringEquals: { "aws:SourceAccount": stack.account }, + ArnLike: { + "aws:SourceArn": `arn:aws:logs:${stack.region}:${stack.account}:*`, }, }, - ], - }), - }, - ); + }, + ], + }), + }); } } diff --git a/lib/local-constructs/cloudwatch-to-s3/index.test.ts b/lib/local-constructs/cloudwatch-to-s3/index.test.ts index 736bce440c..256f0244b8 100644 --- a/lib/local-constructs/cloudwatch-to-s3/index.test.ts +++ b/lib/local-constructs/cloudwatch-to-s3/index.test.ts @@ -31,22 +31,15 @@ describe("CloudWatchToS3", () => { }); it("should create IAM roles with appropriate policies", () => { - const firehoseRole = cloudWatchToS3.node.findChild( - "FirehoseRole", - ) as iam.Role; + const firehoseRole = cloudWatchToS3.node.findChild("FirehoseRole") as iam.Role; expect(firehoseRole).toBeInstanceOf(iam.Role); - const policyDocument = - firehoseRole.assumeRolePolicy?.toJSON() as iam.PolicyDocumentProps; - const statement = policyDocument.Statement.find( - (s) => s.Principal && s.Principal.Service, - ); + const policyDocument = firehoseRole.assumeRolePolicy?.toJSON() as iam.PolicyDocumentProps; + const statement = policyDocument.Statement.find((s) => s.Principal && s.Principal.Service); expect(statement).toBeDefined(); expect(statement.Principal.Service).toContain("firehose.amazonaws.com"); - const policy = firehoseRole.node.tryFindChild( - "DefaultPolicy", - ) as iam.Policy; + const policy = firehoseRole.node.tryFindChild("DefaultPolicy") as iam.Policy; const statements = policy.document.statements; expect(statements).toEqual( expect.arrayContaining([ diff --git a/lib/local-constructs/cloudwatch-to-s3/index.ts b/lib/local-constructs/cloudwatch-to-s3/index.ts index 584e0562f9..a66fcf02f1 100644 --- a/lib/local-constructs/cloudwatch-to-s3/index.ts +++ b/lib/local-constructs/cloudwatch-to-s3/index.ts @@ -2,12 +2,7 @@ import * as cdk from "aws-cdk-lib"; import { Construct } from "constructs"; import { Bucket } from "aws-cdk-lib/aws-s3"; import { CfnDeliveryStream } from "aws-cdk-lib/aws-kinesisfirehose"; -import { - Role, - ServicePrincipal, - PolicyStatement, - PolicyDocument, -} from "aws-cdk-lib/aws-iam"; +import { Role, ServicePrincipal, PolicyStatement, PolicyDocument } from "aws-cdk-lib/aws-iam"; import { LogGroup, CfnSubscriptionFilter } from "aws-cdk-lib/aws-logs"; interface CloudWatchToS3Props { @@ -76,9 +71,7 @@ export class CloudWatchToS3 extends Construct { statements: [ new PolicyStatement({ actions: ["firehose:PutRecord", "firehose:PutRecordBatch"], - resources: [ - cdk.Fn.getAtt(this.deliveryStream.logicalId, "Arn").toString(), - ], + resources: [cdk.Fn.getAtt(this.deliveryStream.logicalId, "Arn").toString()], }), ], }), @@ -89,10 +82,7 @@ export class CloudWatchToS3 extends Construct { new CfnSubscriptionFilter(this, "SubscriptionFilter", { logGroupName: logGroup.logGroupName, filterPattern: filterPattern, - destinationArn: cdk.Fn.getAtt( - this.deliveryStream.logicalId, - "Arn", - ).toString(), + destinationArn: cdk.Fn.getAtt(this.deliveryStream.logicalId, "Arn").toString(), roleArn: subscriptionFilterRole.roleArn, }); } diff --git a/lib/local-constructs/create-topics/index.test.ts b/lib/local-constructs/create-topics/index.test.ts index 6d13b06e78..c72f5e01f7 100644 --- a/lib/local-constructs/create-topics/index.test.ts +++ b/lib/local-constructs/create-topics/index.test.ts @@ -19,9 +19,7 @@ describe("CreateTopics", () => { availabilityZone: "us-west-2a", }), ]; - const securityGroups = [ - new ec2.SecurityGroup(stack, "SecurityGroup", { vpc }), - ]; + const securityGroups = [new ec2.SecurityGroup(stack, "SecurityGroup", { vpc })]; const brokerString = "mockBrokerString"; const topics = [{ topic: "mockTopic1" }, { topic: "mockTopic2" }]; @@ -34,16 +32,12 @@ describe("CreateTopics", () => { }); it("should create a log group for the Lambda function", () => { - const lambdaLogGroup = createTopics.node.findChild( - "CreateTopicsLogGroup", - ) as logs.LogGroup; + const lambdaLogGroup = createTopics.node.findChild("CreateTopicsLogGroup") as logs.LogGroup; expect(lambdaLogGroup).toBeInstanceOf(logs.LogGroup); }); it("should create a Lambda function with appropriate properties", () => { - const lambdaFunction = createTopics.node.findChild( - "CreateTopicsLambda", - ) as lambda.Function; + const lambdaFunction = createTopics.node.findChild("CreateTopicsLambda") as lambda.Function; expect(lambdaFunction).toBeInstanceOf(lambda.Function); expect(lambdaFunction.runtime).toBe(lambda.Runtime.NODEJS_18_X); expect(lambdaFunction.timeout?.toMinutes()).toBe(5); @@ -64,9 +58,7 @@ describe("CreateTopics", () => { }); it("should create a custom resource to invoke the Lambda function", () => { - const customResource = createTopics.node.findChild( - "CustomResource", - ) as cr.AwsCustomResource; + const customResource = createTopics.node.findChild("CustomResource") as cr.AwsCustomResource; expect(customResource).toBeInstanceOf(cr.AwsCustomResource); const customResourceLogGroup = createTopics.node.findChild( diff --git a/lib/local-constructs/create-topics/index.ts b/lib/local-constructs/create-topics/index.ts index e56ac8b273..9b7da9d576 100644 --- a/lib/local-constructs/create-topics/index.ts +++ b/lib/local-constructs/create-topics/index.ts @@ -47,12 +47,8 @@ export class CreateTopics extends Construct { role: new Role(this, "CreateTopicsLambdaExecutionRole", { assumedBy: new ServicePrincipal("lambda.amazonaws.com"), managedPolicies: [ - ManagedPolicy.fromAwsManagedPolicyName( - "service-role/AWSLambdaBasicExecutionRole", - ), - ManagedPolicy.fromAwsManagedPolicyName( - "service-role/AWSLambdaVPCAccessExecutionRole", - ), + ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaBasicExecutionRole"), + ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaVPCAccessExecutionRole"), ], inlinePolicies: { InvokeLambdaPolicy: new PolicyDocument({ @@ -75,13 +71,9 @@ export class CreateTopics extends Construct { bundling: commonBundlingOptions, }); - const customResourceLogGroup = new LogGroup( - this, - `createTopicsCustomResourceLogGroup`, - { - removalPolicy: RemovalPolicy.DESTROY, - }, - ); + const customResourceLogGroup = new LogGroup(this, `createTopicsCustomResourceLogGroup`, { + removalPolicy: RemovalPolicy.DESTROY, + }); const customResource = new AwsCustomResource(this, "CustomResource", { onCreate: { diff --git a/lib/local-constructs/create-topics/src/createTopics.test.ts b/lib/local-constructs/create-topics/src/createTopics.test.ts index afbd65f816..adc29dcdf7 100644 --- a/lib/local-constructs/create-topics/src/createTopics.test.ts +++ b/lib/local-constructs/create-topics/src/createTopics.test.ts @@ -11,9 +11,7 @@ describe("handler", () => { { topic: "validTopic", numPartitions: 3, replicationFactor: 3 }, { topic: "anotherValidTopic", numPartitions: 1, replicationFactor: 3 }, ]; - const invalidTopicsToCreateNoName = [ - { topic: "", numPartitions: 3, replicationFactor: 3 }, - ]; + const invalidTopicsToCreateNoName = [{ topic: "", numPartitions: 3, replicationFactor: 3 }]; const invalidTopicsToCreateLowReplication = [ { topic: "validTopic", numPartitions: 3, replicationFactor: 2 }, ]; @@ -41,10 +39,7 @@ describe("handler", () => { await handler(event, context); - expect(topics.createTopics).toHaveBeenCalledWith( - brokerString, - validTopicsToCreate, - ); + expect(topics.createTopics).toHaveBeenCalledWith(brokerString, validTopicsToCreate); expect(topics.createTopics).toHaveBeenCalledTimes(1); }); diff --git a/lib/local-constructs/create-topics/src/createTopics.ts b/lib/local-constructs/create-topics/src/createTopics.ts index 967d2c88b9..19fa0fbb6f 100644 --- a/lib/local-constructs/create-topics/src/createTopics.ts +++ b/lib/local-constructs/create-topics/src/createTopics.ts @@ -7,16 +7,12 @@ interface TopicConfig { replicationFactor: number; } -export const handler = async function ( - event: CloudFormationCustomResourceEvent, -) { +export const handler = async function (event: CloudFormationCustomResourceEvent) { console.log("Request:", JSON.stringify(event, undefined, 2)); const resourceProperties = event.ResourceProperties; const topicsToCreate: TopicConfig[] = resourceProperties.topicsToCreate; const brokerString: string = resourceProperties.brokerString; - const topicConfig: TopicConfig[] = topicsToCreate.map(function ( - element: TopicConfig, - ) { + const topicConfig: TopicConfig[] = topicsToCreate.map(function (element: TopicConfig) { const topic: string = element.topic; const replicationFactor: number = element.replicationFactor || 3; const numPartitions: number = element.numPartitions ?? 1; diff --git a/lib/local-constructs/empty-buckets/index.test.ts b/lib/local-constructs/empty-buckets/index.test.ts index d4940cc4fa..ee7a53e76d 100644 --- a/lib/local-constructs/empty-buckets/index.test.ts +++ b/lib/local-constructs/empty-buckets/index.test.ts @@ -21,16 +21,12 @@ describe("EmptyBuckets", () => { }); it("should create a log group for the Lambda function", () => { - const lambdaLogGroup = emptyBuckets.node.findChild( - "LambdaLogGroup", - ) as logs.LogGroup; + const lambdaLogGroup = emptyBuckets.node.findChild("LambdaLogGroup") as logs.LogGroup; expect(lambdaLogGroup).toBeInstanceOf(logs.LogGroup); }); it("should create a Lambda function with appropriate properties", () => { - const lambdaFunction = emptyBuckets.node.findChild( - "Lambda", - ) as lambda.Function; + const lambdaFunction = emptyBuckets.node.findChild("Lambda") as lambda.Function; expect(lambdaFunction).toBeInstanceOf(lambda.Function); expect(lambdaFunction.runtime).toBe(lambda.Runtime.NODEJS_18_X); expect(lambdaFunction.timeout?.toMinutes()).toBe(15); @@ -69,9 +65,7 @@ describe("EmptyBuckets", () => { }); it("should create a custom resource to invoke the Lambda function", () => { - const customResource = emptyBuckets.node.findChild( - "CustomResource", - ) as cr.AwsCustomResource; + const customResource = emptyBuckets.node.findChild("CustomResource") as cr.AwsCustomResource; expect(customResource).toBeInstanceOf(cr.AwsCustomResource); const customResourceLogGroup = emptyBuckets.node.findChild( diff --git a/lib/local-constructs/empty-buckets/index.ts b/lib/local-constructs/empty-buckets/index.ts index ad14f41a62..4082f29f32 100644 --- a/lib/local-constructs/empty-buckets/index.ts +++ b/lib/local-constructs/empty-buckets/index.ts @@ -66,9 +66,7 @@ export class EmptyBuckets extends Construct { const lambdaRole = new Role(this, "LambdaRole", { assumedBy: new ServicePrincipal("lambda.amazonaws.com"), managedPolicies: [ - ManagedPolicy.fromAwsManagedPolicyName( - "service-role/AWSLambdaBasicExecutionRole", - ), + ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaBasicExecutionRole"), ], inlinePolicies: { LambdaPolicy: new PolicyDocument({ diff --git a/lib/local-constructs/manage-users/index.test.ts b/lib/local-constructs/manage-users/index.test.ts index b6c8b9779a..c95500255c 100644 --- a/lib/local-constructs/manage-users/index.test.ts +++ b/lib/local-constructs/manage-users/index.test.ts @@ -16,25 +16,15 @@ describe("ManageUsers", () => { const users = [{ username: "user1" }, { username: "user2" }]; const passwordSecretArn = "mockPasswordSecretArn"; // pragma: allowlist secret - const manageUsers = new ManageUsers( - stack, - "ManageUsers", - userPool, - users, - passwordSecretArn, - ); + const manageUsers = new ManageUsers(stack, "ManageUsers", userPool, users, passwordSecretArn); it("should create a log group for the Lambda function", () => { - const lambdaLogGroup = manageUsers.node.findChild( - "LambdaLogGroup", - ) as logs.LogGroup; + const lambdaLogGroup = manageUsers.node.findChild("LambdaLogGroup") as logs.LogGroup; expect(lambdaLogGroup).toBeInstanceOf(logs.LogGroup); }); it("should create a Lambda function with appropriate properties", () => { - const lambdaFunction = manageUsers.node.findChild( - "LambdaFunction", - ) as lambda.Function; + const lambdaFunction = manageUsers.node.findChild("LambdaFunction") as lambda.Function; expect(lambdaFunction).toBeInstanceOf(lambda.Function); expect(lambdaFunction.runtime).toBe(lambda.Runtime.NODEJS_18_X); expect(lambdaFunction.timeout?.toMinutes()).toBe(5); diff --git a/lib/local-constructs/manage-users/index.ts b/lib/local-constructs/manage-users/index.ts index ffe997b27e..043cc98f93 100644 --- a/lib/local-constructs/manage-users/index.ts +++ b/lib/local-constructs/manage-users/index.ts @@ -44,9 +44,7 @@ export class ManageUsers extends Construct { role: new Role(this, "LambdaExecutionRole", { assumedBy: new ServicePrincipal("lambda.amazonaws.com"), managedPolicies: [ - ManagedPolicy.fromAwsManagedPolicyName( - "service-role/AWSLambdaBasicExecutionRole", - ), + ManagedPolicy.fromAwsManagedPolicyName("service-role/AWSLambdaBasicExecutionRole"), ], inlinePolicies: { LambdaAssumeRolePolicy: new PolicyDocument({ @@ -68,10 +66,7 @@ export class ManageUsers extends Construct { }), new PolicyStatement({ effect: Effect.ALLOW, - actions: [ - "secretsmanager:GetSecretValue", - "secretsmanager:DescribeSecret", - ], + actions: ["secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret"], resources: ["*"], }), ], @@ -81,64 +76,56 @@ export class ManageUsers extends Construct { bundling: commonBundlingOptions, }); - const customResourceLogGroup = new LogGroup( - this, - `CustomResourceLogGroup`, - { - removalPolicy: RemovalPolicy.DESTROY, - }, - ); + const customResourceLogGroup = new LogGroup(this, `CustomResourceLogGroup`, { + removalPolicy: RemovalPolicy.DESTROY, + }); - const customResource = new AwsCustomResource( - this, - "CleanupKafkaCustomResource", - { - onCreate: { - service: "Lambda", - action: "invoke", - parameters: { - FunctionName: manageUsers.functionName, - Payload: JSON.stringify({ - RequestType: "Create", - ResourceProperties: { - userPoolId: userPool.userPoolId, - users, - passwordSecretArn: passwordSecretArn, - }, - }), - }, - physicalResourceId: PhysicalResourceId.of("manage-users"), - }, - onUpdate: { - service: "Lambda", - action: "invoke", - parameters: { - FunctionName: manageUsers.functionName, - Payload: JSON.stringify({ - RequestType: "Update", - ResourceProperties: { - userPoolId: userPool.userPoolId, - users, - passwordSecretArn: passwordSecretArn, - }, - }), - }, - physicalResourceId: PhysicalResourceId.of("manage-users"), - }, - logGroup: customResourceLogGroup, - policy: AwsCustomResourcePolicy.fromStatements([ - new PolicyStatement({ - actions: ["lambda:InvokeFunction"], - resources: [manageUsers.functionArn], + const customResource = new AwsCustomResource(this, "CleanupKafkaCustomResource", { + onCreate: { + service: "Lambda", + action: "invoke", + parameters: { + FunctionName: manageUsers.functionName, + Payload: JSON.stringify({ + RequestType: "Create", + ResourceProperties: { + userPoolId: userPool.userPoolId, + users, + passwordSecretArn: passwordSecretArn, + }, }), - new PolicyStatement({ - effect: Effect.DENY, - actions: ["logs:CreateLogGroup"], - resources: ["*"], + }, + physicalResourceId: PhysicalResourceId.of("manage-users"), + }, + onUpdate: { + service: "Lambda", + action: "invoke", + parameters: { + FunctionName: manageUsers.functionName, + Payload: JSON.stringify({ + RequestType: "Update", + ResourceProperties: { + userPoolId: userPool.userPoolId, + users, + passwordSecretArn: passwordSecretArn, + }, }), - ]), + }, + physicalResourceId: PhysicalResourceId.of("manage-users"), }, - ); + logGroup: customResourceLogGroup, + policy: AwsCustomResourcePolicy.fromStatements([ + new PolicyStatement({ + actions: ["lambda:InvokeFunction"], + resources: [manageUsers.functionArn], + }), + new PolicyStatement({ + effect: Effect.DENY, + actions: ["logs:CreateLogGroup"], + resources: ["*"], + }), + ]), + }); const policy = customResource.node.findChild("CustomResourcePolicy"); customResource.node.addDependency(policy); customResourceLogGroup.node.addDependency(policy); diff --git a/lib/local-constructs/waf/index.test.ts b/lib/local-constructs/waf/index.test.ts index b1da08b32e..7ab2767d2c 100644 --- a/lib/local-constructs/waf/index.test.ts +++ b/lib/local-constructs/waf/index.test.ts @@ -17,12 +17,7 @@ describe("WafConstruct", () => { awsBadInputsExcludeRules: ["BadInputsRule1"], }; - const wafConstruct = new WafConstruct( - stack, - "WafConstruct", - props, - "REGIONAL", - ); + const wafConstruct = new WafConstruct(stack, "WafConstruct", props, "REGIONAL"); it("should create a log group with appropriate properties", () => { const logGroup = wafConstruct.logGroup; @@ -46,9 +41,7 @@ describe("WafConstruct", () => { .node.findChild("LoggingConfiguration") as wafv2.CfnLoggingConfiguration; expect(loggingConfiguration).toBeInstanceOf(wafv2.CfnLoggingConfiguration); expect(loggingConfiguration.resourceArn).toBe(wafConstruct.webAcl.attrArn); - expect(loggingConfiguration.logDestinationConfigs).toContain( - wafConstruct.logGroup.logGroupArn, - ); + expect(loggingConfiguration.logDestinationConfigs).toContain(wafConstruct.logGroup.logGroupArn); }); }); @@ -103,9 +96,7 @@ describe("RegionalWaf", () => { .findChild("RegionalWaf") .node.findChild("WebACLAssociation") as wafv2.CfnWebACLAssociation; expect(webAclAssociation).toBeInstanceOf(wafv2.CfnWebACLAssociation); - expect(webAclAssociation.resourceArn).toBe( - apiGateway.deploymentStage.stageArn, - ); + expect(webAclAssociation.resourceArn).toBe(apiGateway.deploymentStage.stageArn); expect(webAclAssociation.webAclArn).toBe(regionalWaf.webAcl.attrArn); }); }); diff --git a/lib/local-constructs/waf/index.ts b/lib/local-constructs/waf/index.ts index 1d4d905a62..2008c60691 100644 --- a/lib/local-constructs/waf/index.ts +++ b/lib/local-constructs/waf/index.ts @@ -1,10 +1,6 @@ import * as cdk from "aws-cdk-lib"; import { Construct } from "constructs"; -import { - CfnWebACL, - CfnLoggingConfiguration, - CfnWebACLAssociation, -} from "aws-cdk-lib/aws-wafv2"; +import { CfnWebACL, CfnLoggingConfiguration, CfnWebACLAssociation } from "aws-cdk-lib/aws-wafv2"; import { LogGroup } from "aws-cdk-lib/aws-logs"; import { RestApi } from "aws-cdk-lib/aws-apigateway"; @@ -20,12 +16,7 @@ export class WafConstruct extends Construct { public readonly webAcl: CfnWebACL; public readonly logGroup: LogGroup; - constructor( - scope: Construct, - id: string, - props: WafProps, - scopeType: string, - ) { + constructor(scope: Construct, id: string, props: WafProps, scopeType: string) { super(scope, id); const { @@ -150,18 +141,7 @@ export class WafConstruct extends Construct { action: { allow: {} }, statement: { geoMatchStatement: { - countryCodes: [ - "AS", - "FM", - "GU", - "MH", - "MP", - "PR", - "PW", - "UM", - "US", - "VI", - ], + countryCodes: ["AS", "FM", "GU", "MH", "MP", "PR", "PW", "UM", "US", "VI"], }, }, visibilityConfig: { diff --git a/lib/packages/shared-types/attachments.ts b/lib/packages/shared-types/attachments.ts index df13de4038..6c3c375417 100644 --- a/lib/packages/shared-types/attachments.ts +++ b/lib/packages/shared-types/attachments.ts @@ -28,9 +28,12 @@ export const attachmentTitleMap = { supportingDocumentation: "Supporting Documentation", bCapWaiverApplication: "1915(b) Comprehensive (Capitated) Waiver Application Pre-print", bCapCostSpreadsheets: "1915(b) Comprehensive (Capitated) Waiver Cost Effectiveness Spreadsheets", - bCapIndependentAssessment: "1915(b) Comprehensive (Capitated) Waiver Independent Assessment (first two renewals only)", - b4WaiverApplication: "1915(b)(4) FFS Selective Contracting (Streamlined) Waiver Application Pre-print", - b4IndependentAssessment: "1915(b)(4) FFS Selective Contracting (Streamlined) Independent Assessment (first two renewals only)", + bCapIndependentAssessment: + "1915(b) Comprehensive (Capitated) Waiver Independent Assessment (first two renewals only)", + b4WaiverApplication: + "1915(b)(4) FFS Selective Contracting (Streamlined) Waiver Application Pre-print", + b4IndependentAssessment: + "1915(b)(4) FFS Selective Contracting (Streamlined) Independent Assessment (first two renewals only)", appk: "1915(c) Appendix K Amendment Waiver Template", waiverExtensionRequest: "Waiver Extension Request", }; diff --git a/lib/packages/shared-types/authority.ts b/lib/packages/shared-types/authority.ts index 4c5aff79e6..31d749ff8f 100644 --- a/lib/packages/shared-types/authority.ts +++ b/lib/packages/shared-types/authority.ts @@ -6,8 +6,4 @@ export enum Authority { "1915c" = "1915(c)", } -export type AuthorityUnion = - | "Medicaid SPA" - | "CHIP SPA" - | "1915(b)" - | "1915(c)"; +export type AuthorityUnion = "Medicaid SPA" | "CHIP SPA" | "1915(b)" | "1915(c)"; diff --git a/lib/packages/shared-types/events/capitated-amendment.ts b/lib/packages/shared-types/events/capitated-amendment.ts index cf46921d19..2d91bf30d2 100644 --- a/lib/packages/shared-types/events/capitated-amendment.ts +++ b/lib/packages/shared-types/events/capitated-amendment.ts @@ -32,12 +32,7 @@ export const baseSchema = z.object({ files: attachmentArraySchemaOptional(), }), }), - additionalInformation: z - .string() - .max(4000) - .nullable() - .default(null) - .optional(), + additionalInformation: z.string().max(4000).nullable().default(null).optional(), waiverNumber: z .string() .min(1, { message: "Required" }) diff --git a/lib/packages/shared-types/events/contracting-amendment.ts b/lib/packages/shared-types/events/contracting-amendment.ts index 402d38bb07..ef42b89a5a 100644 --- a/lib/packages/shared-types/events/contracting-amendment.ts +++ b/lib/packages/shared-types/events/contracting-amendment.ts @@ -1,8 +1,5 @@ import { z } from "zod"; -import { - attachmentArraySchema, - attachmentArraySchemaOptional, -} from "../attachments"; +import { attachmentArraySchema, attachmentArraySchemaOptional } from "../attachments"; export const baseSchema = z.object({ event: z.literal("contracting-amendment").default("contracting-amendment"), @@ -19,9 +16,7 @@ export const baseSchema = z.object({ b4WaiverApplication: z.object({ label: z .string() - .default( - "1915(b)(4) FFS Selective Contracting (Streamlined) Waiver Application Pre-print", - ), + .default("1915(b)(4) FFS Selective Contracting (Streamlined) Waiver Application Pre-print"), files: attachmentArraySchema(), }), tribalConsultation: z.object({ @@ -33,12 +28,7 @@ export const baseSchema = z.object({ files: attachmentArraySchemaOptional(), }), }), - additionalInformation: z - .string() - .max(4000) - .nullable() - .default(null) - .optional(), + additionalInformation: z.string().max(4000).nullable().default(null).optional(), waiverNumber: z .string() .min(1, { message: "Required" }) diff --git a/lib/packages/shared-types/events/new-chip-submission.ts b/lib/packages/shared-types/events/new-chip-submission.ts index 0b5fd004df..942ea0e7b2 100644 --- a/lib/packages/shared-types/events/new-chip-submission.ts +++ b/lib/packages/shared-types/events/new-chip-submission.ts @@ -1,18 +1,10 @@ import { z } from "zod"; -import { - attachmentArraySchema, - attachmentArraySchemaOptional, -} from "../attachments"; +import { attachmentArraySchema, attachmentArraySchemaOptional } from "../attachments"; export const baseSchema = z.object({ event: z.literal("new-chip-submission").default("new-chip-submission"), - additionalInformation: z - .string() - .max(4000) - .nullable() - .default(null) - .optional(), + additionalInformation: z.string().max(4000).nullable().default(null).optional(), attachments: z.object({ currentStatePlan: z.object({ files: attachmentArraySchema(), diff --git a/lib/packages/shared-types/events/new-medicaid-submission.ts b/lib/packages/shared-types/events/new-medicaid-submission.ts index 5cac80daad..c27e5417ee 100644 --- a/lib/packages/shared-types/events/new-medicaid-submission.ts +++ b/lib/packages/shared-types/events/new-medicaid-submission.ts @@ -1,19 +1,9 @@ import { z } from "zod"; -import { - attachmentArraySchema, - attachmentArraySchemaOptional, -} from "../attachments"; +import { attachmentArraySchema, attachmentArraySchemaOptional } from "../attachments"; export const baseSchema = z.object({ - event: z - .literal("new-medicaid-submission") - .default("new-medicaid-submission"), - additionalInformation: z - .string() - .max(4000) - .nullable() - .default(null) - .optional(), + event: z.literal("new-medicaid-submission").default("new-medicaid-submission"), + additionalInformation: z.string().max(4000).nullable().default(null).optional(), attachments: z.object({ cmsForm179: z.object({ files: attachmentArraySchema({ @@ -32,9 +22,7 @@ export const baseSchema = z.object({ }), tribalEngagement: z.object({ files: attachmentArraySchemaOptional(), - label: z - .string() - .default("Document Demonstrating Good-Faith Tribal Engagement"), + label: z.string().default("Document Demonstrating Good-Faith Tribal Engagement"), }), existingStatePlanPages: z.object({ files: attachmentArraySchemaOptional(), diff --git a/lib/packages/shared-types/events/temporary-extension.ts b/lib/packages/shared-types/events/temporary-extension.ts index 13b3473174..1d5f7eb858 100644 --- a/lib/packages/shared-types/events/temporary-extension.ts +++ b/lib/packages/shared-types/events/temporary-extension.ts @@ -1,8 +1,5 @@ import { z } from "zod"; -import { - attachmentArraySchema, - attachmentArraySchemaOptional, -} from "../attachments"; +import { attachmentArraySchema, attachmentArraySchemaOptional } from "../attachments"; export const baseSchema = z.object({ event: z.literal("temporary-extension").default("temporary-extension"), @@ -21,12 +18,7 @@ export const baseSchema = z.object({ "The Approved Initial or Renewal Waiver Number must be in the format of SS-####.R##.00 or SS-#####.R##.00.", }), authority: z.string(), // z.enum? - additionalInformation: z - .string() - .max(4000) - .nullable() - .default(null) - .optional(), + additionalInformation: z.string().max(4000).nullable().default(null).optional(), attachments: z.object({ waiverExtensionRequest: z.object({ label: z.string().default("Waiver Extension Request"), diff --git a/lib/packages/shared-types/events/toggle-withdraw-rai.ts b/lib/packages/shared-types/events/toggle-withdraw-rai.ts index 7e3c81ca47..c8e4ddd301 100644 --- a/lib/packages/shared-types/events/toggle-withdraw-rai.ts +++ b/lib/packages/shared-types/events/toggle-withdraw-rai.ts @@ -1,6 +1,5 @@ import { z } from "zod"; - export const baseSchema = z.object({ event: z.literal("toggle-withdraw-rai").default("toggle-withdraw-rai"), id: z.string(), diff --git a/lib/packages/shared-types/forms.ts b/lib/packages/shared-types/forms.ts index c0e2e48332..80b6e3a7e7 100644 --- a/lib/packages/shared-types/forms.ts +++ b/lib/packages/shared-types/forms.ts @@ -1,9 +1,4 @@ -import { - Control, - FieldArrayPath, - FieldValues, - RegisterOptions, -} from "react-hook-form"; +import { Control, FieldArrayPath, FieldValues, RegisterOptions } from "react-hook-form"; import { CalendarProps, InputProps, diff --git a/lib/packages/shared-types/inputs.ts b/lib/packages/shared-types/inputs.ts index 0cceeb4c46..0778bdf5ab 100644 --- a/lib/packages/shared-types/inputs.ts +++ b/lib/packages/shared-types/inputs.ts @@ -16,21 +16,16 @@ export type DatePickerProps = { dataTestId?: string; }; -export interface InputProps - extends React.InputHTMLAttributes { +export interface InputProps extends React.InputHTMLAttributes { icon?: string; iconRight?: boolean; } -export type RadioProps = React.ComponentPropsWithoutRef< - typeof RadioGroupPrimitive.Root -> & { +export type RadioProps = React.ComponentPropsWithoutRef & { className?: string; }; -export type SelectProps = React.ComponentPropsWithoutRef< - typeof SelectPrimitive.Root -> & { +export type SelectProps = React.ComponentPropsWithoutRef & { options: { label: string; value: any }[]; className?: string; apiCall?: string; @@ -51,14 +46,11 @@ export type MultiselectProps = { onChange?: (selectedValues: string[]) => void; }; -export type SwitchProps = React.ComponentPropsWithoutRef< - typeof SwitchPrimitives.Root -> & { +export type SwitchProps = React.ComponentPropsWithoutRef & { className?: string; }; -export interface TextareaProps - extends React.TextareaHTMLAttributes { +export interface TextareaProps extends React.TextareaHTMLAttributes { charCount?: "simple" | "limited"; charCountClassName?: string; } diff --git a/lib/packages/shared-types/opensearch/cpocs/index.ts b/lib/packages/shared-types/opensearch/cpocs/index.ts index 2d5f7bc856..a6d1585f16 100644 --- a/lib/packages/shared-types/opensearch/cpocs/index.ts +++ b/lib/packages/shared-types/opensearch/cpocs/index.ts @@ -1,10 +1,4 @@ -import { - Response as Res, - Hit, - Filterable as FIL, - QueryState, - AggQuery, -} from "./../_"; +import { Response as Res, Hit, Filterable as FIL, QueryState, AggQuery } from "./../_"; import { z } from "zod"; import { Officers } from "./transforms"; diff --git a/lib/packages/shared-types/opensearch/subtypes/index.ts b/lib/packages/shared-types/opensearch/subtypes/index.ts index 9457fb9668..a9acfbbb67 100644 --- a/lib/packages/shared-types/opensearch/subtypes/index.ts +++ b/lib/packages/shared-types/opensearch/subtypes/index.ts @@ -1,10 +1,4 @@ -import { - Response as Res, - Hit, - Filterable as FIL, - QueryState, - AggQuery, -} from "./../_"; +import { Response as Res, Hit, Filterable as FIL, QueryState, AggQuery } from "./../_"; import { z } from "zod"; import { Type } from "./transforms"; diff --git a/lib/packages/shared-types/opensearch/types/index.ts b/lib/packages/shared-types/opensearch/types/index.ts index 75ed5dbd00..9727514e42 100644 --- a/lib/packages/shared-types/opensearch/types/index.ts +++ b/lib/packages/shared-types/opensearch/types/index.ts @@ -1,10 +1,4 @@ -import { - Response as Res, - Hit, - Filterable as FIL, - QueryState, - AggQuery, -} from "./../_"; +import { Response as Res, Hit, Filterable as FIL, QueryState, AggQuery } from "./../_"; import { z } from "zod"; import { SPA_Type } from "./transforms"; diff --git a/lib/packages/shared-types/seatool-tables/index.ts b/lib/packages/shared-types/seatool-tables/index.ts index 142785c0de..6a07f7fa7e 100644 --- a/lib/packages/shared-types/seatool-tables/index.ts +++ b/lib/packages/shared-types/seatool-tables/index.ts @@ -1,4 +1,4 @@ export * from "./Type"; export * from "./SPA_Type"; export * from "./State_Plan"; -export * from "./Officers"; \ No newline at end of file +export * from "./Officers"; diff --git a/lib/packages/shared-utils/cloudformation.ts b/lib/packages/shared-utils/cloudformation.ts index dccd63ce6b..236553a83b 100644 --- a/lib/packages/shared-utils/cloudformation.ts +++ b/lib/packages/shared-utils/cloudformation.ts @@ -1,12 +1,6 @@ -import { - CloudFormationClient, - ListExportsCommand, -} from "@aws-sdk/client-cloudformation"; +import { CloudFormationClient, ListExportsCommand } from "@aws-sdk/client-cloudformation"; -export async function getExport( - exportName: string, - region: string = "us-east-1", -): Promise { +export async function getExport(exportName: string, region: string = "us-east-1"): Promise { const client = new CloudFormationClient({ region }); const command = new ListExportsCommand({}); diff --git a/lib/packages/shared-utils/regex.ts b/lib/packages/shared-utils/regex.ts index 6b07a7e3aa..a8e04751d5 100644 --- a/lib/packages/shared-utils/regex.ts +++ b/lib/packages/shared-utils/regex.ts @@ -34,10 +34,7 @@ export const reInsertRegex = (obj: any) => { obj[key].pattern.hasOwnProperty("value") ) { // if its a pattern.value replace the value's value with a regex from the weird array thing - obj[key].pattern.value = new RegExp( - obj[key].pattern.value[1], - obj[key].pattern.value[2], - ); + obj[key].pattern.value = new RegExp(obj[key].pattern.value[1], obj[key].pattern.value[2]); } } } diff --git a/lib/packages/shared-utils/seatool-date-helper.test.ts b/lib/packages/shared-utils/seatool-date-helper.test.ts index 4051e7db59..502475fe20 100644 --- a/lib/packages/shared-utils/seatool-date-helper.test.ts +++ b/lib/packages/shared-utils/seatool-date-helper.test.ts @@ -12,12 +12,7 @@ describe("offsetToUtc", () => { const originalDate = new Date("January 1, 2000 12:00:00"); const timezoneOffset = originalDate.getTimezoneOffset() * 60000; // in milliseconds const expectedDate = new Date(originalDate.getTime() - timezoneOffset); - console.debug( - "originalDate: ", - originalDate, - "expectedDate: ", - expectedDate, - ); + console.debug("originalDate: ", originalDate, "expectedDate: ", expectedDate); expect(offsetToUtc(originalDate)).toEqual(expectedDate); }); }); @@ -27,12 +22,7 @@ describe("offsetFromUtc", () => { const originalDate = new Date("2000-01-01T12:00:00.000Z"); const timezoneOffset = originalDate.getTimezoneOffset() * 60000; // in milliseconds const expectedDate = new Date(originalDate.getTime() + timezoneOffset); - console.debug( - "originalDate: ", - originalDate, - "expectedDate: ", - expectedDate, - ); + console.debug("originalDate: ", originalDate, "expectedDate: ", expectedDate); expect(offsetFromUtc(originalDate)).toEqual(expectedDate); }); }); @@ -42,9 +32,7 @@ describe("seaToolFriendlyTimestamp", () => { const originalDate = new Date("January 1, 2000 12:00:00"); const timezoneOffset = originalDate.getTimezoneOffset() * 60000; // in milliseconds const expectedDate = new Date(originalDate.getTime() - timezoneOffset); - expect(seaToolFriendlyTimestamp(originalDate)).toEqual( - expectedDate.getTime(), - ); + expect(seaToolFriendlyTimestamp(originalDate)).toEqual(expectedDate.getTime()); }); }); diff --git a/lib/packages/shared-utils/seatool-date-helper.ts b/lib/packages/shared-utils/seatool-date-helper.ts index 03423c914e..7bab4356e6 100644 --- a/lib/packages/shared-utils/seatool-date-helper.ts +++ b/lib/packages/shared-utils/seatool-date-helper.ts @@ -26,9 +26,7 @@ export const formatSeatoolDate = (date: string): string => { return moment(date).tz("UTC").format("MM/DD/yyyy"); }; -export const getNextBusinessDayTimestamp = ( - date: Date = new Date(), -): number => { +export const getNextBusinessDayTimestamp = (date: Date = new Date()): number => { const localeStringDate = date.toLocaleString("en-US", { timeZone: "America/New_York", dateStyle: "short", diff --git a/lib/packages/shared-utils/secrets-manager.ts b/lib/packages/shared-utils/secrets-manager.ts index 9dad32b3ae..762e53f441 100644 --- a/lib/packages/shared-utils/secrets-manager.ts +++ b/lib/packages/shared-utils/secrets-manager.ts @@ -4,10 +4,7 @@ import { DescribeSecretCommand, } from "@aws-sdk/client-secrets-manager"; -export async function getSecret( - secretId: string, - region: string = "us-east-1", -): Promise { +export async function getSecret(secretId: string, region: string = "us-east-1"): Promise { const client = new SecretsManagerClient({ region }); try { // Check if the secret is marked for deletion @@ -15,9 +12,7 @@ export async function getSecret( const secretMetadata = await client.send(describeCommand); if (secretMetadata.DeletedDate) { - throw new Error( - `Secret ${secretId} is marked for deletion and will not be used.`, - ); + throw new Error(`Secret ${secretId} is marked for deletion and will not be used.`); } const command = new GetSecretValueCommand({ SecretId: secretId }); diff --git a/lib/stacks/alerts.ts b/lib/stacks/alerts.ts index a520e7eeb6..b51e36ba59 100644 --- a/lib/stacks/alerts.ts +++ b/lib/stacks/alerts.ts @@ -22,11 +22,7 @@ export class Alerts extends cdk.NestedStack { // Create Alerts Topic with AWS-managed KMS Key const alertsTopic = new cdk.aws_sns.Topic(this, "AlertsTopic", { topicName: `Alerts-${project}-${stage}`, - masterKey: cdk.aws_kms.Alias.fromAliasName( - this, - "KmsAlias", - "alias/aws/sns", - ), + masterKey: cdk.aws_kms.Alias.fromAliasName(this, "KmsAlias", "alias/aws/sns"), }); // Output the Alerts Topic ARN diff --git a/lib/stacks/api.ts b/lib/stacks/api.ts index f8cee59b1b..bd1a91cb72 100644 --- a/lib/stacks/api.ts +++ b/lib/stacks/api.ts @@ -4,11 +4,7 @@ import { Construct } from "constructs"; import { join } from "path"; import { DeploymentConfigProperties } from "../config/deployment-config"; import * as LC from "local-constructs"; -import { - BlockPublicAccess, - Bucket, - BucketEncryption, -} from "aws-cdk-lib/aws-s3"; +import { BlockPublicAccess, Bucket, BucketEncryption } from "aws-cdk-lib/aws-s3"; import { AnyPrincipal, Effect, PolicyStatement } from "aws-cdk-lib/aws-iam"; import { commonBundlingOptions } from "../config/bundling-config"; @@ -73,9 +69,7 @@ export class Api extends cdk.NestedStack { cdk.aws_iam.ManagedPolicy.fromAwsManagedPolicyName( "service-role/AWSLambdaVPCAccessExecutionRole", ), - cdk.aws_iam.ManagedPolicy.fromAwsManagedPolicyName( - "CloudWatchLogsFullAccess", - ), + cdk.aws_iam.ManagedPolicy.fromAwsManagedPolicyName("CloudWatchLogsFullAccess"), ], inlinePolicies: { LambdaPolicy: new cdk.aws_iam.PolicyDocument({ @@ -114,10 +108,7 @@ export class Api extends cdk.NestedStack { }), new cdk.aws_iam.PolicyStatement({ effect: cdk.aws_iam.Effect.ALLOW, - actions: [ - "secretsmanager:DescribeSecret", - "secretsmanager:GetSecretValue", - ], + actions: ["secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue"], resources: [ `arn:aws:secretsmanager:${this.region}:${this.account}:secret:${dbInfoSecretName}-*`, ], @@ -293,18 +284,21 @@ export class Api extends cdk.NestedStack { }, ]; - const lambdas = lambdaDefinitions.reduce((acc, lambdaDef) => { - acc[lambdaDef.id] = createNodeJsLambda( - lambdaDef.id, - lambdaDef.entry, - lambdaDef.environment, - vpc, - lambdaSecurityGroup, - privateSubnets, - !props.isDev ? lambdaDef.provisionedConcurrency : 0, - ); - return acc; - }, {} as { [key: string]: NodejsFunction }); + const lambdas = lambdaDefinitions.reduce( + (acc, lambdaDef) => { + acc[lambdaDef.id] = createNodeJsLambda( + lambdaDef.id, + lambdaDef.entry, + lambdaDef.environment, + vpc, + lambdaSecurityGroup, + privateSubnets, + !props.isDev ? lambdaDef.provisionedConcurrency : 0, + ); + return acc; + }, + {} as { [key: string]: NodejsFunction }, + ); // Create IAM role for API Gateway to invoke Lambda functions const apiGatewayRole = new cdk.aws_iam.Role(this, "ApiGatewayRole", { @@ -455,13 +449,10 @@ export class Api extends cdk.NestedStack { const resource = api.root.resourceForPath(path); // Define the integration for the Lambda function - const integration = new cdk.aws_apigateway.LambdaIntegration( - lambdaFunction, - { - proxy: true, - credentialsRole: apiGatewayRole, - }, - ); + const integration = new cdk.aws_apigateway.LambdaIntegration(lambdaFunction, { + proxy: true, + credentialsRole: apiGatewayRole, + }); // Add method for specified HTTP method resource.addMethod(method, integration, { @@ -485,10 +476,7 @@ export class Api extends cdk.NestedStack { }); // Define CloudWatch Alarms - const createCloudWatchAlarm = ( - id: string, - lambdaFunction: cdk.aws_lambda.Function, - ) => { + const createCloudWatchAlarm = (id: string, lambdaFunction: cdk.aws_lambda.Function) => { const alarm = new cdk.aws_cloudwatch.Alarm(this, id, { alarmName: `${project}-${stage}-${id}Alarm`, metric: new cdk.aws_cloudwatch.Metric({ @@ -503,8 +491,7 @@ export class Api extends cdk.NestedStack { threshold: 1, evaluationPeriods: 1, comparisonOperator: - cdk.aws_cloudwatch.ComparisonOperator - .GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + cdk.aws_cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, treatMissingData: cdk.aws_cloudwatch.TreatMissingData.NOT_BREACHING, }); diff --git a/lib/stacks/data.ts b/lib/stacks/data.ts index fd8f03307b..d82c408a2b 100644 --- a/lib/stacks/data.ts +++ b/lib/stacks/data.ts @@ -469,19 +469,22 @@ export class Data extends cdk.NestedStack { sinkTypes: { provisionedConcurrency: 0 }, }; - const lambdaFunctions = Object.entries(functionConfigs).reduce((acc, [name, config]) => { - acc[name] = createLambda({ - id: name, - role: sharedLambdaRole, - useVpc: true, - environment: { - osDomain: `https://${openSearchDomainEndpoint}`, - indexNamespace, - }, - provisionedConcurrency: !props.isDev ? config.provisionedConcurrency : 0, - }); - return acc; - }, {} as { [key: string]: NodejsFunction }); + const lambdaFunctions = Object.entries(functionConfigs).reduce( + (acc, [name, config]) => { + acc[name] = createLambda({ + id: name, + role: sharedLambdaRole, + useVpc: true, + environment: { + osDomain: `https://${openSearchDomainEndpoint}`, + indexNamespace, + }, + provisionedConcurrency: !props.isDev ? config.provisionedConcurrency : 0, + }); + return acc; + }, + {} as { [key: string]: NodejsFunction }, + ); const stateMachineRole = new cdk.aws_iam.Role(this, "StateMachineRole", { assumedBy: new cdk.aws_iam.ServicePrincipal("states.amazonaws.com"), diff --git a/lib/stacks/ui-infra.ts b/lib/stacks/ui-infra.ts index 4e784b880a..b5fb8c073d 100644 --- a/lib/stacks/ui-infra.ts +++ b/lib/stacks/ui-infra.ts @@ -1,10 +1,6 @@ import * as cdk from "aws-cdk-lib"; import { AnyPrincipal, Effect, PolicyStatement } from "aws-cdk-lib/aws-iam"; -import { - BlockPublicAccess, - Bucket, - BucketEncryption, -} from "aws-cdk-lib/aws-s3"; +import { BlockPublicAccess, Bucket, BucketEncryption } from "aws-cdk-lib/aws-s3"; import { Construct } from "constructs"; import * as LC from "local-constructs"; @@ -49,8 +45,7 @@ export class UiInfra extends cdk.NestedStack { ) : null; - const sanitizedDomainName = - domainName && domainName.trim() ? domainName.trim() : null; + const sanitizedDomainName = domainName && domainName.trim() ? domainName.trim() : null; // S3 Bucket for hosting static website const bucket = new cdk.aws_s3.Bucket(this, "S3Bucket", { @@ -105,22 +100,16 @@ export class UiInfra extends cdk.NestedStack { loggingBucket.addToResourcePolicy( new cdk.aws_iam.PolicyStatement({ effect: cdk.aws_iam.Effect.ALLOW, - principals: [ - new cdk.aws_iam.ServicePrincipal("cloudfront.amazonaws.com"), - ], + principals: [new cdk.aws_iam.ServicePrincipal("cloudfront.amazonaws.com")], actions: ["s3:PutObject"], resources: [`${loggingBucket.bucketArn}/*`], }), ); // CloudFront Origin Access Identity - const cloudFrontOAI = new cdk.aws_cloudfront.OriginAccessIdentity( - this, - "CloudFrontOAI", - { - comment: "OAI to prevent direct public access to the bucket", - }, - ); + const cloudFrontOAI = new cdk.aws_cloudfront.OriginAccessIdentity(this, "CloudFrontOAI", { + comment: "OAI to prevent direct public access to the bucket", + }); // HSTS Function const hstsFunction = new cdk.aws_cloudfront.Function(this, "HstsFunction", { @@ -141,15 +130,11 @@ export class UiInfra extends cdk.NestedStack { // CloudFront Distribution const viewerCertificate = domainCertificate - ? cdk.aws_cloudfront.ViewerCertificate.fromAcmCertificate( - domainCertificate, - { - aliases: sanitizedDomainName ? [sanitizedDomainName] : [], - securityPolicy: - cdk.aws_cloudfront.SecurityPolicyProtocol.TLS_V1_2_2021, - sslMethod: cdk.aws_cloudfront.SSLMethod.SNI, - }, - ) + ? cdk.aws_cloudfront.ViewerCertificate.fromAcmCertificate(domainCertificate, { + aliases: sanitizedDomainName ? [sanitizedDomainName] : [], + securityPolicy: cdk.aws_cloudfront.SecurityPolicyProtocol.TLS_V1_2_2021, + sslMethod: cdk.aws_cloudfront.SSLMethod.SNI, + }) : cdk.aws_cloudfront.ViewerCertificate.fromCloudFrontDefaultCertificate(); const distribution = new cdk.aws_cloudfront.CloudFrontWebDistribution( @@ -165,15 +150,12 @@ export class UiInfra extends cdk.NestedStack { behaviors: [ { isDefaultBehavior: true, - allowedMethods: - cdk.aws_cloudfront.CloudFrontAllowedMethods.GET_HEAD, - viewerProtocolPolicy: - cdk.aws_cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, + allowedMethods: cdk.aws_cloudfront.CloudFrontAllowedMethods.GET_HEAD, + viewerProtocolPolicy: cdk.aws_cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, functionAssociations: [ { function: hstsFunction, - eventType: - cdk.aws_cloudfront.FunctionEventType.VIEWER_RESPONSE, + eventType: cdk.aws_cloudfront.FunctionEventType.VIEWER_RESPONSE, }, ], }, diff --git a/lib/stacks/uploads.ts b/lib/stacks/uploads.ts index 1f754d7fce..fedd0c3725 100644 --- a/lib/stacks/uploads.ts +++ b/lib/stacks/uploads.ts @@ -43,9 +43,7 @@ export class Uploads extends cdk.NestedStack { maxAge: 3000, }, ], - removalPolicy: isDev - ? cdk.RemovalPolicy.DESTROY - : cdk.RemovalPolicy.RETAIN, + removalPolicy: isDev ? cdk.RemovalPolicy.DESTROY : cdk.RemovalPolicy.RETAIN, autoDeleteObjects: isDev, }); @@ -54,10 +52,7 @@ export class Uploads extends cdk.NestedStack { effect: cdk.aws_iam.Effect.DENY, principals: [new cdk.aws_iam.AnyPrincipal()], actions: ["s3:*"], - resources: [ - attachmentsBucket.bucketArn, - `${attachmentsBucket.bucketArn}/*`, - ], + resources: [attachmentsBucket.bucketArn, `${attachmentsBucket.bucketArn}/*`], conditions: { Bool: { "aws:SecureTransport": "false" }, }, diff --git a/mocks/handlers/api/user.ts b/mocks/handlers/api/user.ts index 148d725e6f..7047e4f3b1 100644 --- a/mocks/handlers/api/user.ts +++ b/mocks/handlers/api/user.ts @@ -1,9 +1,7 @@ import { CognitoUserAttribute } from "amazon-cognito-identity-js"; import { isCmsUser } from "shared-utils"; import { findUserByUsername, convertUserAttributes } from "../authUtils"; -import type { - TestUserData, -} from "../.."; +import type { TestUserData } from "../.."; // using `any` type here because the function that this is mocking uses any export const mockCurrentAuthenticatedUser = (): TestUserData | any => { diff --git a/mocks/handlers/authUtils.ts b/mocks/handlers/authUtils.ts index 97046d775e..419d2cbf0f 100644 --- a/mocks/handlers/authUtils.ts +++ b/mocks/handlers/authUtils.ts @@ -1,7 +1,5 @@ import { makoReviewer, makoStateSubmitter, userResponses } from "../data/users"; -import type { - TestUserData, -} from "../index.d"; +import type { TestUserData } from "../index.d"; import { CognitoUserAttributes } from "shared-types"; export const setMockUsername = (user?: TestUserData | string | null): void => { diff --git a/mocks/handlers/opensearch/changelog.ts b/mocks/handlers/opensearch/changelog.ts index bdaa09f03d..456c3a71b3 100644 --- a/mocks/handlers/opensearch/changelog.ts +++ b/mocks/handlers/opensearch/changelog.ts @@ -11,7 +11,8 @@ const defaultChangelogSearchHandler = http.post( const must = query?.bool?.must; const mustTerms = must ? getTermKeys(must) : []; - const packageIdValue = getTermValues(must, "packageId.keyword") || getTermValues(must, "packageId"); + const packageIdValue = + getTermValues(must, "packageId.keyword") || getTermValues(must, "packageId"); if (!packageIdValue) { return new HttpResponse("No packageId provided", { status: 400 }); @@ -39,7 +40,11 @@ const defaultChangelogSearchHandler = http.post( "", ) as keyof TestChangelogDocument; if (filterValue) { - changelog = filterItemsByTerm(changelog, filterTerm, filterValue); + changelog = filterItemsByTerm( + changelog, + filterTerm, + filterValue, + ); } }); } diff --git a/react-app/components.json b/react-app/components.json index 2907b0c163..dc25e47a12 100644 --- a/react-app/components.json +++ b/react-app/components.json @@ -13,4 +13,4 @@ "components": "@/components", "utils": "@/utils" } -} \ No newline at end of file +} diff --git a/react-app/index.html b/react-app/index.html index 4e26ef1ec6..3aa7ce9100 100644 --- a/react-app/index.html +++ b/react-app/index.html @@ -1,4 +1,4 @@ - + diff --git a/react-app/src/api/getAttachmentUrl.ts b/react-app/src/api/getAttachmentUrl.ts index daa79283b8..80ed6f1747 100644 --- a/react-app/src/api/getAttachmentUrl.ts +++ b/react-app/src/api/getAttachmentUrl.ts @@ -4,7 +4,7 @@ export const getAttachmentUrl = async ( id: string, bucket: string, key: string, - filename: string + filename: string, ) => { const response = await API.post("os", "/getAttachmentUrl", { body: { diff --git a/react-app/src/api/useGetCPOCs.ts b/react-app/src/api/useGetCPOCs.ts index e654a2a30e..c157a5f69b 100644 --- a/react-app/src/api/useGetCPOCs.ts +++ b/react-app/src/api/useGetCPOCs.ts @@ -15,12 +15,6 @@ export async function fetchCpocData() { } } -export function useGetCPOCs( - queryOptions?: UseQueryOptions, -) { - return useQuery( - ["package-cpocs"], - () => fetchCpocData(), - queryOptions, - ); +export function useGetCPOCs(queryOptions?: UseQueryOptions) { + return useQuery(["package-cpocs"], () => fetchCpocData(), queryOptions); } diff --git a/react-app/src/api/useGetCounties.ts b/react-app/src/api/useGetCounties.ts index b8736005ad..536a271c30 100644 --- a/react-app/src/api/useGetCounties.ts +++ b/react-app/src/api/useGetCounties.ts @@ -24,26 +24,18 @@ const usePopulationData = (stateString: string) => { export const useGetCounties = (): { label: string; value: string }[] => { const { data: userData } = useGetUser(); - const stateCodes = useMemo( - () => getUserStateCodes(userData?.user), - [userData], - ); + const stateCodes = useMemo(() => getUserStateCodes(userData?.user), [userData]); const stateNumericCodesString = useMemo( () => stateCodes - .map( - (code) => - FULL_CENSUS_STATES.find((state) => state.value === code)?.code, - ) + .map((code) => FULL_CENSUS_STATES.find((state) => state.value === code)?.code) .filter((code): code is string => code !== undefined && code !== "00") .join(","), [stateCodes], ); - const { data: populationData = [] } = usePopulationData( - stateNumericCodesString, - ); + const { data: populationData = [] } = usePopulationData(stateNumericCodesString); return ( populationData.map((county) => { diff --git a/react-app/src/api/useGetForm.ts b/react-app/src/api/useGetForm.ts index c8b1bce817..5996638314 100644 --- a/react-app/src/api/useGetForm.ts +++ b/react-app/src/api/useGetForm.ts @@ -3,10 +3,7 @@ import { API } from "aws-amplify"; import { ReactQueryApiError, FormSchema } from "shared-types"; import { reInsertRegex } from "shared-utils"; -export const getForm = async ( - formId: string, - formVersion?: string, -): Promise => { +export const getForm = async (formId: string, formVersion?: string): Promise => { const form = await API.post("os", "/forms", { body: { formId, formVersion }, }); @@ -30,7 +27,5 @@ export const getAllForms = async () => { }; export const useGetAllForms = () => { - return useQuery(["All Webforms"], () => - getAllForms(), - ); + return useQuery(["All Webforms"], () => getAllForms()); }; diff --git a/react-app/src/api/useGetItem.ts b/react-app/src/api/useGetItem.ts index 5b3ee43840..9d8b9f4cc2 100644 --- a/react-app/src/api/useGetItem.ts +++ b/react-app/src/api/useGetItem.ts @@ -1,14 +1,8 @@ -import { - useQuery, - useQueryClient, - UseQueryOptions, -} from "@tanstack/react-query"; +import { useQuery, useQueryClient, UseQueryOptions } from "@tanstack/react-query"; import { API } from "aws-amplify"; import { opensearch, ReactQueryApiError, SEATOOL_STATUS } from "shared-types"; -export const getItem = async ( - id: string, -): Promise => +export const getItem = async (id: string): Promise => await API.post("os", "/item", { body: { id } }); export const idIsApproved = async (id: string) => { diff --git a/react-app/src/api/useGetPackageActions.ts b/react-app/src/api/useGetPackageActions.ts index 389c59e2d9..8349c9ef52 100644 --- a/react-app/src/api/useGetPackageActions.ts +++ b/react-app/src/api/useGetPackageActions.ts @@ -9,11 +9,11 @@ const getPackageActions = async (id: string): Promise => export const useGetPackageActions = ( id: string, - options?: UseQueryOptions + options?: UseQueryOptions, ) => { return useQuery( ["actions", id], () => getPackageActions(id), - options + options, ); }; diff --git a/react-app/src/api/useGetTypes.ts b/react-app/src/api/useGetTypes.ts index 89a86be05c..a1dbccecec 100644 --- a/react-app/src/api/useGetTypes.ts +++ b/react-app/src/api/useGetTypes.ts @@ -8,10 +8,7 @@ type FetchOptions = { typeIds?: number[] | string[]; }; -export async function fetchData({ - authorityId, - typeIds, -}: FetchOptions): Promise { +export async function fetchData({ authorityId, typeIds }: FetchOptions): Promise { const endpoint = typeIds ? "/getSubTypes" : "/getTypes"; const body = typeIds ? { authorityId, typeIds } : { authorityId }; @@ -39,11 +36,7 @@ export function useGetData( ? ["package-subtypes", authorityId, typeIds] : ["package-types", authorityId]; - return useQuery( - queryKey, - () => fetchData(options), - queryOptions, - ); + return useQuery(queryKey, () => fetchData(options), queryOptions); } export function useGetTypes( @@ -55,11 +48,8 @@ export function useGetTypes( export function useGetSubTypes( authorityId: number | string, - typeIds: number[] | string [], + typeIds: number[] | string[], options?: UseQueryOptions, ) { - return useGetData( - { authorityId, typeIds }, - options, - ); + return useGetData({ authorityId, typeIds }, options); } diff --git a/react-app/src/api/useGetUser.test.ts b/react-app/src/api/useGetUser.test.ts index 81d6392d24..c226d87a6a 100644 --- a/react-app/src/api/useGetUser.test.ts +++ b/react-app/src/api/useGetUser.test.ts @@ -13,9 +13,7 @@ const mockCurrentAuthenticatedUser = vi.fn((options = {}) => { // If you want to simulate an error, you could set a flag on `options` and check it here. if (options.error) { reject( - new Error( - "useGetUser > mockCurrentAuthenticatedUser: Expected error thrown by test.", - ), + new Error("useGetUser > mockCurrentAuthenticatedUser: Expected error thrown by test."), ); } else { resolve({ username: "0000aaaa-0000-00aa-0a0a-aaaaaa000000" }); @@ -31,34 +29,29 @@ const mockUserAttr = ({ options?: { error?: boolean; noRoles?: boolean }; }) => vi.fn(async () => { - return await new Promise>( - (resolve) => { - if (options?.error) - throw Error( - "useGetUser > mockUserAttr: Expected error thrown by test.", - ); - /* This array of attributes is where we make changes to our test - * user for test-related assertions. */ - return resolve([ - { Name: "sub", Value: "0000aaaa-0000-00aa-0a0a-aaaaaa000000" }, - { Name: "email_verified", Value: "true" }, - { Name: "given_name", Value: "George" }, - { Name: "family_name", Value: "Harrison" }, - { - Name: "custom:state", - Value: "VA,OH,SC,CO,GA,MD", - }, - { - Name: "email", - Value: "george@example.com", - }, - !options?.noRoles && { - Name: "custom:cms-roles", - Value: isCms ? "onemac-micro-reviewer" : "onemac-micro-cmsreview", - }, - ] as Array<{ Name: string; Value: string }>); - }, - ); + return await new Promise>((resolve) => { + if (options?.error) throw Error("useGetUser > mockUserAttr: Expected error thrown by test."); + /* This array of attributes is where we make changes to our test + * user for test-related assertions. */ + return resolve([ + { Name: "sub", Value: "0000aaaa-0000-00aa-0a0a-aaaaaa000000" }, + { Name: "email_verified", Value: "true" }, + { Name: "given_name", Value: "George" }, + { Name: "family_name", Value: "Harrison" }, + { + Name: "custom:state", + Value: "VA,OH,SC,CO,GA,MD", + }, + { + Name: "email", + Value: "george@example.com", + }, + !options?.noRoles && { + Name: "custom:cms-roles", + Value: isCms ? "onemac-micro-reviewer" : "onemac-micro-cmsreview", + }, + ] as Array<{ Name: string; Value: string }>); + }); }); describe("getUser", () => { diff --git a/react-app/src/api/useSearch.ts b/react-app/src/api/useSearch.ts index a1140b2a64..a37d451640 100644 --- a/react-app/src/api/useSearch.ts +++ b/react-app/src/api/useSearch.ts @@ -16,10 +16,7 @@ type QueryProps = { aggs?: opensearch.AggQuery[]; }; -export const getOsData = async < - TProps, - TResponse extends opensearch.Response, ->( +export const getOsData = async >( props: QueryProps, ): Promise => { const searchData = await API.post("os", `/search/${props.index}`, { @@ -35,14 +32,10 @@ export const getOsData = async < return searchData; }; -export const getMainExportData = async ( - filters?: opensearch.main.Filterable[], -) => { +export const getMainExportData = async (filters?: opensearch.main.Filterable[]) => { if (!filters) return []; - const recursiveSearch = async ( - startPage: number, - ): Promise => { + const recursiveSearch = async (startPage: number): Promise => { if (startPage * 1000 >= 10000) { return []; } @@ -69,11 +62,7 @@ export const getMainExportData = async ( }; export const useOsSearch = ( - options?: UseMutationOptions< - TResponse, - ReactQueryApiError, - QueryProps - >, + options?: UseMutationOptions>, ) => { //@ts-expect-error return useMutation>( diff --git a/react-app/src/components/Alert/index.tsx b/react-app/src/components/Alert/index.tsx index 5914465426..66f46ef49a 100644 --- a/react-app/src/components/Alert/index.tsx +++ b/react-app/src/components/Alert/index.tsx @@ -9,12 +9,10 @@ const alertVariants = cva( variants: { variant: { default: "bg-background text-foreground", - destructive: - "border-destructive/50 text-destructive [&>svg]:text-destructive", + destructive: "border-destructive/50 text-destructive [&>svg]:text-destructive", infoBlock: "border-l-[6px] border-y-0 border-r-0 border-cyan-500 bg-cyan-300/10 rounded-none", - success: - "border-l-[6px] border-[#2E8540] border-y-0 border-r-0 bg-[#E7F4E4]", + success: "border-l-[6px] border-[#2E8540] border-y-0 border-r-0 bg-[#E7F4E4]", }, }, defaultVariants: { @@ -28,12 +26,7 @@ const Alert = React.forwardRef< HTMLDivElement, React.HTMLAttributes & VariantProps >(({ className, variant, ...props }, ref) => ( -

+
)); Alert.displayName = "Alert"; @@ -51,14 +44,9 @@ AlertTitle.displayName = "AlertTitle"; const AlertDescription = React.forwardRef< HTMLParagraphElement, - React.HTMLAttributes & - VariantProps + React.HTMLAttributes & VariantProps >(({ className, ...props }, ref) => ( -
+
)); AlertDescription.displayName = "AlertDescription"; diff --git a/react-app/src/components/BreadCrumb/BreadCrumb.tsx b/react-app/src/components/BreadCrumb/BreadCrumb.tsx index 89a5fdf8c6..ee1f9d4d2a 100644 --- a/react-app/src/components/BreadCrumb/BreadCrumb.tsx +++ b/react-app/src/components/BreadCrumb/BreadCrumb.tsx @@ -74,11 +74,7 @@ export const BreadCrumbSeperator = () => ; export const BreadCrumbBar = ({ children }: React.PropsWithChildren) => { return ( -
); }; diff --git a/react-app/src/components/Cards/SectionCard.tsx b/react-app/src/components/Cards/SectionCard.tsx index bed04ceaff..80dc138a60 100644 --- a/react-app/src/components/Cards/SectionCard.tsx +++ b/react-app/src/components/Cards/SectionCard.tsx @@ -8,13 +8,7 @@ interface SectionCardProps { id?: string; testId?: string; } -export const SectionCard = ({ - title, - children, - className, - id, - testId, -}: SectionCardProps) => { +export const SectionCard = ({ title, children, className, id, testId }: SectionCardProps) => { return (
{title && ( <> -

{title}

+

+ {title} +


)} -
{children}
+
+ {children} +
); }; diff --git a/react-app/src/components/Chip/Chip.test.tsx b/react-app/src/components/Chip/Chip.test.tsx index 0e1a155325..b1a160ce8c 100644 --- a/react-app/src/components/Chip/Chip.test.tsx +++ b/react-app/src/components/Chip/Chip.test.tsx @@ -9,9 +9,7 @@ describe("Chip", () => { const { container } = render(); - const chipButton = container.getElementsByClassName( - "h-8 py-2 cursor-pointer", - )[0]; + const chipButton = container.getElementsByClassName("h-8 py-2 cursor-pointer")[0]; await userEvent.click(chipButton); diff --git a/react-app/src/components/Chip/index.tsx b/react-app/src/components/Chip/index.tsx index 139053b718..e1729b065f 100644 --- a/react-app/src/components/Chip/index.tsx +++ b/react-app/src/components/Chip/index.tsx @@ -18,7 +18,7 @@ const chipVariants = cva( defaultVariants: { variant: "default", }, - } + }, ); export interface ChipProps extends VariantProps { @@ -37,10 +37,7 @@ const Chip = ({ const noIcon = variant === "noIcon" || variant === "destructive"; return (
diff --git a/react-app/src/components/ConfirmationDialog/ConfirmationDialog.tsx b/react-app/src/components/ConfirmationDialog/ConfirmationDialog.tsx index e2b97d0c6c..d9ca68c30c 100644 --- a/react-app/src/components/ConfirmationDialog/ConfirmationDialog.tsx +++ b/react-app/src/components/ConfirmationDialog/ConfirmationDialog.tsx @@ -56,11 +56,7 @@ export function ConfirmationDialog({ data-testid="dialog-footer" > {acceptButtonVisible && ( - )} diff --git a/react-app/src/components/ConfirmationDialog/userPrompt.tsx b/react-app/src/components/ConfirmationDialog/userPrompt.tsx index 09f1f1d888..45112c3560 100644 --- a/react-app/src/components/ConfirmationDialog/userPrompt.tsx +++ b/react-app/src/components/ConfirmationDialog/userPrompt.tsx @@ -31,9 +31,7 @@ export const userPrompt = (newUserPrompt: UserPrompt) => { }; export const UserPrompt = () => { - const [activeUserPrompt, setActiveUserPrompt] = useState( - null, - ); + const [activeUserPrompt, setActiveUserPrompt] = useState(null); const [isOpen, setIsOpen] = useState(false); useEffect(() => { diff --git a/react-app/src/components/Container/Accordion/index.tsx b/react-app/src/components/Container/Accordion/index.tsx index 9c8074dc64..c7d9a4b440 100644 --- a/react-app/src/components/Container/Accordion/index.tsx +++ b/react-app/src/components/Container/Accordion/index.tsx @@ -11,11 +11,7 @@ const AccordionItem = React.forwardRef< React.ElementRef, AccordionItemProps >(({ className, ...props }, ref) => ( - + )); AccordionItem.displayName = "AccordionItem"; @@ -32,7 +28,7 @@ const AccordionTrigger = React.forwardRef< ref={ref} className={cn( "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180", - className + className, )} {...props} > diff --git a/react-app/src/components/DetailsSection/DetailsSection.test.tsx b/react-app/src/components/DetailsSection/DetailsSection.test.tsx index a23c06f080..612633385a 100644 --- a/react-app/src/components/DetailsSection/DetailsSection.test.tsx +++ b/react-app/src/components/DetailsSection/DetailsSection.test.tsx @@ -6,11 +6,7 @@ import { DetailsSection } from "./index"; describe("DetailsSection", () => { it("renders with description", () => { render( - +

test child

, ); diff --git a/react-app/src/components/Dialog/index.tsx b/react-app/src/components/Dialog/index.tsx index 9951a5a19c..9a38456eed 100644 --- a/react-app/src/components/Dialog/index.tsx +++ b/react-app/src/components/Dialog/index.tsx @@ -61,13 +61,7 @@ const DialogHeader = ({ }: React.HTMLAttributes & { className?: string; }) => ( -
+
); DialogHeader.displayName = "DialogHeader"; @@ -78,10 +72,7 @@ const DialogFooter = ({ className?: string; }) => (
); @@ -95,10 +86,7 @@ const DialogTitle = React.forwardRef< >(({ className, ...props }, ref) => ( )); diff --git a/react-app/src/components/Form/content/ContentWrappers.tsx b/react-app/src/components/Form/content/ContentWrappers.tsx index b4f0743cb3..2ff96bb15f 100644 --- a/react-app/src/components/Form/content/ContentWrappers.tsx +++ b/react-app/src/components/Form/content/ContentWrappers.tsx @@ -57,7 +57,11 @@ export const ActionFormDescription = ({ }; export const ActionFormHeading = ({ title }: { title: string }) => { - return

{title}

; + return ( +

+ {title} +

+ ); }; export const PreSubmitNotice = ({ diff --git a/react-app/src/components/Inputs/button.test.tsx b/react-app/src/components/Inputs/button.test.tsx index 8dfb4d8db5..67f9caa522 100644 --- a/react-app/src/components/Inputs/button.test.tsx +++ b/react-app/src/components/Inputs/button.test.tsx @@ -1,36 +1,39 @@ -import { render, screen } from '@testing-library/react'; -import { describe, it, expect } from 'vitest'; -import { Button } from './button'; +import { render, screen } from "@testing-library/react"; +import { describe, it, expect } from "vitest"; +import { Button } from "./button"; -describe('Button Component', () => { - it('renders children correctly', () => { +describe("Button Component", () => { + it("renders children correctly", () => { render(); - expect(screen.getByText('Click Me')).toBeInTheDocument(); + expect(screen.getByText("Click Me")).toBeInTheDocument(); }); - it('applies default variant and size classes', () => { + it("applies default variant and size classes", () => { render(); - const button = screen.getByText('Click Me'); - expect(button).toHaveClass('bg-primary text-slate-50'); + const button = screen.getByText("Click Me"); + expect(button).toHaveClass("bg-primary text-slate-50"); }); - it('applies the correct variant and size classes when props are set', () => { - render(); - const button = screen.getByText('Delete'); - expect(button).toHaveClass('bg-destructive'); - expect(button).toHaveClass('h-11 px-8'); + it("applies the correct variant and size classes when props are set", () => { + render( + , + ); + const button = screen.getByText("Delete"); + expect(button).toHaveClass("bg-destructive"); + expect(button).toHaveClass("h-11 px-8"); }); - it('shows a loading spinner when loading prop is true', () => { + it("shows a loading spinner when loading prop is true", () => { const { container } = render(); - const spinner = container.querySelector('.animate-spin'); + const spinner = container.querySelector(".animate-spin"); expect(spinner).toBeInTheDocument(); }); - it('disables the button when the disabled prop is true', () => { + it("disables the button when the disabled prop is true", () => { render(); - const button = screen.getByText('Disabled'); + const button = screen.getByText("Disabled"); expect(button).toBeDisabled(); }); }); - diff --git a/react-app/src/components/Inputs/button.tsx b/react-app/src/components/Inputs/button.tsx index c86960409b..d05bfc4b1a 100644 --- a/react-app/src/components/Inputs/button.tsx +++ b/react-app/src/components/Inputs/button.tsx @@ -11,12 +11,9 @@ const buttonVariants = cva( variants: { variant: { default: "bg-primary text-slate-50 hover:bg-primary-dark", - destructive: - "bg-destructive text-destructive-foreground hover:bg-destructive/90", - outline: - "border border-primary text-primary font-bold hover:bg-primary/10", - secondary: - "bg-secondary text-secondary-foreground hover:bg-secondary/80", + destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90", + outline: "border border-primary text-primary font-bold hover:bg-primary/10", + secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", ghost: "hover:bg-accent hover:text-accent-foreground", link: "text-primary underline-offset-4 hover:underline", }, @@ -42,17 +39,10 @@ export interface ButtonProps } const Button = React.forwardRef( - ( - { className, variant, size, loading, children, asChild = false, ...props }, - ref, - ) => { + ({ className, variant, size, loading, children, asChild = false, ...props }, ref) => { const Comp = asChild ? Slot : "button"; return ( - + <> {loading && } {children} diff --git a/react-app/src/components/Inputs/calendar.tsx b/react-app/src/components/Inputs/calendar.tsx index a0b3de5a48..c71e36b971 100644 --- a/react-app/src/components/Inputs/calendar.tsx +++ b/react-app/src/components/Inputs/calendar.tsx @@ -3,12 +3,7 @@ import { DayPicker } from "react-day-picker"; import { cn } from "@/utils"; import { buttonVariants } from "./button"; -function Calendar({ - className, - classNames, - showOutsideDays = true, - ...props -}: CalendarProps) { +function Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) { return ( {caption} - props.onPageChange(Number(v.currentTarget.value) - 1) - } + onChange={(v) => props.onPageChange(Number(v.currentTarget.value) - 1)} className="absolute w-auto h-auto opacity-0 cursor-pointer" aria-labelledby="morePagesButton" data-testid="morePagesButton" diff --git a/react-app/src/components/Popover/index.tsx b/react-app/src/components/Popover/index.tsx index 31497ebe24..6354fbd54c 100644 --- a/react-app/src/components/Popover/index.tsx +++ b/react-app/src/components/Popover/index.tsx @@ -24,7 +24,7 @@ const PopoverContent = React.forwardRef< sideOffset={sideOffset} className={cn( "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", - className + className, )} {...props} /> diff --git a/react-app/src/components/RHF/Field.tsx b/react-app/src/components/RHF/Field.tsx index a89cc1f828..4cc16153f4 100644 --- a/react-app/src/components/RHF/Field.tsx +++ b/react-app/src/components/RHF/Field.tsx @@ -32,22 +32,13 @@ export const Field = ({
{(SLOT.label || SLOT.styledLabel) && ( - + )} -
+
{SLOT.fields?.map((F) => { return ( - + ); })}
@@ -61,9 +52,7 @@ export const Field = ({ key={adjustedSlotName} // @ts-expect-error control={control} - rules={ - ruleGenerator(SLOT.rules, SLOT.addtnlRules) as CustomRegisterOptions - } + rules={ruleGenerator(SLOT.rules, SLOT.addtnlRules) as CustomRegisterOptions} name={adjustedSlotName as never} render={RHFSlot({ ...SLOT, diff --git a/react-app/src/components/RHF/FieldArray.tsx b/react-app/src/components/RHF/FieldArray.tsx index 07bc75aa8d..67fb5e77c5 100644 --- a/react-app/src/components/RHF/FieldArray.tsx +++ b/react-app/src/components/RHF/FieldArray.tsx @@ -7,9 +7,7 @@ import { slotInitializer } from "./utils"; import { Field } from "./Field"; import { cn } from "@/utils"; -export const RHFFieldArray = ( - props: FieldArrayProps, -) => { +export const RHFFieldArray = (props: FieldArrayProps) => { const fieldArr = useFieldArray({ control: props.control, name: props.name, @@ -31,19 +29,9 @@ export const RHFFieldArray = (
{fieldArr.fields.map((FLD, index) => { return ( -
+
{props.fields.map((SLOT, i) => { - return ( - - ); + return ; })} {/* FieldArray Removal */} {index >= 1 && !props.removeText && ( @@ -66,19 +54,12 @@ export const RHFFieldArray = ( {props.removeText ?? "Remove Group"} )} - {props.divider && ( -
- )} + {props.divider &&
}
); })} {props.lastDivider && ( -
+
)}