From 842b7124c81f906510d4d06fe4379299650e41bd Mon Sep 17 00:00:00 2001 From: Adityapnn811 Date: Sat, 13 Jul 2024 14:45:31 +0700 Subject: [PATCH] feat: Dockerized the app --- .dockerignore | 15 +++++++++++++++ Dockerfile | 24 ++++++++++++++++++++++++ README.md | 10 ++++++++++ bun.lockb | Bin 158343 -> 158741 bytes package.json | 1 + svelte.config.js | 2 +- 6 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..9b49524 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,15 @@ +node_modules +Dockerfile* +docker-compose* +.dockerignore +.git +.gitignore +README.md +LICENSE +.vscode +Makefile +helm-charts +.env +.editorconfig +.idea +coverage* \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..88eac0e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM oven/bun:1 AS base +WORKDIR /usr/src/app + +FROM base AS install +RUN mkdir -p /temp/prod +COPY package.json bun.lockb /temp/prod/ +RUN cd /temp/prod && bun install --frozen-lockfile + +# copy node_modules from temp directory +# then copy all (non-ignored) project files into the image +FROM base AS prerelease +COPY --from=install /temp/prod/node_modules node_modules +COPY . . + +RUN bun run build + +FROM base AS release +COPY --from=install /temp/prod/node_modules node_modules +COPY --from=prerelease /usr/src/app/build . +COPY --from=prerelease /usr/src/app/package.json . +RUN ls . +USER bun +EXPOSE 3000/tcp +ENTRYPOINT [ "bun", "run", "index.js" ] \ No newline at end of file diff --git a/README.md b/README.md index 4b027d4..9f635e9 100644 --- a/README.md +++ b/README.md @@ -33,3 +33,13 @@ A CSV file that looks like this: Explanation: In the class `com.fsck.k9.FontSizes` in the example above, 13.5% of its methods exhibit *presentation layer* indications, 81.1% exhibits *domain layer* indications, and 5.4% methods with *data source layer* indications. For examples complete files that can be loaded into the visualisation, see: [data/bubbletea-viz](https://github.com/rsatrioadi/phd/tree/main/data/bubbletea-viz) + +## How to run using docker +1. Build the docker image +```bash +docker build -t bubbletea-viz . +``` +2. Run the docker image +```bash +docker run -p 3000:3000 bubbletea-viz +``` diff --git a/bun.lockb b/bun.lockb index e6496569a1c6dc9b8f3dc8ea0719ed608480bba5..710488eb8746e6193746139a437e52b8f4622fce 100755 GIT binary patch delta 29616 zcmeHwd3;S*+xFR8LXIJ($UGaOG$C_LC#boEm=i=#Bq3yy#7uHjO;tm>%BoaTp~kAB zhPDV%YO1lO#86sek!C(Ym3_HoI&}%}rsA4eKLw=>%PeQK+ zeIF#{TVyBvb1ivDRD~fK(In%bSBHEI-3jtnNUF83CVz$#We@}-`D+>d+kEu+k;s%P zr02656|04uEpw0?6<}e-ic@YK_)z_?K~gap=IjyvqY@`LqaRQMivmg2@9E?kOPABjP$H**bMs}WI$KgDZ?~#T6%JV!9a5Wp_U2e)D#*h59m~3v*tI; zQO5OwPWd%QX%wG9qmIKJx`QFtU@^gg`lGq#*htG@v$M=FKGQrbG0R|Risn-Wqai87 zZy~8bz2K3_*~ye~a+bfCJeyple;qA$VyR-GZV)f4nn6!)(20O%^I7SlAUNU)UPk?Pkd!v4nop&Dbu7A zc$&pkAW<$0xAAek435f9NE|)Jj4?U`o$}u7%Q9^m<=*g|}J#eCQ%9 z*ne1hN_r;jiL`vvVW)9|o{(uCZYZhnqc{WX=FCjq3exMvJM+`OPmTiuYH^-+Wj)$EV&RN(gyX>r#x&ldh2D_asExe}trh_CnIiPt1xRlbn)(xg{%_3Q1Ec1`=!4(plKC zu!1#%x8`6k2<&uiq~ldcM+6+#^sgbQXO?UB1(1~SWQ`vQNdwql)7wH)ygwxQIYZWi zv>`qhiL%zxp%jv8b^wwxsE)}^L-GLKN<*-=qwMOJx0IfpB!9HC^v_Dq9F~|l!H{K6 zOGwN#7z(?{36q(enrTil81!pKY*+L@jb(b;Ffn%HGI3#=U@*LV(cs-=#>r_T5;K#t zvy#)2Qj&*{$nJ>@XeOqPN=VMcnA624H90GLkyc=TNUC^yRFGC-1SB;m%bXy}OU+Ei zh~g+f%gAwg4=EQxQb1r7i?<8N{j!gYTcgR|edQcXNgSI-;a#9pzM-0ogrpUdkeHa^ zpPXgLM;z@)^B}31WXOh)BeVR)wrtKEo?*_+N*n|`E$Lp6)UM>=Y3Z4X*nB&~Kp9fc znNzY1aRa5El$@5}kJ~l%9eP$u^vek$gDvp$<=ul@-=U1Q)Wg z)R4M^q+e2sIXgQs!O$4~H4PnTGLOklM!|_$qsP$Db{H%(NX*K}OhjMSgJWG}Tm(B+ z)Ciqgx@L&fAM|D?jg3^Bq3p4-QSRBHa-!{o#O`mo)LYKz-H@KpS3uGddT5qQ>LcjX zzjGj|`lZ+isI*Mzw3f4?Wn3ww1N8Q|?osJkiK%000)7QM`F|>T++1jee6*RC#ym(0 z*p1mq1GNQ``g08=*%xTiI70g43T#fnB>H=}oF_LSso*ilhbnY8S?&oNA#r)M9E7Aj zMj1u3|$XNQ*jAo9Y|kD4@gXHVUL8Qe9mJ2 z)7(jiq_*Bqm#aJslA81_>{P|gkkE52pCCcoKprFozAXt$Wlir7Np0z@*~1}gL2n32 z6>)&94S5L#P=O~PsiH&B36x(kbn@Q>Src-(CTBs`pc{&XNRZ=1O^$%1jQeY{BP12@ zBu!@E2fZeAXH8axqX^>RXph@g;bx$>F(wD9^W>m5pxM`Tpm1#j6*;_8oUoNe++m4NQS*i?SF0PTv zMiztfA+{LjPOJoH&RpCgl_M+$XLq(3=Ok8w^AhIb9;uYF7@T3pc`Pfz`80F!h%|;* zHW(sMbQNZH4_DIJVvk5=Ei1wKcjn?5sdQ#BIL~2=JtK`jRWTUa!`HxkJi?6)>PWjI?5+X~ol z?XlP}ANO$Ed(hf556@OgYZl`Zsf=ffeIkvUFjpyOl;aa_EYmcU;}gMRd?StHv0Nw* zBP;X>SGKYe*dA*(c)5lfBQQxYc~LT2Y+M9QmWlk7Q>>(Zq_Gu7H3%N6Xjy8xMlJgU zS|`Dg_8Tg_7!hRwi+L^5cnUTdd&pL#kbDAHKVv%K4|-nv7Rv#Zc8TzQ|l1V5^ zP-u$DUM_?tgUvzV#u8`&;B3VNui|Ymv=bUts|z&hH4&%eGnddv%l+VcokZE!C_d`Mh%#2xXC!8fxd`o8E$|^trK%Xz1e`3 z!o>%7IAp|p4vkP6ve*cdaUpCSV6$NqRsxMC55h3uH5$npVY*wu8wy7?%>ttTNR|{UC^yg8Mm$xpp+EUcoFDB08AmcQhFbg5@57RfC0c zF_^h_GN}ziSS-Z+5SHJ`WV;qc4`Ls8YGrF1ZZO1%R2))+m`AtPHc0dlrs^ngh)5+P zl`K*xkur-^a0{JXfYfkd`wOW=ks6FyGE}6tm#18@9A$pvkdo{fq+|t}q2~rrgqqiy zm3A}PzK=fdz%F)cWqSsxP9o(Vi4`kS2}ntHb-C>xQqnIBV=38*NXdvjNOc#n_SmST ztv^yx!uBarlD&tNmJ46e3)%x_P*t?CsiTti3C1V4yK4s1mk<#jd zl*mu5(~*_-GO2MLnQOGkScc0T%_nRTSbH@)%L^xFmruAlq%$jp%RCs-5?WZ8I_IF# zl*44k1oY}+FktxPy_Fi@g_ZU;8P~yxj-grEDcpD)n%u5@q7l$l&b%tj2bqn823lsO zZtBWh`bq^EA4MGT3|qD)3U1{p>$`l z15E0}?kse8%v>S{m~a2Nx$;p!A)atXw-qY&x#2*z6Xu=09@>R!fp3J>%=_zwldoFm(9U= zb;OkvTBeBcX&*rpg`jN+c?K12COnuOzNP6QNN@i;Rt5K?{L~i>+I@?Hy<> zsTj4AUmr0tj#$`xR=C+I`Rv9$PM0VrrF;c@=&^&=gqbxm_L8Caao7?_O zp3Gx%Yr9z4N!r~zH0l=A5c}&F(5Oyw+x!_Cbs!qtA>8OWNERioQ|jPBtklh9d>=-- zkRkwg9_OG@iQ+1x+7D*=@g`%`U|E8^^1cg=N-#2?PT{uup+&JFuC0vqhR7j6Z#2Ul z12mdBxShjv-K25ilY{XNG)xJt16s$)CW}?4X2-G81WXwi=}ICm8YiJ)m!@W*iFJm` zA(5Am{?Mq$L~p9|hBDVAlkql;R7aGDiR1N_bU~vqsRlr!(&eOD1r1F=K^S*qC9}cM z6Pld;y`f?5$QiD#GPBa*CZj{V!4NG1=yoSDo@TKzA4X~|s*7CiLc?;PF2zNs)iCCo zY%;zx%wXsZBdXLlT)jVxtcjl3460lkr%R97uVGS8upJ$$XlGt9^zu*A$bQKb*xvc#UBBDJJ8T z5qih_Bt|GBm}@F_fe|bgqFXY{Pc_+AA1N+asjX~>BGr+7jMS${;ZlQCjZtVc^Kfrv z?15A$s#8sL;#_DnT5=oR1&zi>-W(ZHLuHkmrI0_o>1t?EwE1}8C(|y&?6&g72 zaWB>-QPXf^gc8<5lQpAy-i0R1qmS&bk1yB2jk40#LX+iD+zn{`MO~Yx$(^L%<54~LLyHh4&{gv} zv=AA9OHc4*<~qe>%$Tfy^eRN2-$0|~CU$3_}&5H9*IUvJ!N3qd@`MY7&Dgj#o)rFqr)!e_STT z@q)}18R4!%$ZnbgNvcqHO($6y=nYT>`TDal9zWFBTv?FzW9e^q_9iXE^y1i_W zHJeFhHg~EMOPE(nF|eIeokUINz)Tsv2ha@31Lz=0_V)p*zz3SX5Rwj(Waj|+eF)I; zpQIi5rR0QTDfJWu76K%f0d$b0j6Wp>$BUBuRsbYd0(6iheHB1)YXCZ4lw|)5um`>d zXlQrP0;Is5039SrFVf^LNIFPT2F0Y{AZg1!pD+7wKQxLu0Fc)qfDV#mKMZ&Rw*czj zGJqD)9{?RMO7edotgn`o|6c(4J*2fniAS2@F(e%%$^L{C93(05DL@raiTtl5yEsiQ zq$=>H-m0oak)&ibO@C36iTDO(INlu`Oto9 zL~J}{Eyzqr8mX~b%ScjkoTif`ev&4|ehi%?xma+b1u%mYO;U2Erjw-PESzYlZQmu0 z9huQg^u%1!aJ)(qHBaM7QuqQ*CrL^DNhOlhoI;H!N&d?rX`9#x*$DEi#zVFj^}eVX zNK(L$kYu{7+5e+tJ7>ym4?4 zen-I{MTxjerJLz0qzYVt45PLli|Y4*pOog__( zXPW)FX8*sCxuW(e<%;7)N%gFz*^@|~ z;iYP;&#T-ZTT&l7bt^rmM8~TnRp52-)ALYtn7Zo; zNJ_TFsRm>ZNXn=m8DEmLzsAB&)L@+G@-vZiHuqgGw&PuA_WirwuTe1;a``W$!tTE7 z#QuJ_mgtJNwFr`w!!%8QQIcu8W`9wV{|qf|CM1pE0!`1;Mc|J;JptpSdIZo&V#1;-`z|MM+)|Nos^a2E67U`1hDKOBIw{bD*NiF1)SJLZ!m zO`N|IXU~twGFF_AigTkSWXTcdGvXZZFWxzkdz z6o~Vm;v7{-mX+fCOq}~KBg=YmuDqPmapJsHob5j)OOiMjiL>JhvZRUgcjD~1k}PAz z`KUNIT1A!|aXur?0jtR}L!2*(bJ!ZP%oFG9;%r(=mPO)RCeEEcBTIoe|0&K<>&UWF zoS%tv|If*?UYskhr*xb+Zxv_zFUXQ4&PC$vxPdHb;{2UBdu}AlSaCio&W$#aB}bgk zh;zV~WSJq(m&7@2Gg;<|^L24HZ6V7daV`_*PFu-RAkKe^bJRAntQ6;G;@tl$vaA>9 z%3o7DPMo)jv;8+@NfPHGadzBJmNaqxPMke=kY%hm9~I|DJIRtG&S%6qplASnX{Q*T z)uit&(&fG@&Nh4B>^ODhid$WpR;%8i%S_i#e@$4HZyVZ4jbHa})z>^etM@d$4XZKx zc1-0-t6i>slNC58`lxq@zE%IYFkx%u*=tK)SJ5f?_AuZ?_dSffeqi zsHiuR1v5#d#$3TvtmJ|edoj)?z5t1veEk}%5%RHJ8ezPW!jrU9+a`c6fK^l;yCSH0hn!f)gH{w{c?T)V zbQt4hO)X^Y4iQxbYQ-U|D9-K+s^EK!*I_GaF)KVwQBg-QUf)|$AF=4~iFyWVi#7Ez zQ;ra|{wT)lh*i`lY@?v!j$yoxT2Y0}e3YW>k7K;7spYKpF`|k$nxQij6)_QJyC;Ue?qa=5vCmqoAgru!{POoe)&c4;ZhLR@CQg>Pdi*(_+stlR8@8}^r>#7;vc=YhZS1~oFxb(z z%U`jsXS5J$_?i_~7%cGkhCQk<&^KM%S@c;wM5R1-ur<2DBEGWT$&_=thcFbe7~NoJ zpiFnMjk-Y<9=n;bL<^CIVrH%|&~3yX_O))X5h35Q+ND~EH0))`6$UD0A1kgfP#)hg zm-FQz)Rz5hv~G}_*a3D>HyG?FkAuwTf)*mHeuz!b4K|`JhuI0;V6bb8knh=R7qt+B zoi_|e*whLGbi+|rQemJjJjMbq=^>&|kF(k32GQCR?22xXoqUqD_)!lL9zU==Yr`pa zOE=gFkJGH(Wi3SZ*crB1H^^Q;%kJw2gB^W+dyaLzQXWEv5>}`i40hCorR&b+{f1T4 zZFWLXIk&L#Z(31z+0>g974QpIzBTnL3%o_tB~S}*Sw-DvR|GZhHdg*GR@Cn-?-z

s+`Z0he674QHf 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 bd}Wflb=$BSs#gq;w^QA=4IZvGt@M8Y+^O{1 delta 29352 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 diff --git a/package.json b/package.json index eff2b23..e4b3d8f 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "d3": "^7.9.0", "lucide-svelte": "^0.378.0", "paneforge": "^0.0.4", + "svelte-adapter-bun": "^0.5.2", "tailwind-merge": "^2.3.0", "tailwind-variants": "^0.2.1" } diff --git a/svelte.config.js b/svelte.config.js index 4a82086..3d8ec7f 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,4 +1,4 @@ -import adapter from '@sveltejs/adapter-auto'; +import adapter from 'svelte-adapter-bun'; import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; /** @type {import('@sveltejs/kit').Config} */