From 85dd831dfb4fa2552ea74d8e07a4ab7fa85d7f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Sun, 30 Jun 2024 20:24:20 +0200 Subject: [PATCH] Express --- bun.lockb | Bin 130723 -> 157228 bytes packages/server/package.json | 4 +++- packages/server/src/Express.ts | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 packages/server/src/Express.ts diff --git a/bun.lockb b/bun.lockb index 3958dbfeffebf5c970c324ec044c1180fd847d73..66393dbf4e0abab5fa43f0df6b239f65d5ebb09e 100755 GIT binary patch delta 20537 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 delta 4111 zcmeHKYgARo6`nbOa8N|>!Q~+W5yXUCxV$b1UPKfnhz3P@%UcMkAtoX;P2{>l8XJs} z9CQSYLTqbPlImhv(ss4hG+LTyE5>yBBF1DH0cj#_Op_+Te*4@xlB|{A{nc4~_uKoM zJ!kgJIWxm_pHUBd>$<}{cko)o|ngo9`^wK=W+`$LID){&` z2R~7@zN)f}u{nr?WcLA20s9s(<_Y!$Q#%f(=X?sL`t(A*PkYmWe8vJGco#Vu94%%n z82%1$5O@Q47I>xPSa2YGAMi}@*JwxWKLq=OPf0!k_JiLlxe<&(+H1j-NC|i%9%Y}5 zjA=vz<+@-GsbFjp{0s2ap2Z$5YEP#rhzl=;FVJ>Wt3COCcQcj3TB_nufe9A$kz%QY-%`WDILLFE6Yf5gOjZHaXrwg9)`C__t2v{25+ez*cD+_OE9Sr z&@6bSRryV!cDd1}24kQ$h>CVS)T;Jl+9+X%7qgbJQp0o6;H}k)pGtNkLzjb#6WmG| z!y{yiBk-sTM|&4E#<-+c3~$XnujhN7if<(6US09`ykqcI-m7y$dNe>+nkcmpo(&$? zy27kVd%1S`X`3=wuK7Jv$$!3-WXB$+6qjCRfJT6^g|8RSS&_I z)Tb+cC^I*ifLo8(i!J}3Bz=zbxAMc2bgBLG8u9xXJX4sQ_#_da@MSzkl=<*n(dWcH z#3>)1$>W5V2|}YYgnAPMt2jwQxC?|(UkHg}gD-@OB)m^Tk_h&Luyq22=lmed7yTq8 zxI&2Yhmaz+_(K>Z;RXq*!V&;sw;P0=0T9x}bqIWsNSp~;ELw@u#SqaFks1hED%y!M z#3<22B4ZXPQ*;q66JHT!iR>WIa&d@gh2X*Hq{aiCR0X4xY;lYP(_{$KLm;dYWg!sy zNH`UOB&I2RTJN?nzRg$IExc1Z=kM$xcUAk6avTR@i;fQ0~rIsQ!oG$FAQd=N394u^( z)KWRdPb2dHngPVHG#Q8^in)=1vPfz;PuV|pg|Wp_qrK%{QcIVb7km?J8qgA{;cREk zu&FGS+EkkVASq^mY5H)8v%djUvSi?N*loJP*m7u;^bDXLpbt);nus2BUF{wpB+X!2q|2io?2%kO{8qwoYGsA8MD0_Mc{#Yb%0H8#lkXjV%G=R#J zQnSEbq$`fjsBJXR0D}^!2h(zAF+d~?s@w!7EtYf`R7VX+GttXN`La;#>*67luddS! zIRW%KXsy%He-#)2E&%TXe;2QJ@aIG6)TjRht^pqbbSO^%=ybmYi~u*qjXk`Vzb4xE z@)eWm{{uQf>AWB1V&Nu88`?1 zH1KEO1n@^-B5;R^H}>(`xPI900DZto;0rwFCNKybg5L_X0Na2lzyd^z{QbPd<6W3< z0o}mM;_QCjbU$qmzd%cRd)}}WU=;RkU>Kn7!2<~3;)PD`=kg`Ae~XiyIG>!m_-ql; z#cSNdu|%jWtJG(lCYMF`p6uc)T${2{MH?sWsBr+jt!RMKGJLXW7pC2rH1cBsdhKM> zPEK{H06mK|+E8hurA1}5NrAlpSO`!ZVoUVk8E`y-hk+FU?M<|2Edw%vhXC5wXv3p# zn>I+A8QM^3qor+z_M}yk?UgW4YTJ9qj__YcTIgQzlacDPTfJ|EgySVTigCv|T)DpG zVB39xA$)C=IWEC$iJ2qrUg5r&#K=KVhKRY!v&OxQL0%2-*dWhRO7nIN@o42>o`?ne z8@Hg!s{<*$-+bbv&?E80Xyzlf4Dpx%Tk5`ip2s%#2Yu%$ee-1{woVp$0PJBBR-h}@9zHb{@U}8D138*InHc}Vgu!3J3ZaF zT&i`+r-!pUeus!Sb96l3BO*Th2RFID+3xrT6FNlmr~GZ7nhu9Qkv10;_vHEnTaZOe d>E@>1hR?WXu4qeF9_fu+qeM&+ZB@$d{{o`*x;6j+ diff --git a/packages/server/package.json b/packages/server/package.json index a2c3140..0db6f00 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -8,9 +8,11 @@ "@effect/schema": "^0.68.12", "@thilawyn/thilalib": "^0.1.4", "@todo-tests/common": "workspace:*", - "effect": "^3.4.5" + "effect": "^3.4.5", + "express": "^4.19.2" }, "devDependencies": { + "@types/express": "^4.17.21", "bun-types": "^1.1.17" } } diff --git a/packages/server/src/Express.ts b/packages/server/src/Express.ts new file mode 100644 index 0000000..ca06478 --- /dev/null +++ b/packages/server/src/Express.ts @@ -0,0 +1,7 @@ +import { Context, Layer } from "effect" +import express from "express" + + +export class Express extends Context.Tag("Express")>() {} + +export const ExpressLive = Layer.sync(Express, () => express())