From eeee169975d72914ff74e7b95a0225e0b8a4e130 Mon Sep 17 00:00:00 2001 From: Triston Armstrong Date: Sat, 30 Dec 2023 10:42:21 -0600 Subject: [PATCH] add eslint to project --- .eslintrc.cjs | 50 +++++++++++ bun.lockb | Bin 344670 -> 354342 bytes components/{Project.tsx => ListItem.tsx} | 10 +-- components/MDContent.tsx | 13 +-- components/SocialLinks/SocialLink.js | 2 +- components/SocialLinks/SocialLinks.js | 11 +-- components/UsefulLinks/UsefulLink.js | 4 +- components/UsefulLinks/UsefulLinks.js | 2 + next-env.d.ts | 2 + next.config.js | 6 -- next.config.ts | 4 + package.json | 18 +++- pages/index.tsx | 106 +++++++++++++---------- pages/notes/[id].tsx | 5 +- postcss.config.js | 8 +- tailwind.config.js | 29 +++---- tsconfig.json | 13 ++- 17 files changed, 175 insertions(+), 108 deletions(-) create mode 100644 .eslintrc.cjs rename components/{Project.tsx => ListItem.tsx} (53%) delete mode 100644 next.config.js create mode 100644 next.config.ts diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..a1cc7f7 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,50 @@ +module.exports = { + env: { + browser: true, + es2021: true + }, + extends: [ + 'eslint:recommended', + 'standard-with-typescript', + 'plugin:@typescript-eslint/recommended', + 'plugin:react/recommended' + ], + overrides: [ + { + env: { + node: true + }, + files: [ + '.eslintrc.{js,cjs}' + ], + parserOptions: { + sourceType: 'script' + } + } + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: [ + './tsconfig.json' + ] + }, + plugins: [ + 'react', + '@typescript-eslint' + ], + rules: { + 'InferGetStaticPropsType': 'wanr', + 'space-before-function-paren': 'off', + '@typescript-eslint/space-before-function-paren': 'off', + '@typescript-eslint/strict-boolean-expressions': [ + 2, + { + allowString: false, + allowNumber: false + } + ] + }, + ignorePatterns: ['src/**/*.test.ts', 'src/frontend/generated/*'] +} diff --git a/bun.lockb b/bun.lockb index 638092406509c5d8272001d990a29eb79fc64e92..8d67b44347a3d3dcf4f16783cd8a464ceb3104e7 100755 GIT binary patch delta 77994 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

