From 1210e7dd38d69ad8b001a0010f6bfeb43a100dce Mon Sep 17 00:00:00 2001 From: tiesen243 Date: Sun, 19 Jan 2025 00:03:38 +0700 Subject: [PATCH] chore: bump deps --- apps/web/app/layout.tsx | 4 ++-- apps/web/lib/metadata.ts | 36 +++++++++++++++++++++++++++++ apps/web/lib/seo.ts | 44 ------------------------------------ apps/web/package.json | 2 +- bun.lockb | Bin 261704 -> 261352 bytes package.json | 2 +- packages/ui/package.json | 2 +- tooling/eslint/package.json | 3 +-- tooling/eslint/react.js | 4 ---- 9 files changed, 42 insertions(+), 55 deletions(-) create mode 100644 apps/web/lib/metadata.ts delete mode 100644 apps/web/lib/seo.ts diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index dfe357b..6afef2e 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -8,7 +8,7 @@ import { cn } from '@yuki/ui/utils' import { SessionProvider } from '@/lib/auth/react' import { auth } from '@/lib/auth/server' -import { seo } from '@/lib/seo' +import { createMetadata } from '@/lib/metadata' import { TRPCReactProvider } from '@/lib/trpc/react' const geistSans = Geist({ variable: '--font-sans', subsets: ['latin'] }) @@ -33,4 +33,4 @@ export default async ({ children }: Readonly<{ children: React.ReactNode }>) => ) } -export const metadata = seo({}) +export const metadata = createMetadata({}) diff --git a/apps/web/lib/metadata.ts b/apps/web/lib/metadata.ts new file mode 100644 index 0000000..a98f380 --- /dev/null +++ b/apps/web/lib/metadata.ts @@ -0,0 +1,36 @@ +import type { Metadata } from 'next' + +import { getBaseUrl } from '@/lib/utils' + +export const createMetadata = ( + overides: Omit & { title: string }, +): Metadata => { + const siteName = 'Create Yuki Turbo' + + const url = overides.openGraph?.url + ? `${getBaseUrl()}${overides.openGraph.url}` + : getBaseUrl() + const images = [ + ...((overides.openGraph?.images as [] | null) ?? []), + 'https://tiesen.id.vn/api/og', // Or create your own API route to generate OG images in `/app/api/og` + ] + + return { + ...overides, + metadataBase: new URL(getBaseUrl()), + title: overides.title ? `${siteName} | ${overides.title}` : siteName, + description: + overides.description ?? + 'Clean and typesafe starter monorepo using Turborepo along with Next.js and tRPC ', + applicationName: siteName, + alternates: { canonical: url }, + twitter: { card: 'summary_large_image' }, + openGraph: { url, images, siteName, type: 'website', ...overides.openGraph }, + icons: { + // Replace with your own icons + icon: 'https://tiesen.id.vn/favicon.ico', + shortcut: 'https://tiesen.id.vn/favicon-16x16.png', + apple: 'https://tiesen.id.vn/apple-touch-icon.png', + }, + } +} diff --git a/apps/web/lib/seo.ts b/apps/web/lib/seo.ts deleted file mode 100644 index 61702c8..0000000 --- a/apps/web/lib/seo.ts +++ /dev/null @@ -1,44 +0,0 @@ -import type { Metadata as NextMetadata } from 'next' - -import { env } from '@/env' - -export const getBaseUrl = () => { - if (typeof window !== 'undefined') return window.location.origin - if (env.VERCEL_PROJECT_PRODUCTION_URL) - return `https://${env.VERCEL_PROJECT_PRODUCTION_URL}` - if (env.VERCEL_URL) return `https://${env.VERCEL_URL}` - // eslint-disable-next-line no-restricted-properties - return `http://localhost:${process.env.PORT ?? 3000}` -} - -interface Metadata extends Omit { - title?: string -} - -export const seo = (params: Metadata) => { - const siteName = 'Create Yuki Turbo' - const title = params.title ? `${siteName} | ${params.title}` : siteName - const description = - params.description ?? - 'Clean and typesafe starter monorepo using Turborepo along with Next.js and tRPC ' - const url = params.openGraph?.url - ? `${getBaseUrl()}${params.openGraph.url}` - : getBaseUrl() - const images = [...((params.openGraph?.images as [] | null) ?? []), '/api/og'] - - return { - ...params, - metadataBase: new URL(getBaseUrl()), - title, - description, - applicationName: siteName, - alternates: { canonical: url }, - twitter: { card: 'summary_large_image' }, - openGraph: { url, images, siteName, type: 'website' }, - icons: { - icon: 'https://tiesen.id.vn/favicon.ico', - shortcut: 'https://tiesen.id.vn/favicon-16x16.png', - apple: 'https://tiesen.id.vn/apple-touch-icon.png', - }, - } -} diff --git a/apps/web/package.json b/apps/web/package.json index 355f7fe..c972ecc 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -24,7 +24,7 @@ "@yuki/auth": "workspace:*", "@yuki/db": "workspace:*", "@yuki/ui": "workspace:*", - "next": "15.1.4", + "next": "15.1.5", "react": "^19.0.0", "react-dom": "^19.0.0", "superjson": "^2.2.2", diff --git a/bun.lockb b/bun.lockb index ec238b882b335b70f47cba1839ce976dc936cfa6..4f63118bca00f6af2125a7d547465531d75998cc 100755 GIT binary patch delta 21029 zcmeHvcUTqI7wr_TGAK<@Km;sNK?DK83!)$z6)e~lqZm<%8e_#ov0bo&5f#UHB#OOv zY!~b;iW*y*lBltySYo2FVIjV?XU-t{OY+|L{?7eath3kIXP-J}8r;H{j<=pU&JFZ? z+A?r;t&rz~uC!?K<<#TF*UJCV_RsSVB0HqLS5Rj{+XU}~m$E<~OLh+*NgkUw_I^cm zgnjiILnjM@n;@jQOc8_%;C9mm!5O>`>-SkI1YDoSZy`oxk zb^A*&l?%+)JNk~s>T!pv7B_^ZzFXl!O;`q|KFtF=fYZTLRTTO{dX@QlUnKNJ(@~zP zR>0)%iYAcXNc*Jwq&7h z4<9ouU`TRmN*r{1=s{qr_zo&0zpG%HoMT{$V+E7nH=pZz%p$!5!C)t$i;z|w392X^ zjx-WOz!azf58wr+mS07Wsi7x17l55$e+>2nCxU6VyQ;xXZkDE4ffQ|2a#H`%0fSSV zmg&u~0aNpWkWbC>22*q=Fm*%bddYIVnMo`7T1waRuYqZ8bzP~K8!){8=uv}*B^N@c z+Vj8|@AuMjxDYvB5438v9w2Cq-hjGb8t)HNh7SwFA+&(!PXSW}1CslFJP`UI*wnqY zU@vftTEp3Fsjxwh_H?}-{YNlWAG1-9Itfh6V#L6J(WxVnQ^Gds{_lWku-(AaeTD18 z`+fWYDid;f+*c@1!-w*Nhm8&wHbSok`?D=tIrXBmv!C}?eTH9xX^C0EbeOH=JhGi0 zW2)+0$tR-McD+SzV460A71%WJ19s?~0ImpoI!e>T_^X2}HLz^jrN>?fl@@_vkB3eD zO!>I~sHBu+;j&ft8!>oP(&*$AVdyyOl^|@%*ZoEhN**@&gH&N9w@<^L#$(_|!~2n6 z@E*N&J2BK0w+?Ku>gM9??1ePV*rC0;&ki-hrGa#Fzxttzx1~D*(IE6sNl8xWF9@-) zsaqq4r;LUsgu$k1eX&~)lA1L1BdX9JIt}#ihx7^Y;^h_`<`Y1z#b+{X8r(|Ar-s>Z zzYhnG9*pdo!hnxHAwS^(DxiS<2Mr%GctFyqeMj|%IH-QEJ|5SROQUZz3z^z@PTG;= zTHb!gh#KqKsO}*_YV1c&8fS1WukDV)u{LgEylU?ksSHjN1g!itC$*E=tSo``9xRi3p@CU!qMn=^ZMz8vV|Qp& zJcx>m-fCQSw3w)7W=AVlY;~=WE2gHRA)c4 zxKceiFIu?{t%>G=+D)N2l{8n+%!^b$L5fFhU^eZ8)mY66h_sb5bzN^uT35vuLSrpJ zc0;piGOT9gXgY#acSxDlwD=wc3LV{+YC#E5= zI;!@ek;-1Ay6RrhW?R2mg3udQ>1Zg^py+MQP7Jq&(OGxKaE{0_s>_D80oLnI-G>#f zwr>!r_|7it)elyz5y7+pRvXRhQK=WEMhTo#cA!6krS~yA+N_*~)lHAk-E0b*i##pD zWu)}TG*#i*`p`@2g~n#nXtLBZ!I8=~q(V_z(iX%|Wi6BYJV9uro{5N5;*ruPj#@Jl zmfmZ!F2kY)BdXNv5LFP~)hx>U1Xdd@IxO*!dUA2Jsos1V>h_HzP2-T#dwUEieIX%+ zD5)oNqfM!D`&{ zXfZ|2Tpn%8&mm80XT{I49`)KW;_YBjd|AB^VOHkBYOd#DT&}(Lgw<^kM#Ly*S`8~! zTmJWuqR}f|d?xc^ZQf8<3Q}E5K35+T%ry?Dp0GM=$HqoV8TBY7uu9j5 zspS$u=%e*wB~l5RSEs?@;u6(vO_b7oslH0esm_?6nQG>mXypX7rtouAotv9QFI8C^ zt@K!?_tHjN3pud#@yN!A-ljZlW%@5KZC@j^X$-7))iaAD#l33gx@g6Dg)th~IF!+_ z;!E3n1Qx9>jOk*tsT{5c;whr(1Ekui_92nVcBI1Lf%TjoZUZAhJF1(nG8PSjnij%J zP_rgQO7~Z(b{nIl8>`he8>6rTW^RmDK3Su$6j|-$Z&voe3Mp;CZ?N>`P0KB4tsr#J zD+@9!7Fgto#?3RE@?c>=KZrCrt`mfQRGTsqsW3ejrhN^pF0e3wA!g+ntj1bt46&)< zdYWh|GaM<>T~r+G;(GPu7K`GsK|dVJshw!~z>0;3W=T&rsHe6@iEUJ6TeOn7(KxOy zG%+hDVA0sv(B^Gwv5Cf=w!9fg(K^#Rd;wN-Sla4QTs9jcPJ__{mcGSb2sA4*O7m!k zISs1`%4w$tQ~52lchHX96e(IydSh3>qVDL{9ay1;WeV6z#}}QZl98hQK=bm5+9n9& z$PxrW0*sG~T4QHjB_Fw^-B*OXvQ{iCYLl%tmD#Xbz_KGt`X*0pvul!4ce~yM%o^tK z16YmVg0mJ5q{XnBY1RdF{xY}F!3Jij+75MQK$PvM9eNF=$EfWVC^X8Yiu4Oytx;m6 zdeUkUC#Z4x(WV1CX~DM7kCbZcQrqN5iTzcjAX+*FqaaGGq-GXGn|kdQgw|?SL8Q1s zRrW-S^VPUL(b9dZI&)8y5|ght6muD8R>r`pk2*1DP0XeOSW#+w91U`T?j_T4t3<%! zyDZM0V_;$TO^uW;6sT?XA>%^kyn*Hcsj(+|pN99xQ5-joK+L+!jW67zl|VZ4Vl=PRrT? zi$Y?1YiJgas+otQmFLjnwZgQxV-M+}aEL4mw}nARfi~L8c38B=u;&Gsl^3w|qlc`f zxPoknJV)w>?J`*8S-LWm%TV-4G~^YJ=sTZ{w)lF(ih{R(RDKSNny6XQ?IY^UV^K=g zqk<3!Q9ETRv9KsS<_JSE6&B473Sf6R1&fO72er>J{eYLWnH~(Q)Kj%RUQzufC{!te zO0hBM=zsYy1R+MVXoO-_<%C7ah87PE_2Dw)PgvA(7xEWFcPNFjy``cc2-hS*FoAyt z(-C|ZtbiYZMet)VeuSs=i!&vk;a7PQWbNies0gMHF~z9_CO=oM6H~m(U>C5jELb#$ zdJq~yNCZ>C{@if@m_B8h0wi;tm?{_uwgZpkIx*=fVDcZ$bz(}6!7s{Bl`Z(KB?Q3+ zJP{exfGJ=qI2DW^VFtG|$iRn~{AYn_vBQ~n|_Rg}wlDd**2ioe2w1btS3 zsp55DTktlpJ$OHu0v!fZprc^={2No?W4v4;nCz3h{AsSA15py_0qO08gk=r-G^dY7ZzHLJf-Sou&u&8Dgxv7hbYyo!* zO~gH3oS2dixJ^vW{1Z&oJ_b|PGy3%w({^V&PbkLmdP)L>%`<|8G{71WGv74|6$r!(|DY89*3CXP6kuOQ@LK2F(MAa3}nzb zaV`~56EC~%m{2&k;(w=43<;e_^=bO=^!eZE^S{&Qf2U7vEB){E`QPc2PNV;H`n-R; zw?%pNwezjI*7iwDN8UPZJI;LKk9k$j=KIFq6#I`K7B%GTHs8C8(z`F1+c?i7!S}u1 zPrR2V=O3AP&i?A^7sIlOzG;k8w}=abG@OGR=`_wiHq{vF1-ZHpBTFXp%D8d+gz?ZVv0 zUw&n~c){ZzPSw1a6+UnhCMvh)q|C=Ymi*&;@_NVLXz!PkaW|=Dq^nz}jLm=j(xYkk zlTr14`EKv=gps?eR{3g0pIB9Eo?uJOb1BQ4|J|QGQYSAjDst}La@>&mV^Zras*z#y+mc_0WF(DXi5<|q zu!(6~M>OAX&7oh;t-crS&h_#3X@4=l&sRBq9nOT#>oVo!_=C&Fb*yzf>(XzDYaZTe z+u`_tdCO}L5eDC@oj#^Xy%v1*==!g6+2;N7Lu>c=XJ$tWo4@ajSDuT_gz%B|MyY=; z8k<}FkjD@8qMVCDdp&;NmKGfbXZeTbJG6lE!zBc?`-9yA*U{nX7(LL_ht_= ziE5L&85cjaCU+DM*)^N(7?S?p{>MXKC4N%Uf3?&0{LM$)FF#+qB66p{ z$NYqd7dK8FJTbE9`e@g{8|7|)zb$sg2ct|=4+np6?&zq_%Kmab*5qDdklf5~*p{E9 zB{d@&Y^_{$d&uOymruA9+a%RKGNi%u&G&MaWgb1x4vrrkv-2+p?|I$oX4Q3w>wF-r z&1~^Sw+_+c2d1>Pe%nXP_hCOz65Fy%lSF&g)FQSOm$FQY*n?$QAlxHiIg3bx5S|7h zHx0r{cAJD-B(zV5u$twhLs*y&p@f9BEN(J{*vSw!Plm9bJtLu*gv2QjHnR0oAgr4L z!G0=)&8+8C2nkam>?dI>Q>H<%od#j(GzfXDfP{P!yrx6g!3IxFxgrn>>3AadSKMTSaEN2#kg|i@(kZ^*Q%)GmEV?74=Qy!$_#bE;mWgqWFuz3ybSuGlEs>++M;J-^y! z6L0tZ<#P=jzS4Huza0MpS7sjT5Y~Mi>Y2C>^|-N^>f zWbfaG>;_E9gJ7EnVQ3zNU{*jvJ_%miAvDx`HfTF~_T_f;ER1>VfQS1Icud>@4>LPS zLLmtOJ0V1{)SVEcLPBd6R{$Zl0K(=12yyHg3B@EN?t##j zt=|J--5v<`dm*%EJ@-OL*b8Al2_2ZS4}$GJ2t)Tl=)?+0$S1*TKZGu9@O}t`_Cq*B zLO14d0D}7g2on!L=)q2sP)I_+K?prr>Olx&4??&?LNDfb2!ih+2w8_9B(fqBE|Jjm zFogG6=3xjKhaub}A&EsCfe?NKLhca={n>32ZjsRbD1>B|a}>hDqYz3+7|7y|L5MvD zVe>HvgV{3@ib+WP0>Tis{tF1}zJOqV9Kul6^EiZr;}G_fFq|nTAlROOF!Th3k*t7( zd=k70A*8Uug%Ac6LO4Uh$IRm-1ox8=CZ2>ahMgp#kc5C!5K>vHcCehHgXI)ve?0R$ z4G-Vb@W?t1kBO{^giEKziq&t06MeazDX zI9GyJo`*{28of0#Zm&P!8a?`6OBadw41|Us`r|EO9oGhPKRjvm7B)d7hYz{vhO{^C zQ1BxRVKv4}E|!mYmIow%UjI<8(c|hsXw;=)T=PUaocj&uS~X}@eEYbTs#`0cjRMA7i{~BAo%y3$RbPUoE7K8=^7H zc>+Sv{NYEa4Y;C8dT>3CyVpT_9&g%suGNLM326uL1eQc0Ch{ylNH374&m=G<>j6b1 z;FHGv{E?<9r`DviJPI+HX9YkqBkLXT6t3Z2rVzrlsa$IS%?BE_dKwcaBE)o_6%6Tj zq^UJCxE6wR2R`l@T%#9@@m$MfohZaiWYLV{FFl0Lh>jQYLKb&#gmervYRzn}nUOZ0 zozG#*5yCQ$XGI|EM<5hXxrR5|S_le1pKFmw(_?lD^%>XjDp*M1+5)aMh4voT7}xNQ zS-1h<6|k^S*D45oX*TdVHiJb?lHLn;MIkq!D&PscqU8@30U7uT_P4-A;1W>8PEL}1 zoZaC?tC|kl*}xoY$t1~9jH8z#b^yKeprh~!iaZ61f!~0;0KMP24AA=?Ix3d|%YhZZ zN?;YRhILAlT;et(xdqq?Yy58;C8 zxx#dS-k{V2=s2wp1OUN62+$A+1;T)E_5j69bV#0M_UV#YtZQwVF1d)fA?h|+8d#g& zDcuKt2mS!A1N7SJH1H)rufRsLE0ZO+8pn`44tQaaB!R5}y?WaXSb)i_@)XIZ=};u; z6=5RK2cXx6y@2jO4$(K89K0Zf1`@EpB-!9J!CJi4@|&3(HoJ`0KGAx zwbfHpu|8Gn5ck3=V+GtdR-3Umj000}@( z;60!h&>L6`Tm$e}M|dAlfa*XEpe75RF1dKoOB{M3L`Ql%fL?>q5#9=jWl7Ve@nLwi zC`?6=83aTNg&hXmK>9}@6ZjOEg#2zOMn`uXbDkkZTed=`_xf4DYyj`xgdWK53G@OU zV%~Q^-v#Uj_5#V!=~ev!;2>}ap#6C@s-#m6onq*(A%YNV8hq&-(g-jEO#wOw^hI7T zL15=*NFEWZQ8)*97a8=P@)Uy5YuZBqy}u=$K)clhZ8$feUk6AZ0Gl3O(tE(0(C*XzicgazwAa-1XbQ6- z-~nXApH2eW`NZm+DfK89=LUNM&oj<5L9l7BO$F1LttA+y5D9JpGy|f6D4;aHHE)j8 zP?X#xc6G5-b$7PZTXwDj2UkD=mLbAYHgdl7wPgvCvp6JV*#hN(a)1et0bDi-JAqg5 zI|HU0o)X|CPz*c;o&b-5LBmd!ALY8S4k#{l)R@*|NF$a-n`;Vu z4mb;(0loyN5j20N0BZdg08PP3pb$6#90#aD6qJ}i!%Xpv4v}UwylkGn7%~6U!V3WP zlIDT3)}&21LQ|Km8Cq=-`0$BR4>+-pqx&a-tESR-;AQNc;+>O@fAzdW%1h6?OplJ6que?B~EU zpfc>T0gX8}8c^1zH0`hgKpW9ZU^~sf;VdG9dP)He&1e`MucW_jx!!QvF=?Nm#{ULT z2WagWyCikQ261V(qxE3Kqjf@4ZlNBoeydU%5o%1?hP-VXqei+5Ks~DjQ19sc;RMk6 z!x?Y{sADvOF#w%IN>GP`B=pmU;Ry`ddhOsi3v3Uj`;Us?3Orr5F%-N8@`)+vHlS>N z*~a0?++xYo;ttnrgr@T<-SQddRXV5ELmsk(YG6;GDnPgCwZXms>0W>ja1?&t;JQE^ zfP88JHGvvHb>JPq52z3L>*+c|10({00A0`=40{@ahCmNyMT;e$uy7>J0G;FMS|JoD zj|Lig80I3H(Fx{~y19TrZ3`}?W5p+2BM}i(53848fXX5k<|v=mfKyxU4cg^*9qJKpyBEWro7HTcc2^4OTyvY8JRsv04IQZ0Cb~D zI%$10N8RT=q{%lC=nW(Rqu@ggrj9g5W6&!h9QXh>^_V}vc{Papd<6awpbqw@nHmDn zZEFnh3DR^y+YIRxFbx&0h|vJu?h=MEWvNuRW-6qXzjTjsj7#xV47RbRv zo3x9QtK=zP*S9fpSf4YJ2NfL!2i(-A6}@4FiL$f!|2eE2E*iZcBr$;di9bCZ#wH z7tJX3DH~Zyu4045mBY^cA$e5GOV^uvFQ!*QSO?b#N$e9G*f0?LL18+xxi5uC*V0+| zeW_hld9wa*j$MBk=j&fB`~yjRh_X%y%I^OpRSk1OKAyv*JzdwY-P9tVG%ZqaAgc04 zP9@~*$j+1O=bjai6A~CiIYI2+eaQolpUXdx{PDoJ;RC6LXIHq>5UeQ$eBmImm~ygfIkXqMB1^AAX*0$@ktI2xlOb3Q?7;)XpUZM(*+X2z ze4fJE$~u)u9*qj7=&e7sZieF}Q|l{QdxHW|%J?_s^NoHJ<4;#^^E&716gK-$$=&lI z%2JQqmyXZLTGus%d*Er0i5>nEbvUq*CfUQ&YpU+&&}_jS&+%On;1_}=5`sV-Bo$~~|SjDMPUjR|Z1@sV>s zyv}iDxd`rQ{G-3A(&+qUi&}lo9Wc||r%$Lx7M<+0o~jEicA4^Y+wL`{%)alEECFp#l1m!_#+d0rKYP z7MuMH@p*debELi46|`1*IEB4@jR?W889B@40w8LJ(A?%-5uJQE{%W~`*`4r6h<8|zs?wR)Owb+Hq|!s=~bf!ec(|uyT_d z3i=p%8s9-7obPz7r1j04T4RF(@fd~gVA{s#fw!yJ^W5Z!H#Z%9GGFf;9-hW`Sroo| z@SJr{RQ&64<6VqmS+8C?H3Dw%K-{ZIs)Gy_2n7BBm`nHPGqa9-H@(PbUZD8(+Ec zSK^!=cfV?Nk>}tb=L5`-HQos>>PL|cYUal&-(q++cjkFz%al$ZFYw0MLgYhUg-yia zy+D?$8r$dJA1ydt;n^MQK&KtP4N`aC+E&Vx8>dhMvY3t=Ly7e((OQYZJ8@ z)-D%#_w*C1r}4cjpPZY!yj_QHzJ9$Dg4sPg^x62PmfQCIYmF-E`;t50pyKP_#A0wt z&@VA?QOQr(dTGAPVfX$!pEp{<4-1x1@%1Lii_vM&I7VnMsfcF%?JgXopIEfIv~%a1 z8>_Ys^-AeVWs|+^Zfv)&Rb0RPld4?|mR|e4y)?@-R=+H&VuRBhpF#aP>Gg6fJNhjUQaRNqQ*HnAQ3j(%PuTv7a7|dzbeO`@ViR7mgdLw(!Bb`!u^IP1CoE zbJuG=A#^WVvRwPeyR;7nwJsiWEpm^R(~!=uc`VXhZtpn=Me*kWY00x(BIljn(GLzm zxC6uqX9`>CE~k6`^X=OL7VUwa2eFEdU@1s6Hht&>4PNP8W z3b6vq^+E%3*#$2&XCu1{@_ajxlXzkSZp|JOINj&Du|LS+olW|e6^&|sI!#FFGaiG? z9l}^GA2jSUW?vl*^JXKLr?=uM7Fx>-bJE>i z|IVEat1dSdr?U0c<#V3K*Ejvb93qd6_4o~gMcqO`H>TFW#J}yJcN_U|Xi!u32s6GI zs%i3#A73S@2cjPiObx`*Wn;yZm_;0A9zn9d^y3$-Rgm1+ZXLbO$LCfsn;9fGvz`x<&x_(V zwmd}k0UZW49%|JdE~ov_ZTzYp8>@SagQvZHu)m0Szf1HdjW4=~ z=rN}kTdOvdpTy&Fp7Uh+xX89=$u(Gqsd8ofQ8-eD8CsfB*ygFSU#aQH%1x7Nl`(rx zD^pBitES1dOLG8g?EE9S{O)=3W=VTmw{5OMhB@X)4uYq_#@&1JcxmtA48-U0V#3!ckk?fO2`&1NrXj6AKm&t+M%8}UL{550g> c9d`bu+)=Tme`?1kfu%o}t65u?$g=o<0JrFcGynhq delta 20996 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.18.1" diff --git a/packages/ui/package.json b/packages/ui/package.json index 4791502..8e2e982 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -37,7 +37,7 @@ "@radix-ui/react-toast": "^1.2.4", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "lucide-react": "^0.471.1", + "lucide-react": "^0.473.0", "next-themes": "^0.4.4", "react": "^19.0.0", "tailwind-merge": "^2.6.0" diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index e7656b2..52cafba 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -16,12 +16,11 @@ "prettier": "@yuki/prettier-config", "dependencies": { "@eslint/compat": "^1.2.5", - "@next/eslint-plugin-next": "^15.1.4", + "@next/eslint-plugin-next": "^15.1.5", "eslint-plugin-import": "^2.31.0", "eslint-plugin-react": "^7.37.4", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-turbo": "^2.3.3", - "globals": "^15.14.0", "typescript-eslint": "^8.20.0" }, "devDependencies": { diff --git a/tooling/eslint/react.js b/tooling/eslint/react.js index c00c45c..b795dc1 100644 --- a/tooling/eslint/react.js +++ b/tooling/eslint/react.js @@ -1,6 +1,5 @@ import reactPlugin from 'eslint-plugin-react' import hooksPlugin from 'eslint-plugin-react-hooks' -import globals from 'globals' /** * A custom ESLint configuration for libraries that use React. @@ -21,8 +20,5 @@ export default [ 'react/react-in-jsx-scope': 'off', 'react/prop-types': 'off', }, - languageOptions: { - globals: { ...globals.serviceworker, ...globals.browser }, - }, }, ]