SPjMD0_DGrQyXMBQ7gMI|Q=U`l2^a(=p&hUT zQU^}%Z0vTt*dRSYHKcIX_{iL(l3~_o^eNw$qplOcSa&(^mZ6_Y)oAc=k)9%{98Cp< z_iRwG3I~ju_^a>D`(yPKTad!4V$!Tq&MTXN7xgJ8={hs^2n3ZukZQSO#lqK9s_O|% zVQVnUtvYSr)v~eMU44pkd8#!Lj5PrTODuSN`y2P~53j4Ih%8S%K;bC7id&x#{O9zuTB^obdZ0EG)ElHZ%O$ra|l(o;;w@9a$iV_QH`1r%-COj$F;-ea4d z;t!;7qYhkuK9`m(*s8Dh6AhaL#%v%@)`C4%n_EoPmUy5i@Ip!rr1Z#|RPKlMm&5ca zKiSZ6RI3{T3SKg@2mDqmaA$Fqo+8sGJq<(qAP9K#JIQq=6Z_xwsaa4n0p_lVfB#bGcq}?@luzyqoC6mQPO1lJuO_NDW*{5C1QaJ zoP{bDW1Yd|lRCP?ls<2Y)%aasg)&FVlu8L0psE?Da*>YKPXh-VsSIJfVp8a_6tAyo z(M)Mn^90LF#43%Aj;}zY2U9myEpL@JFP!ZbZ^<~5Ymo_+N(@7KJw+2@$M;Hk*{yo( zli5Gcf2N`o-WK3rL7ohlG2r;iRB^&lMA&H+7E8HtUy|l;`u`-gaIqP1`b|WJT-+nG zU-TV7PiLYzN>?hH@xR>pa;F#0{eM4EX&D<+tgHHxxWizdj+pardI*+8S~(~*%eNG( zr^&AXh7B&Lh5uQqG>r81{Cg7%7fW7Wm#RVL^I@KRb(|XVSmIzl9%~{tCY-xI?$7He!;x7fvz9Lg!G8kokbuqX!pCPwB-Fg*z2#>KxlC#HwRA+2aQ;(QavL>XJu+(C;DZP9v&{S`EUWw1CDZj_Q?6F3PnpLk zYON+iVZEv!{t_Ep1s?D(vW*mXr$J8kysf2VDZ;DM!jJ4X!^)AHt`75~8z@^n*pIT; z<%vSK4h_dPAl0YIyCs)CIOOXFnHldnr~-CY>i)XTLhM!dD$7;yX8y~~k=%uwsO6?S zIYVwE@Ft7fL*Yc<$}$_EjB=mI?AjI0S3%*(&64{@X|3|Q1V59#5msDwfaruw4fXrn zB;eAG6Z$sDVp3hAVH;tHJq00eAGY^(HcK@cc}q`dAV-}EKDJ|f{@6n8w(h2r_vDB7+( zNiVjDBZ4>8s^6*KNd(fyl{#(J*kW{u+ie~l@Y=8nBtva6I<9VoFRGA%Ax|hT$Q?Uk z9vF^?!9jnFph^&S&F>oT{ciNr0T6cH2o?9tQk`~1dxfOEHMdsWaZBYxe4JaE2$WZO za4FoXJ^X0>HgFH|M(;!@7s861i+H=i7$K|*Zx3#5)vsbMdue3ur)dWi^t&7xSkD5r<_@-&-kwbwEIReDRmnN#h`=#lT=agiWCcUN#S+LBSRS=uFYue zZm5>zm(tPh!x}f)FU2dM+a8!&^O}+CS&(a1E zC_XMYbQ|#U`<^~?tZ8$y%|>Za%_#(KF1te9a`JjAyTznHT!(oG%kDAnZNbvQaWSB^ zu6bA+cBAmw2bP5sNZ}Q_*t`=SOUCsdqE9Kv7`5IDWtF{USgyzH#WIjX+xKc(DovN0 zOn$#(E-BCsiO^FalqVQ^4np&;66C=?qPtkpVIpAM$=ZYt-63I`D`Z# z>~e}#!*YjQ+l}MH3t3NUvYjLn58D}EVHM>vFo`=k=rim1o56;sZC-)F}vhg z?~Jxmb6u*uxA}3?9ro3+kldyFV+O8aHUi*yctIx)iad&o!%|Wm!docW9YQxt>w@Yd z-6|#66uMN%_MY0+i=G@3?G;`!lobJd`5xAnBYWEAJ_>3^yAF#&VwbO4+ks4u;PoU0 z903Og`kY_I)B`$D_7O}$MUSmOn5}GZ%?m!f`sZIm2g`y$56wwVjv$}%j;R&RXkNyM`Vo>J)JF?77VY)ka&c)0vA%jis-OGfd%$!R_3HXO=} znyla@f1u&VK~eN#Yj{}mbx%0_U_M2g;6=|*@uex`1ZE`Jqd%M@*r(a)lH=E?#qM)5}G@Cr%Vah)EI`tbU}Y$ZIzc6wGp;_lw5eexYWk zuq@<4{e*C5#+(vWSlmf%qa~*_EtR4A|Ki+~<|3s^yXhg)A;_9@t&5-U`lt=~=d&=h zP(Sxthz?eHvuRiKY%3T2l?hf}mkJCcd3KZopNOtf5628OrmFEh)M96d3>D3)tnqRY zYWj&X-)Jn2>tKW}`iX+iVe(l+5$EvpGCOG6IgL%_9Y0BxXu3)MR`sR0RBGT+Q>;wf z@tJj_ljk%ZK1EZ^LtfU62P-F##ydRD^^BlE@-SwoJC(Q zE~|8-1?R!l6$<^JDMu&HYbwZGTdS&*_JZb+x@Q=jyr8kxriH*`Wz89# z^eI1ulj$WG!2>~I3yP*=jhfe5(P@UBVk%O2`Mfl;+=de8Y6<$371ZStY@$7K*5E6v zhBRrb&R6XfngRmdOAxT5{mS3(4x0RRdyKvWlb*EylBSoses8LE8FPgdDER=mZu6s0 zJ?7c+MDHaXy_V`jJuYjU)#dw8+GUL+l;hba)V&p-1+$Q9URV-;rr*Y{vg%=)&ZS$I zvD2#FkIG%aO#$zI)bk2zS`tOaub`$4QBuc;l|IsS*LUA<)9Y-@{^@^U;krPce`s3j zR56m&XLMYlYPw9dORX9%ue8TvD5sWSt-caNH>?ppkD>S0f`__zY`V8luC9lXU96O~ zU%<@qap$fbLKWVw;vD6T6z019)uGjE>gx7VtEwP|^{`ssKQC(U;&!-7X& zao|%0TpMxq!M)X3T5AJ}esUR4?l&w^so79A*qH(?9~?`rE?`I+Q`Tf@E0k4_iKXhc zf}?tREH$?koGY(Jc1KiDI!-!MOxV?7^;)&r3l!re8AmnaD8y8-_GttPW-Vg)!$I+# zZ><0Y-(i93wnqwUWI1i;3LzCnL8U2(%nTtyl&eZo>t=enDwi{ zgeRDQUGO@N{LLYDA)aD6G>fOD99qZIWezLFQ>iit-Qy_;p{`@RG|-|y_`Yx1x2>Jn zU>}y7EPJ0YP;gyV<{Nenof1786lg9tD-J2#V8?;Y*T-8n=QBz-S6}8rYn-kUtbE;Z zJ4&YMaOGCbvJNfy$`2b3$lU_>o;df9s*J0R-z~)KBU*&WGa!M?%Yw(r3Dk(g1qrmK zEX21mLCR4#-DPIQeP#KW4s!;VB~vJr>XiwUgB(7K2S~hk-t$zOapSM*$iZ4s2N(B{ z!W#8MoAWJydU+(Dlf`%-xmuuB=fRYt6|8OA50U1oy=CjY=^i}&nA8F^g4%r2;E!Ss zrDO|qP5GgeZXpEgN+n5Sw)Tp^?0aLvFms95CBWqTB+9iAQq@h8Db*5v3<00CL`7|r zDJ@X2CR-~ZM7MdEl)Zlq`>9S)&3T zN9ZwV$5|^V^F2`TKkX zVGpzxoK2D^Nr&1mCsB4~wDj*uWX|(osWft{hOm4Z<@h43jL-pL?X+||RPCQ8El!nE z8rOLB#F0<&-CeOG!X^4Na&!}{w0I0pqYx0QrLwIY5LF)ec&>c1E?|-6mJX6ei(8#_ zX_UdljeaJ39l|z0(`kN}D)z{WSJGw1bR#EAw&U}x@l)p%zssG+0*1=no=j0(l1xdC z6$D%LyUFBVL5d8rm%^zYU>BplFgo3B6whnz1zq;FcANJvm1T_L-KSD4m!y|`qkJT?YVSrC~9r9ZMuYS#(bWu5Od9e>gmUECWK zY$Z+P3Kw=7<4#7!=$B>oJGt?C!Km+7F0Ya$`EJM;Yq-(`jlI0fX1* z&2&n0M-22Q7b!kPOY$>HW!>`$9$M3N;WPG9usMRI&p(ZVE24~2GiX6=gcW8`D&Bo+ z&5#^4D_;&C*J)10ESXbyQX3$JjiA_|FSEfrz>#Vd;g){T%DT*jc6`*)h zKijCpInY{ZGDSOMCYL9|Jb4%jRgs4>?G!z!$gTBRFkM=a`_J7~aa!nZ<)RX_Y3)ME z+*;Ci;D8~yT`E9XVKuY$ziS~)u8C$JTuA9p;1gCPXUL7=dr@>n#moB>AE(9Adepa1 zllOyi>g^DR4eT6zc>wMUpWc)$L{VjrT}+=mVZp6+fmn+oQpBmuz(bc%Fe_C)dQr(_ z!$DW{0)rL&BqX%}YNqSjB0 zM|t-0$yzG8u9DupblKZ|IW~^s8jL04%zR1Tbd5(0d~jLqAhrx&3E;!1r4-1^-OZ)c z$sNO7TK+uL%GCTCW%9&(Zuz42tv!i18Eh6nKQR5hc87%@yi5{z=F#5ff9(*u%e8`{ z<1*@+e+WZr;*c(4_El^`GWYz7-pIhK9~HE z;^hiw8$LUYiU|viN-%QWz0I|uNA(hCk%Zyx;YH8O3pT#c3m@bygS_n?m-Fd3B$78H zNay+rpBp$yw%4g43~2m`@e%$AJgJARU}+KAsP(k2mB&UTl=oGaxY^Ve@bMHvl^MKmc(f9**NsUQ2f>QygY>pRvbDt z<0S9=t?^eAH-sFO{HZ>!b|`Kwin9Or_)$iClT`crRjd!$JVJOq36lcMJ0J9o&dC zi+aLNYgyjDO@rKzMQ{Z&_}$CWwzB2!Vs1(n~X#d=A$y{^>X z*ukYP->jBD@)?E{o{(;u>>SY7CwMA6igh4b2;K0*Abe3J<`D&*qI@i6_&pD(u$3(A zdmeMu4AjNlX!t#kShCnz*fNSUvi>VBNJ#u=pdBfadcbvwkHj`eKB#E>S9>m8uI#H; z`MC0zL%6(ylnSVDTGqaOkxuU8^(iBe!e(@_kfcGeHJ&!qr_4bLtGoKz*yPz0Jfrm~ zJtM*f^aeANM;UohkiTFmJBe!BVVD->?V(hEL8sofffis8w(bcD*r0HwAIw$zQ60-) z`TO+S+ovY2Ghg}MT%}A!g*H#z@j7j!ll3s+`)!nN)UT>={qTj2-^1pG07Qy88z{A& z(8xq7OUZFIPU?yKYllqx;m^2t&<9U=gxoO_q%ze~P7ez47eW;FbzgQ*V1VT2JGP08 z1E9PYH<4ce9Bnt?eK1F}CiR@TVb>o=ZlVI-vLeUWa4+|@#OQzsiADZV~8?q{#zvF2zZsf;i$QHAEd}1?~L3+Yv6LSJ`W1;nCe`+ z>8JNyEMLkLZqyo1UI!HM^Hzyq?X{gxDkjvj1p)idp(+L2ZJpu-nX-aRyV^{(@l20# zdNn9oc7@Ju;-b-Lo3u0>e(1Gk!1^1!%NAMpFzSdDHl7v?+~pE^RvRy-c)PX&ONDm4 zsMkd^SEwo=kEn*kOI%&OE)>u%*81d~bQ%W<>ajaXxQbAEx6&f1_%3RTD4oSF zX<)?v73e=_rW(_nqSc*uQ6^`C<5Bk%r%oHm;ThcG@ISVGis3hQ>K$vLLV>dP&U+6ny(V#S`I=^~u3xrPb&2<<9(2jJ!D$laLh;{# zY?^!>Wu|7+%IliB>Pgwu=mwabi5zSTZ9P?dn%d;{KXBB_IWn_pI#a9#1)JqfDv$hB zsZsNhdWvn?lyd`R?#rf+pj02vCfA#IzmZL?Z)xl({HDfT{V1E#ZzA!1HXY><4CHc% z;!oyC#K9aQy;n|Nx*ff{t}!!lcXV-Nek5WKE?Ipmk4UL0Sbbt2Ex3jAAc@Y7iv5Yq z>H`wvXsY9%8f(i;G=zQSE_=3A=v_0_Q>`j>fP#@?Vg*W`sK9IVpZNAT^`P`F@oKF` zLwEhD3D$K!B*kAe^^GoT)uNeN1v5tc7j}p$-^MBB9Z;}1Ka_UbVilD6T&+5f7<0s| zJS=gucgeD01DgJfi4<16`0wdqO1ll_rP>Ne24b|r)4vg# zcH<6u+4#7`c!?PQgOA$G-H8)1SPif+_!Gw-FE!=t@kuafxcnDRo07vrmu^+72r(?u zwa2N)U3B8M<23Xx`bR#bQeQYu!(V~HiFE5O4%=7IhF2OZGQX!0bdOLu&$P-n(qPux zwJx89Jw8ru_i!lq_BeIDhu(RMN_a3zj9B|LJRxm;e{D7NKxok9WDExw9&CGbL<&=$ zzfY_g$X>4^3&q-GjyIpzi8j@){0mZ<=^?}P&ZqvWBqLxMH-3?_~fTfI$lhWKvY0IE2 z`KTujDJ+P`59ZEoS9@PDQsi?9=_pb+3Iwdnch)zVy=m|0Mk0Y|Xs4Z{oX1j6;^W_P zg16D~^W+Mjj_%ocNdkXt?e}Z>A;Xs=k8G~sWG43sWW>Ko!E3PbFUYmpC3?VRed97RWra-F{4v+mqvvCF*Kp;Y6Vv_zz}`(f$qb#r*?VAaL&mhZ^O{8&=*YfW9A=eEAa zm@w=YwaOXu7yncGJmNapzbUG%N!Kar4Rlj(>sKYOG$yYHO5UL2Z?P_Z*-HV#w|d4oTqmj1V?*GEmTK-4pYVd73_)+7? z{5<#wMe>|Ry1ym9eEtSsh180MxVa8CT6UKffI_|HE4p6Va>-#@R@{Wg4`f)@jfq{DZqb#cMk?jrKC z(KRu??{7afe|QiSve_Y241^xq>eE(xcL22I2-2b|~U-wY^8XHQ;~gKN>IH6p)oi0rRY~9@&oB z)emIY9`exWe28BEgJv(gK-F_0sO6xv1m&YP;YqD0RUa-=iWe06->0d$${jgNxbaZ^ z;QO>c7nbtg`;rF9G`dj_Bx~2EY}u&xmCVkg6nRCS@qlW5hIrwRYy4T`+$jT;e7j>S zLYC4P^R7`*qg5Hm0kz;tl2%Ewf4+ZMY{sSI_&p5%yTfHb+dncoGBz|JA;Ea+u<+S_ zFjkb(c0Z&~s6}@Sl;)sZIV3m6Gt;htAnGrRwx4Deyz(j07_m(7{$o;~-#g7*rdIuc z7#0=(!8PvKFMpI|1}M0{dUoFT`vS8}E%X#IR)|@IkcUf$b5AM{jWO?xM!+&+HQ9|6 zo*3LsUOaYgY>CzL7sOa<5oI=N)^WIt3i*W>K8{9S@%oXqu8`kPkv|Xk{xOB{wG`=| z5_?q4aD|1X8B+WA#WqLx@qG;5xT3Ir8afSHyP}&X{agz!l2=d*Ha6s`1+UR#5QvMi=uF`M)&t$l2~r#o>*JmtMqKKPer{ke@d|$oY%V<)qG0+P*dHE zr;^xvGz%~3G@-*Epp`X7qV>>yIXyr_MCX;H>cR50L0!?;2KU^hAVKJ*p7w%P3UF~% zc}dp<2+sEKq&lPgVqy7#Fi zH}6?90vyT5UX60;I5NxAhICKXL-*xfSkQa&>i9!0h449yd@fVeomlW7o!B^=D3@B7 z=hA6!A(&d53FRH&*E(jT5+&W|+2&_$y%KAHC#;@4sBi}4>W4a{CEbcA#zN2hM5jE? zZj$|Qq-59~=6RMZ?rP`y2_Ez`0OyP_S?oi1pB=yWN%v?>~vXtTx4K4mt1d@!NaFm>JAV$J;Wwz)fqdG!fI$jd^L z>~54~Rg>M?e1#Iq*bFIbQ4RBOb@<&v!$*UdsM$b}?qc&)S-rmCQRmCTD+p5I&Is9Z zcw8?u^oU0Y&uwge`?$FW3M!gbUns9>frr)g1$TL-u58!{bJbQ9!a{n$e^?LyiieVI zkkBwFA|W<3J|V*Bc*DRQe>drp9T_bt;UGy57fCgH3b869#(pO^AtJZ{|PjLWhO3J{*+n%8sRc zT_!HNv4_(W69yVxNHY8G!ZioW;&9@bqSOe#)v*(Vp7uSF4j63?dvL$_#oeb0OXu=y z`2~cw9y>jyzF`HN=z&_guZTQo`}?G2T-D>KRbo17xD?m)!@PdC#ub_l z4t<8^^t{w&YfHm)BysUZ8+VSaq*bTfZ)eCM6L2MOR@S>4^z+7KLk1H=BcldIM)z#e z}y3~j+kjEu9KBj+ULPWvH_=wQ(#HtxUDXwBAx%idtJ~<4o}5mGPkiBcQCb*GgNV1RJUSLleXM&V-gZvp!b8oR(NP^1Q?Ew zjPC6cAJIDk$JVvg+WIEAsNjN;5fPn8{ngqNv*^ZKw@MR*C>l7e=Mo$YpYl(cYyRIn2MGgG5EouB4 z!HZnq2o5IwBQc#xGf!w!!7eNIr7&5XX>94@8=*2y_J;;HKZ&P>Cj~z`wMj6hqM62kjL^beI|5+eG`l7^72 zX@Q@%vdV{*xDxHT1NjdrhK4?S2|h~R6{^y)*_b!DJE$|uqH=)NGLHpg3oa}o9(^M{ zuy)f6JE$^p80+%a4w`(txYVH&J1uo~-)uvLH0PV?Y zicJC8=Ghl6qRT;?qGjzFL~+ltI&k-z)*i$Y)Sv_xd@6?(ZbL7@F{^r@_Lka2{L93! zm8^S{MFXvq)71NyZ`e%TKQqa?-p9ys?R$+l^7=~sw%z78<-cHzf9bumer%u>RR0C< Cfe9l3 delta 71685 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 diff --git a/components/Project.tsx b/components/ListItem.tsx similarity index 53% rename from components/Project.tsx rename to components/ListItem.tsx index 611ed5e..1e3be28 100644 --- a/components/Project.tsx +++ b/components/ListItem.tsx @@ -1,18 +1,18 @@ import ExternalLinkIcon from "./ExternalLinkIcon"; -export interface ProjectProps { +export interface ListItemProps { label: string - date: string + date?: string url: string } -export default function Project({ label, date, url }: ProjectProps) { +export default function ListItem({ label, date, url }: ListItemProps) { return ( -

+

{label}

- {date} + {!!date && {date}} diff --git a/components/MDContent.tsx b/components/MDContent.tsx index bb432e3..6ee1d16 100644 --- a/components/MDContent.tsx +++ b/components/MDContent.tsx @@ -30,20 +30,11 @@ function BackLinks({ linkList }) { interface MDContentProps { - content: unknown + content: string backLinks: unknown[] - handleOpenNewContent: (arg?: unknown) => void } -function MDContent({ content, backLinks, handleOpenNewContent }: MDContentProps) { - - function _handleInternalLinkClick() { - //Processing fetching - //pass result up to parent container - //TODO: handle clicking on internal link, go fetching md content from file then passing it up to parent - handleOpenNewContent(content) - } - +function MDContent({ content, backLinks }: MDContentProps) { useRouter(); return ( diff --git a/components/SocialLinks/SocialLink.js b/components/SocialLinks/SocialLink.js index fda7943..334ee24 100644 --- a/components/SocialLinks/SocialLink.js +++ b/components/SocialLinks/SocialLink.js @@ -1,6 +1,6 @@ export function SocialLink({ SvgElement, link = "#" }) { return ( -
  • +
  • {SvgElement} diff --git a/components/SocialLinks/SocialLinks.js b/components/SocialLinks/SocialLinks.js index b2c1bef..4fd2231 100644 --- a/components/SocialLinks/SocialLinks.js +++ b/components/SocialLinks/SocialLinks.js @@ -1,13 +1,14 @@ import { SocialLink } from "./SocialLink" export function SocialLinksList() { + const width = 24 return (
      - } /> - } /> - } /> - } /> - } /> + } /> + } /> + } /> + } /> + } />
    ) } diff --git a/components/UsefulLinks/UsefulLink.js b/components/UsefulLinks/UsefulLink.js index b783488..33a20ad 100644 --- a/components/UsefulLinks/UsefulLink.js +++ b/components/UsefulLinks/UsefulLink.js @@ -2,10 +2,10 @@ import ExternalLinkIcon from "../ExternalLinkIcon.js"; export function UsefulLink({ title, link }) { return ( - +
  • {title}
    -
    +
  • diff --git a/components/UsefulLinks/UsefulLinks.js b/components/UsefulLinks/UsefulLinks.js index b165d8f..90e7b55 100644 --- a/components/UsefulLinks/UsefulLinks.js +++ b/components/UsefulLinks/UsefulLinks.js @@ -1,8 +1,10 @@ +import ListItem from "../ListItem" import { UsefulLink } from "./UsefulLink" export function UsefulLinksList() { return (
      + diff --git a/next-env.d.ts b/next-env.d.ts index 4f11a03..f557b4e 100644 --- a/next-env.d.ts +++ b/next-env.d.ts @@ -1,4 +1,6 @@ +// eslint-disable-next-line @typescript-eslint/triple-slash-reference /// +// eslint-disable-next-line @typescript-eslint/triple-slash-reference /// // NOTE: This file should not be edited diff --git a/next.config.js b/next.config.js deleted file mode 100644 index fc871fc..0000000 --- a/next.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - webpack: (config) => { - config.resolve.fallback = { ...config.resolve.fallback, fs: false }; - return config; - }, -} diff --git a/next.config.ts b/next.config.ts new file mode 100644 index 0000000..8a72074 --- /dev/null +++ b/next.config.ts @@ -0,0 +1,4 @@ +export default function webpack(config: { resolve: { fallback: Record } }): { resolve: { fallback: Record } } { + config.resolve.fallback = { ...config.resolve.fallback, fs: false } + return config +} diff --git a/package.json b/package.json index 2a38f76..e2f1a99 100644 --- a/package.json +++ b/package.json @@ -19,10 +19,16 @@ "@mui/material": "latest", "@mui/x-tree-view": "^6.17.0", "@types/node": "^20.10.5", + "@typescript-eslint/eslint-plugin": "^6.4.0", "cytoscape-d3-force": "latest", "cytoscape-node-html-label": "latest", "d3": "latest", "directory-tree": "latest", + "eslint-config-standard-with-typescript": "latest", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-n": "^16.0.0", + "eslint-plugin-promise": "^6.0.0", + "eslint-plugin-react": "latest", "fs": "latest", "gray-matter": "latest", "jsnetworkx": "latest", @@ -55,18 +61,24 @@ "autoprefixer": "^10.4.16", "bimap": "latest", "cytoscape": "latest", - "eslint": "latest", + "eslint": "^8.0.1", "eslint-config-next": "latest", "postcss": "^8.4.32", "remark-frontmatter": "latest", "remark-react": "latest", "remark-stringify": "latest", "tailwindcss": "latest", - "uuid": "latest" + "uuid": "latest", + "bun-types": "latest" }, "resolutions": { "react": "^18", "react-dom": "^18", "next": "^14" + }, + "module": "index.ts", + "type": "module", + "peerDependencies": { + "typescript": "^5.0.0" } -} +} \ No newline at end of file diff --git a/pages/index.tsx b/pages/index.tsx index 1e09827..33d13be 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -1,10 +1,11 @@ -import Job, { type JobProps } from "../components/Job"; -import Skill, { type SkillProps } from "../components/Skill"; -import Project, { type ProjectProps } from "../components/Project"; -import Head from "next/head"; +import Job, { type JobProps } from '../components/Job' +import Skill, { type SkillProps } from '../components/Skill' +import ListItem, { type ListItemProps } from '../components/ListItem' +import Head from 'next/head' import { UsefulLinksList } from '../components/UsefulLinks/index' import { SocialLinksList } from '../components/SocialLinks/SocialLinks' -import type { InferGetStaticPropsType, GetStaticProps } from 'next' +import type { GetStaticProps } from 'next' +import { type HTMLAttributes } from 'react' interface LandingProps { jobs: JobsType[] @@ -16,24 +17,24 @@ export default function Landing({ jobs, skills, projects }: LandingProps) { return (
      - + -
      -
      - ); - + ) } - export function getStaticProps(): ReturnType> { return { props: { projects: [ - { label: "Web Window Manager", date: "9/18/2022", url: "https://github.com/tristonarmstrong/web-window-manager" }, - { label: "Component Test Helper", date: "6/18/2022", url: "https://github.com/tristonarmstrong/component-test-helper" }, - { label: "Hive DAPP", date: "3/8/2022", url: "https://github.com/tristonarmstrong/hive-dapp" }, - { label: "Kivy Twisted Input Capture", date: "6/27/2021", url: "https://github.com/tristonarmstrong/KivyTwistedInputCapture" }, - { label: "Plant Monitor Node MCU", date: "6/27/2021", url: "https://github.com/tristonarmstrong/PlantMonitorNodeMCU" }, - { label: "Oppo BDP 103 CLI", date: "4/10/2021", url: "https://github.com/tristonarmstrong/oppo_bdp_103_CLI" }, - { label: "Sony Bravia Pro Server", date: "4/10/2021", url: "https://github.com/tristonarmstrong/sony_bravia_pro_display_mock_server" }, - { label: "Chat IO", date: "6/10/2020", url: "https://github.com/tristonarmstrong/chat.io" }, - { label: "Solar Battery Monitor API", date: "7/18/2023", url: "https://github.com/tristonarmstrong/SolarBatteryMonitorApi" }, - { label: "Zip Code Distance App", date: "1/28/2020", url: "https://github.com/tristonarmstrong/zipapp" }, - { label: "Armstrong Editor", date: "12/14/2022", url: "https://github.com/tristonarmstrong/armstrong-editor" }, + { label: 'Web Window Manager', date: '9/18/2022', url: 'https://github.com/tristonarmstrong/web-window-manager' }, + { label: 'Component Test Helper', date: '6/18/2022', url: 'https://github.com/tristonarmstrong/component-test-helper' }, + { label: 'Hive DAPP', date: '3/8/2022', url: 'https://github.com/tristonarmstrong/hive-dapp' }, + { label: 'Kivy Twisted Input Capture', date: '6/27/2021', url: 'https://github.com/tristonarmstrong/KivyTwistedInputCapture' }, + { label: 'Plant Monitor Node MCU', date: '6/27/2021', url: 'https://github.com/tristonarmstrong/PlantMonitorNodeMCU' }, + { label: 'Oppo BDP 103 CLI', date: '4/10/2021', url: 'https://github.com/tristonarmstrong/oppo_bdp_103_CLI' }, + { label: 'Sony Bravia Pro Server', date: '4/10/2021', url: 'https://github.com/tristonarmstrong/sony_bravia_pro_display_mock_server' }, + { label: 'Chat IO', date: '6/10/2020', url: 'https://github.com/tristonarmstrong/chat.io' }, + { label: 'Solar Battery Monitor API', date: '7/18/2023', url: 'https://github.com/tristonarmstrong/SolarBatteryMonitorApi' }, + { label: 'Zip Code Distance App', date: '1/28/2020', url: 'https://github.com/tristonarmstrong/zipapp' }, + { label: 'Armstrong Editor', date: '12/14/2022', url: 'https://github.com/tristonarmstrong/armstrong-editor' } ], skills: [ - { label: "Typescript" }, - { label: "Python" }, - { label: "Rust" }, - { label: "Javascript" }, + { label: 'Typescript' }, + { label: 'Python' }, + { label: 'Rust' }, + { label: 'Javascript' } ], jobs: [ { logo: 'https://ventrahealth.com/wp-content/uploads/2023/08/cropped-Ventra-Health-favicon-circle-192x192.png', name: 'Ventra Health', details: 'Maintaining and iterating on an internal web application', - dateFrom: "May 2023", - dateTo: "Present" + dateFrom: 'May 2023', + dateTo: 'Present' }, { logo: 'https://www.randstadusa.com/themes/custom/bluex/favicon.ico', name: 'Randstad Technologies', details: 'Built Web Applications for external clients', - dateFrom: "May 2022", - dateTo: "May 2023" + dateFrom: 'May 2022', + dateTo: 'May 2023' }, { logo: 'https://img1.wsimg.com/isteam/ip/9ba626a3-41c9-4092-90b5-cb351983b726/favicon/a8beec51-e35d-4cca-8e88-befa12f687b0.png/:/rs=w:64,h:64,m', name: 'Damiano Global Corporation', details: 'Built Web Applications for external clients', - dateFrom: "July 2020", - dateTo: "Nov 2021" + dateFrom: 'July 2020', + dateTo: 'Nov 2021' }, { logo: '#', name: 'Makers Ladder LLC', details: 'Did some thangs', - dateFrom: "Dec 2019", - dateTo: "Apr 2022" + dateFrom: 'Dec 2019', + dateTo: 'Apr 2022' - }, + } ] - }, + } } } - type SkillsType = SkillProps type JobsType = JobProps -type ProjectsType = ProjectProps +type ProjectsType = ListItemProps + +function Border({ className }: { className: HTMLAttributes['className'] }) { + return ( +
      + ) +} diff --git a/pages/notes/[id].tsx b/pages/notes/[id].tsx index fe25eda..3210bdb 100644 --- a/pages/notes/[id].tsx +++ b/pages/notes/[id].tsx @@ -18,7 +18,6 @@ export default function Home({ note, backLinks, fileNames, tree, flattenNodes })
    - ); } @@ -41,14 +40,14 @@ export function getStaticProps({ params }) { const flattenNodes = Util.getFlattenArray(tree) const listOfEdges: unknown[] = edges.filter(anEdge => anEdge.target === params.id) - const internalLinks: unknown[] = listOfEdges.map(anEdge => nodes.find(aNode => aNode.slug === anEdge.source)).filter(element => element !== undefined) + const internalLinks: unknown[] = listOfEdges.map((anEdge: { source: string }) => nodes.find(aNode => aNode.slug === anEdge.source)).filter(element => element !== undefined) const backLinks = [...new Set(internalLinks)] return { props: { note, tree: tree, flattenNodes: flattenNodes, - backLinks: backLinks.filter((link: Array) => link.slug !== params.id), + backLinks: backLinks.filter((link: { slug: string }) => link.slug !== params.id), }, }; } diff --git a/postcss.config.js b/postcss.config.js index 33ad091..f305d3c 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,6 +1,4 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, +export const plugins = { + tailwindcss: {}, + autoprefixer: {} } diff --git a/tailwind.config.js b/tailwind.config.js index b359bbd..2465c84 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,19 +1,16 @@ /** @type {import('tailwindcss').Config} */ -const defaultTheme = require('tailwindcss/defaultTheme') +import defaultTheme, { fontFamily as _fontFamily } from 'tailwindcss/defaultTheme' -module.exports = { - content: [ - "./pages/**/*.{js,ts,jsx,tsx,mdx}", - "./components/**/*.{js,ts,jsx,tsx,mdx}", - ], - theme: { - ...defaultTheme, - extend: { - fontFamily: { - sans: ['Inter var', ...defaultTheme.fontFamily.sans], - }, - }, - }, - plugins: [], +export const content = [ + './pages/**/*.{js,ts,jsx,tsx,mdx}', + './components/**/*.{js,ts,jsx,tsx,mdx}' +] +export const theme = { + ...defaultTheme, + extend: { + fontFamily: { + sans: ['Inter var', ..._fontFamily.sans] + } + } } - +export const plugins = [] diff --git a/tsconfig.json b/tsconfig.json index a2570c1..a5b718d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,7 @@ ], "allowJs": true, "skipLibCheck": true, + "strictNullChecks": true, "strict": false, "noEmit": true, "incremental": true, @@ -20,10 +21,16 @@ }, "include": [ "next-env.d.ts", - "**/*.ts", - "**/*.tsx" + "pages/**/*", + "lib/**/*", + "components/**/*", + ".eslintrc.js", + ".eslintrc.cjs", + "*.config.js", + "*.config.ts", ], "exclude": [ - "node_modules" + "node_modules", + "notes/**/*" ] }