From da590d385a5fd3b434b33d6a6ad1d90d65e92a3b Mon Sep 17 00:00:00 2001 From: Liam Date: Thu, 3 Oct 2024 19:39:41 +0100 Subject: [PATCH] mono repo migration --- .../kubernetes/{ => frontend}/deployment.yaml | 10 +- .gitea/kubernetes/{ => frontend}/ingress.yaml | 4 +- .../{ => frontend}/sealed-secrets.yaml | 4 +- .gitea/kubernetes/{ => frontend}/service.yaml | 4 +- .gitea/workflows/deploy.yml | 18 +- .gitignore | 11 +- .env-example => apps/frontend/.env-example | 0 .../frontend/.eslintrc.json | 0 apps/frontend/.gitignore | 41 + Dockerfile => apps/frontend/Dockerfile | 0 .../frontend/components.json | 0 config.ts => apps/frontend/config.ts | 0 .../frontend/next.config.mjs | 0 apps/frontend/package.json | 67 + .../frontend/postcss.config.mjs | 0 .../frontend/public}/assets/background.jpg | Bin .../frontend/public}/assets/flags/ad.png | Bin .../frontend/public}/assets/flags/ae.png | Bin .../frontend/public}/assets/flags/af.png | Bin .../frontend/public}/assets/flags/ag.png | Bin .../frontend/public}/assets/flags/ai.png | Bin .../frontend/public}/assets/flags/al.png | Bin .../frontend/public}/assets/flags/am.png | Bin .../frontend/public}/assets/flags/ao.png | Bin .../frontend/public}/assets/flags/aq.png | Bin .../frontend/public}/assets/flags/ar.png | Bin .../frontend/public}/assets/flags/as.png | Bin .../frontend/public}/assets/flags/at.png | Bin .../frontend/public}/assets/flags/au.png | Bin .../frontend/public}/assets/flags/aw.png | Bin .../frontend/public}/assets/flags/ax.png | Bin .../frontend/public}/assets/flags/az.png | Bin .../frontend/public}/assets/flags/ba.png | Bin .../frontend/public}/assets/flags/bb.png | Bin .../frontend/public}/assets/flags/bd.png | Bin .../frontend/public}/assets/flags/be.png | Bin .../frontend/public}/assets/flags/bf.png | Bin .../frontend/public}/assets/flags/bg.png | Bin .../frontend/public}/assets/flags/bh.png | Bin .../frontend/public}/assets/flags/bi.png | Bin .../frontend/public}/assets/flags/bj.png | Bin .../frontend/public}/assets/flags/bl.png | Bin .../frontend/public}/assets/flags/bm.png | Bin .../frontend/public}/assets/flags/bn.png | Bin .../frontend/public}/assets/flags/bo.png | Bin .../frontend/public}/assets/flags/bq.png | Bin .../frontend/public}/assets/flags/br.png | Bin .../frontend/public}/assets/flags/bs.png | Bin .../frontend/public}/assets/flags/bt.png | Bin .../frontend/public}/assets/flags/bv.png | Bin .../frontend/public}/assets/flags/bw.png | Bin .../frontend/public}/assets/flags/by.png | Bin .../frontend/public}/assets/flags/bz.png | Bin .../frontend/public}/assets/flags/ca.png | Bin .../frontend/public}/assets/flags/cc.png | Bin .../frontend/public}/assets/flags/cd.png | Bin .../frontend/public}/assets/flags/cf.png | Bin .../frontend/public}/assets/flags/cg.png | Bin .../frontend/public}/assets/flags/ch.png | Bin .../frontend/public}/assets/flags/ci.png | Bin .../frontend/public}/assets/flags/ck.png | Bin .../frontend/public}/assets/flags/cl.png | Bin .../frontend/public}/assets/flags/cm.png | Bin .../frontend/public}/assets/flags/cn.png | Bin .../frontend/public}/assets/flags/co.png | Bin .../frontend/public}/assets/flags/cr.png | Bin .../frontend/public}/assets/flags/cu.png | Bin .../frontend/public}/assets/flags/cv.png | Bin .../frontend/public}/assets/flags/cw.png | Bin .../frontend/public}/assets/flags/cx.png | Bin .../frontend/public}/assets/flags/cy.png | Bin .../frontend/public}/assets/flags/cz.png | Bin .../frontend/public}/assets/flags/de.png | Bin .../frontend/public}/assets/flags/dj.png | Bin .../frontend/public}/assets/flags/dk.png | Bin .../frontend/public}/assets/flags/dm.png | Bin .../frontend/public}/assets/flags/do.png | Bin .../frontend/public}/assets/flags/dz.png | Bin .../frontend/public}/assets/flags/ec.png | Bin .../frontend/public}/assets/flags/ee.png | Bin .../frontend/public}/assets/flags/eg.png | Bin .../frontend/public}/assets/flags/eh.png | Bin .../frontend/public}/assets/flags/er.png | Bin .../frontend/public}/assets/flags/es.png | Bin .../frontend/public}/assets/flags/et.png | Bin .../frontend/public}/assets/flags/fi.png | Bin .../frontend/public}/assets/flags/fj.png | Bin .../frontend/public}/assets/flags/fk.png | Bin .../frontend/public}/assets/flags/fm.png | Bin .../frontend/public}/assets/flags/fo.png | Bin .../frontend/public}/assets/flags/fr.png | Bin .../frontend/public}/assets/flags/ga.png | Bin .../frontend/public}/assets/flags/gb-eng.png | Bin .../frontend/public}/assets/flags/gb-nir.png | Bin .../frontend/public}/assets/flags/gb-sct.png | Bin .../frontend/public}/assets/flags/gb-wls.png | Bin .../frontend/public}/assets/flags/gb.png | Bin .../frontend/public}/assets/flags/gd.png | Bin .../frontend/public}/assets/flags/ge.png | Bin .../frontend/public}/assets/flags/gf.png | Bin .../frontend/public}/assets/flags/gg.png | Bin .../frontend/public}/assets/flags/gh.png | Bin .../frontend/public}/assets/flags/gi.png | Bin .../frontend/public}/assets/flags/gl.png | Bin .../frontend/public}/assets/flags/gm.png | Bin .../frontend/public}/assets/flags/gn.png | Bin .../frontend/public}/assets/flags/gp.png | Bin .../frontend/public}/assets/flags/gq.png | Bin .../frontend/public}/assets/flags/gr.png | Bin .../frontend/public}/assets/flags/gs.png | Bin .../frontend/public}/assets/flags/gt.png | Bin .../frontend/public}/assets/flags/gu.png | Bin .../frontend/public}/assets/flags/gw.png | Bin .../frontend/public}/assets/flags/gy.png | Bin .../frontend/public}/assets/flags/hk.png | Bin .../frontend/public}/assets/flags/hm.png | Bin .../frontend/public}/assets/flags/hn.png | Bin .../frontend/public}/assets/flags/hr.png | Bin .../frontend/public}/assets/flags/ht.png | Bin .../frontend/public}/assets/flags/hu.png | Bin .../frontend/public}/assets/flags/id.png | Bin .../frontend/public}/assets/flags/ie.png | Bin .../frontend/public}/assets/flags/il.png | Bin .../frontend/public}/assets/flags/im.png | Bin .../frontend/public}/assets/flags/in.png | Bin .../frontend/public}/assets/flags/io.png | Bin .../frontend/public}/assets/flags/iq.png | Bin .../frontend/public}/assets/flags/ir.png | Bin .../frontend/public}/assets/flags/is.png | Bin .../frontend/public}/assets/flags/it.png | Bin .../frontend/public}/assets/flags/je.png | Bin .../frontend/public}/assets/flags/jm.png | Bin .../frontend/public}/assets/flags/jo.png | Bin .../frontend/public}/assets/flags/jp.png | Bin .../frontend/public}/assets/flags/ke.png | Bin .../frontend/public}/assets/flags/kg.png | Bin .../frontend/public}/assets/flags/kh.png | Bin .../frontend/public}/assets/flags/ki.png | Bin .../frontend/public}/assets/flags/km.png | Bin .../frontend/public}/assets/flags/kn.png | Bin .../frontend/public}/assets/flags/kp.png | Bin .../frontend/public}/assets/flags/kr.png | Bin .../frontend/public}/assets/flags/kw.png | Bin .../frontend/public}/assets/flags/ky.png | Bin .../frontend/public}/assets/flags/kz.png | Bin .../frontend/public}/assets/flags/la.png | Bin .../frontend/public}/assets/flags/lb.png | Bin .../frontend/public}/assets/flags/lc.png | Bin .../frontend/public}/assets/flags/li.png | Bin .../frontend/public}/assets/flags/lk.png | Bin .../frontend/public}/assets/flags/lr.png | Bin .../frontend/public}/assets/flags/ls.png | Bin .../frontend/public}/assets/flags/lt.png | Bin .../frontend/public}/assets/flags/lu.png | Bin .../frontend/public}/assets/flags/lv.png | Bin .../frontend/public}/assets/flags/ly.png | Bin .../frontend/public}/assets/flags/ma.png | Bin .../frontend/public}/assets/flags/mc.png | Bin .../frontend/public}/assets/flags/md.png | Bin .../frontend/public}/assets/flags/me.png | Bin .../frontend/public}/assets/flags/mf.png | Bin .../frontend/public}/assets/flags/mg.png | Bin .../frontend/public}/assets/flags/mh.png | Bin .../frontend/public}/assets/flags/mk.png | Bin .../frontend/public}/assets/flags/ml.png | Bin .../frontend/public}/assets/flags/mm.png | Bin .../frontend/public}/assets/flags/mn.png | Bin .../frontend/public}/assets/flags/mo.png | Bin .../frontend/public}/assets/flags/mp.png | Bin .../frontend/public}/assets/flags/mq.png | Bin .../frontend/public}/assets/flags/mr.png | Bin .../frontend/public}/assets/flags/ms.png | Bin .../frontend/public}/assets/flags/mt.png | Bin .../frontend/public}/assets/flags/mu.png | Bin .../frontend/public}/assets/flags/mv.png | Bin .../frontend/public}/assets/flags/mw.png | Bin .../frontend/public}/assets/flags/mx.png | Bin .../frontend/public}/assets/flags/my.png | Bin .../frontend/public}/assets/flags/mz.png | Bin .../frontend/public}/assets/flags/na.png | Bin .../frontend/public}/assets/flags/nc.png | Bin .../frontend/public}/assets/flags/ne.png | Bin .../frontend/public}/assets/flags/nf.png | Bin .../frontend/public}/assets/flags/ng.png | Bin .../frontend/public}/assets/flags/ni.png | Bin .../frontend/public}/assets/flags/nl.png | Bin .../frontend/public}/assets/flags/no.png | Bin .../frontend/public}/assets/flags/not set.png | Bin .../frontend/public}/assets/flags/np.png | Bin .../frontend/public}/assets/flags/nr.png | Bin .../frontend/public}/assets/flags/nu.png | Bin .../frontend/public}/assets/flags/nz.png | Bin .../frontend/public}/assets/flags/om.png | Bin .../frontend/public}/assets/flags/pa.png | Bin .../frontend/public}/assets/flags/pe.png | Bin .../frontend/public}/assets/flags/pf.png | Bin .../frontend/public}/assets/flags/pg.png | Bin .../frontend/public}/assets/flags/ph.png | Bin .../frontend/public}/assets/flags/pk.png | Bin .../frontend/public}/assets/flags/pl.png | Bin .../frontend/public}/assets/flags/pm.png | Bin .../frontend/public}/assets/flags/pn.png | Bin .../frontend/public}/assets/flags/pr.png | Bin .../frontend/public}/assets/flags/ps.png | Bin .../frontend/public}/assets/flags/pt.png | Bin .../frontend/public}/assets/flags/pw.png | Bin .../frontend/public}/assets/flags/py.png | Bin .../frontend/public}/assets/flags/qa.png | Bin .../frontend/public}/assets/flags/re.png | Bin .../frontend/public}/assets/flags/ro.png | Bin .../frontend/public}/assets/flags/rs.png | Bin .../frontend/public}/assets/flags/ru.png | Bin .../frontend/public}/assets/flags/rw.png | Bin .../frontend/public}/assets/flags/sa.png | Bin .../frontend/public}/assets/flags/sb.png | Bin .../frontend/public}/assets/flags/sc.png | Bin .../frontend/public}/assets/flags/sd.png | Bin .../frontend/public}/assets/flags/se.png | Bin .../frontend/public}/assets/flags/sg.png | Bin .../frontend/public}/assets/flags/sh.png | Bin .../frontend/public}/assets/flags/si.png | Bin .../frontend/public}/assets/flags/sj.png | Bin .../frontend/public}/assets/flags/sk.png | Bin .../frontend/public}/assets/flags/sl.png | Bin .../frontend/public}/assets/flags/sm.png | Bin .../frontend/public}/assets/flags/sn.png | Bin .../frontend/public}/assets/flags/so.png | Bin .../frontend/public}/assets/flags/sr.png | Bin .../frontend/public}/assets/flags/ss.png | Bin .../frontend/public}/assets/flags/st.png | Bin .../frontend/public}/assets/flags/sv.png | Bin .../frontend/public}/assets/flags/sx.png | Bin .../frontend/public}/assets/flags/sy.png | Bin .../frontend/public}/assets/flags/sz.png | Bin .../frontend/public}/assets/flags/tc.png | Bin .../frontend/public}/assets/flags/td.png | Bin .../frontend/public}/assets/flags/tf.png | Bin .../frontend/public}/assets/flags/tg.png | Bin .../frontend/public}/assets/flags/th.png | Bin .../frontend/public}/assets/flags/tj.png | Bin .../frontend/public}/assets/flags/tk.png | Bin .../frontend/public}/assets/flags/tl.png | Bin .../frontend/public}/assets/flags/tm.png | Bin .../frontend/public}/assets/flags/tn.png | Bin .../frontend/public}/assets/flags/to.png | Bin .../frontend/public}/assets/flags/tr.png | Bin .../frontend/public}/assets/flags/tt.png | Bin .../frontend/public}/assets/flags/tv.png | Bin .../frontend/public}/assets/flags/tw.png | Bin .../frontend/public}/assets/flags/tz.png | Bin .../frontend/public}/assets/flags/ua.png | Bin .../frontend/public}/assets/flags/ug.png | Bin .../frontend/public}/assets/flags/um.png | Bin .../frontend/public}/assets/flags/us.png | Bin .../frontend/public}/assets/flags/uy.png | Bin .../frontend/public}/assets/flags/uz.png | Bin .../frontend/public}/assets/flags/va.png | Bin .../frontend/public}/assets/flags/vc.png | Bin .../frontend/public}/assets/flags/ve.png | Bin .../frontend/public}/assets/flags/vg.png | Bin .../frontend/public}/assets/flags/vi.png | Bin .../frontend/public}/assets/flags/vn.png | Bin .../frontend/public}/assets/flags/vu.png | Bin .../frontend/public}/assets/flags/wf.png | Bin .../frontend/public}/assets/flags/ws.png | Bin .../frontend/public}/assets/flags/xk.png | Bin .../frontend/public}/assets/flags/ye.png | Bin .../frontend/public}/assets/flags/yt.png | Bin .../frontend/public}/assets/flags/za.png | Bin .../frontend/public}/assets/flags/zm.png | Bin .../frontend/public}/assets/flags/zw.png | Bin .../public}/assets/logos/scoresaber.png | Bin {public => apps/frontend/public}/favicon.ico | Bin .../frontend/sentry.client.config.ts | 0 .../frontend/sentry.edge.config.ts | 0 .../frontend/sentry.server.config.ts | 0 .../app/(pages)/api/player/history/route.ts | 0 .../api/player/isbeingtracked/route.ts | 0 .../src}/app/(pages)/api/proxy/route.ts | 0 .../src}/app/(pages)/api/trigger/route.ts | 0 .../(pages)/leaderboard/[...slug]/page.tsx | 0 .../frontend/src}/app/(pages)/page.tsx | 0 .../app/(pages)/player/[...slug]/page.tsx | 0 .../frontend/src}/app/(pages)/search/page.tsx | 0 .../src}/app/(pages)/settings/page.tsx | 0 .../src}/app/components/ui/skeleton.tsx | 0 .../frontend/src}/app/fonts/JetBrainsMono.ttf | Bin .../frontend/src}/app/global-error.tsx | 0 {src => apps/frontend/src}/app/globals.css | 0 {src => apps/frontend/src}/app/layout.tsx | 0 .../frontend/src}/common/browser-utils.ts | 0 {src => apps/frontend/src}/common/colors.ts | 0 .../frontend/src}/common/database/database.ts | 0 .../common/database/types/beatsaver-map.ts | 0 .../src}/common/database/types/settings.ts | 0 .../frontend/src}/common/image-utils.ts | 0 .../model/player/impl/scoresaber-player.ts | 0 .../src}/common/model/player/player.ts | 0 .../model/score/impl/scoresaber-score.ts | 0 .../src}/common/model/score/modifier.ts | 0 .../src}/common/model/score/score-sort.ts | 0 .../frontend/src}/common/model/score/score.ts | 0 .../beatsaver/beat-saver-account-token.ts | 0 .../beat-saver-map-metadata-token.ts | 0 .../beatsaver/beat-saver-map-stats-token.ts | 0 .../token/beatsaver/beat-saver-map-token.ts | 0 .../scoresaber/score-saber-badge-token.ts | 0 .../score-saber-difficulty-token.ts | 0 ...ore-saber-leaderboard-player-info-token.ts | 0 ...ore-saber-leaderboard-scores-page-token.ts | 0 .../score-saber-leaderboard-token.ts | 0 .../scoresaber/score-saber-metadata-token.ts | 0 .../score-saber-player-score-token.ts | 0 .../score-saber-player-scores-page-token.ts | 0 .../score-saber-player-search-token.ts | 0 .../scoresaber/score-saber-player-token.ts | 0 .../score-saber-players-page-token.ts | 0 .../score-saber-score-stats-token.ts | 0 .../scoresaber/score-saber-score-token.ts | 0 {src => apps/frontend/src}/common/mongo.ts | 0 .../frontend/src}/common/number-utils.ts | 0 .../frontend/src}/common/player-utils.ts | 0 .../src}/common/player/player-history.ts | 0 .../common/player/player-tracked-since.ts | 0 .../src}/common/schema/player-schema.ts | 0 .../frontend/src}/common/scoresaber-utils.ts | 0 .../src}/common/service/impl/beatsaver.ts | 5 +- .../src}/common/service/impl/scoresaber.ts | 42 +- .../frontend/src}/common/service/service.ts | 5 +- .../frontend/src}/common/song-utils.ts | 0 .../frontend/src}/common/string-utils.ts | 0 .../frontend/src}/common/time-utils.ts | 0 {src => apps/frontend/src}/common/utils.ts | 0 .../frontend/src}/common/website-utils.ts | 0 .../frontend/src}/common/worker/worker.ts | 0 .../frontend/src}/common/worker/workers.ts | 0 .../frontend/src}/common/youtube-utils.ts | 0 .../src}/components/background-cover.tsx | 0 .../frontend/src}/components/card.tsx | 0 .../src}/components/chart/generic-chart.tsx | 0 .../frontend/src}/components/country-flag.tsx | 0 .../src}/components/fallback-link.tsx | 0 .../frontend/src}/components/footer.tsx | 0 .../src}/components/input/pagination.tsx | 0 .../src}/components/input/search-player.tsx | 0 .../leaderboard/leaderboard-data.tsx | 0 .../leaderboard/leaderboard-info.tsx | 0 .../leaderboard/leaderboard-player.tsx | 0 .../leaderboard/leaderboard-score-stats.tsx | 0 .../leaderboard/leaderboard-score.tsx | 0 .../leaderboard/leaderboard-scores.tsx | 0 .../leaderboard-song-star-count.tsx | 0 .../components/loaders/database-loader.tsx | 0 .../components/loaders/fullscreen-loader.tsx | 0 .../src}/components/logos/beatsaver-logo.tsx | 0 .../src}/components/logos/scoresaber-logo.tsx | 0 .../src}/components/logos/youtube-logo.tsx | 0 .../src}/components/navbar/navbar-button.tsx | 0 .../src}/components/navbar/navbar.tsx | 0 .../src}/components/navbar/profile-button.tsx | 0 .../src}/components/offline-network.tsx | 0 .../player/chart/generic-player-chart.tsx | 0 .../player/chart/player-accuracy-chart.tsx | 0 .../components/player/chart/player-charts.tsx | 0 .../player/chart/player-ranking-chart.tsx | 0 .../src}/components/player/claim-profile.tsx | 0 .../src}/components/player/player-badges.tsx | 0 .../src}/components/player/player-data.tsx | 0 .../src}/components/player/player-header.tsx | 0 .../src}/components/player/player-scores.tsx | 0 .../src}/components/player/player-stats.tsx | 0 .../player/player-tracked-status.tsx | 0 .../src}/components/preload-resources.tsx | 0 .../components/providers/query-provider.tsx | 0 .../components/providers/theme-provider.tsx | 0 .../frontend/src}/components/ranking/mini.tsx | 0 .../ranking/player-ranking-skeleton.tsx | 0 .../components/score/leaderboard-button.tsx | 0 .../src}/components/score/score-animation.tsx | 0 .../src}/components/score/score-badge.tsx | 0 .../src}/components/score/score-button.tsx | 0 .../src}/components/score/score-buttons.tsx | 0 .../src}/components/score/score-info.tsx | 0 .../src}/components/score/score-rank-info.tsx | 0 .../src}/components/score/score-stats.tsx | 0 .../frontend/src}/components/score/score.tsx | 0 .../src}/components/settings/settings.tsx | 0 .../frontend/src}/components/stat-value.tsx | 0 .../frontend/src}/components/tooltip.tsx | 0 .../frontend/src}/components/ui/avatar.tsx | 0 .../frontend/src}/components/ui/button.tsx | 0 .../frontend/src}/components/ui/card.tsx | 0 .../frontend/src}/components/ui/form.tsx | 0 .../frontend/src}/components/ui/input.tsx | 0 .../frontend/src}/components/ui/label.tsx | 0 .../src}/components/ui/pagination.tsx | 0 .../src}/components/ui/scroll-area.tsx | 0 .../frontend/src}/components/ui/toast.tsx | 0 .../frontend/src}/components/ui/toaster.tsx | 0 .../frontend/src}/components/ui/tooltip.tsx | 0 .../frontend/src}/hooks/use-database.ts | 0 .../frontend/src}/hooks/use-is-mobile.ts | 0 .../frontend/src}/hooks/use-is-visible.ts | 0 {src => apps/frontend/src}/hooks/use-toast.ts | 0 .../src}/hooks/use-window-dimensions.ts | 0 {src => apps/frontend/src}/instrumentation.ts | 0 {src => apps/frontend/src}/jobs/index.ts | 0 .../src}/jobs/track-player-statistics.ts | 0 {src => apps/frontend/src}/trigger.ts | 0 .../frontend/tailwind.config.ts | 0 tsconfig.json => apps/frontend/tsconfig.json | 0 package.json | 65 +- packages/common/package.json | 12 + pnpm-lock.yaml | 1106 ++++++++--------- pnpm-workspace.yaml | 3 + turbo.json | 15 + 416 files changed, 721 insertions(+), 691 deletions(-) rename .gitea/kubernetes/{ => frontend}/deployment.yaml (87%) rename .gitea/kubernetes/{ => frontend}/ingress.yaml (82%) rename .gitea/kubernetes/{ => frontend}/sealed-secrets.yaml (98%) rename .gitea/kubernetes/{ => frontend}/service.yaml (65%) rename .env-example => apps/frontend/.env-example (100%) rename .eslintrc.json => apps/frontend/.eslintrc.json (100%) create mode 100644 apps/frontend/.gitignore rename Dockerfile => apps/frontend/Dockerfile (100%) rename components.json => apps/frontend/components.json (100%) rename config.ts => apps/frontend/config.ts (100%) rename next.config.mjs => apps/frontend/next.config.mjs (100%) create mode 100644 apps/frontend/package.json rename postcss.config.mjs => apps/frontend/postcss.config.mjs (100%) rename {public => apps/frontend/public}/assets/background.jpg (100%) rename {public => apps/frontend/public}/assets/flags/ad.png (100%) rename {public => apps/frontend/public}/assets/flags/ae.png (100%) rename {public => apps/frontend/public}/assets/flags/af.png (100%) rename {public => apps/frontend/public}/assets/flags/ag.png (100%) rename {public => apps/frontend/public}/assets/flags/ai.png (100%) rename {public => apps/frontend/public}/assets/flags/al.png (100%) rename {public => apps/frontend/public}/assets/flags/am.png (100%) rename {public => apps/frontend/public}/assets/flags/ao.png (100%) rename {public => apps/frontend/public}/assets/flags/aq.png (100%) rename {public => apps/frontend/public}/assets/flags/ar.png (100%) rename {public => apps/frontend/public}/assets/flags/as.png (100%) rename {public => apps/frontend/public}/assets/flags/at.png (100%) rename {public => apps/frontend/public}/assets/flags/au.png (100%) rename {public => apps/frontend/public}/assets/flags/aw.png (100%) rename {public => apps/frontend/public}/assets/flags/ax.png (100%) rename {public => apps/frontend/public}/assets/flags/az.png (100%) rename {public => apps/frontend/public}/assets/flags/ba.png (100%) rename {public => apps/frontend/public}/assets/flags/bb.png (100%) rename {public => apps/frontend/public}/assets/flags/bd.png (100%) rename {public => apps/frontend/public}/assets/flags/be.png (100%) rename {public => apps/frontend/public}/assets/flags/bf.png (100%) rename {public => apps/frontend/public}/assets/flags/bg.png (100%) rename {public => apps/frontend/public}/assets/flags/bh.png (100%) rename {public => apps/frontend/public}/assets/flags/bi.png (100%) rename {public => apps/frontend/public}/assets/flags/bj.png (100%) rename {public => apps/frontend/public}/assets/flags/bl.png (100%) rename {public => apps/frontend/public}/assets/flags/bm.png (100%) rename {public => apps/frontend/public}/assets/flags/bn.png (100%) rename {public => apps/frontend/public}/assets/flags/bo.png (100%) rename {public => apps/frontend/public}/assets/flags/bq.png (100%) rename {public => apps/frontend/public}/assets/flags/br.png (100%) rename {public => apps/frontend/public}/assets/flags/bs.png (100%) rename {public => apps/frontend/public}/assets/flags/bt.png (100%) rename {public => apps/frontend/public}/assets/flags/bv.png (100%) rename {public => apps/frontend/public}/assets/flags/bw.png (100%) rename {public => apps/frontend/public}/assets/flags/by.png (100%) rename {public => apps/frontend/public}/assets/flags/bz.png (100%) rename {public => apps/frontend/public}/assets/flags/ca.png (100%) rename {public => apps/frontend/public}/assets/flags/cc.png (100%) rename {public => apps/frontend/public}/assets/flags/cd.png (100%) rename {public => apps/frontend/public}/assets/flags/cf.png (100%) rename {public => apps/frontend/public}/assets/flags/cg.png (100%) rename {public => apps/frontend/public}/assets/flags/ch.png (100%) rename {public => apps/frontend/public}/assets/flags/ci.png (100%) rename {public => apps/frontend/public}/assets/flags/ck.png (100%) rename {public => apps/frontend/public}/assets/flags/cl.png (100%) rename {public => apps/frontend/public}/assets/flags/cm.png (100%) rename {public => apps/frontend/public}/assets/flags/cn.png (100%) rename {public => apps/frontend/public}/assets/flags/co.png (100%) rename {public => apps/frontend/public}/assets/flags/cr.png (100%) rename {public => apps/frontend/public}/assets/flags/cu.png (100%) rename {public => apps/frontend/public}/assets/flags/cv.png (100%) rename {public => apps/frontend/public}/assets/flags/cw.png (100%) rename {public => apps/frontend/public}/assets/flags/cx.png (100%) rename {public => apps/frontend/public}/assets/flags/cy.png (100%) rename {public => apps/frontend/public}/assets/flags/cz.png (100%) rename {public => apps/frontend/public}/assets/flags/de.png (100%) rename {public => apps/frontend/public}/assets/flags/dj.png (100%) rename {public => apps/frontend/public}/assets/flags/dk.png (100%) rename {public => apps/frontend/public}/assets/flags/dm.png (100%) rename {public => apps/frontend/public}/assets/flags/do.png (100%) rename {public => apps/frontend/public}/assets/flags/dz.png (100%) rename {public => apps/frontend/public}/assets/flags/ec.png (100%) rename {public => apps/frontend/public}/assets/flags/ee.png (100%) rename {public => apps/frontend/public}/assets/flags/eg.png (100%) rename {public => apps/frontend/public}/assets/flags/eh.png (100%) rename {public => apps/frontend/public}/assets/flags/er.png (100%) rename {public => apps/frontend/public}/assets/flags/es.png (100%) rename {public => apps/frontend/public}/assets/flags/et.png (100%) rename {public => apps/frontend/public}/assets/flags/fi.png (100%) rename {public => apps/frontend/public}/assets/flags/fj.png (100%) rename {public => apps/frontend/public}/assets/flags/fk.png (100%) rename {public => apps/frontend/public}/assets/flags/fm.png (100%) rename {public => apps/frontend/public}/assets/flags/fo.png (100%) rename {public => apps/frontend/public}/assets/flags/fr.png (100%) rename {public => apps/frontend/public}/assets/flags/ga.png (100%) rename {public => apps/frontend/public}/assets/flags/gb-eng.png (100%) rename {public => apps/frontend/public}/assets/flags/gb-nir.png (100%) rename {public => apps/frontend/public}/assets/flags/gb-sct.png (100%) rename {public => apps/frontend/public}/assets/flags/gb-wls.png (100%) rename {public => apps/frontend/public}/assets/flags/gb.png (100%) rename {public => apps/frontend/public}/assets/flags/gd.png (100%) rename {public => apps/frontend/public}/assets/flags/ge.png (100%) rename {public => apps/frontend/public}/assets/flags/gf.png (100%) rename {public => apps/frontend/public}/assets/flags/gg.png (100%) rename {public => apps/frontend/public}/assets/flags/gh.png (100%) rename {public => apps/frontend/public}/assets/flags/gi.png (100%) rename {public => apps/frontend/public}/assets/flags/gl.png (100%) rename {public => apps/frontend/public}/assets/flags/gm.png (100%) rename {public => apps/frontend/public}/assets/flags/gn.png (100%) rename {public => apps/frontend/public}/assets/flags/gp.png (100%) rename {public => apps/frontend/public}/assets/flags/gq.png (100%) rename {public => apps/frontend/public}/assets/flags/gr.png (100%) rename {public => apps/frontend/public}/assets/flags/gs.png (100%) rename {public => apps/frontend/public}/assets/flags/gt.png (100%) rename {public => apps/frontend/public}/assets/flags/gu.png (100%) rename {public => apps/frontend/public}/assets/flags/gw.png (100%) rename {public => apps/frontend/public}/assets/flags/gy.png (100%) rename {public => apps/frontend/public}/assets/flags/hk.png (100%) rename {public => apps/frontend/public}/assets/flags/hm.png (100%) rename {public => apps/frontend/public}/assets/flags/hn.png (100%) rename {public => apps/frontend/public}/assets/flags/hr.png (100%) rename {public => apps/frontend/public}/assets/flags/ht.png (100%) rename {public => apps/frontend/public}/assets/flags/hu.png (100%) rename {public => apps/frontend/public}/assets/flags/id.png (100%) rename {public => apps/frontend/public}/assets/flags/ie.png (100%) rename {public => apps/frontend/public}/assets/flags/il.png (100%) rename {public => apps/frontend/public}/assets/flags/im.png (100%) rename {public => apps/frontend/public}/assets/flags/in.png (100%) rename {public => apps/frontend/public}/assets/flags/io.png (100%) rename {public => apps/frontend/public}/assets/flags/iq.png (100%) rename {public => apps/frontend/public}/assets/flags/ir.png (100%) rename {public => apps/frontend/public}/assets/flags/is.png (100%) rename {public => apps/frontend/public}/assets/flags/it.png (100%) rename {public => apps/frontend/public}/assets/flags/je.png (100%) rename {public => apps/frontend/public}/assets/flags/jm.png (100%) rename {public => apps/frontend/public}/assets/flags/jo.png (100%) rename {public => apps/frontend/public}/assets/flags/jp.png (100%) rename {public => apps/frontend/public}/assets/flags/ke.png (100%) rename {public => apps/frontend/public}/assets/flags/kg.png (100%) rename {public => apps/frontend/public}/assets/flags/kh.png (100%) rename {public => apps/frontend/public}/assets/flags/ki.png (100%) rename {public => apps/frontend/public}/assets/flags/km.png (100%) rename {public => apps/frontend/public}/assets/flags/kn.png (100%) rename {public => apps/frontend/public}/assets/flags/kp.png (100%) rename {public => apps/frontend/public}/assets/flags/kr.png (100%) rename {public => apps/frontend/public}/assets/flags/kw.png (100%) rename {public => apps/frontend/public}/assets/flags/ky.png (100%) rename {public => apps/frontend/public}/assets/flags/kz.png (100%) rename {public => apps/frontend/public}/assets/flags/la.png (100%) rename {public => apps/frontend/public}/assets/flags/lb.png (100%) rename {public => apps/frontend/public}/assets/flags/lc.png (100%) rename {public => apps/frontend/public}/assets/flags/li.png (100%) rename {public => apps/frontend/public}/assets/flags/lk.png (100%) rename {public => apps/frontend/public}/assets/flags/lr.png (100%) rename {public => apps/frontend/public}/assets/flags/ls.png (100%) rename {public => apps/frontend/public}/assets/flags/lt.png (100%) rename {public => apps/frontend/public}/assets/flags/lu.png (100%) rename {public => apps/frontend/public}/assets/flags/lv.png (100%) rename {public => apps/frontend/public}/assets/flags/ly.png (100%) rename {public => apps/frontend/public}/assets/flags/ma.png (100%) rename {public => apps/frontend/public}/assets/flags/mc.png (100%) rename {public => apps/frontend/public}/assets/flags/md.png (100%) rename {public => apps/frontend/public}/assets/flags/me.png (100%) rename {public => apps/frontend/public}/assets/flags/mf.png (100%) rename {public => apps/frontend/public}/assets/flags/mg.png (100%) rename {public => apps/frontend/public}/assets/flags/mh.png (100%) rename {public => apps/frontend/public}/assets/flags/mk.png (100%) rename {public => apps/frontend/public}/assets/flags/ml.png (100%) rename {public => apps/frontend/public}/assets/flags/mm.png (100%) rename {public => apps/frontend/public}/assets/flags/mn.png (100%) rename {public => apps/frontend/public}/assets/flags/mo.png (100%) rename {public => apps/frontend/public}/assets/flags/mp.png (100%) rename {public => apps/frontend/public}/assets/flags/mq.png (100%) rename {public => apps/frontend/public}/assets/flags/mr.png (100%) rename {public => apps/frontend/public}/assets/flags/ms.png (100%) rename {public => apps/frontend/public}/assets/flags/mt.png (100%) rename {public => apps/frontend/public}/assets/flags/mu.png (100%) rename {public => apps/frontend/public}/assets/flags/mv.png (100%) rename {public => apps/frontend/public}/assets/flags/mw.png (100%) rename {public => apps/frontend/public}/assets/flags/mx.png (100%) rename {public => apps/frontend/public}/assets/flags/my.png (100%) rename {public => apps/frontend/public}/assets/flags/mz.png (100%) rename {public => apps/frontend/public}/assets/flags/na.png (100%) rename {public => apps/frontend/public}/assets/flags/nc.png (100%) rename {public => apps/frontend/public}/assets/flags/ne.png (100%) rename {public => apps/frontend/public}/assets/flags/nf.png (100%) rename {public => apps/frontend/public}/assets/flags/ng.png (100%) rename {public => apps/frontend/public}/assets/flags/ni.png (100%) rename {public => apps/frontend/public}/assets/flags/nl.png (100%) rename {public => apps/frontend/public}/assets/flags/no.png (100%) rename {public => apps/frontend/public}/assets/flags/not set.png (100%) rename {public => apps/frontend/public}/assets/flags/np.png (100%) rename {public => apps/frontend/public}/assets/flags/nr.png (100%) rename {public => apps/frontend/public}/assets/flags/nu.png (100%) rename {public => apps/frontend/public}/assets/flags/nz.png (100%) rename {public => apps/frontend/public}/assets/flags/om.png (100%) rename {public => apps/frontend/public}/assets/flags/pa.png (100%) rename {public => apps/frontend/public}/assets/flags/pe.png (100%) rename {public => apps/frontend/public}/assets/flags/pf.png (100%) rename {public => apps/frontend/public}/assets/flags/pg.png (100%) rename {public => apps/frontend/public}/assets/flags/ph.png (100%) rename {public => apps/frontend/public}/assets/flags/pk.png (100%) rename {public => apps/frontend/public}/assets/flags/pl.png (100%) rename {public => apps/frontend/public}/assets/flags/pm.png (100%) rename {public => apps/frontend/public}/assets/flags/pn.png (100%) rename {public => apps/frontend/public}/assets/flags/pr.png (100%) rename {public => apps/frontend/public}/assets/flags/ps.png (100%) rename {public => apps/frontend/public}/assets/flags/pt.png (100%) rename {public => apps/frontend/public}/assets/flags/pw.png (100%) rename {public => apps/frontend/public}/assets/flags/py.png (100%) rename {public => apps/frontend/public}/assets/flags/qa.png (100%) rename {public => apps/frontend/public}/assets/flags/re.png (100%) rename {public => apps/frontend/public}/assets/flags/ro.png (100%) rename {public => apps/frontend/public}/assets/flags/rs.png (100%) rename {public => apps/frontend/public}/assets/flags/ru.png (100%) rename {public => apps/frontend/public}/assets/flags/rw.png (100%) rename {public => apps/frontend/public}/assets/flags/sa.png (100%) rename {public => apps/frontend/public}/assets/flags/sb.png (100%) rename {public => apps/frontend/public}/assets/flags/sc.png (100%) rename {public => apps/frontend/public}/assets/flags/sd.png (100%) rename {public => apps/frontend/public}/assets/flags/se.png (100%) rename {public => apps/frontend/public}/assets/flags/sg.png (100%) rename {public => apps/frontend/public}/assets/flags/sh.png (100%) rename {public => apps/frontend/public}/assets/flags/si.png (100%) rename {public => apps/frontend/public}/assets/flags/sj.png (100%) rename {public => apps/frontend/public}/assets/flags/sk.png (100%) rename {public => apps/frontend/public}/assets/flags/sl.png (100%) rename {public => apps/frontend/public}/assets/flags/sm.png (100%) rename {public => apps/frontend/public}/assets/flags/sn.png (100%) rename {public => apps/frontend/public}/assets/flags/so.png (100%) rename {public => apps/frontend/public}/assets/flags/sr.png (100%) rename {public => apps/frontend/public}/assets/flags/ss.png (100%) rename {public => apps/frontend/public}/assets/flags/st.png (100%) rename {public => apps/frontend/public}/assets/flags/sv.png (100%) rename {public => apps/frontend/public}/assets/flags/sx.png (100%) rename {public => apps/frontend/public}/assets/flags/sy.png (100%) rename {public => apps/frontend/public}/assets/flags/sz.png (100%) rename {public => apps/frontend/public}/assets/flags/tc.png (100%) rename {public => apps/frontend/public}/assets/flags/td.png (100%) rename {public => apps/frontend/public}/assets/flags/tf.png (100%) rename {public => apps/frontend/public}/assets/flags/tg.png (100%) rename {public => apps/frontend/public}/assets/flags/th.png (100%) rename {public => apps/frontend/public}/assets/flags/tj.png (100%) rename {public => apps/frontend/public}/assets/flags/tk.png (100%) rename {public => apps/frontend/public}/assets/flags/tl.png (100%) rename {public => apps/frontend/public}/assets/flags/tm.png (100%) rename {public => apps/frontend/public}/assets/flags/tn.png (100%) rename {public => apps/frontend/public}/assets/flags/to.png (100%) rename {public => apps/frontend/public}/assets/flags/tr.png (100%) rename {public => apps/frontend/public}/assets/flags/tt.png (100%) rename {public => apps/frontend/public}/assets/flags/tv.png (100%) rename {public => apps/frontend/public}/assets/flags/tw.png (100%) rename {public => apps/frontend/public}/assets/flags/tz.png (100%) rename {public => apps/frontend/public}/assets/flags/ua.png (100%) rename {public => apps/frontend/public}/assets/flags/ug.png (100%) rename {public => apps/frontend/public}/assets/flags/um.png (100%) rename {public => apps/frontend/public}/assets/flags/us.png (100%) rename {public => apps/frontend/public}/assets/flags/uy.png (100%) rename {public => apps/frontend/public}/assets/flags/uz.png (100%) rename {public => apps/frontend/public}/assets/flags/va.png (100%) rename {public => apps/frontend/public}/assets/flags/vc.png (100%) rename {public => apps/frontend/public}/assets/flags/ve.png (100%) rename {public => apps/frontend/public}/assets/flags/vg.png (100%) rename {public => apps/frontend/public}/assets/flags/vi.png (100%) rename {public => apps/frontend/public}/assets/flags/vn.png (100%) rename {public => apps/frontend/public}/assets/flags/vu.png (100%) rename {public => apps/frontend/public}/assets/flags/wf.png (100%) rename {public => apps/frontend/public}/assets/flags/ws.png (100%) rename {public => apps/frontend/public}/assets/flags/xk.png (100%) rename {public => apps/frontend/public}/assets/flags/ye.png (100%) rename {public => apps/frontend/public}/assets/flags/yt.png (100%) rename {public => apps/frontend/public}/assets/flags/za.png (100%) rename {public => apps/frontend/public}/assets/flags/zm.png (100%) rename {public => apps/frontend/public}/assets/flags/zw.png (100%) rename {public => apps/frontend/public}/assets/logos/scoresaber.png (100%) rename {public => apps/frontend/public}/favicon.ico (100%) rename sentry.client.config.ts => apps/frontend/sentry.client.config.ts (100%) rename sentry.edge.config.ts => apps/frontend/sentry.edge.config.ts (100%) rename sentry.server.config.ts => apps/frontend/sentry.server.config.ts (100%) rename {src => apps/frontend/src}/app/(pages)/api/player/history/route.ts (100%) rename {src => apps/frontend/src}/app/(pages)/api/player/isbeingtracked/route.ts (100%) rename {src => apps/frontend/src}/app/(pages)/api/proxy/route.ts (100%) rename {src => apps/frontend/src}/app/(pages)/api/trigger/route.ts (100%) rename {src => apps/frontend/src}/app/(pages)/leaderboard/[...slug]/page.tsx (100%) rename {src => apps/frontend/src}/app/(pages)/page.tsx (100%) rename {src => apps/frontend/src}/app/(pages)/player/[...slug]/page.tsx (100%) rename {src => apps/frontend/src}/app/(pages)/search/page.tsx (100%) rename {src => apps/frontend/src}/app/(pages)/settings/page.tsx (100%) rename {src => apps/frontend/src}/app/components/ui/skeleton.tsx (100%) rename {src => apps/frontend/src}/app/fonts/JetBrainsMono.ttf (100%) rename {src => apps/frontend/src}/app/global-error.tsx (100%) rename {src => apps/frontend/src}/app/globals.css (100%) rename {src => apps/frontend/src}/app/layout.tsx (100%) rename {src => apps/frontend/src}/common/browser-utils.ts (100%) rename {src => apps/frontend/src}/common/colors.ts (100%) rename {src => apps/frontend/src}/common/database/database.ts (100%) rename {src => apps/frontend/src}/common/database/types/beatsaver-map.ts (100%) rename {src => apps/frontend/src}/common/database/types/settings.ts (100%) rename {src => apps/frontend/src}/common/image-utils.ts (100%) rename {src => apps/frontend/src}/common/model/player/impl/scoresaber-player.ts (100%) rename {src => apps/frontend/src}/common/model/player/player.ts (100%) rename {src => apps/frontend/src}/common/model/score/impl/scoresaber-score.ts (100%) rename {src => apps/frontend/src}/common/model/score/modifier.ts (100%) rename {src => apps/frontend/src}/common/model/score/score-sort.ts (100%) rename {src => apps/frontend/src}/common/model/score/score.ts (100%) rename {src => apps/frontend/src}/common/model/token/beatsaver/beat-saver-account-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/beatsaver/beat-saver-map-metadata-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/beatsaver/beat-saver-map-stats-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/beatsaver/beat-saver-map-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-badge-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-difficulty-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-leaderboard-player-info-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-leaderboard-scores-page-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-leaderboard-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-metadata-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-player-score-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-player-scores-page-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-player-search-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-player-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-players-page-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-score-stats-token.ts (100%) rename {src => apps/frontend/src}/common/model/token/scoresaber/score-saber-score-token.ts (100%) rename {src => apps/frontend/src}/common/mongo.ts (100%) rename {src => apps/frontend/src}/common/number-utils.ts (100%) rename {src => apps/frontend/src}/common/player-utils.ts (100%) rename {src => apps/frontend/src}/common/player/player-history.ts (100%) rename {src => apps/frontend/src}/common/player/player-tracked-since.ts (100%) rename {src => apps/frontend/src}/common/schema/player-schema.ts (100%) rename {src => apps/frontend/src}/common/scoresaber-utils.ts (100%) rename {src => apps/frontend/src}/common/service/impl/beatsaver.ts (85%) rename {src => apps/frontend/src}/common/service/impl/scoresaber.ts (84%) rename {src => apps/frontend/src}/common/service/service.ts (86%) rename {src => apps/frontend/src}/common/song-utils.ts (100%) rename {src => apps/frontend/src}/common/string-utils.ts (100%) rename {src => apps/frontend/src}/common/time-utils.ts (100%) rename {src => apps/frontend/src}/common/utils.ts (100%) rename {src => apps/frontend/src}/common/website-utils.ts (100%) rename {src => apps/frontend/src}/common/worker/worker.ts (100%) rename {src => apps/frontend/src}/common/worker/workers.ts (100%) rename {src => apps/frontend/src}/common/youtube-utils.ts (100%) rename {src => apps/frontend/src}/components/background-cover.tsx (100%) rename {src => apps/frontend/src}/components/card.tsx (100%) rename {src => apps/frontend/src}/components/chart/generic-chart.tsx (100%) rename {src => apps/frontend/src}/components/country-flag.tsx (100%) rename {src => apps/frontend/src}/components/fallback-link.tsx (100%) rename {src => apps/frontend/src}/components/footer.tsx (100%) rename {src => apps/frontend/src}/components/input/pagination.tsx (100%) rename {src => apps/frontend/src}/components/input/search-player.tsx (100%) rename {src => apps/frontend/src}/components/leaderboard/leaderboard-data.tsx (100%) rename {src => apps/frontend/src}/components/leaderboard/leaderboard-info.tsx (100%) rename {src => apps/frontend/src}/components/leaderboard/leaderboard-player.tsx (100%) rename {src => apps/frontend/src}/components/leaderboard/leaderboard-score-stats.tsx (100%) rename {src => apps/frontend/src}/components/leaderboard/leaderboard-score.tsx (100%) rename {src => apps/frontend/src}/components/leaderboard/leaderboard-scores.tsx (100%) rename {src => apps/frontend/src}/components/leaderboard/leaderboard-song-star-count.tsx (100%) rename {src => apps/frontend/src}/components/loaders/database-loader.tsx (100%) rename {src => apps/frontend/src}/components/loaders/fullscreen-loader.tsx (100%) rename {src => apps/frontend/src}/components/logos/beatsaver-logo.tsx (100%) rename {src => apps/frontend/src}/components/logos/scoresaber-logo.tsx (100%) rename {src => apps/frontend/src}/components/logos/youtube-logo.tsx (100%) rename {src => apps/frontend/src}/components/navbar/navbar-button.tsx (100%) rename {src => apps/frontend/src}/components/navbar/navbar.tsx (100%) rename {src => apps/frontend/src}/components/navbar/profile-button.tsx (100%) rename {src => apps/frontend/src}/components/offline-network.tsx (100%) rename {src => apps/frontend/src}/components/player/chart/generic-player-chart.tsx (100%) rename {src => apps/frontend/src}/components/player/chart/player-accuracy-chart.tsx (100%) rename {src => apps/frontend/src}/components/player/chart/player-charts.tsx (100%) rename {src => apps/frontend/src}/components/player/chart/player-ranking-chart.tsx (100%) rename {src => apps/frontend/src}/components/player/claim-profile.tsx (100%) rename {src => apps/frontend/src}/components/player/player-badges.tsx (100%) rename {src => apps/frontend/src}/components/player/player-data.tsx (100%) rename {src => apps/frontend/src}/components/player/player-header.tsx (100%) rename {src => apps/frontend/src}/components/player/player-scores.tsx (100%) rename {src => apps/frontend/src}/components/player/player-stats.tsx (100%) rename {src => apps/frontend/src}/components/player/player-tracked-status.tsx (100%) rename {src => apps/frontend/src}/components/preload-resources.tsx (100%) rename {src => apps/frontend/src}/components/providers/query-provider.tsx (100%) rename {src => apps/frontend/src}/components/providers/theme-provider.tsx (100%) rename {src => apps/frontend/src}/components/ranking/mini.tsx (100%) rename {src => apps/frontend/src}/components/ranking/player-ranking-skeleton.tsx (100%) rename {src => apps/frontend/src}/components/score/leaderboard-button.tsx (100%) rename {src => apps/frontend/src}/components/score/score-animation.tsx (100%) rename {src => apps/frontend/src}/components/score/score-badge.tsx (100%) rename {src => apps/frontend/src}/components/score/score-button.tsx (100%) rename {src => apps/frontend/src}/components/score/score-buttons.tsx (100%) rename {src => apps/frontend/src}/components/score/score-info.tsx (100%) rename {src => apps/frontend/src}/components/score/score-rank-info.tsx (100%) rename {src => apps/frontend/src}/components/score/score-stats.tsx (100%) rename {src => apps/frontend/src}/components/score/score.tsx (100%) rename {src => apps/frontend/src}/components/settings/settings.tsx (100%) rename {src => apps/frontend/src}/components/stat-value.tsx (100%) rename {src => apps/frontend/src}/components/tooltip.tsx (100%) rename {src => apps/frontend/src}/components/ui/avatar.tsx (100%) rename {src => apps/frontend/src}/components/ui/button.tsx (100%) rename {src => apps/frontend/src}/components/ui/card.tsx (100%) rename {src => apps/frontend/src}/components/ui/form.tsx (100%) rename {src => apps/frontend/src}/components/ui/input.tsx (100%) rename {src => apps/frontend/src}/components/ui/label.tsx (100%) rename {src => apps/frontend/src}/components/ui/pagination.tsx (100%) rename {src => apps/frontend/src}/components/ui/scroll-area.tsx (100%) rename {src => apps/frontend/src}/components/ui/toast.tsx (100%) rename {src => apps/frontend/src}/components/ui/toaster.tsx (100%) rename {src => apps/frontend/src}/components/ui/tooltip.tsx (100%) rename {src => apps/frontend/src}/hooks/use-database.ts (100%) rename {src => apps/frontend/src}/hooks/use-is-mobile.ts (100%) rename {src => apps/frontend/src}/hooks/use-is-visible.ts (100%) rename {src => apps/frontend/src}/hooks/use-toast.ts (100%) rename {src => apps/frontend/src}/hooks/use-window-dimensions.ts (100%) rename {src => apps/frontend/src}/instrumentation.ts (100%) rename {src => apps/frontend/src}/jobs/index.ts (100%) rename {src => apps/frontend/src}/jobs/track-player-statistics.ts (100%) rename {src => apps/frontend/src}/trigger.ts (100%) rename tailwind.config.ts => apps/frontend/tailwind.config.ts (100%) rename tsconfig.json => apps/frontend/tsconfig.json (100%) create mode 100644 packages/common/package.json create mode 100644 pnpm-workspace.yaml create mode 100644 turbo.json diff --git a/.gitea/kubernetes/deployment.yaml b/.gitea/kubernetes/frontend/deployment.yaml similarity index 87% rename from .gitea/kubernetes/deployment.yaml rename to .gitea/kubernetes/frontend/deployment.yaml index 0b6c4cf..79a771e 100644 --- a/.gitea/kubernetes/deployment.yaml +++ b/.gitea/kubernetes/frontend/deployment.yaml @@ -1,21 +1,21 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: scoresaber-reloaded + name: scoresaber-reloaded-frontend namespace: public-services spec: replicas: 1 selector: matchLabels: - app: scoresaber-reloaded + app: scoresaber-reloaded-frontend template: metadata: labels: - app: scoresaber-reloaded + app: scoresaber-reloaded-frontend spec: containers: - - name: scoresaber-reloaded-container - image: git.fascinated.cc/fascinated/scoresaber-reloaded:latest + - name: scoresaber-reloaded-frontend-container + image: git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:latest imagePullPolicy: Always ports: - containerPort: 3000 diff --git a/.gitea/kubernetes/ingress.yaml b/.gitea/kubernetes/frontend/ingress.yaml similarity index 82% rename from .gitea/kubernetes/ingress.yaml rename to .gitea/kubernetes/frontend/ingress.yaml index 81a6c67..3862252 100644 --- a/.gitea/kubernetes/ingress.yaml +++ b/.gitea/kubernetes/frontend/ingress.yaml @@ -2,7 +2,7 @@ apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: - name: scoresaber-reloaded-ingress + name: scoresaber-reloaded-frontend-ingress namespace: public-services annotations: kubernetes.io/ingress.class: traefik-external @@ -18,7 +18,7 @@ spec: - name: compress namespace: traefik services: - - name: scoresaber-reloaded-service + - name: scoresaber-reloaded-frontend-service port: 3000 tls: secretName: fascinated-cc diff --git a/.gitea/kubernetes/sealed-secrets.yaml b/.gitea/kubernetes/frontend/sealed-secrets.yaml similarity index 98% rename from .gitea/kubernetes/sealed-secrets.yaml rename to .gitea/kubernetes/frontend/sealed-secrets.yaml index f2a0a7e..7b9799b 100644 --- a/.gitea/kubernetes/sealed-secrets.yaml +++ b/.gitea/kubernetes/frontend/sealed-secrets.yaml @@ -3,7 +3,7 @@ apiVersion: bitnami.com/v1alpha1 kind: SealedSecret metadata: creationTimestamp: null - name: ssr-secret + name: ssr-frontend-secret namespace: public-services spec: encryptedData: @@ -15,6 +15,6 @@ spec: template: metadata: creationTimestamp: null - name: ssr-secret + name: ssr-frontend-secret namespace: public-services type: Opaque diff --git a/.gitea/kubernetes/service.yaml b/.gitea/kubernetes/frontend/service.yaml similarity index 65% rename from .gitea/kubernetes/service.yaml rename to .gitea/kubernetes/frontend/service.yaml index a73a898..ed20a3e 100644 --- a/.gitea/kubernetes/service.yaml +++ b/.gitea/kubernetes/frontend/service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: - name: scoresaber-reloaded-service + name: scoresaber-reloaded-frontend-service namespace: public-services spec: type: ClusterIP @@ -10,4 +10,4 @@ spec: - port: 3000 targetPort: 3000 selector: - app: scoresaber-reloaded + app: scoresaber-reloaded-frontend diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index c0742e5..7e74e4d 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: "Deploy" +name: "Deploy Frontend" on: push: @@ -25,11 +25,11 @@ jobs: - name: Build Image uses: docker/build-push-action@v6 with: - context: . + context: ./apps/frontend push: true tags: | - git.fascinated.cc/fascinated/scoresaber-reloaded:${{ github.sha }} - git.fascinated.cc/fascinated/scoresaber-reloaded:latest + git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:${{ github.sha }} + git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:latest build-args: | GIT_REV=${{ gitea.sha }} SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} @@ -49,9 +49,9 @@ jobs: action: deploy namespace: public-services manifests: | - .gitea/kubernetes/sealed-secrets.yaml - .gitea/kubernetes/deployment.yaml - .gitea/kubernetes/service.yaml - .gitea/kubernetes/ingress.yaml + .gitea/kubernetes/frontend/sealed-secrets.yaml + .gitea/kubernetes/frontend/deployment.yaml + .gitea/kubernetes/frontend/service.yaml + .gitea/kubernetes/frontend/ingress.yaml images: | - git.fascinated.cc/fascinated/scoresaber-reloaded:${{ github.sha }} + git.fascinated.cc/fascinated/scoresaber-reloaded-frontend:${{ github.sha }} diff --git a/.gitignore b/.gitignore index ed766c8..79419d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,15 @@ # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. # dependencies -/node_modules +node_modules /.pnp .pnp.js -.yarn/install-state.gz # testing /coverage # next.js -/.next/ +.next/ /out/ # production @@ -34,8 +33,6 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts +.turbo -.idea - -# Sentry Config File -.env.sentry-build-plugin +.idea \ No newline at end of file diff --git a/.env-example b/apps/frontend/.env-example similarity index 100% rename from .env-example rename to apps/frontend/.env-example diff --git a/.eslintrc.json b/apps/frontend/.eslintrc.json similarity index 100% rename from .eslintrc.json rename to apps/frontend/.eslintrc.json diff --git a/apps/frontend/.gitignore b/apps/frontend/.gitignore new file mode 100644 index 0000000..ed766c8 --- /dev/null +++ b/apps/frontend/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +.idea + +# Sentry Config File +.env.sentry-build-plugin diff --git a/Dockerfile b/apps/frontend/Dockerfile similarity index 100% rename from Dockerfile rename to apps/frontend/Dockerfile diff --git a/components.json b/apps/frontend/components.json similarity index 100% rename from components.json rename to apps/frontend/components.json diff --git a/config.ts b/apps/frontend/config.ts similarity index 100% rename from config.ts rename to apps/frontend/config.ts diff --git a/next.config.mjs b/apps/frontend/next.config.mjs similarity index 100% rename from next.config.mjs rename to apps/frontend/next.config.mjs diff --git a/apps/frontend/package.json b/apps/frontend/package.json new file mode 100644 index 0000000..dca0995 --- /dev/null +++ b/apps/frontend/package.json @@ -0,0 +1,67 @@ +{ + "name": "scoresaber-reloadedv3", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --turbo", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "packageManager": "pnpm@9.12.0", + "dependencies": { + "@formkit/tempo": "^0.1.2", + "@heroicons/react": "^2.1.5", + "@hookform/resolvers": "^3.9.0", + "@radix-ui/react-avatar": "^1.1.0", + "@radix-ui/react-icons": "^1.3.0", + "@radix-ui/react-label": "^2.1.0", + "@radix-ui/react-scroll-area": "^1.1.0", + "@radix-ui/react-slot": "^1.1.0", + "@radix-ui/react-toast": "^1.2.1", + "@radix-ui/react-tooltip": "^1.1.2", + "@sentry/nextjs": "8", + "@tanstack/react-query": "^5.55.4", + "@trigger.dev/nextjs": "^3.0.8", + "@trigger.dev/react": "^3.0.8", + "@trigger.dev/sdk": "^3.0.8", + "@uidotdev/usehooks": "^2.4.1", + "canvas": "3.0.0-rc2", + "chart.js": "^4.4.4", + "class-variance-authority": "^0.7.0", + "clsx": "^2.1.1", + "comlink": "^4.4.1", + "dexie": "^4.0.8", + "dexie-react-hooks": "^1.1.7", + "extract-colors": "^4.0.8", + "framer-motion": "^11.5.4", + "js-cookie": "^3.0.5", + "ky": "^1.7.2", + "lucide-react": "^0.447.0", + "mongoose": "^8.7.0", + "next": "15.0.0-rc.0", + "next-build-id": "^3.0.0", + "next-themes": "^0.3.0", + "react": "19.0.0-rc-3edc000d-20240926", + "react-chartjs-2": "^5.2.0", + "react-dom": "19.0.0-rc-3edc000d-20240926", + "react-hook-form": "^7.53.0", + "tailwind-merge": "^2.5.2", + "tailwindcss-animate": "^1.0.7", + "zod": "^3.23.8" + }, + "devDependencies": { + "@types/js-cookie": "^3.0.6", + "@types/node": "^20", + "@types/react": "^18", + "@types/react-dom": "^18", + "eslint": "^8", + "eslint-config-next": "14.2.14", + "postcss": "^8", + "tailwindcss": "^3.4.1", + "typescript": "^5" + }, + "trigger.dev": { + "endpointId": "scoresaber-reloaded-KB0Z" + } +} diff --git a/postcss.config.mjs b/apps/frontend/postcss.config.mjs similarity index 100% rename from postcss.config.mjs rename to apps/frontend/postcss.config.mjs diff --git a/public/assets/background.jpg b/apps/frontend/public/assets/background.jpg similarity index 100% rename from public/assets/background.jpg rename to apps/frontend/public/assets/background.jpg diff --git a/public/assets/flags/ad.png b/apps/frontend/public/assets/flags/ad.png similarity index 100% rename from public/assets/flags/ad.png rename to apps/frontend/public/assets/flags/ad.png diff --git a/public/assets/flags/ae.png b/apps/frontend/public/assets/flags/ae.png similarity index 100% rename from public/assets/flags/ae.png rename to apps/frontend/public/assets/flags/ae.png diff --git a/public/assets/flags/af.png b/apps/frontend/public/assets/flags/af.png similarity index 100% rename from public/assets/flags/af.png rename to apps/frontend/public/assets/flags/af.png diff --git a/public/assets/flags/ag.png b/apps/frontend/public/assets/flags/ag.png similarity index 100% rename from public/assets/flags/ag.png rename to apps/frontend/public/assets/flags/ag.png diff --git a/public/assets/flags/ai.png b/apps/frontend/public/assets/flags/ai.png similarity index 100% rename from public/assets/flags/ai.png rename to apps/frontend/public/assets/flags/ai.png diff --git a/public/assets/flags/al.png b/apps/frontend/public/assets/flags/al.png similarity index 100% rename from public/assets/flags/al.png rename to apps/frontend/public/assets/flags/al.png diff --git a/public/assets/flags/am.png b/apps/frontend/public/assets/flags/am.png similarity index 100% rename from public/assets/flags/am.png rename to apps/frontend/public/assets/flags/am.png diff --git a/public/assets/flags/ao.png b/apps/frontend/public/assets/flags/ao.png similarity index 100% rename from public/assets/flags/ao.png rename to apps/frontend/public/assets/flags/ao.png diff --git a/public/assets/flags/aq.png b/apps/frontend/public/assets/flags/aq.png similarity index 100% rename from public/assets/flags/aq.png rename to apps/frontend/public/assets/flags/aq.png diff --git a/public/assets/flags/ar.png b/apps/frontend/public/assets/flags/ar.png similarity index 100% rename from public/assets/flags/ar.png rename to apps/frontend/public/assets/flags/ar.png diff --git a/public/assets/flags/as.png b/apps/frontend/public/assets/flags/as.png similarity index 100% rename from public/assets/flags/as.png rename to apps/frontend/public/assets/flags/as.png diff --git a/public/assets/flags/at.png b/apps/frontend/public/assets/flags/at.png similarity index 100% rename from public/assets/flags/at.png rename to apps/frontend/public/assets/flags/at.png diff --git a/public/assets/flags/au.png b/apps/frontend/public/assets/flags/au.png similarity index 100% rename from public/assets/flags/au.png rename to apps/frontend/public/assets/flags/au.png diff --git a/public/assets/flags/aw.png b/apps/frontend/public/assets/flags/aw.png similarity index 100% rename from public/assets/flags/aw.png rename to apps/frontend/public/assets/flags/aw.png diff --git a/public/assets/flags/ax.png b/apps/frontend/public/assets/flags/ax.png similarity index 100% rename from public/assets/flags/ax.png rename to apps/frontend/public/assets/flags/ax.png diff --git a/public/assets/flags/az.png b/apps/frontend/public/assets/flags/az.png similarity index 100% rename from public/assets/flags/az.png rename to apps/frontend/public/assets/flags/az.png diff --git a/public/assets/flags/ba.png b/apps/frontend/public/assets/flags/ba.png similarity index 100% rename from public/assets/flags/ba.png rename to apps/frontend/public/assets/flags/ba.png diff --git a/public/assets/flags/bb.png b/apps/frontend/public/assets/flags/bb.png similarity index 100% rename from public/assets/flags/bb.png rename to apps/frontend/public/assets/flags/bb.png diff --git a/public/assets/flags/bd.png b/apps/frontend/public/assets/flags/bd.png similarity index 100% rename from public/assets/flags/bd.png rename to apps/frontend/public/assets/flags/bd.png diff --git a/public/assets/flags/be.png b/apps/frontend/public/assets/flags/be.png similarity index 100% rename from public/assets/flags/be.png rename to apps/frontend/public/assets/flags/be.png diff --git a/public/assets/flags/bf.png b/apps/frontend/public/assets/flags/bf.png similarity index 100% rename from public/assets/flags/bf.png rename to apps/frontend/public/assets/flags/bf.png diff --git a/public/assets/flags/bg.png b/apps/frontend/public/assets/flags/bg.png similarity index 100% rename from public/assets/flags/bg.png rename to apps/frontend/public/assets/flags/bg.png diff --git a/public/assets/flags/bh.png b/apps/frontend/public/assets/flags/bh.png similarity index 100% rename from public/assets/flags/bh.png rename to apps/frontend/public/assets/flags/bh.png diff --git a/public/assets/flags/bi.png b/apps/frontend/public/assets/flags/bi.png similarity index 100% rename from public/assets/flags/bi.png rename to apps/frontend/public/assets/flags/bi.png diff --git a/public/assets/flags/bj.png b/apps/frontend/public/assets/flags/bj.png similarity index 100% rename from public/assets/flags/bj.png rename to apps/frontend/public/assets/flags/bj.png diff --git a/public/assets/flags/bl.png b/apps/frontend/public/assets/flags/bl.png similarity index 100% rename from public/assets/flags/bl.png rename to apps/frontend/public/assets/flags/bl.png diff --git a/public/assets/flags/bm.png b/apps/frontend/public/assets/flags/bm.png similarity index 100% rename from public/assets/flags/bm.png rename to apps/frontend/public/assets/flags/bm.png diff --git a/public/assets/flags/bn.png b/apps/frontend/public/assets/flags/bn.png similarity index 100% rename from public/assets/flags/bn.png rename to apps/frontend/public/assets/flags/bn.png diff --git a/public/assets/flags/bo.png b/apps/frontend/public/assets/flags/bo.png similarity index 100% rename from public/assets/flags/bo.png rename to apps/frontend/public/assets/flags/bo.png diff --git a/public/assets/flags/bq.png b/apps/frontend/public/assets/flags/bq.png similarity index 100% rename from public/assets/flags/bq.png rename to apps/frontend/public/assets/flags/bq.png diff --git a/public/assets/flags/br.png b/apps/frontend/public/assets/flags/br.png similarity index 100% rename from public/assets/flags/br.png rename to apps/frontend/public/assets/flags/br.png diff --git a/public/assets/flags/bs.png b/apps/frontend/public/assets/flags/bs.png similarity index 100% rename from public/assets/flags/bs.png rename to apps/frontend/public/assets/flags/bs.png diff --git a/public/assets/flags/bt.png b/apps/frontend/public/assets/flags/bt.png similarity index 100% rename from public/assets/flags/bt.png rename to apps/frontend/public/assets/flags/bt.png diff --git a/public/assets/flags/bv.png b/apps/frontend/public/assets/flags/bv.png similarity index 100% rename from public/assets/flags/bv.png rename to apps/frontend/public/assets/flags/bv.png diff --git a/public/assets/flags/bw.png b/apps/frontend/public/assets/flags/bw.png similarity index 100% rename from public/assets/flags/bw.png rename to apps/frontend/public/assets/flags/bw.png diff --git a/public/assets/flags/by.png b/apps/frontend/public/assets/flags/by.png similarity index 100% rename from public/assets/flags/by.png rename to apps/frontend/public/assets/flags/by.png diff --git a/public/assets/flags/bz.png b/apps/frontend/public/assets/flags/bz.png similarity index 100% rename from public/assets/flags/bz.png rename to apps/frontend/public/assets/flags/bz.png diff --git a/public/assets/flags/ca.png b/apps/frontend/public/assets/flags/ca.png similarity index 100% rename from public/assets/flags/ca.png rename to apps/frontend/public/assets/flags/ca.png diff --git a/public/assets/flags/cc.png b/apps/frontend/public/assets/flags/cc.png similarity index 100% rename from public/assets/flags/cc.png rename to apps/frontend/public/assets/flags/cc.png diff --git a/public/assets/flags/cd.png b/apps/frontend/public/assets/flags/cd.png similarity index 100% rename from public/assets/flags/cd.png rename to apps/frontend/public/assets/flags/cd.png diff --git a/public/assets/flags/cf.png b/apps/frontend/public/assets/flags/cf.png similarity index 100% rename from public/assets/flags/cf.png rename to apps/frontend/public/assets/flags/cf.png diff --git a/public/assets/flags/cg.png b/apps/frontend/public/assets/flags/cg.png similarity index 100% rename from public/assets/flags/cg.png rename to apps/frontend/public/assets/flags/cg.png diff --git a/public/assets/flags/ch.png b/apps/frontend/public/assets/flags/ch.png similarity index 100% rename from public/assets/flags/ch.png rename to apps/frontend/public/assets/flags/ch.png diff --git a/public/assets/flags/ci.png b/apps/frontend/public/assets/flags/ci.png similarity index 100% rename from public/assets/flags/ci.png rename to apps/frontend/public/assets/flags/ci.png diff --git a/public/assets/flags/ck.png b/apps/frontend/public/assets/flags/ck.png similarity index 100% rename from public/assets/flags/ck.png rename to apps/frontend/public/assets/flags/ck.png diff --git a/public/assets/flags/cl.png b/apps/frontend/public/assets/flags/cl.png similarity index 100% rename from public/assets/flags/cl.png rename to apps/frontend/public/assets/flags/cl.png diff --git a/public/assets/flags/cm.png b/apps/frontend/public/assets/flags/cm.png similarity index 100% rename from public/assets/flags/cm.png rename to apps/frontend/public/assets/flags/cm.png diff --git a/public/assets/flags/cn.png b/apps/frontend/public/assets/flags/cn.png similarity index 100% rename from public/assets/flags/cn.png rename to apps/frontend/public/assets/flags/cn.png diff --git a/public/assets/flags/co.png b/apps/frontend/public/assets/flags/co.png similarity index 100% rename from public/assets/flags/co.png rename to apps/frontend/public/assets/flags/co.png diff --git a/public/assets/flags/cr.png b/apps/frontend/public/assets/flags/cr.png similarity index 100% rename from public/assets/flags/cr.png rename to apps/frontend/public/assets/flags/cr.png diff --git a/public/assets/flags/cu.png b/apps/frontend/public/assets/flags/cu.png similarity index 100% rename from public/assets/flags/cu.png rename to apps/frontend/public/assets/flags/cu.png diff --git a/public/assets/flags/cv.png b/apps/frontend/public/assets/flags/cv.png similarity index 100% rename from public/assets/flags/cv.png rename to apps/frontend/public/assets/flags/cv.png diff --git a/public/assets/flags/cw.png b/apps/frontend/public/assets/flags/cw.png similarity index 100% rename from public/assets/flags/cw.png rename to apps/frontend/public/assets/flags/cw.png diff --git a/public/assets/flags/cx.png b/apps/frontend/public/assets/flags/cx.png similarity index 100% rename from public/assets/flags/cx.png rename to apps/frontend/public/assets/flags/cx.png diff --git a/public/assets/flags/cy.png b/apps/frontend/public/assets/flags/cy.png similarity index 100% rename from public/assets/flags/cy.png rename to apps/frontend/public/assets/flags/cy.png diff --git a/public/assets/flags/cz.png b/apps/frontend/public/assets/flags/cz.png similarity index 100% rename from public/assets/flags/cz.png rename to apps/frontend/public/assets/flags/cz.png diff --git a/public/assets/flags/de.png b/apps/frontend/public/assets/flags/de.png similarity index 100% rename from public/assets/flags/de.png rename to apps/frontend/public/assets/flags/de.png diff --git a/public/assets/flags/dj.png b/apps/frontend/public/assets/flags/dj.png similarity index 100% rename from public/assets/flags/dj.png rename to apps/frontend/public/assets/flags/dj.png diff --git a/public/assets/flags/dk.png b/apps/frontend/public/assets/flags/dk.png similarity index 100% rename from public/assets/flags/dk.png rename to apps/frontend/public/assets/flags/dk.png diff --git a/public/assets/flags/dm.png b/apps/frontend/public/assets/flags/dm.png similarity index 100% rename from public/assets/flags/dm.png rename to apps/frontend/public/assets/flags/dm.png diff --git a/public/assets/flags/do.png b/apps/frontend/public/assets/flags/do.png similarity index 100% rename from public/assets/flags/do.png rename to apps/frontend/public/assets/flags/do.png diff --git a/public/assets/flags/dz.png b/apps/frontend/public/assets/flags/dz.png similarity index 100% rename from public/assets/flags/dz.png rename to apps/frontend/public/assets/flags/dz.png diff --git a/public/assets/flags/ec.png b/apps/frontend/public/assets/flags/ec.png similarity index 100% rename from public/assets/flags/ec.png rename to apps/frontend/public/assets/flags/ec.png diff --git a/public/assets/flags/ee.png b/apps/frontend/public/assets/flags/ee.png similarity index 100% rename from public/assets/flags/ee.png rename to apps/frontend/public/assets/flags/ee.png diff --git a/public/assets/flags/eg.png b/apps/frontend/public/assets/flags/eg.png similarity index 100% rename from public/assets/flags/eg.png rename to apps/frontend/public/assets/flags/eg.png diff --git a/public/assets/flags/eh.png b/apps/frontend/public/assets/flags/eh.png similarity index 100% rename from public/assets/flags/eh.png rename to apps/frontend/public/assets/flags/eh.png diff --git a/public/assets/flags/er.png b/apps/frontend/public/assets/flags/er.png similarity index 100% rename from public/assets/flags/er.png rename to apps/frontend/public/assets/flags/er.png diff --git a/public/assets/flags/es.png b/apps/frontend/public/assets/flags/es.png similarity index 100% rename from public/assets/flags/es.png rename to apps/frontend/public/assets/flags/es.png diff --git a/public/assets/flags/et.png b/apps/frontend/public/assets/flags/et.png similarity index 100% rename from public/assets/flags/et.png rename to apps/frontend/public/assets/flags/et.png diff --git a/public/assets/flags/fi.png b/apps/frontend/public/assets/flags/fi.png similarity index 100% rename from public/assets/flags/fi.png rename to apps/frontend/public/assets/flags/fi.png diff --git a/public/assets/flags/fj.png b/apps/frontend/public/assets/flags/fj.png similarity index 100% rename from public/assets/flags/fj.png rename to apps/frontend/public/assets/flags/fj.png diff --git a/public/assets/flags/fk.png b/apps/frontend/public/assets/flags/fk.png similarity index 100% rename from public/assets/flags/fk.png rename to apps/frontend/public/assets/flags/fk.png diff --git a/public/assets/flags/fm.png b/apps/frontend/public/assets/flags/fm.png similarity index 100% rename from public/assets/flags/fm.png rename to apps/frontend/public/assets/flags/fm.png diff --git a/public/assets/flags/fo.png b/apps/frontend/public/assets/flags/fo.png similarity index 100% rename from public/assets/flags/fo.png rename to apps/frontend/public/assets/flags/fo.png diff --git a/public/assets/flags/fr.png b/apps/frontend/public/assets/flags/fr.png similarity index 100% rename from public/assets/flags/fr.png rename to apps/frontend/public/assets/flags/fr.png diff --git a/public/assets/flags/ga.png b/apps/frontend/public/assets/flags/ga.png similarity index 100% rename from public/assets/flags/ga.png rename to apps/frontend/public/assets/flags/ga.png diff --git a/public/assets/flags/gb-eng.png b/apps/frontend/public/assets/flags/gb-eng.png similarity index 100% rename from public/assets/flags/gb-eng.png rename to apps/frontend/public/assets/flags/gb-eng.png diff --git a/public/assets/flags/gb-nir.png b/apps/frontend/public/assets/flags/gb-nir.png similarity index 100% rename from public/assets/flags/gb-nir.png rename to apps/frontend/public/assets/flags/gb-nir.png diff --git a/public/assets/flags/gb-sct.png b/apps/frontend/public/assets/flags/gb-sct.png similarity index 100% rename from public/assets/flags/gb-sct.png rename to apps/frontend/public/assets/flags/gb-sct.png diff --git a/public/assets/flags/gb-wls.png b/apps/frontend/public/assets/flags/gb-wls.png similarity index 100% rename from public/assets/flags/gb-wls.png rename to apps/frontend/public/assets/flags/gb-wls.png diff --git a/public/assets/flags/gb.png b/apps/frontend/public/assets/flags/gb.png similarity index 100% rename from public/assets/flags/gb.png rename to apps/frontend/public/assets/flags/gb.png diff --git a/public/assets/flags/gd.png b/apps/frontend/public/assets/flags/gd.png similarity index 100% rename from public/assets/flags/gd.png rename to apps/frontend/public/assets/flags/gd.png diff --git a/public/assets/flags/ge.png b/apps/frontend/public/assets/flags/ge.png similarity index 100% rename from public/assets/flags/ge.png rename to apps/frontend/public/assets/flags/ge.png diff --git a/public/assets/flags/gf.png b/apps/frontend/public/assets/flags/gf.png similarity index 100% rename from public/assets/flags/gf.png rename to apps/frontend/public/assets/flags/gf.png diff --git a/public/assets/flags/gg.png b/apps/frontend/public/assets/flags/gg.png similarity index 100% rename from public/assets/flags/gg.png rename to apps/frontend/public/assets/flags/gg.png diff --git a/public/assets/flags/gh.png b/apps/frontend/public/assets/flags/gh.png similarity index 100% rename from public/assets/flags/gh.png rename to apps/frontend/public/assets/flags/gh.png diff --git a/public/assets/flags/gi.png b/apps/frontend/public/assets/flags/gi.png similarity index 100% rename from public/assets/flags/gi.png rename to apps/frontend/public/assets/flags/gi.png diff --git a/public/assets/flags/gl.png b/apps/frontend/public/assets/flags/gl.png similarity index 100% rename from public/assets/flags/gl.png rename to apps/frontend/public/assets/flags/gl.png diff --git a/public/assets/flags/gm.png b/apps/frontend/public/assets/flags/gm.png similarity index 100% rename from public/assets/flags/gm.png rename to apps/frontend/public/assets/flags/gm.png diff --git a/public/assets/flags/gn.png b/apps/frontend/public/assets/flags/gn.png similarity index 100% rename from public/assets/flags/gn.png rename to apps/frontend/public/assets/flags/gn.png diff --git a/public/assets/flags/gp.png b/apps/frontend/public/assets/flags/gp.png similarity index 100% rename from public/assets/flags/gp.png rename to apps/frontend/public/assets/flags/gp.png diff --git a/public/assets/flags/gq.png b/apps/frontend/public/assets/flags/gq.png similarity index 100% rename from public/assets/flags/gq.png rename to apps/frontend/public/assets/flags/gq.png diff --git a/public/assets/flags/gr.png b/apps/frontend/public/assets/flags/gr.png similarity index 100% rename from public/assets/flags/gr.png rename to apps/frontend/public/assets/flags/gr.png diff --git a/public/assets/flags/gs.png b/apps/frontend/public/assets/flags/gs.png similarity index 100% rename from public/assets/flags/gs.png rename to apps/frontend/public/assets/flags/gs.png diff --git a/public/assets/flags/gt.png b/apps/frontend/public/assets/flags/gt.png similarity index 100% rename from public/assets/flags/gt.png rename to apps/frontend/public/assets/flags/gt.png diff --git a/public/assets/flags/gu.png b/apps/frontend/public/assets/flags/gu.png similarity index 100% rename from public/assets/flags/gu.png rename to apps/frontend/public/assets/flags/gu.png diff --git a/public/assets/flags/gw.png b/apps/frontend/public/assets/flags/gw.png similarity index 100% rename from public/assets/flags/gw.png rename to apps/frontend/public/assets/flags/gw.png diff --git a/public/assets/flags/gy.png b/apps/frontend/public/assets/flags/gy.png similarity index 100% rename from public/assets/flags/gy.png rename to apps/frontend/public/assets/flags/gy.png diff --git a/public/assets/flags/hk.png b/apps/frontend/public/assets/flags/hk.png similarity index 100% rename from public/assets/flags/hk.png rename to apps/frontend/public/assets/flags/hk.png diff --git a/public/assets/flags/hm.png b/apps/frontend/public/assets/flags/hm.png similarity index 100% rename from public/assets/flags/hm.png rename to apps/frontend/public/assets/flags/hm.png diff --git a/public/assets/flags/hn.png b/apps/frontend/public/assets/flags/hn.png similarity index 100% rename from public/assets/flags/hn.png rename to apps/frontend/public/assets/flags/hn.png diff --git a/public/assets/flags/hr.png b/apps/frontend/public/assets/flags/hr.png similarity index 100% rename from public/assets/flags/hr.png rename to apps/frontend/public/assets/flags/hr.png diff --git a/public/assets/flags/ht.png b/apps/frontend/public/assets/flags/ht.png similarity index 100% rename from public/assets/flags/ht.png rename to apps/frontend/public/assets/flags/ht.png diff --git a/public/assets/flags/hu.png b/apps/frontend/public/assets/flags/hu.png similarity index 100% rename from public/assets/flags/hu.png rename to apps/frontend/public/assets/flags/hu.png diff --git a/public/assets/flags/id.png b/apps/frontend/public/assets/flags/id.png similarity index 100% rename from public/assets/flags/id.png rename to apps/frontend/public/assets/flags/id.png diff --git a/public/assets/flags/ie.png b/apps/frontend/public/assets/flags/ie.png similarity index 100% rename from public/assets/flags/ie.png rename to apps/frontend/public/assets/flags/ie.png diff --git a/public/assets/flags/il.png b/apps/frontend/public/assets/flags/il.png similarity index 100% rename from public/assets/flags/il.png rename to apps/frontend/public/assets/flags/il.png diff --git a/public/assets/flags/im.png b/apps/frontend/public/assets/flags/im.png similarity index 100% rename from public/assets/flags/im.png rename to apps/frontend/public/assets/flags/im.png diff --git a/public/assets/flags/in.png b/apps/frontend/public/assets/flags/in.png similarity index 100% rename from public/assets/flags/in.png rename to apps/frontend/public/assets/flags/in.png diff --git a/public/assets/flags/io.png b/apps/frontend/public/assets/flags/io.png similarity index 100% rename from public/assets/flags/io.png rename to apps/frontend/public/assets/flags/io.png diff --git a/public/assets/flags/iq.png b/apps/frontend/public/assets/flags/iq.png similarity index 100% rename from public/assets/flags/iq.png rename to apps/frontend/public/assets/flags/iq.png diff --git a/public/assets/flags/ir.png b/apps/frontend/public/assets/flags/ir.png similarity index 100% rename from public/assets/flags/ir.png rename to apps/frontend/public/assets/flags/ir.png diff --git a/public/assets/flags/is.png b/apps/frontend/public/assets/flags/is.png similarity index 100% rename from public/assets/flags/is.png rename to apps/frontend/public/assets/flags/is.png diff --git a/public/assets/flags/it.png b/apps/frontend/public/assets/flags/it.png similarity index 100% rename from public/assets/flags/it.png rename to apps/frontend/public/assets/flags/it.png diff --git a/public/assets/flags/je.png b/apps/frontend/public/assets/flags/je.png similarity index 100% rename from public/assets/flags/je.png rename to apps/frontend/public/assets/flags/je.png diff --git a/public/assets/flags/jm.png b/apps/frontend/public/assets/flags/jm.png similarity index 100% rename from public/assets/flags/jm.png rename to apps/frontend/public/assets/flags/jm.png diff --git a/public/assets/flags/jo.png b/apps/frontend/public/assets/flags/jo.png similarity index 100% rename from public/assets/flags/jo.png rename to apps/frontend/public/assets/flags/jo.png diff --git a/public/assets/flags/jp.png b/apps/frontend/public/assets/flags/jp.png similarity index 100% rename from public/assets/flags/jp.png rename to apps/frontend/public/assets/flags/jp.png diff --git a/public/assets/flags/ke.png b/apps/frontend/public/assets/flags/ke.png similarity index 100% rename from public/assets/flags/ke.png rename to apps/frontend/public/assets/flags/ke.png diff --git a/public/assets/flags/kg.png b/apps/frontend/public/assets/flags/kg.png similarity index 100% rename from public/assets/flags/kg.png rename to apps/frontend/public/assets/flags/kg.png diff --git a/public/assets/flags/kh.png b/apps/frontend/public/assets/flags/kh.png similarity index 100% rename from public/assets/flags/kh.png rename to apps/frontend/public/assets/flags/kh.png diff --git a/public/assets/flags/ki.png b/apps/frontend/public/assets/flags/ki.png similarity index 100% rename from public/assets/flags/ki.png rename to apps/frontend/public/assets/flags/ki.png diff --git a/public/assets/flags/km.png b/apps/frontend/public/assets/flags/km.png similarity index 100% rename from public/assets/flags/km.png rename to apps/frontend/public/assets/flags/km.png diff --git a/public/assets/flags/kn.png b/apps/frontend/public/assets/flags/kn.png similarity index 100% rename from public/assets/flags/kn.png rename to apps/frontend/public/assets/flags/kn.png diff --git a/public/assets/flags/kp.png b/apps/frontend/public/assets/flags/kp.png similarity index 100% rename from public/assets/flags/kp.png rename to apps/frontend/public/assets/flags/kp.png diff --git a/public/assets/flags/kr.png b/apps/frontend/public/assets/flags/kr.png similarity index 100% rename from public/assets/flags/kr.png rename to apps/frontend/public/assets/flags/kr.png diff --git a/public/assets/flags/kw.png b/apps/frontend/public/assets/flags/kw.png similarity index 100% rename from public/assets/flags/kw.png rename to apps/frontend/public/assets/flags/kw.png diff --git a/public/assets/flags/ky.png b/apps/frontend/public/assets/flags/ky.png similarity index 100% rename from public/assets/flags/ky.png rename to apps/frontend/public/assets/flags/ky.png diff --git a/public/assets/flags/kz.png b/apps/frontend/public/assets/flags/kz.png similarity index 100% rename from public/assets/flags/kz.png rename to apps/frontend/public/assets/flags/kz.png diff --git a/public/assets/flags/la.png b/apps/frontend/public/assets/flags/la.png similarity index 100% rename from public/assets/flags/la.png rename to apps/frontend/public/assets/flags/la.png diff --git a/public/assets/flags/lb.png b/apps/frontend/public/assets/flags/lb.png similarity index 100% rename from public/assets/flags/lb.png rename to apps/frontend/public/assets/flags/lb.png diff --git a/public/assets/flags/lc.png b/apps/frontend/public/assets/flags/lc.png similarity index 100% rename from public/assets/flags/lc.png rename to apps/frontend/public/assets/flags/lc.png diff --git a/public/assets/flags/li.png b/apps/frontend/public/assets/flags/li.png similarity index 100% rename from public/assets/flags/li.png rename to apps/frontend/public/assets/flags/li.png diff --git a/public/assets/flags/lk.png b/apps/frontend/public/assets/flags/lk.png similarity index 100% rename from public/assets/flags/lk.png rename to apps/frontend/public/assets/flags/lk.png diff --git a/public/assets/flags/lr.png b/apps/frontend/public/assets/flags/lr.png similarity index 100% rename from public/assets/flags/lr.png rename to apps/frontend/public/assets/flags/lr.png diff --git a/public/assets/flags/ls.png b/apps/frontend/public/assets/flags/ls.png similarity index 100% rename from public/assets/flags/ls.png rename to apps/frontend/public/assets/flags/ls.png diff --git a/public/assets/flags/lt.png b/apps/frontend/public/assets/flags/lt.png similarity index 100% rename from public/assets/flags/lt.png rename to apps/frontend/public/assets/flags/lt.png diff --git a/public/assets/flags/lu.png b/apps/frontend/public/assets/flags/lu.png similarity index 100% rename from public/assets/flags/lu.png rename to apps/frontend/public/assets/flags/lu.png diff --git a/public/assets/flags/lv.png b/apps/frontend/public/assets/flags/lv.png similarity index 100% rename from public/assets/flags/lv.png rename to apps/frontend/public/assets/flags/lv.png diff --git a/public/assets/flags/ly.png b/apps/frontend/public/assets/flags/ly.png similarity index 100% rename from public/assets/flags/ly.png rename to apps/frontend/public/assets/flags/ly.png diff --git a/public/assets/flags/ma.png b/apps/frontend/public/assets/flags/ma.png similarity index 100% rename from public/assets/flags/ma.png rename to apps/frontend/public/assets/flags/ma.png diff --git a/public/assets/flags/mc.png b/apps/frontend/public/assets/flags/mc.png similarity index 100% rename from public/assets/flags/mc.png rename to apps/frontend/public/assets/flags/mc.png diff --git a/public/assets/flags/md.png b/apps/frontend/public/assets/flags/md.png similarity index 100% rename from public/assets/flags/md.png rename to apps/frontend/public/assets/flags/md.png diff --git a/public/assets/flags/me.png b/apps/frontend/public/assets/flags/me.png similarity index 100% rename from public/assets/flags/me.png rename to apps/frontend/public/assets/flags/me.png diff --git a/public/assets/flags/mf.png b/apps/frontend/public/assets/flags/mf.png similarity index 100% rename from public/assets/flags/mf.png rename to apps/frontend/public/assets/flags/mf.png diff --git a/public/assets/flags/mg.png b/apps/frontend/public/assets/flags/mg.png similarity index 100% rename from public/assets/flags/mg.png rename to apps/frontend/public/assets/flags/mg.png diff --git a/public/assets/flags/mh.png b/apps/frontend/public/assets/flags/mh.png similarity index 100% rename from public/assets/flags/mh.png rename to apps/frontend/public/assets/flags/mh.png diff --git a/public/assets/flags/mk.png b/apps/frontend/public/assets/flags/mk.png similarity index 100% rename from public/assets/flags/mk.png rename to apps/frontend/public/assets/flags/mk.png diff --git a/public/assets/flags/ml.png b/apps/frontend/public/assets/flags/ml.png similarity index 100% rename from public/assets/flags/ml.png rename to apps/frontend/public/assets/flags/ml.png diff --git a/public/assets/flags/mm.png b/apps/frontend/public/assets/flags/mm.png similarity index 100% rename from public/assets/flags/mm.png rename to apps/frontend/public/assets/flags/mm.png diff --git a/public/assets/flags/mn.png b/apps/frontend/public/assets/flags/mn.png similarity index 100% rename from public/assets/flags/mn.png rename to apps/frontend/public/assets/flags/mn.png diff --git a/public/assets/flags/mo.png b/apps/frontend/public/assets/flags/mo.png similarity index 100% rename from public/assets/flags/mo.png rename to apps/frontend/public/assets/flags/mo.png diff --git a/public/assets/flags/mp.png b/apps/frontend/public/assets/flags/mp.png similarity index 100% rename from public/assets/flags/mp.png rename to apps/frontend/public/assets/flags/mp.png diff --git a/public/assets/flags/mq.png b/apps/frontend/public/assets/flags/mq.png similarity index 100% rename from public/assets/flags/mq.png rename to apps/frontend/public/assets/flags/mq.png diff --git a/public/assets/flags/mr.png b/apps/frontend/public/assets/flags/mr.png similarity index 100% rename from public/assets/flags/mr.png rename to apps/frontend/public/assets/flags/mr.png diff --git a/public/assets/flags/ms.png b/apps/frontend/public/assets/flags/ms.png similarity index 100% rename from public/assets/flags/ms.png rename to apps/frontend/public/assets/flags/ms.png diff --git a/public/assets/flags/mt.png b/apps/frontend/public/assets/flags/mt.png similarity index 100% rename from public/assets/flags/mt.png rename to apps/frontend/public/assets/flags/mt.png diff --git a/public/assets/flags/mu.png b/apps/frontend/public/assets/flags/mu.png similarity index 100% rename from public/assets/flags/mu.png rename to apps/frontend/public/assets/flags/mu.png diff --git a/public/assets/flags/mv.png b/apps/frontend/public/assets/flags/mv.png similarity index 100% rename from public/assets/flags/mv.png rename to apps/frontend/public/assets/flags/mv.png diff --git a/public/assets/flags/mw.png b/apps/frontend/public/assets/flags/mw.png similarity index 100% rename from public/assets/flags/mw.png rename to apps/frontend/public/assets/flags/mw.png diff --git a/public/assets/flags/mx.png b/apps/frontend/public/assets/flags/mx.png similarity index 100% rename from public/assets/flags/mx.png rename to apps/frontend/public/assets/flags/mx.png diff --git a/public/assets/flags/my.png b/apps/frontend/public/assets/flags/my.png similarity index 100% rename from public/assets/flags/my.png rename to apps/frontend/public/assets/flags/my.png diff --git a/public/assets/flags/mz.png b/apps/frontend/public/assets/flags/mz.png similarity index 100% rename from public/assets/flags/mz.png rename to apps/frontend/public/assets/flags/mz.png diff --git a/public/assets/flags/na.png b/apps/frontend/public/assets/flags/na.png similarity index 100% rename from public/assets/flags/na.png rename to apps/frontend/public/assets/flags/na.png diff --git a/public/assets/flags/nc.png b/apps/frontend/public/assets/flags/nc.png similarity index 100% rename from public/assets/flags/nc.png rename to apps/frontend/public/assets/flags/nc.png diff --git a/public/assets/flags/ne.png b/apps/frontend/public/assets/flags/ne.png similarity index 100% rename from public/assets/flags/ne.png rename to apps/frontend/public/assets/flags/ne.png diff --git a/public/assets/flags/nf.png b/apps/frontend/public/assets/flags/nf.png similarity index 100% rename from public/assets/flags/nf.png rename to apps/frontend/public/assets/flags/nf.png diff --git a/public/assets/flags/ng.png b/apps/frontend/public/assets/flags/ng.png similarity index 100% rename from public/assets/flags/ng.png rename to apps/frontend/public/assets/flags/ng.png diff --git a/public/assets/flags/ni.png b/apps/frontend/public/assets/flags/ni.png similarity index 100% rename from public/assets/flags/ni.png rename to apps/frontend/public/assets/flags/ni.png diff --git a/public/assets/flags/nl.png b/apps/frontend/public/assets/flags/nl.png similarity index 100% rename from public/assets/flags/nl.png rename to apps/frontend/public/assets/flags/nl.png diff --git a/public/assets/flags/no.png b/apps/frontend/public/assets/flags/no.png similarity index 100% rename from public/assets/flags/no.png rename to apps/frontend/public/assets/flags/no.png diff --git a/public/assets/flags/not set.png b/apps/frontend/public/assets/flags/not set.png similarity index 100% rename from public/assets/flags/not set.png rename to apps/frontend/public/assets/flags/not set.png diff --git a/public/assets/flags/np.png b/apps/frontend/public/assets/flags/np.png similarity index 100% rename from public/assets/flags/np.png rename to apps/frontend/public/assets/flags/np.png diff --git a/public/assets/flags/nr.png b/apps/frontend/public/assets/flags/nr.png similarity index 100% rename from public/assets/flags/nr.png rename to apps/frontend/public/assets/flags/nr.png diff --git a/public/assets/flags/nu.png b/apps/frontend/public/assets/flags/nu.png similarity index 100% rename from public/assets/flags/nu.png rename to apps/frontend/public/assets/flags/nu.png diff --git a/public/assets/flags/nz.png b/apps/frontend/public/assets/flags/nz.png similarity index 100% rename from public/assets/flags/nz.png rename to apps/frontend/public/assets/flags/nz.png diff --git a/public/assets/flags/om.png b/apps/frontend/public/assets/flags/om.png similarity index 100% rename from public/assets/flags/om.png rename to apps/frontend/public/assets/flags/om.png diff --git a/public/assets/flags/pa.png b/apps/frontend/public/assets/flags/pa.png similarity index 100% rename from public/assets/flags/pa.png rename to apps/frontend/public/assets/flags/pa.png diff --git a/public/assets/flags/pe.png b/apps/frontend/public/assets/flags/pe.png similarity index 100% rename from public/assets/flags/pe.png rename to apps/frontend/public/assets/flags/pe.png diff --git a/public/assets/flags/pf.png b/apps/frontend/public/assets/flags/pf.png similarity index 100% rename from public/assets/flags/pf.png rename to apps/frontend/public/assets/flags/pf.png diff --git a/public/assets/flags/pg.png b/apps/frontend/public/assets/flags/pg.png similarity index 100% rename from public/assets/flags/pg.png rename to apps/frontend/public/assets/flags/pg.png diff --git a/public/assets/flags/ph.png b/apps/frontend/public/assets/flags/ph.png similarity index 100% rename from public/assets/flags/ph.png rename to apps/frontend/public/assets/flags/ph.png diff --git a/public/assets/flags/pk.png b/apps/frontend/public/assets/flags/pk.png similarity index 100% rename from public/assets/flags/pk.png rename to apps/frontend/public/assets/flags/pk.png diff --git a/public/assets/flags/pl.png b/apps/frontend/public/assets/flags/pl.png similarity index 100% rename from public/assets/flags/pl.png rename to apps/frontend/public/assets/flags/pl.png diff --git a/public/assets/flags/pm.png b/apps/frontend/public/assets/flags/pm.png similarity index 100% rename from public/assets/flags/pm.png rename to apps/frontend/public/assets/flags/pm.png diff --git a/public/assets/flags/pn.png b/apps/frontend/public/assets/flags/pn.png similarity index 100% rename from public/assets/flags/pn.png rename to apps/frontend/public/assets/flags/pn.png diff --git a/public/assets/flags/pr.png b/apps/frontend/public/assets/flags/pr.png similarity index 100% rename from public/assets/flags/pr.png rename to apps/frontend/public/assets/flags/pr.png diff --git a/public/assets/flags/ps.png b/apps/frontend/public/assets/flags/ps.png similarity index 100% rename from public/assets/flags/ps.png rename to apps/frontend/public/assets/flags/ps.png diff --git a/public/assets/flags/pt.png b/apps/frontend/public/assets/flags/pt.png similarity index 100% rename from public/assets/flags/pt.png rename to apps/frontend/public/assets/flags/pt.png diff --git a/public/assets/flags/pw.png b/apps/frontend/public/assets/flags/pw.png similarity index 100% rename from public/assets/flags/pw.png rename to apps/frontend/public/assets/flags/pw.png diff --git a/public/assets/flags/py.png b/apps/frontend/public/assets/flags/py.png similarity index 100% rename from public/assets/flags/py.png rename to apps/frontend/public/assets/flags/py.png diff --git a/public/assets/flags/qa.png b/apps/frontend/public/assets/flags/qa.png similarity index 100% rename from public/assets/flags/qa.png rename to apps/frontend/public/assets/flags/qa.png diff --git a/public/assets/flags/re.png b/apps/frontend/public/assets/flags/re.png similarity index 100% rename from public/assets/flags/re.png rename to apps/frontend/public/assets/flags/re.png diff --git a/public/assets/flags/ro.png b/apps/frontend/public/assets/flags/ro.png similarity index 100% rename from public/assets/flags/ro.png rename to apps/frontend/public/assets/flags/ro.png diff --git a/public/assets/flags/rs.png b/apps/frontend/public/assets/flags/rs.png similarity index 100% rename from public/assets/flags/rs.png rename to apps/frontend/public/assets/flags/rs.png diff --git a/public/assets/flags/ru.png b/apps/frontend/public/assets/flags/ru.png similarity index 100% rename from public/assets/flags/ru.png rename to apps/frontend/public/assets/flags/ru.png diff --git a/public/assets/flags/rw.png b/apps/frontend/public/assets/flags/rw.png similarity index 100% rename from public/assets/flags/rw.png rename to apps/frontend/public/assets/flags/rw.png diff --git a/public/assets/flags/sa.png b/apps/frontend/public/assets/flags/sa.png similarity index 100% rename from public/assets/flags/sa.png rename to apps/frontend/public/assets/flags/sa.png diff --git a/public/assets/flags/sb.png b/apps/frontend/public/assets/flags/sb.png similarity index 100% rename from public/assets/flags/sb.png rename to apps/frontend/public/assets/flags/sb.png diff --git a/public/assets/flags/sc.png b/apps/frontend/public/assets/flags/sc.png similarity index 100% rename from public/assets/flags/sc.png rename to apps/frontend/public/assets/flags/sc.png diff --git a/public/assets/flags/sd.png b/apps/frontend/public/assets/flags/sd.png similarity index 100% rename from public/assets/flags/sd.png rename to apps/frontend/public/assets/flags/sd.png diff --git a/public/assets/flags/se.png b/apps/frontend/public/assets/flags/se.png similarity index 100% rename from public/assets/flags/se.png rename to apps/frontend/public/assets/flags/se.png diff --git a/public/assets/flags/sg.png b/apps/frontend/public/assets/flags/sg.png similarity index 100% rename from public/assets/flags/sg.png rename to apps/frontend/public/assets/flags/sg.png diff --git a/public/assets/flags/sh.png b/apps/frontend/public/assets/flags/sh.png similarity index 100% rename from public/assets/flags/sh.png rename to apps/frontend/public/assets/flags/sh.png diff --git a/public/assets/flags/si.png b/apps/frontend/public/assets/flags/si.png similarity index 100% rename from public/assets/flags/si.png rename to apps/frontend/public/assets/flags/si.png diff --git a/public/assets/flags/sj.png b/apps/frontend/public/assets/flags/sj.png similarity index 100% rename from public/assets/flags/sj.png rename to apps/frontend/public/assets/flags/sj.png diff --git a/public/assets/flags/sk.png b/apps/frontend/public/assets/flags/sk.png similarity index 100% rename from public/assets/flags/sk.png rename to apps/frontend/public/assets/flags/sk.png diff --git a/public/assets/flags/sl.png b/apps/frontend/public/assets/flags/sl.png similarity index 100% rename from public/assets/flags/sl.png rename to apps/frontend/public/assets/flags/sl.png diff --git a/public/assets/flags/sm.png b/apps/frontend/public/assets/flags/sm.png similarity index 100% rename from public/assets/flags/sm.png rename to apps/frontend/public/assets/flags/sm.png diff --git a/public/assets/flags/sn.png b/apps/frontend/public/assets/flags/sn.png similarity index 100% rename from public/assets/flags/sn.png rename to apps/frontend/public/assets/flags/sn.png diff --git a/public/assets/flags/so.png b/apps/frontend/public/assets/flags/so.png similarity index 100% rename from public/assets/flags/so.png rename to apps/frontend/public/assets/flags/so.png diff --git a/public/assets/flags/sr.png b/apps/frontend/public/assets/flags/sr.png similarity index 100% rename from public/assets/flags/sr.png rename to apps/frontend/public/assets/flags/sr.png diff --git a/public/assets/flags/ss.png b/apps/frontend/public/assets/flags/ss.png similarity index 100% rename from public/assets/flags/ss.png rename to apps/frontend/public/assets/flags/ss.png diff --git a/public/assets/flags/st.png b/apps/frontend/public/assets/flags/st.png similarity index 100% rename from public/assets/flags/st.png rename to apps/frontend/public/assets/flags/st.png diff --git a/public/assets/flags/sv.png b/apps/frontend/public/assets/flags/sv.png similarity index 100% rename from public/assets/flags/sv.png rename to apps/frontend/public/assets/flags/sv.png diff --git a/public/assets/flags/sx.png b/apps/frontend/public/assets/flags/sx.png similarity index 100% rename from public/assets/flags/sx.png rename to apps/frontend/public/assets/flags/sx.png diff --git a/public/assets/flags/sy.png b/apps/frontend/public/assets/flags/sy.png similarity index 100% rename from public/assets/flags/sy.png rename to apps/frontend/public/assets/flags/sy.png diff --git a/public/assets/flags/sz.png b/apps/frontend/public/assets/flags/sz.png similarity index 100% rename from public/assets/flags/sz.png rename to apps/frontend/public/assets/flags/sz.png diff --git a/public/assets/flags/tc.png b/apps/frontend/public/assets/flags/tc.png similarity index 100% rename from public/assets/flags/tc.png rename to apps/frontend/public/assets/flags/tc.png diff --git a/public/assets/flags/td.png b/apps/frontend/public/assets/flags/td.png similarity index 100% rename from public/assets/flags/td.png rename to apps/frontend/public/assets/flags/td.png diff --git a/public/assets/flags/tf.png b/apps/frontend/public/assets/flags/tf.png similarity index 100% rename from public/assets/flags/tf.png rename to apps/frontend/public/assets/flags/tf.png diff --git a/public/assets/flags/tg.png b/apps/frontend/public/assets/flags/tg.png similarity index 100% rename from public/assets/flags/tg.png rename to apps/frontend/public/assets/flags/tg.png diff --git a/public/assets/flags/th.png b/apps/frontend/public/assets/flags/th.png similarity index 100% rename from public/assets/flags/th.png rename to apps/frontend/public/assets/flags/th.png diff --git a/public/assets/flags/tj.png b/apps/frontend/public/assets/flags/tj.png similarity index 100% rename from public/assets/flags/tj.png rename to apps/frontend/public/assets/flags/tj.png diff --git a/public/assets/flags/tk.png b/apps/frontend/public/assets/flags/tk.png similarity index 100% rename from public/assets/flags/tk.png rename to apps/frontend/public/assets/flags/tk.png diff --git a/public/assets/flags/tl.png b/apps/frontend/public/assets/flags/tl.png similarity index 100% rename from public/assets/flags/tl.png rename to apps/frontend/public/assets/flags/tl.png diff --git a/public/assets/flags/tm.png b/apps/frontend/public/assets/flags/tm.png similarity index 100% rename from public/assets/flags/tm.png rename to apps/frontend/public/assets/flags/tm.png diff --git a/public/assets/flags/tn.png b/apps/frontend/public/assets/flags/tn.png similarity index 100% rename from public/assets/flags/tn.png rename to apps/frontend/public/assets/flags/tn.png diff --git a/public/assets/flags/to.png b/apps/frontend/public/assets/flags/to.png similarity index 100% rename from public/assets/flags/to.png rename to apps/frontend/public/assets/flags/to.png diff --git a/public/assets/flags/tr.png b/apps/frontend/public/assets/flags/tr.png similarity index 100% rename from public/assets/flags/tr.png rename to apps/frontend/public/assets/flags/tr.png diff --git a/public/assets/flags/tt.png b/apps/frontend/public/assets/flags/tt.png similarity index 100% rename from public/assets/flags/tt.png rename to apps/frontend/public/assets/flags/tt.png diff --git a/public/assets/flags/tv.png b/apps/frontend/public/assets/flags/tv.png similarity index 100% rename from public/assets/flags/tv.png rename to apps/frontend/public/assets/flags/tv.png diff --git a/public/assets/flags/tw.png b/apps/frontend/public/assets/flags/tw.png similarity index 100% rename from public/assets/flags/tw.png rename to apps/frontend/public/assets/flags/tw.png diff --git a/public/assets/flags/tz.png b/apps/frontend/public/assets/flags/tz.png similarity index 100% rename from public/assets/flags/tz.png rename to apps/frontend/public/assets/flags/tz.png diff --git a/public/assets/flags/ua.png b/apps/frontend/public/assets/flags/ua.png similarity index 100% rename from public/assets/flags/ua.png rename to apps/frontend/public/assets/flags/ua.png diff --git a/public/assets/flags/ug.png b/apps/frontend/public/assets/flags/ug.png similarity index 100% rename from public/assets/flags/ug.png rename to apps/frontend/public/assets/flags/ug.png diff --git a/public/assets/flags/um.png b/apps/frontend/public/assets/flags/um.png similarity index 100% rename from public/assets/flags/um.png rename to apps/frontend/public/assets/flags/um.png diff --git a/public/assets/flags/us.png b/apps/frontend/public/assets/flags/us.png similarity index 100% rename from public/assets/flags/us.png rename to apps/frontend/public/assets/flags/us.png diff --git a/public/assets/flags/uy.png b/apps/frontend/public/assets/flags/uy.png similarity index 100% rename from public/assets/flags/uy.png rename to apps/frontend/public/assets/flags/uy.png diff --git a/public/assets/flags/uz.png b/apps/frontend/public/assets/flags/uz.png similarity index 100% rename from public/assets/flags/uz.png rename to apps/frontend/public/assets/flags/uz.png diff --git a/public/assets/flags/va.png b/apps/frontend/public/assets/flags/va.png similarity index 100% rename from public/assets/flags/va.png rename to apps/frontend/public/assets/flags/va.png diff --git a/public/assets/flags/vc.png b/apps/frontend/public/assets/flags/vc.png similarity index 100% rename from public/assets/flags/vc.png rename to apps/frontend/public/assets/flags/vc.png diff --git a/public/assets/flags/ve.png b/apps/frontend/public/assets/flags/ve.png similarity index 100% rename from public/assets/flags/ve.png rename to apps/frontend/public/assets/flags/ve.png diff --git a/public/assets/flags/vg.png b/apps/frontend/public/assets/flags/vg.png similarity index 100% rename from public/assets/flags/vg.png rename to apps/frontend/public/assets/flags/vg.png diff --git a/public/assets/flags/vi.png b/apps/frontend/public/assets/flags/vi.png similarity index 100% rename from public/assets/flags/vi.png rename to apps/frontend/public/assets/flags/vi.png diff --git a/public/assets/flags/vn.png b/apps/frontend/public/assets/flags/vn.png similarity index 100% rename from public/assets/flags/vn.png rename to apps/frontend/public/assets/flags/vn.png diff --git a/public/assets/flags/vu.png b/apps/frontend/public/assets/flags/vu.png similarity index 100% rename from public/assets/flags/vu.png rename to apps/frontend/public/assets/flags/vu.png diff --git a/public/assets/flags/wf.png b/apps/frontend/public/assets/flags/wf.png similarity index 100% rename from public/assets/flags/wf.png rename to apps/frontend/public/assets/flags/wf.png diff --git a/public/assets/flags/ws.png b/apps/frontend/public/assets/flags/ws.png similarity index 100% rename from public/assets/flags/ws.png rename to apps/frontend/public/assets/flags/ws.png diff --git a/public/assets/flags/xk.png b/apps/frontend/public/assets/flags/xk.png similarity index 100% rename from public/assets/flags/xk.png rename to apps/frontend/public/assets/flags/xk.png diff --git a/public/assets/flags/ye.png b/apps/frontend/public/assets/flags/ye.png similarity index 100% rename from public/assets/flags/ye.png rename to apps/frontend/public/assets/flags/ye.png diff --git a/public/assets/flags/yt.png b/apps/frontend/public/assets/flags/yt.png similarity index 100% rename from public/assets/flags/yt.png rename to apps/frontend/public/assets/flags/yt.png diff --git a/public/assets/flags/za.png b/apps/frontend/public/assets/flags/za.png similarity index 100% rename from public/assets/flags/za.png rename to apps/frontend/public/assets/flags/za.png diff --git a/public/assets/flags/zm.png b/apps/frontend/public/assets/flags/zm.png similarity index 100% rename from public/assets/flags/zm.png rename to apps/frontend/public/assets/flags/zm.png diff --git a/public/assets/flags/zw.png b/apps/frontend/public/assets/flags/zw.png similarity index 100% rename from public/assets/flags/zw.png rename to apps/frontend/public/assets/flags/zw.png diff --git a/public/assets/logos/scoresaber.png b/apps/frontend/public/assets/logos/scoresaber.png similarity index 100% rename from public/assets/logos/scoresaber.png rename to apps/frontend/public/assets/logos/scoresaber.png diff --git a/public/favicon.ico b/apps/frontend/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to apps/frontend/public/favicon.ico diff --git a/sentry.client.config.ts b/apps/frontend/sentry.client.config.ts similarity index 100% rename from sentry.client.config.ts rename to apps/frontend/sentry.client.config.ts diff --git a/sentry.edge.config.ts b/apps/frontend/sentry.edge.config.ts similarity index 100% rename from sentry.edge.config.ts rename to apps/frontend/sentry.edge.config.ts diff --git a/sentry.server.config.ts b/apps/frontend/sentry.server.config.ts similarity index 100% rename from sentry.server.config.ts rename to apps/frontend/sentry.server.config.ts diff --git a/src/app/(pages)/api/player/history/route.ts b/apps/frontend/src/app/(pages)/api/player/history/route.ts similarity index 100% rename from src/app/(pages)/api/player/history/route.ts rename to apps/frontend/src/app/(pages)/api/player/history/route.ts diff --git a/src/app/(pages)/api/player/isbeingtracked/route.ts b/apps/frontend/src/app/(pages)/api/player/isbeingtracked/route.ts similarity index 100% rename from src/app/(pages)/api/player/isbeingtracked/route.ts rename to apps/frontend/src/app/(pages)/api/player/isbeingtracked/route.ts diff --git a/src/app/(pages)/api/proxy/route.ts b/apps/frontend/src/app/(pages)/api/proxy/route.ts similarity index 100% rename from src/app/(pages)/api/proxy/route.ts rename to apps/frontend/src/app/(pages)/api/proxy/route.ts diff --git a/src/app/(pages)/api/trigger/route.ts b/apps/frontend/src/app/(pages)/api/trigger/route.ts similarity index 100% rename from src/app/(pages)/api/trigger/route.ts rename to apps/frontend/src/app/(pages)/api/trigger/route.ts diff --git a/src/app/(pages)/leaderboard/[...slug]/page.tsx b/apps/frontend/src/app/(pages)/leaderboard/[...slug]/page.tsx similarity index 100% rename from src/app/(pages)/leaderboard/[...slug]/page.tsx rename to apps/frontend/src/app/(pages)/leaderboard/[...slug]/page.tsx diff --git a/src/app/(pages)/page.tsx b/apps/frontend/src/app/(pages)/page.tsx similarity index 100% rename from src/app/(pages)/page.tsx rename to apps/frontend/src/app/(pages)/page.tsx diff --git a/src/app/(pages)/player/[...slug]/page.tsx b/apps/frontend/src/app/(pages)/player/[...slug]/page.tsx similarity index 100% rename from src/app/(pages)/player/[...slug]/page.tsx rename to apps/frontend/src/app/(pages)/player/[...slug]/page.tsx diff --git a/src/app/(pages)/search/page.tsx b/apps/frontend/src/app/(pages)/search/page.tsx similarity index 100% rename from src/app/(pages)/search/page.tsx rename to apps/frontend/src/app/(pages)/search/page.tsx diff --git a/src/app/(pages)/settings/page.tsx b/apps/frontend/src/app/(pages)/settings/page.tsx similarity index 100% rename from src/app/(pages)/settings/page.tsx rename to apps/frontend/src/app/(pages)/settings/page.tsx diff --git a/src/app/components/ui/skeleton.tsx b/apps/frontend/src/app/components/ui/skeleton.tsx similarity index 100% rename from src/app/components/ui/skeleton.tsx rename to apps/frontend/src/app/components/ui/skeleton.tsx diff --git a/src/app/fonts/JetBrainsMono.ttf b/apps/frontend/src/app/fonts/JetBrainsMono.ttf similarity index 100% rename from src/app/fonts/JetBrainsMono.ttf rename to apps/frontend/src/app/fonts/JetBrainsMono.ttf diff --git a/src/app/global-error.tsx b/apps/frontend/src/app/global-error.tsx similarity index 100% rename from src/app/global-error.tsx rename to apps/frontend/src/app/global-error.tsx diff --git a/src/app/globals.css b/apps/frontend/src/app/globals.css similarity index 100% rename from src/app/globals.css rename to apps/frontend/src/app/globals.css diff --git a/src/app/layout.tsx b/apps/frontend/src/app/layout.tsx similarity index 100% rename from src/app/layout.tsx rename to apps/frontend/src/app/layout.tsx diff --git a/src/common/browser-utils.ts b/apps/frontend/src/common/browser-utils.ts similarity index 100% rename from src/common/browser-utils.ts rename to apps/frontend/src/common/browser-utils.ts diff --git a/src/common/colors.ts b/apps/frontend/src/common/colors.ts similarity index 100% rename from src/common/colors.ts rename to apps/frontend/src/common/colors.ts diff --git a/src/common/database/database.ts b/apps/frontend/src/common/database/database.ts similarity index 100% rename from src/common/database/database.ts rename to apps/frontend/src/common/database/database.ts diff --git a/src/common/database/types/beatsaver-map.ts b/apps/frontend/src/common/database/types/beatsaver-map.ts similarity index 100% rename from src/common/database/types/beatsaver-map.ts rename to apps/frontend/src/common/database/types/beatsaver-map.ts diff --git a/src/common/database/types/settings.ts b/apps/frontend/src/common/database/types/settings.ts similarity index 100% rename from src/common/database/types/settings.ts rename to apps/frontend/src/common/database/types/settings.ts diff --git a/src/common/image-utils.ts b/apps/frontend/src/common/image-utils.ts similarity index 100% rename from src/common/image-utils.ts rename to apps/frontend/src/common/image-utils.ts diff --git a/src/common/model/player/impl/scoresaber-player.ts b/apps/frontend/src/common/model/player/impl/scoresaber-player.ts similarity index 100% rename from src/common/model/player/impl/scoresaber-player.ts rename to apps/frontend/src/common/model/player/impl/scoresaber-player.ts diff --git a/src/common/model/player/player.ts b/apps/frontend/src/common/model/player/player.ts similarity index 100% rename from src/common/model/player/player.ts rename to apps/frontend/src/common/model/player/player.ts diff --git a/src/common/model/score/impl/scoresaber-score.ts b/apps/frontend/src/common/model/score/impl/scoresaber-score.ts similarity index 100% rename from src/common/model/score/impl/scoresaber-score.ts rename to apps/frontend/src/common/model/score/impl/scoresaber-score.ts diff --git a/src/common/model/score/modifier.ts b/apps/frontend/src/common/model/score/modifier.ts similarity index 100% rename from src/common/model/score/modifier.ts rename to apps/frontend/src/common/model/score/modifier.ts diff --git a/src/common/model/score/score-sort.ts b/apps/frontend/src/common/model/score/score-sort.ts similarity index 100% rename from src/common/model/score/score-sort.ts rename to apps/frontend/src/common/model/score/score-sort.ts diff --git a/src/common/model/score/score.ts b/apps/frontend/src/common/model/score/score.ts similarity index 100% rename from src/common/model/score/score.ts rename to apps/frontend/src/common/model/score/score.ts diff --git a/src/common/model/token/beatsaver/beat-saver-account-token.ts b/apps/frontend/src/common/model/token/beatsaver/beat-saver-account-token.ts similarity index 100% rename from src/common/model/token/beatsaver/beat-saver-account-token.ts rename to apps/frontend/src/common/model/token/beatsaver/beat-saver-account-token.ts diff --git a/src/common/model/token/beatsaver/beat-saver-map-metadata-token.ts b/apps/frontend/src/common/model/token/beatsaver/beat-saver-map-metadata-token.ts similarity index 100% rename from src/common/model/token/beatsaver/beat-saver-map-metadata-token.ts rename to apps/frontend/src/common/model/token/beatsaver/beat-saver-map-metadata-token.ts diff --git a/src/common/model/token/beatsaver/beat-saver-map-stats-token.ts b/apps/frontend/src/common/model/token/beatsaver/beat-saver-map-stats-token.ts similarity index 100% rename from src/common/model/token/beatsaver/beat-saver-map-stats-token.ts rename to apps/frontend/src/common/model/token/beatsaver/beat-saver-map-stats-token.ts diff --git a/src/common/model/token/beatsaver/beat-saver-map-token.ts b/apps/frontend/src/common/model/token/beatsaver/beat-saver-map-token.ts similarity index 100% rename from src/common/model/token/beatsaver/beat-saver-map-token.ts rename to apps/frontend/src/common/model/token/beatsaver/beat-saver-map-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-badge-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-badge-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-badge-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-badge-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-difficulty-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-difficulty-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-difficulty-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-difficulty-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-leaderboard-player-info-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-leaderboard-player-info-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-leaderboard-player-info-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-leaderboard-player-info-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-leaderboard-scores-page-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-leaderboard-scores-page-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-leaderboard-scores-page-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-leaderboard-scores-page-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-leaderboard-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-leaderboard-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-leaderboard-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-leaderboard-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-metadata-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-metadata-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-metadata-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-metadata-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-player-score-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-player-score-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-player-score-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-player-score-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-player-scores-page-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-player-scores-page-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-player-scores-page-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-player-scores-page-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-player-search-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-player-search-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-player-search-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-player-search-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-player-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-player-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-player-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-player-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-players-page-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-players-page-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-players-page-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-players-page-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-score-stats-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-score-stats-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-score-stats-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-score-stats-token.ts diff --git a/src/common/model/token/scoresaber/score-saber-score-token.ts b/apps/frontend/src/common/model/token/scoresaber/score-saber-score-token.ts similarity index 100% rename from src/common/model/token/scoresaber/score-saber-score-token.ts rename to apps/frontend/src/common/model/token/scoresaber/score-saber-score-token.ts diff --git a/src/common/mongo.ts b/apps/frontend/src/common/mongo.ts similarity index 100% rename from src/common/mongo.ts rename to apps/frontend/src/common/mongo.ts diff --git a/src/common/number-utils.ts b/apps/frontend/src/common/number-utils.ts similarity index 100% rename from src/common/number-utils.ts rename to apps/frontend/src/common/number-utils.ts diff --git a/src/common/player-utils.ts b/apps/frontend/src/common/player-utils.ts similarity index 100% rename from src/common/player-utils.ts rename to apps/frontend/src/common/player-utils.ts diff --git a/src/common/player/player-history.ts b/apps/frontend/src/common/player/player-history.ts similarity index 100% rename from src/common/player/player-history.ts rename to apps/frontend/src/common/player/player-history.ts diff --git a/src/common/player/player-tracked-since.ts b/apps/frontend/src/common/player/player-tracked-since.ts similarity index 100% rename from src/common/player/player-tracked-since.ts rename to apps/frontend/src/common/player/player-tracked-since.ts diff --git a/src/common/schema/player-schema.ts b/apps/frontend/src/common/schema/player-schema.ts similarity index 100% rename from src/common/schema/player-schema.ts rename to apps/frontend/src/common/schema/player-schema.ts diff --git a/src/common/scoresaber-utils.ts b/apps/frontend/src/common/scoresaber-utils.ts similarity index 100% rename from src/common/scoresaber-utils.ts rename to apps/frontend/src/common/scoresaber-utils.ts diff --git a/src/common/service/impl/beatsaver.ts b/apps/frontend/src/common/service/impl/beatsaver.ts similarity index 85% rename from src/common/service/impl/beatsaver.ts rename to apps/frontend/src/common/service/impl/beatsaver.ts index 4890f71..95d6335 100644 --- a/src/common/service/impl/beatsaver.ts +++ b/apps/frontend/src/common/service/impl/beatsaver.ts @@ -15,10 +15,9 @@ class BeatSaverService extends Service { * Gets the map that match the query. * * @param query the query to search for - * @param useProxy whether to use the proxy or not * @returns the map that match the query, or undefined if no map were found */ - async lookupMap(query: string, useProxy = true): Promise { + async lookupMap(query: string): Promise { const before = performance.now(); this.log(`Looking up map "${query}"...`); @@ -29,7 +28,7 @@ class BeatSaverService extends Service { return map; } - const response = await this.fetch(useProxy, LOOKUP_MAP_BY_HASH_ENDPOINT.replace(":query", query)); + const response = await this.fetch(LOOKUP_MAP_BY_HASH_ENDPOINT.replace(":query", query)); // Map not found if (response == undefined) { return undefined; diff --git a/src/common/service/impl/scoresaber.ts b/apps/frontend/src/common/service/impl/scoresaber.ts similarity index 84% rename from src/common/service/impl/scoresaber.ts rename to apps/frontend/src/common/service/impl/scoresaber.ts index 3bd82a5..ccfb435 100644 --- a/src/common/service/impl/scoresaber.ts +++ b/apps/frontend/src/common/service/impl/scoresaber.ts @@ -34,16 +34,12 @@ class ScoreSaberService extends Service { * Gets the players that match the query. * * @param query the query to search for - * @param useProxy whether to use the proxy or not * @returns the players that match the query, or undefined if no players were found */ - async searchPlayers(query: string, useProxy = true): Promise { + async searchPlayers(query: string): Promise { const before = performance.now(); this.log(`Searching for players matching "${query}"...`); - const results = await this.fetch( - useProxy, - SEARCH_PLAYERS_ENDPOINT.replace(":query", query) - ); + const results = await this.fetch(SEARCH_PLAYERS_ENDPOINT.replace(":query", query)); if (results === undefined) { return undefined; } @@ -59,13 +55,9 @@ class ScoreSaberService extends Service { * Looks up a player by their ID. * * @param playerId the ID of the player to look up - * @param useProxy whether to use the proxy or not * @returns the player that matches the ID, or undefined */ - async lookupPlayer( - playerId: string, - useProxy = true - ): Promise< + async lookupPlayer(playerId: string): Promise< | { player: ScoreSaberPlayer; rawPlayer: ScoreSaberPlayerToken; @@ -74,7 +66,7 @@ class ScoreSaberService extends Service { > { const before = performance.now(); this.log(`Looking up player "${playerId}"...`); - const token = await this.fetch(useProxy, LOOKUP_PLAYER_ENDPOINT.replace(":id", playerId)); + const token = await this.fetch(LOOKUP_PLAYER_ENDPOINT.replace(":id", playerId)); if (token === undefined) { return undefined; } @@ -89,14 +81,12 @@ class ScoreSaberService extends Service { * Lookup players on a specific page * * @param page the page to get players for - * @param useProxy whether to use the proxy or not * @returns the players on the page, or undefined */ - async lookupPlayers(page: number, useProxy = true): Promise { + async lookupPlayers(page: number): Promise { const before = performance.now(); this.log(`Looking up players on page "${page}"...`); const response = await this.fetch( - useProxy, LOOKUP_PLAYERS_ENDPOINT.replace(":page", page.toString()) ); if (response === undefined) { @@ -111,18 +101,12 @@ class ScoreSaberService extends Service { * * @param page the page to get players for * @param country the country to get players for - * @param useProxy whether to use the proxy or not * @returns the players on the page, or undefined */ - async lookupPlayersByCountry( - page: number, - country: string, - useProxy = true - ): Promise { + async lookupPlayersByCountry(page: number, country: string): Promise { const before = performance.now(); this.log(`Looking up players on page "${page}" for country "${country}"...`); const response = await this.fetch( - useProxy, LOOKUP_PLAYERS_BY_COUNTRY_ENDPOINT.replace(":page", page.toString()).replace(":country", country) ); if (response === undefined) { @@ -138,8 +122,7 @@ class ScoreSaberService extends Service { * @param playerId the ID of the player to look up * @param sort the sort to use * @param page the page to get scores for - * @param search - * @param useProxy whether to use the proxy or not + * @param search the search query * @returns the scores of the player, or undefined */ async lookupPlayerScores({ @@ -147,7 +130,6 @@ class ScoreSaberService extends Service { sort, page, search, - useProxy = true, }: { playerId: string; sort: ScoreSort; @@ -160,7 +142,6 @@ class ScoreSaberService extends Service { `Looking up scores for player "${playerId}", sort "${sort}", page "${page}"${search ? `, search "${search}"` : ""}...` ); const response = await this.fetch( - useProxy, LOOKUP_PLAYER_SCORES_ENDPOINT.replace(":id", playerId) .replace(":limit", 8 + "") .replace(":sort", sort) @@ -179,13 +160,11 @@ class ScoreSaberService extends Service { * Looks up a leaderboard * * @param leaderboardId the ID of the leaderboard to look up - * @param useProxy whether to use the proxy or not */ - async lookupLeaderboard(leaderboardId: string, useProxy = true): Promise { + async lookupLeaderboard(leaderboardId: string): Promise { const before = performance.now(); this.log(`Looking up leaderboard "${leaderboardId}"...`); const response = await this.fetch( - useProxy, LOOKUP_LEADERBOARD_ENDPOINT.replace(":id", leaderboardId) ); if (response === undefined) { @@ -200,18 +179,15 @@ class ScoreSaberService extends Service { * * @param leaderboardId the ID of the leaderboard to look up * @param page the page to get scores for - * @param useProxy whether to use the proxy or not * @returns the scores of the leaderboard, or undefined */ async lookupLeaderboardScores( leaderboardId: string, - page: number, - useProxy = true + page: number ): Promise { const before = performance.now(); this.log(`Looking up scores for leaderboard "${leaderboardId}", page "${page}"...`); const response = await this.fetch( - useProxy, LOOKUP_LEADERBOARD_SCORES_ENDPOINT.replace(":id", leaderboardId).replace(":page", page.toString()) ); if (response === undefined) { diff --git a/src/common/service/service.ts b/apps/frontend/src/common/service/service.ts similarity index 86% rename from src/common/service/service.ts rename to apps/frontend/src/common/service/service.ts index b71601a..929d3c6 100644 --- a/src/common/service/service.ts +++ b/apps/frontend/src/common/service/service.ts @@ -35,14 +35,13 @@ export default class Service { /** * Fetches data from the given url. * - * @param useProxy whether to use proxy or not * @param url the url to fetch * @returns the fetched data */ - public async fetch(useProxy: boolean, url: string): Promise { + public async fetch(url: string): Promise { try { return await ky - .get(this.buildRequestUrl(useProxy, url), { + .get(this.buildRequestUrl(true, url), { next: { revalidate: 60, // 1 minute }, diff --git a/src/common/song-utils.ts b/apps/frontend/src/common/song-utils.ts similarity index 100% rename from src/common/song-utils.ts rename to apps/frontend/src/common/song-utils.ts diff --git a/src/common/string-utils.ts b/apps/frontend/src/common/string-utils.ts similarity index 100% rename from src/common/string-utils.ts rename to apps/frontend/src/common/string-utils.ts diff --git a/src/common/time-utils.ts b/apps/frontend/src/common/time-utils.ts similarity index 100% rename from src/common/time-utils.ts rename to apps/frontend/src/common/time-utils.ts diff --git a/src/common/utils.ts b/apps/frontend/src/common/utils.ts similarity index 100% rename from src/common/utils.ts rename to apps/frontend/src/common/utils.ts diff --git a/src/common/website-utils.ts b/apps/frontend/src/common/website-utils.ts similarity index 100% rename from src/common/website-utils.ts rename to apps/frontend/src/common/website-utils.ts diff --git a/src/common/worker/worker.ts b/apps/frontend/src/common/worker/worker.ts similarity index 100% rename from src/common/worker/worker.ts rename to apps/frontend/src/common/worker/worker.ts diff --git a/src/common/worker/workers.ts b/apps/frontend/src/common/worker/workers.ts similarity index 100% rename from src/common/worker/workers.ts rename to apps/frontend/src/common/worker/workers.ts diff --git a/src/common/youtube-utils.ts b/apps/frontend/src/common/youtube-utils.ts similarity index 100% rename from src/common/youtube-utils.ts rename to apps/frontend/src/common/youtube-utils.ts diff --git a/src/components/background-cover.tsx b/apps/frontend/src/components/background-cover.tsx similarity index 100% rename from src/components/background-cover.tsx rename to apps/frontend/src/components/background-cover.tsx diff --git a/src/components/card.tsx b/apps/frontend/src/components/card.tsx similarity index 100% rename from src/components/card.tsx rename to apps/frontend/src/components/card.tsx diff --git a/src/components/chart/generic-chart.tsx b/apps/frontend/src/components/chart/generic-chart.tsx similarity index 100% rename from src/components/chart/generic-chart.tsx rename to apps/frontend/src/components/chart/generic-chart.tsx diff --git a/src/components/country-flag.tsx b/apps/frontend/src/components/country-flag.tsx similarity index 100% rename from src/components/country-flag.tsx rename to apps/frontend/src/components/country-flag.tsx diff --git a/src/components/fallback-link.tsx b/apps/frontend/src/components/fallback-link.tsx similarity index 100% rename from src/components/fallback-link.tsx rename to apps/frontend/src/components/fallback-link.tsx diff --git a/src/components/footer.tsx b/apps/frontend/src/components/footer.tsx similarity index 100% rename from src/components/footer.tsx rename to apps/frontend/src/components/footer.tsx diff --git a/src/components/input/pagination.tsx b/apps/frontend/src/components/input/pagination.tsx similarity index 100% rename from src/components/input/pagination.tsx rename to apps/frontend/src/components/input/pagination.tsx diff --git a/src/components/input/search-player.tsx b/apps/frontend/src/components/input/search-player.tsx similarity index 100% rename from src/components/input/search-player.tsx rename to apps/frontend/src/components/input/search-player.tsx diff --git a/src/components/leaderboard/leaderboard-data.tsx b/apps/frontend/src/components/leaderboard/leaderboard-data.tsx similarity index 100% rename from src/components/leaderboard/leaderboard-data.tsx rename to apps/frontend/src/components/leaderboard/leaderboard-data.tsx diff --git a/src/components/leaderboard/leaderboard-info.tsx b/apps/frontend/src/components/leaderboard/leaderboard-info.tsx similarity index 100% rename from src/components/leaderboard/leaderboard-info.tsx rename to apps/frontend/src/components/leaderboard/leaderboard-info.tsx diff --git a/src/components/leaderboard/leaderboard-player.tsx b/apps/frontend/src/components/leaderboard/leaderboard-player.tsx similarity index 100% rename from src/components/leaderboard/leaderboard-player.tsx rename to apps/frontend/src/components/leaderboard/leaderboard-player.tsx diff --git a/src/components/leaderboard/leaderboard-score-stats.tsx b/apps/frontend/src/components/leaderboard/leaderboard-score-stats.tsx similarity index 100% rename from src/components/leaderboard/leaderboard-score-stats.tsx rename to apps/frontend/src/components/leaderboard/leaderboard-score-stats.tsx diff --git a/src/components/leaderboard/leaderboard-score.tsx b/apps/frontend/src/components/leaderboard/leaderboard-score.tsx similarity index 100% rename from src/components/leaderboard/leaderboard-score.tsx rename to apps/frontend/src/components/leaderboard/leaderboard-score.tsx diff --git a/src/components/leaderboard/leaderboard-scores.tsx b/apps/frontend/src/components/leaderboard/leaderboard-scores.tsx similarity index 100% rename from src/components/leaderboard/leaderboard-scores.tsx rename to apps/frontend/src/components/leaderboard/leaderboard-scores.tsx diff --git a/src/components/leaderboard/leaderboard-song-star-count.tsx b/apps/frontend/src/components/leaderboard/leaderboard-song-star-count.tsx similarity index 100% rename from src/components/leaderboard/leaderboard-song-star-count.tsx rename to apps/frontend/src/components/leaderboard/leaderboard-song-star-count.tsx diff --git a/src/components/loaders/database-loader.tsx b/apps/frontend/src/components/loaders/database-loader.tsx similarity index 100% rename from src/components/loaders/database-loader.tsx rename to apps/frontend/src/components/loaders/database-loader.tsx diff --git a/src/components/loaders/fullscreen-loader.tsx b/apps/frontend/src/components/loaders/fullscreen-loader.tsx similarity index 100% rename from src/components/loaders/fullscreen-loader.tsx rename to apps/frontend/src/components/loaders/fullscreen-loader.tsx diff --git a/src/components/logos/beatsaver-logo.tsx b/apps/frontend/src/components/logos/beatsaver-logo.tsx similarity index 100% rename from src/components/logos/beatsaver-logo.tsx rename to apps/frontend/src/components/logos/beatsaver-logo.tsx diff --git a/src/components/logos/scoresaber-logo.tsx b/apps/frontend/src/components/logos/scoresaber-logo.tsx similarity index 100% rename from src/components/logos/scoresaber-logo.tsx rename to apps/frontend/src/components/logos/scoresaber-logo.tsx diff --git a/src/components/logos/youtube-logo.tsx b/apps/frontend/src/components/logos/youtube-logo.tsx similarity index 100% rename from src/components/logos/youtube-logo.tsx rename to apps/frontend/src/components/logos/youtube-logo.tsx diff --git a/src/components/navbar/navbar-button.tsx b/apps/frontend/src/components/navbar/navbar-button.tsx similarity index 100% rename from src/components/navbar/navbar-button.tsx rename to apps/frontend/src/components/navbar/navbar-button.tsx diff --git a/src/components/navbar/navbar.tsx b/apps/frontend/src/components/navbar/navbar.tsx similarity index 100% rename from src/components/navbar/navbar.tsx rename to apps/frontend/src/components/navbar/navbar.tsx diff --git a/src/components/navbar/profile-button.tsx b/apps/frontend/src/components/navbar/profile-button.tsx similarity index 100% rename from src/components/navbar/profile-button.tsx rename to apps/frontend/src/components/navbar/profile-button.tsx diff --git a/src/components/offline-network.tsx b/apps/frontend/src/components/offline-network.tsx similarity index 100% rename from src/components/offline-network.tsx rename to apps/frontend/src/components/offline-network.tsx diff --git a/src/components/player/chart/generic-player-chart.tsx b/apps/frontend/src/components/player/chart/generic-player-chart.tsx similarity index 100% rename from src/components/player/chart/generic-player-chart.tsx rename to apps/frontend/src/components/player/chart/generic-player-chart.tsx diff --git a/src/components/player/chart/player-accuracy-chart.tsx b/apps/frontend/src/components/player/chart/player-accuracy-chart.tsx similarity index 100% rename from src/components/player/chart/player-accuracy-chart.tsx rename to apps/frontend/src/components/player/chart/player-accuracy-chart.tsx diff --git a/src/components/player/chart/player-charts.tsx b/apps/frontend/src/components/player/chart/player-charts.tsx similarity index 100% rename from src/components/player/chart/player-charts.tsx rename to apps/frontend/src/components/player/chart/player-charts.tsx diff --git a/src/components/player/chart/player-ranking-chart.tsx b/apps/frontend/src/components/player/chart/player-ranking-chart.tsx similarity index 100% rename from src/components/player/chart/player-ranking-chart.tsx rename to apps/frontend/src/components/player/chart/player-ranking-chart.tsx diff --git a/src/components/player/claim-profile.tsx b/apps/frontend/src/components/player/claim-profile.tsx similarity index 100% rename from src/components/player/claim-profile.tsx rename to apps/frontend/src/components/player/claim-profile.tsx diff --git a/src/components/player/player-badges.tsx b/apps/frontend/src/components/player/player-badges.tsx similarity index 100% rename from src/components/player/player-badges.tsx rename to apps/frontend/src/components/player/player-badges.tsx diff --git a/src/components/player/player-data.tsx b/apps/frontend/src/components/player/player-data.tsx similarity index 100% rename from src/components/player/player-data.tsx rename to apps/frontend/src/components/player/player-data.tsx diff --git a/src/components/player/player-header.tsx b/apps/frontend/src/components/player/player-header.tsx similarity index 100% rename from src/components/player/player-header.tsx rename to apps/frontend/src/components/player/player-header.tsx diff --git a/src/components/player/player-scores.tsx b/apps/frontend/src/components/player/player-scores.tsx similarity index 100% rename from src/components/player/player-scores.tsx rename to apps/frontend/src/components/player/player-scores.tsx diff --git a/src/components/player/player-stats.tsx b/apps/frontend/src/components/player/player-stats.tsx similarity index 100% rename from src/components/player/player-stats.tsx rename to apps/frontend/src/components/player/player-stats.tsx diff --git a/src/components/player/player-tracked-status.tsx b/apps/frontend/src/components/player/player-tracked-status.tsx similarity index 100% rename from src/components/player/player-tracked-status.tsx rename to apps/frontend/src/components/player/player-tracked-status.tsx diff --git a/src/components/preload-resources.tsx b/apps/frontend/src/components/preload-resources.tsx similarity index 100% rename from src/components/preload-resources.tsx rename to apps/frontend/src/components/preload-resources.tsx diff --git a/src/components/providers/query-provider.tsx b/apps/frontend/src/components/providers/query-provider.tsx similarity index 100% rename from src/components/providers/query-provider.tsx rename to apps/frontend/src/components/providers/query-provider.tsx diff --git a/src/components/providers/theme-provider.tsx b/apps/frontend/src/components/providers/theme-provider.tsx similarity index 100% rename from src/components/providers/theme-provider.tsx rename to apps/frontend/src/components/providers/theme-provider.tsx diff --git a/src/components/ranking/mini.tsx b/apps/frontend/src/components/ranking/mini.tsx similarity index 100% rename from src/components/ranking/mini.tsx rename to apps/frontend/src/components/ranking/mini.tsx diff --git a/src/components/ranking/player-ranking-skeleton.tsx b/apps/frontend/src/components/ranking/player-ranking-skeleton.tsx similarity index 100% rename from src/components/ranking/player-ranking-skeleton.tsx rename to apps/frontend/src/components/ranking/player-ranking-skeleton.tsx diff --git a/src/components/score/leaderboard-button.tsx b/apps/frontend/src/components/score/leaderboard-button.tsx similarity index 100% rename from src/components/score/leaderboard-button.tsx rename to apps/frontend/src/components/score/leaderboard-button.tsx diff --git a/src/components/score/score-animation.tsx b/apps/frontend/src/components/score/score-animation.tsx similarity index 100% rename from src/components/score/score-animation.tsx rename to apps/frontend/src/components/score/score-animation.tsx diff --git a/src/components/score/score-badge.tsx b/apps/frontend/src/components/score/score-badge.tsx similarity index 100% rename from src/components/score/score-badge.tsx rename to apps/frontend/src/components/score/score-badge.tsx diff --git a/src/components/score/score-button.tsx b/apps/frontend/src/components/score/score-button.tsx similarity index 100% rename from src/components/score/score-button.tsx rename to apps/frontend/src/components/score/score-button.tsx diff --git a/src/components/score/score-buttons.tsx b/apps/frontend/src/components/score/score-buttons.tsx similarity index 100% rename from src/components/score/score-buttons.tsx rename to apps/frontend/src/components/score/score-buttons.tsx diff --git a/src/components/score/score-info.tsx b/apps/frontend/src/components/score/score-info.tsx similarity index 100% rename from src/components/score/score-info.tsx rename to apps/frontend/src/components/score/score-info.tsx diff --git a/src/components/score/score-rank-info.tsx b/apps/frontend/src/components/score/score-rank-info.tsx similarity index 100% rename from src/components/score/score-rank-info.tsx rename to apps/frontend/src/components/score/score-rank-info.tsx diff --git a/src/components/score/score-stats.tsx b/apps/frontend/src/components/score/score-stats.tsx similarity index 100% rename from src/components/score/score-stats.tsx rename to apps/frontend/src/components/score/score-stats.tsx diff --git a/src/components/score/score.tsx b/apps/frontend/src/components/score/score.tsx similarity index 100% rename from src/components/score/score.tsx rename to apps/frontend/src/components/score/score.tsx diff --git a/src/components/settings/settings.tsx b/apps/frontend/src/components/settings/settings.tsx similarity index 100% rename from src/components/settings/settings.tsx rename to apps/frontend/src/components/settings/settings.tsx diff --git a/src/components/stat-value.tsx b/apps/frontend/src/components/stat-value.tsx similarity index 100% rename from src/components/stat-value.tsx rename to apps/frontend/src/components/stat-value.tsx diff --git a/src/components/tooltip.tsx b/apps/frontend/src/components/tooltip.tsx similarity index 100% rename from src/components/tooltip.tsx rename to apps/frontend/src/components/tooltip.tsx diff --git a/src/components/ui/avatar.tsx b/apps/frontend/src/components/ui/avatar.tsx similarity index 100% rename from src/components/ui/avatar.tsx rename to apps/frontend/src/components/ui/avatar.tsx diff --git a/src/components/ui/button.tsx b/apps/frontend/src/components/ui/button.tsx similarity index 100% rename from src/components/ui/button.tsx rename to apps/frontend/src/components/ui/button.tsx diff --git a/src/components/ui/card.tsx b/apps/frontend/src/components/ui/card.tsx similarity index 100% rename from src/components/ui/card.tsx rename to apps/frontend/src/components/ui/card.tsx diff --git a/src/components/ui/form.tsx b/apps/frontend/src/components/ui/form.tsx similarity index 100% rename from src/components/ui/form.tsx rename to apps/frontend/src/components/ui/form.tsx diff --git a/src/components/ui/input.tsx b/apps/frontend/src/components/ui/input.tsx similarity index 100% rename from src/components/ui/input.tsx rename to apps/frontend/src/components/ui/input.tsx diff --git a/src/components/ui/label.tsx b/apps/frontend/src/components/ui/label.tsx similarity index 100% rename from src/components/ui/label.tsx rename to apps/frontend/src/components/ui/label.tsx diff --git a/src/components/ui/pagination.tsx b/apps/frontend/src/components/ui/pagination.tsx similarity index 100% rename from src/components/ui/pagination.tsx rename to apps/frontend/src/components/ui/pagination.tsx diff --git a/src/components/ui/scroll-area.tsx b/apps/frontend/src/components/ui/scroll-area.tsx similarity index 100% rename from src/components/ui/scroll-area.tsx rename to apps/frontend/src/components/ui/scroll-area.tsx diff --git a/src/components/ui/toast.tsx b/apps/frontend/src/components/ui/toast.tsx similarity index 100% rename from src/components/ui/toast.tsx rename to apps/frontend/src/components/ui/toast.tsx diff --git a/src/components/ui/toaster.tsx b/apps/frontend/src/components/ui/toaster.tsx similarity index 100% rename from src/components/ui/toaster.tsx rename to apps/frontend/src/components/ui/toaster.tsx diff --git a/src/components/ui/tooltip.tsx b/apps/frontend/src/components/ui/tooltip.tsx similarity index 100% rename from src/components/ui/tooltip.tsx rename to apps/frontend/src/components/ui/tooltip.tsx diff --git a/src/hooks/use-database.ts b/apps/frontend/src/hooks/use-database.ts similarity index 100% rename from src/hooks/use-database.ts rename to apps/frontend/src/hooks/use-database.ts diff --git a/src/hooks/use-is-mobile.ts b/apps/frontend/src/hooks/use-is-mobile.ts similarity index 100% rename from src/hooks/use-is-mobile.ts rename to apps/frontend/src/hooks/use-is-mobile.ts diff --git a/src/hooks/use-is-visible.ts b/apps/frontend/src/hooks/use-is-visible.ts similarity index 100% rename from src/hooks/use-is-visible.ts rename to apps/frontend/src/hooks/use-is-visible.ts diff --git a/src/hooks/use-toast.ts b/apps/frontend/src/hooks/use-toast.ts similarity index 100% rename from src/hooks/use-toast.ts rename to apps/frontend/src/hooks/use-toast.ts diff --git a/src/hooks/use-window-dimensions.ts b/apps/frontend/src/hooks/use-window-dimensions.ts similarity index 100% rename from src/hooks/use-window-dimensions.ts rename to apps/frontend/src/hooks/use-window-dimensions.ts diff --git a/src/instrumentation.ts b/apps/frontend/src/instrumentation.ts similarity index 100% rename from src/instrumentation.ts rename to apps/frontend/src/instrumentation.ts diff --git a/src/jobs/index.ts b/apps/frontend/src/jobs/index.ts similarity index 100% rename from src/jobs/index.ts rename to apps/frontend/src/jobs/index.ts diff --git a/src/jobs/track-player-statistics.ts b/apps/frontend/src/jobs/track-player-statistics.ts similarity index 100% rename from src/jobs/track-player-statistics.ts rename to apps/frontend/src/jobs/track-player-statistics.ts diff --git a/src/trigger.ts b/apps/frontend/src/trigger.ts similarity index 100% rename from src/trigger.ts rename to apps/frontend/src/trigger.ts diff --git a/tailwind.config.ts b/apps/frontend/tailwind.config.ts similarity index 100% rename from tailwind.config.ts rename to apps/frontend/tailwind.config.ts diff --git a/tsconfig.json b/apps/frontend/tsconfig.json similarity index 100% rename from tsconfig.json rename to apps/frontend/tsconfig.json diff --git a/package.json b/package.json index 7b555d8..938ffdb 100644 --- a/package.json +++ b/package.json @@ -1,66 +1,9 @@ { - "name": "scoresaber-reloadedv3", + "name": "ssr", "version": "0.1.0", "private": true, + "packageManager": "pnpm@9.12.0", "scripts": { - "dev": "next dev --turbo", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@formkit/tempo": "^0.1.2", - "@heroicons/react": "^2.1.5", - "@hookform/resolvers": "^3.9.0", - "@radix-ui/react-avatar": "^1.1.0", - "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/react-label": "^2.1.0", - "@radix-ui/react-scroll-area": "^1.1.0", - "@radix-ui/react-slot": "^1.1.0", - "@radix-ui/react-toast": "^1.2.1", - "@radix-ui/react-tooltip": "^1.1.2", - "@sentry/nextjs": "8", - "@tanstack/react-query": "^5.55.4", - "@trigger.dev/nextjs": "^3.0.8", - "@trigger.dev/react": "^3.0.8", - "@trigger.dev/sdk": "^3.0.8", - "@uidotdev/usehooks": "^2.4.1", - "canvas": "3.0.0-rc2", - "chart.js": "^4.4.4", - "class-variance-authority": "^0.7.0", - "clsx": "^2.1.1", - "comlink": "^4.4.1", - "dexie": "^4.0.8", - "dexie-react-hooks": "^1.1.7", - "extract-colors": "^4.0.8", - "framer-motion": "^11.5.4", - "js-cookie": "^3.0.5", - "ky": "^1.7.2", - "lucide-react": "^0.447.0", - "mongoose": "^8.7.0", - "next": "15.0.0-rc.0", - "next-build-id": "^3.0.0", - "next-themes": "^0.3.0", - "react": "19.0.0-rc-3edc000d-20240926", - "react-chartjs-2": "^5.2.0", - "react-dom": "19.0.0-rc-3edc000d-20240926", - "react-hook-form": "^7.53.0", - "tailwind-merge": "^2.5.2", - "tailwindcss-animate": "^1.0.7", - "zod": "^3.23.8" - }, - "devDependencies": { - "@types/js-cookie": "^3.0.6", - "@types/node": "^20", - "@types/react": "^18", - "@types/react-dom": "^18", - "eslint": "^8", - "eslint-config-next": "14.2.14", - "postcss": "^8", - "tailwindcss": "^3.4.1", - "typescript": "^5" - }, - "trigger.dev": { - "endpointId": "scoresaber-reloaded-KB0Z" + "dev": "turbo dev" } -} \ No newline at end of file +} diff --git a/packages/common/package.json b/packages/common/package.json new file mode 100644 index 0000000..05d0382 --- /dev/null +++ b/packages/common/package.json @@ -0,0 +1,12 @@ +{ + "name": "common", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ce75137..b13847d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,9 @@ settings: importers: - .: + .: {} + + apps/frontend: dependencies: '@formkit/tempo': specifier: ^0.1.2 @@ -19,34 +21,34 @@ importers: version: 3.9.0(react-hook-form@7.53.0(react@19.0.0-rc-3edc000d-20240926)) '@radix-ui/react-avatar': specifier: ^1.1.0 - version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) '@radix-ui/react-icons': specifier: ^1.3.0 version: 1.3.0(react@19.0.0-rc-3edc000d-20240926) '@radix-ui/react-label': specifier: ^2.1.0 - version: 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + version: 2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) '@radix-ui/react-scroll-area': specifier: ^1.1.0 - version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) '@radix-ui/react-slot': specifier: ^1.1.0 - version: 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + version: 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) '@radix-ui/react-toast': specifier: ^1.2.1 - version: 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + version: 1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) '@radix-ui/react-tooltip': specifier: ^1.1.2 - version: 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + version: 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) '@sentry/nextjs': specifier: '8' - version: 8.32.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)(webpack@5.94.0) + version: 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)(webpack@5.95.0) '@tanstack/react-query': specifier: ^5.55.4 version: 5.59.0(react@19.0.0-rc-3edc000d-20240926) '@trigger.dev/nextjs': specifier: ^3.0.8 - version: 3.0.9(@trigger.dev/sdk@3.0.9)(next@15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)) + version: 3.0.9(@trigger.dev/sdk@3.0.9)(next@15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)) '@trigger.dev/react': specifier: ^3.0.8 version: 3.0.9(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) @@ -76,13 +78,13 @@ importers: version: 4.0.8 dexie-react-hooks: specifier: ^1.1.7 - version: 1.1.7(@types/react@18.3.10)(dexie@4.0.8)(react@19.0.0-rc-3edc000d-20240926) + version: 1.1.7(@types/react@18.3.11)(dexie@4.0.8)(react@19.0.0-rc-3edc000d-20240926) extract-colors: specifier: ^4.0.8 version: 4.0.8 framer-motion: specifier: ^11.5.4 - version: 11.9.0(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + version: 11.11.0(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) js-cookie: specifier: ^3.0.5 version: 3.0.5 @@ -97,7 +99,7 @@ importers: version: 8.7.0 next: specifier: 15.0.0-rc.0 - version: 15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + version: 15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) next-build-id: specifier: ^3.0.0 version: 3.0.0 @@ -134,7 +136,7 @@ importers: version: 20.16.10 '@types/react': specifier: ^18 - version: 18.3.10 + version: 18.3.11 '@types/react-dom': specifier: ^18 version: 18.3.0 @@ -154,6 +156,8 @@ importers: specifier: ^5 version: 5.6.2 + packages/common: {} + packages: '@alloc/quick-lru@5.2.0': @@ -164,75 +168,75 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + '@babel/code-frame@7.25.7': + resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.4': - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + '@babel/compat-data@7.25.7': + resolution: {integrity: sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + '@babel/core@7.25.7': + resolution: {integrity: sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.6': - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + '@babel/generator@7.25.7': + resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + '@babel/helper-compilation-targets@7.25.7': + resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + '@babel/helper-module-imports@7.25.7': + resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + '@babel/helper-module-transforms@7.25.7': + resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + '@babel/helper-simple-access@7.25.7': + resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + '@babel/helper-string-parser@7.25.7': + resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-validator-identifier@7.25.7': + resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + '@babel/helper-validator-option@7.25.7': + resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.6': - resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + '@babel/helpers@7.25.7': + resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + '@babel/highlight@7.25.7': + resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + '@babel/parser@7.25.7': + resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + '@babel/template@7.25.7': + resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.6': - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + '@babel/traverse@7.25.7': + resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + '@babel/types@7.25.7': + resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==} engines: {node: '>=6.9.0'} '@emnapi/runtime@1.2.0': @@ -543,6 +547,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/context-async-hooks@1.26.0': + resolution: {integrity: sha512-HedpXXYzzbaoutw6DFLWLDket2FwLkLpil4hGCZ1xYEIMTcivdfwEOISgdbLEWyG3HW52gTq2V9mOVJrONgiwg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@1.25.1': resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==} engines: {node: '>=14'} @@ -663,6 +673,12 @@ packages: peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-lru-memoizer@0.40.0': + resolution: {integrity: sha512-21xRwZsEdMPnROu/QsaOIODmzw59IYpGFmuC4aFWvMj6stA8+Ei1tX67nkarJttlNjoM94um0N4X26AD7ff54A==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-mongodb@0.47.0': resolution: {integrity: sha512-yqyXRx2SulEURjgOQyJzhCECSh5i1uM49NUaq9TqLd6fA7g26OahyJfsr9NE38HFqGRHpi4loyrnfYGdrsoVjQ==} engines: {node: '>=14'} @@ -781,6 +797,12 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-metrics@1.26.0': + resolution: {integrity: sha512-0SvDXmou/JjzSDOjUmetAAvcKQW6ZrvosU0rkbDGpXvvZN+pQF6JbK/Kd4hNdK4q/22yeruqvukXEJyySTzyTQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': '>=1.3.0 <1.10.0' + '@opentelemetry/sdk-node@0.52.1': resolution: {integrity: sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA==} engines: {node: '>=14'} @@ -1171,100 +1193,100 @@ packages: '@rushstack/eslint-patch@1.10.4': resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} - '@sentry-internal/browser-utils@8.32.0': - resolution: {integrity: sha512-DpUGhk5O1OVjT0fo9wsbEdO1R/S9gGBRDtn9+FFVeRtieJHwXpeZiLK+tZhTOvaILmtSoTPUEY3L5sK4j5Xq9g==} + '@sentry-internal/browser-utils@8.33.1': + resolution: {integrity: sha512-TW6/r+Gl5jiXv54iK1xZ3mlVgTS/jaBp4vcQ0xGMdgiQ3WchEPcFSeYovL+YHT3tSud0GZqVtDQCz+5i76puqA==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.32.0': - resolution: {integrity: sha512-XB7hiVJQW1tNzpoXIHbvm3rjipIt7PZiJJtFg2vxaqu/FzdgOcYqQiwIKivJVAKuRZ9rIeJtK1jdXQFOc/TRJA==} + '@sentry-internal/feedback@8.33.1': + resolution: {integrity: sha512-qauMRTm3qDaLqZ3ibI03cj4gLF40y0ij65nj+cns6iWxGCtPrO8tjvXFWuQsE7Aye9dGMnBgmv7uN+NTUtC3RA==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.32.0': - resolution: {integrity: sha512-oBbhtDBkD+5z/T0NVJ5VenBWAid/S9QdVrod/UqxVqU7F8N+E9/INFQI48zCWr4iVlUMcszJPDElvJEsMDvvBQ==} + '@sentry-internal/replay-canvas@8.33.1': + resolution: {integrity: sha512-nsxTFTPCT10Ty/v6+AiST3+yotGP1sUb8xqfKB9fPnS1hZHFryp0NnEls7xFjBsBbZPU1GpFkzrk/E6JFzixDQ==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.32.0': - resolution: {integrity: sha512-yiEUnn2yyo1AIQIFNeRX3tdK8fmyKIkxdFS1WiVQmeYI/hFwYBTZPly0FcO/g3xnRMSA2tvrS+hZEaaXfK4WhA==} + '@sentry-internal/replay@8.33.1': + resolution: {integrity: sha512-fm4coIOjmanU29NOVN9MyaP4fUCOYytbtFqVSKRFNZQ/xAgNeySiBIbUd6IjujMmnOk9bY0WEUMcdm3Uotjdog==} engines: {node: '>=14.18'} '@sentry/babel-plugin-component-annotate@2.22.3': resolution: {integrity: sha512-OlHA+i+vnQHRIdry4glpiS/xTOtgjmpXOt6IBOUqynx5Jd/iK1+fj+t8CckqOx9wRacO/hru2wfW/jFq0iViLg==} engines: {node: '>= 14'} - '@sentry/browser@8.32.0': - resolution: {integrity: sha512-AEKFj64g4iYwEMRvVcxiY0FswmClRXCP1IEvCqujn8OBS8AjMOr1z/RwYieEs0D90yNNB3YEqF8adrKENblJmw==} + '@sentry/browser@8.33.1': + resolution: {integrity: sha512-c6zI/igexkLwZuGk+u8Rj26ChjxGgkhe6ZbKFsXCYaKAp5ep5X7HQRkkqgbxApiqlC0LduHdd/ymzh139JLg8w==} engines: {node: '>=14.18'} '@sentry/bundler-plugin-core@2.22.3': resolution: {integrity: sha512-DeoUl0WffcqZZRl5Wy9aHvX4WfZbbWt0QbJ7NJrcEViq+dRAI2FQTYECFLwdZi5Gtb3oyqZICO+P7k8wDnzsjQ==} engines: {node: '>= 14'} - '@sentry/cli-darwin@2.36.3': - resolution: {integrity: sha512-U0Uean/tW99G5Ma3CjNDXg5bjd4Tmf91Sd/9JKK6dGcEsrWiQpn7ao70kkHy/fwMbeOWE37L7O+NPf86CxHzGA==} + '@sentry/cli-darwin@2.36.6': + resolution: {integrity: sha512-2yKECENqMZKrJY5weA19g4gTgQfeuadWvVu7fVQVsgqoBRIaEhSHJc64ZgiHq2ur06qOuYcQr5FO1VrwUE1pZg==} engines: {node: '>=10'} os: [darwin] - '@sentry/cli-linux-arm64@2.36.3': - resolution: {integrity: sha512-bNr9GUYsn+VcK09FjE+llvxUwtPFAva6FMIcYiAKi6iY3wdmtaOou0Mtkd9dQXkxONAZ0T113x/WQANKBjl4+A==} + '@sentry/cli-linux-arm64@2.36.6': + resolution: {integrity: sha512-sLmmbZRE7F6UksovwcqEQ7oYXVBejpeL1CtiKVFwNoq9XB5kTiKlVColn+3yPcfwKCNj4H4HoeKc+xMtdd7wow==} engines: {node: '>=10'} cpu: [arm64] os: [linux, freebsd] - '@sentry/cli-linux-arm@2.36.3': - resolution: {integrity: sha512-Kq8+TG/p/j0GLlJVxnLguAGcp3EqrU4msl4K+7g+6JYnOPLVbUzwZ6ah2WVGtWqlZ3QMFgeeXc7VgPY8KXViqw==} + '@sentry/cli-linux-arm@2.36.6': + resolution: {integrity: sha512-6zB7w5NawmdzhPHxqkjlhbvQugCBiFrFaUGvb3u1Oo/VCehdmq/v4v8ob4PNN2cJhoDRqQj2mPTfL/ppYNMJuw==} engines: {node: '>=10'} cpu: [arm] os: [linux, freebsd] - '@sentry/cli-linux-i686@2.36.3': - resolution: {integrity: sha512-5J5lOzZgvhcjbtuw/JD7jMq1liNbtYXvEuSd+qZa7D8i+Va5cFF8fQui3eev2RxqeYLLwkJWE/djLjeWjMZ7jQ==} + '@sentry/cli-linux-i686@2.36.6': + resolution: {integrity: sha512-M1pdxv7eZdGoG1wDpRb28aRUs/qb0C5jAe+a7sWHIg463jRLAahM8NDkv2bRQv0Xhw3JIkEGGvr46mPkQrOuMQ==} engines: {node: '>=10'} cpu: [x86, ia32] os: [linux, freebsd] - '@sentry/cli-linux-x64@2.36.3': - resolution: {integrity: sha512-48pyk93yRiQ7x7ABobYupVfGg1f/vUrBZG7CcaIsDiQL66/kIRjYoh7d7kH8Da/x/LKMiVf/i8/rh2Vr1pcSEw==} + '@sentry/cli-linux-x64@2.36.6': + resolution: {integrity: sha512-gVy/zAWY2DEERQ/i3V+oruMas/U29/tsRPcRkB67MIUWbW7W46+c3yH490O+t49qMYYhKYG2YfWoTzW6qMtSlA==} engines: {node: '>=10'} cpu: [x64] os: [linux, freebsd] - '@sentry/cli-win32-i686@2.36.3': - resolution: {integrity: sha512-IEuTCeQjgffvBjDGVYV9d2uWBzmFGmwWIyWUTEMjy76tRnIz0MJaW59Lxd7JdTd1s9xO1F2K7Iz+zxd/kufMRg==} + '@sentry/cli-win32-i686@2.36.6': + resolution: {integrity: sha512-urH+i+WtPeW8Dund0xY8zObvvbMM0XxeEIUS4oFBCB3EMYHVxgNw+woQUv9Vyv7v+OBjckB/r27nxlwNBj4pbg==} engines: {node: '>=10'} cpu: [x86, ia32] os: [win32] - '@sentry/cli-win32-x64@2.36.3': - resolution: {integrity: sha512-ygJLd3nazoNcDMJu1sl8xoSWmmjeBJMMUH6MnDhtQdM9T2j+ndqfL0fZZNO0/kyMv0Bo7/n5kRmKiX2m9Dsi/g==} + '@sentry/cli-win32-x64@2.36.6': + resolution: {integrity: sha512-ZauqOqwFAqb/Njyc8Kj2l9Fhbms7T5zB2yu5zwvq1uiqhXqLmsb9mRTF8WJWl9WmO5hwq/GTOEQowvrwK8gblw==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@sentry/cli@2.36.3': - resolution: {integrity: sha512-sbJpeUByP3b6Xif21lben+4EqGYI/rCTfkPKxBk2FsHX7ISMkVOBw+4/WwELIfIINV2S/XM29jkUG6Bd7axJlA==} + '@sentry/cli@2.36.6': + resolution: {integrity: sha512-1fcZVwe4H6a3Z1O+7m/z/2em1u67Tf0Zrt2oGEp82bqvCOHA904Wr2otc6GBEuFESB1/Mo8QgD/qwRd9Tv0Otw==} engines: {node: '>= 10'} hasBin: true - '@sentry/core@8.32.0': - resolution: {integrity: sha512-+xidTr0lZ0c755tq4k75dXPEb8PA+qvIefW3U9+dQMORLokBrYoKYMf5zZTG2k/OfSJS6OSxatUj36NFuCs3aA==} + '@sentry/core@8.33.1': + resolution: {integrity: sha512-3SS41suXLFzxL3OQvTMZ6q92ZapELVq2l2SoWlZopcamWhog2Ru0dp2vkunq97kFHb2TzKRTlFH4+4gbT8SJug==} engines: {node: '>=14.18'} - '@sentry/nextjs@8.32.0': - resolution: {integrity: sha512-rnnSsKFd4u9TXGr0XVQ7lEl/PkTfNyJ4kxwu9gW+OJjzmmjzIAC4RyY4YQTR1+p/q9QrruWrXLEsuCPqAHfqNw==} + '@sentry/nextjs@8.33.1': + resolution: {integrity: sha512-XLUyib6bCv2iynKaoYIotVKzLsGc9lr6QI4ZV3/PstiiXKwtTm1TPdBfIlrDJMGIMxH7Z/DmkvJNSESV19Ui6Q==} engines: {node: '>=14.18'} peerDependencies: next: ^13.2.0 || ^14.0 || ^15.0.0-rc.0 - webpack: 5.94.0 + webpack: '>=5.0.0' peerDependenciesMeta: webpack: optional: true - '@sentry/node@8.32.0': - resolution: {integrity: sha512-a2PoFA9j/HmJVGF/zXJhLP6QhRHGye/2EznQdHOELsH1BkeMgBaXl7D52r2E/b7qki647lXrdbspB6jid8NycA==} + '@sentry/node@8.33.1': + resolution: {integrity: sha512-0Xmlrl5nU5Bx6YybaIfztyOIiIXW5X64vcK0u94Sg4uHcDO7YvEbhflKjp669ds2I6ZQ/czqxnaAY8gM6P2SCA==} engines: {node: '>=14.18'} - '@sentry/opentelemetry@8.32.0': - resolution: {integrity: sha512-YCD8EnwJJ2ab3zWWtu5VrvHP/6Ss6GGQH0TYx2cfeGG3c0wTA/5zYx9JR4i3hUtOh1pifN34HlY0yyQHD4yctg==} + '@sentry/opentelemetry@8.33.1': + resolution: {integrity: sha512-D2aE2G0DUHLLnfbOXrTjiNJKAs/RZfOBJMidI4fC2AIwqCmrp55Aex4dRq4hxd8MPLR92Kt/ikHeJxlzWB15KA==} engines: {node: '>=14.18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -1273,22 +1295,22 @@ packages: '@opentelemetry/sdk-trace-base': ^1.26.0 '@opentelemetry/semantic-conventions': ^1.27.0 - '@sentry/react@8.32.0': - resolution: {integrity: sha512-YljqK+k80XOvyXjK2p2neTncRcSuwlpL7qHtNgwR1MHx18FEi7HXlnm13J4g3kxao4ORMxlCXCEPNXlLT+vqQg==} + '@sentry/react@8.33.1': + resolution: {integrity: sha512-SsEX05xfcfOvo7/pK1UyeyTAYWH8iSIsXXlsjvnSRsbuJkjb0c+q6yiZpj3A2PRdbcx43nTVE1n0lSpgaqj2HA==} engines: {node: '>=14.18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x - '@sentry/types@8.32.0': - resolution: {integrity: sha512-hxckvN2MzS5SgGDgVQ0/QpZXk13Vrq4BtZLwXhPhyeTmZtUiUfWvcL5TFQqLinfKdTKPe9q2MxeAJ0D4LalhMg==} + '@sentry/types@8.33.1': + resolution: {integrity: sha512-GjoAMvwtpIemoF/IiwZ7A60g4nQv3qwzR21GvJqDVUoKD0e8pv9OLX+HyXoUat4wEDGSuDUcUyUKD2G+od73QA==} engines: {node: '>=14.18'} - '@sentry/utils@8.32.0': - resolution: {integrity: sha512-t1WVERhgmYURxbBj9J4/H2P2X+VKqm7B3ce9iQyrZbdf5NekhcU4jHIecPUWCPHjQkFIqkVTorqeBmDTlg/UmQ==} + '@sentry/utils@8.33.1': + resolution: {integrity: sha512-uzuYpiiJuFY3N4WNHMBWUQX5oNv2t/TbG0OHRp3Rr7yeu+HSfD542TIp9/gMZ+G0Cxd8AmVO3wkKIFbk0TL4Qg==} engines: {node: '>=14.18'} - '@sentry/vercel-edge@8.32.0': - resolution: {integrity: sha512-HxvQWQMjNsLPkYU0vArzjqh+p/vyw9CXyIruu3D89VQU0krL1JFhhhHWZj1UIb7MVTzNO4oq4HeldbOkI0AepA==} + '@sentry/vercel-edge@8.33.1': + resolution: {integrity: sha512-YKAsFAm4ctsKRdoS3LkYF4oG5BD1chT4Uqy4AaBhlz0s5iHxBI7YzZFbcW4YiNnDWT80tdF+FS7AvUAjy+npoA==} engines: {node: '>=14.18'} '@sentry/webpack-plugin@2.22.3': @@ -1379,11 +1401,8 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - '@types/react@18.3.10': - resolution: {integrity: sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==} - - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/react@18.3.11': + resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==} '@types/shimmer@1.2.0': resolution: {integrity: sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==} @@ -1394,63 +1413,62 @@ packages: '@types/whatwg-url@11.0.5': resolution: {integrity: sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==} - '@typescript-eslint/eslint-plugin@7.2.0': - resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/eslint-plugin@8.8.0': + resolution: {integrity: sha512-wORFWjU30B2WJ/aXBfOm1LX9v9nyt9D3jsSOxC3cCaTQGCW5k4jNpmjFv3U7p/7s4yvdjHzwtv2Sd2dOyhjS0A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/parser@7.2.0': - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.8.0': + resolution: {integrity: sha512-uEFUsgR+tl8GmzmLjRqz+VrDv4eoaMqMXW7ruXfgThaAShO9JTciKpEsB+TvnfFfbg5IpujgMXVV36gOJRLtZg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/scope-manager@7.2.0': - resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.8.0': + resolution: {integrity: sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.2.0': - resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@7.2.0': - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/typescript-estree@7.2.0': - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@8.8.0': + resolution: {integrity: sha512-IKwJSS7bCqyCeG4NVGxnOP6lLT9Okc3Zj8hLO96bpMkJab+10HIfJbMouLrlpyOr3yrQ1cA413YPFiGd1mW9/Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@typescript-eslint/utils@7.2.0': - resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.0 + '@typescript-eslint/types@8.8.0': + resolution: {integrity: sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@7.2.0': - resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.8.0': + resolution: {integrity: sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@8.8.0': + resolution: {integrity: sha512-QE2MgfOTem00qrlPgyByaCHay9yb1+9BjnMFnSFkUKQfu7adBXDTnCAivURnuPPAG/qiB+kzKkZKmKfaMT0zVg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + + '@typescript-eslint/visitor-keys@8.8.0': + resolution: {integrity: sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@uidotdev/usehooks@2.4.1': resolution: {integrity: sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg==} @@ -1588,10 +1606,6 @@ packages: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} @@ -1685,11 +1699,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001657: - resolution: {integrity: sha512-DPbJAlP8/BAXy3IgiWmZKItubb3TYGP0WscQQlVGIfT4s/YlFYVuJgyOsQNP7rJRChx/qdMeLJQJP0Sgg2yjNA==} - - caniuse-lite@1.0.30001664: - resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} + caniuse-lite@1.0.30001666: + resolution: {integrity: sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g==} canvas@3.0.0-rc2: resolution: {integrity: sha512-esx4bYDznnqgRX4G8kaEaf0W3q8xIc51WpmrIitDzmcoEgwnv9wSKdzT6UxWZ4wkVu5+ileofppX0TpyviJRdQ==} @@ -1882,10 +1893,6 @@ packages: didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} @@ -1904,8 +1911,8 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.29: - resolution: {integrity: sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==} + electron-to-chromium@1.5.32: + resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2001,8 +2008,8 @@ packages: eslint-plugin-import-x: optional: true - eslint-module-utils@2.9.0: - resolution: {integrity: sha512-McVbYmwA3NEKwRQY5g4aWMdcZE5xZxV8i8l7CqJSrameuGSQJtSWaL/LxTEzSKKaCcOhlpDR8XEfYXWPrdo/ZQ==} + eslint-module-utils@2.12.0: + resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' @@ -2022,12 +2029,12 @@ packages: eslint-import-resolver-webpack: optional: true - eslint-plugin-import@2.30.0: - resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==} + eslint-plugin-import@2.31.0: + resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 peerDependenciesMeta: '@typescript-eslint/parser': optional: true @@ -2044,8 +2051,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.35.2: - resolution: {integrity: sha512-Rbj2R9zwP2GYNcIak4xoAMV57hrBh3hTaR0k7hVjwCQgryE/pw5px4b13EYjduOI0hfXyZhwBxaGpOTbWSGzKQ==} + eslint-plugin-react@7.37.1: + resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 @@ -2154,8 +2161,8 @@ packages: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} - framer-motion@11.9.0: - resolution: {integrity: sha512-nCfGxvsQecVLjjYDu35G2F5ls+ArE3FBfhxV0RSiisMaUKqteq5DMBFNRKwMyVj+VqKTNhawt+BV480YCHKFlQ==} + framer-motion@11.11.0: + resolution: {integrity: sha512-H6Pv12fcXaebinvnLDabTS9vHwtJKAo7XsnVeNLm5t8Yq5LuVvQ3DtL/2yBa2kGmhdIgx9cw8mbj6I8PYx7jPA==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 @@ -2209,8 +2216,8 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.8.0: - resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} @@ -2255,10 +2262,6 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -2323,8 +2326,8 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} - import-in-the-middle@1.11.1: - resolution: {integrity: sha512-lGdg70ECFGv/OHQXL/IPhcxkFPeQ7YA4zborlA54XHVr58oM50QNxItRiayHMqj1MspC5Y9zaHf+QHod/gq7Ug==} + import-in-the-middle@1.11.2: + resolution: {integrity: sha512-gK6Rr6EykBcc6cVWRSBR5TWf8nn6hZMYSRYqCcHa0l0d1fPK7JSYo6+Mlmck76jIX9aL/IZ71c06U2VpFwl1zA==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -2370,8 +2373,8 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} - is-bun-module@1.1.0: - resolution: {integrity: sha512-4mTAVPlrXpaN3jtF0lsnPCMGnq4+qZjVIKq0HCpfcqf8OC1SM5oATCIAPM5V5FN05qp2NNnFndphmdZS9CV3hA==} + is-bun-module@1.2.1: + resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -2509,9 +2512,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true json-buffer@3.0.1: @@ -2655,10 +2658,6 @@ packages: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -2859,8 +2858,8 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - package-json-from-dist@1.0.0: - resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} @@ -2889,10 +2888,6 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} @@ -3063,8 +3058,8 @@ packages: resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + regexp.prototype.flags@1.5.3: + resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==} engines: {node: '>= 0.4'} require-directory@2.1.1: @@ -3186,10 +3181,6 @@ packages: simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - slug@6.1.0: resolution: {integrity: sha512-x6vLHCMasg4DR2LPiyFGI0gJJhywY6DTiGhCrOMzb3SOk/0JVLIaL4UhyFSHu04SD3uAavrKY/K3zZ3i6iRcgA==} @@ -3408,8 +3399,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tsafe@1.7.2: - resolution: {integrity: sha512-dAPfQLhCfCRre5qs+Z5Q2a7s2CV7RxffZUmvj7puGaePYjECzWREJFd3w4XSFe/T5tbxgowfItA/JSSZ6Ma3dA==} + tsafe@1.7.5: + resolution: {integrity: sha512-tbNyyBSbwfbilFfiuXkSOj82a6++ovgANwcoqBAcO9/REPoZMEQoE8kWPeO0dy5A2D/2Lajr8Ohue5T0ifIvLQ==} tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -3504,8 +3495,8 @@ packages: webpack-virtual-modules@0.5.0: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - webpack@5.94.0: - resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} + webpack@5.95.0: + resolution: {integrity: sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -3636,25 +3627,25 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@babel/code-frame@7.24.7': + '@babel/code-frame@7.25.7': dependencies: - '@babel/highlight': 7.24.7 + '@babel/highlight': 7.25.7 picocolors: 1.1.0 - '@babel/compat-data@7.25.4': {} + '@babel/compat-data@7.25.7': {} - '@babel/core@7.25.2': + '@babel/core@7.25.7': dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helpers': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 convert-source-map: 2.0.0 debug: 4.3.7 gensync: 1.0.0-beta.2 @@ -3663,89 +3654,89 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.25.6': + '@babel/generator@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + jsesc: 3.0.2 - '@babel/helper-compilation-targets@7.25.2': + '@babel/helper-compilation-targets@7.25.7': dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 + '@babel/compat-data': 7.25.7 + '@babel/helper-validator-option': 7.25.7 browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-module-imports@7.24.7': + '@babel/helper-module-imports@7.25.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-simple-access': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.24.7': + '@babel/helper-simple-access@7.25.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.7': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.7': {} - '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-option@7.25.7': {} - '@babel/helpers@7.25.6': + '@babel/helpers@7.25.7': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 - '@babel/highlight@7.24.7': + '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.1.0 - '@babel/parser@7.25.6': + '@babel/parser@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 - '@babel/template@7.25.0': + '@babel/template@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 - '@babel/traverse@7.25.6': + '@babel/traverse@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.25.7 + '@babel/template': 7.25.7 + '@babel/types': 7.25.7 debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.6': + '@babel/types@7.25.7': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-string-parser': 7.25.7 + '@babel/helper-validator-identifier': 7.25.7 to-fast-properties: 2.0.0 '@emnapi/runtime@1.2.0': @@ -4004,6 +3995,10 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/context-async-hooks@1.26.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -4062,7 +4057,7 @@ snapshots: '@opentelemetry/instrumentation-amqplib@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: @@ -4071,7 +4066,7 @@ snapshots: '@opentelemetry/instrumentation-connect@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@types/connect': 3.4.36 @@ -4088,7 +4083,7 @@ snapshots: '@opentelemetry/instrumentation-express@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: @@ -4097,7 +4092,7 @@ snapshots: '@opentelemetry/instrumentation-fastify@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: @@ -4106,7 +4101,7 @@ snapshots: '@opentelemetry/instrumentation-fs@0.15.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -4128,7 +4123,7 @@ snapshots: '@opentelemetry/instrumentation-hapi@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: @@ -4164,17 +4159,24 @@ snapshots: '@opentelemetry/instrumentation-koa@0.43.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation-lru-memoizer@0.40.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + '@opentelemetry/instrumentation-mongodb@0.47.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-metrics': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-metrics': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color @@ -4182,7 +4184,7 @@ snapshots: '@opentelemetry/instrumentation-mongoose@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: @@ -4237,7 +4239,7 @@ snapshots: '@opentelemetry/instrumentation-undici@0.6.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color @@ -4247,7 +4249,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.52.1 '@types/shimmer': 1.2.0 - import-in-the-middle: 1.11.1 + import-in-the-middle: 1.11.2 require-in-the-middle: 7.4.0 semver: 7.6.3 shimmer: 1.2.1 @@ -4259,7 +4261,7 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/api-logs': 0.53.0 '@types/shimmer': 1.2.0 - import-in-the-middle: 1.11.1 + import-in-the-middle: 1.11.2 require-in-the-middle: 7.4.0 semver: 7.6.3 shimmer: 1.2.1 @@ -4329,6 +4331,12 @@ snapshots: '@opentelemetry/resources': 1.25.1(@opentelemetry/api@1.9.0) lodash.merge: 4.6.2 + '@opentelemetry/sdk-metrics@1.26.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/resources': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/sdk-node@0.52.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 @@ -4379,7 +4387,7 @@ snapshots: '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@pkgjs/parseargs@0.11.0': optional: true @@ -4419,254 +4427,254 @@ snapshots: '@radix-ui/primitive@1.1.0': {} - '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-avatar@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-avatar@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-context@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-context@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-context@1.1.1(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-context@1.1.1(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-direction@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-direction@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 '@radix-ui/react-icons@1.3.0(react@19.0.0-rc-3edc000d-20240926)': dependencies: react: 19.0.0-rc-3edc000d-20240926 - '@radix-ui/react-id@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-id@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-label@2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-label@2.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-context': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-context': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) '@radix-ui/rect': 1.1.0 react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-scroll-area@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-scroll-area@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-direction': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-direction': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-slot@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-slot@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-toast@1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-toast@1.2.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-tooltip@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-tooltip@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-visually-hidden': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: '@radix-ui/rect': 1.1.0 react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-use-size@1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-use-size@1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.10)(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.11)(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': + '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.10)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.11)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 '@types/react-dom': 18.3.0 '@radix-ui/rect@1.1.0': {} @@ -4694,49 +4702,49 @@ snapshots: '@rushstack/eslint-patch@1.10.4': {} - '@sentry-internal/browser-utils@8.32.0': + '@sentry-internal/browser-utils@8.33.1': dependencies: - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/feedback@8.32.0': + '@sentry-internal/feedback@8.33.1': dependencies: - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/replay-canvas@8.32.0': + '@sentry-internal/replay-canvas@8.33.1': dependencies: - '@sentry-internal/replay': 8.32.0 - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry-internal/replay': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry-internal/replay@8.32.0': + '@sentry-internal/replay@8.33.1': dependencies: - '@sentry-internal/browser-utils': 8.32.0 - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry-internal/browser-utils': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 '@sentry/babel-plugin-component-annotate@2.22.3': {} - '@sentry/browser@8.32.0': + '@sentry/browser@8.33.1': dependencies: - '@sentry-internal/browser-utils': 8.32.0 - '@sentry-internal/feedback': 8.32.0 - '@sentry-internal/replay': 8.32.0 - '@sentry-internal/replay-canvas': 8.32.0 - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry-internal/browser-utils': 8.33.1 + '@sentry-internal/feedback': 8.33.1 + '@sentry-internal/replay': 8.33.1 + '@sentry-internal/replay-canvas': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 '@sentry/bundler-plugin-core@2.22.3': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@sentry/babel-plugin-component-annotate': 2.22.3 - '@sentry/cli': 2.36.3 + '@sentry/cli': 2.36.6 dotenv: 16.4.5 find-up: 5.0.0 glob: 9.3.5 @@ -4746,28 +4754,28 @@ snapshots: - encoding - supports-color - '@sentry/cli-darwin@2.36.3': + '@sentry/cli-darwin@2.36.6': optional: true - '@sentry/cli-linux-arm64@2.36.3': + '@sentry/cli-linux-arm64@2.36.6': optional: true - '@sentry/cli-linux-arm@2.36.3': + '@sentry/cli-linux-arm@2.36.6': optional: true - '@sentry/cli-linux-i686@2.36.3': + '@sentry/cli-linux-i686@2.36.6': optional: true - '@sentry/cli-linux-x64@2.36.3': + '@sentry/cli-linux-x64@2.36.6': optional: true - '@sentry/cli-win32-i686@2.36.3': + '@sentry/cli-win32-i686@2.36.6': optional: true - '@sentry/cli-win32-x64@2.36.3': + '@sentry/cli-win32-x64@2.36.6': optional: true - '@sentry/cli@2.36.3': + '@sentry/cli@2.36.6': dependencies: https-proxy-agent: 5.0.1 node-fetch: 2.7.0 @@ -4775,43 +4783,43 @@ snapshots: proxy-from-env: 1.1.0 which: 2.0.2 optionalDependencies: - '@sentry/cli-darwin': 2.36.3 - '@sentry/cli-linux-arm': 2.36.3 - '@sentry/cli-linux-arm64': 2.36.3 - '@sentry/cli-linux-i686': 2.36.3 - '@sentry/cli-linux-x64': 2.36.3 - '@sentry/cli-win32-i686': 2.36.3 - '@sentry/cli-win32-x64': 2.36.3 + '@sentry/cli-darwin': 2.36.6 + '@sentry/cli-linux-arm': 2.36.6 + '@sentry/cli-linux-arm64': 2.36.6 + '@sentry/cli-linux-i686': 2.36.6 + '@sentry/cli-linux-x64': 2.36.6 + '@sentry/cli-win32-i686': 2.36.6 + '@sentry/cli-win32-x64': 2.36.6 transitivePeerDependencies: - encoding - supports-color - '@sentry/core@8.32.0': + '@sentry/core@8.33.1': dependencies: - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry/nextjs@8.32.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)(webpack@5.94.0)': + '@sentry/nextjs@8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(next@15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)(webpack@5.95.0)': dependencies: '@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@rollup/plugin-commonjs': 26.0.1(rollup@3.29.5) - '@sentry-internal/browser-utils': 8.32.0 - '@sentry/core': 8.32.0 - '@sentry/node': 8.32.0 - '@sentry/opentelemetry': 8.32.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/react': 8.32.0(react@19.0.0-rc-3edc000d-20240926) - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 - '@sentry/vercel-edge': 8.32.0 - '@sentry/webpack-plugin': 2.22.3(webpack@5.94.0) + '@sentry-internal/browser-utils': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/node': 8.33.1 + '@sentry/opentelemetry': 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/react': 8.33.1(react@19.0.0-rc-3edc000d-20240926) + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 + '@sentry/vercel-edge': 8.33.1 + '@sentry/webpack-plugin': 2.22.3(webpack@5.95.0) chalk: 3.0.0 - next: 15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + next: 15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) resolve: 1.22.8 rollup: 3.29.5 stacktrace-parser: 0.1.10 optionalDependencies: - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - '@opentelemetry/api' - '@opentelemetry/core' @@ -4821,11 +4829,11 @@ snapshots: - react - supports-color - '@sentry/node@8.32.0': + '@sentry/node@8.33.1': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/context-async-hooks': 1.25.1(@opentelemetry/api@1.9.0) - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/context-async-hooks': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-amqplib': 0.42.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-connect': 0.39.0(@opentelemetry/api@1.9.0) @@ -4840,6 +4848,7 @@ snapshots: '@opentelemetry/instrumentation-ioredis': 0.43.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-kafkajs': 0.3.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-koa': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-lru-memoizer': 0.40.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-mongodb': 0.47.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-mongoose': 0.42.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation-mysql': 0.41.0(@opentelemetry/api@1.9.0) @@ -4852,52 +4861,52 @@ snapshots: '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@prisma/instrumentation': 5.19.1 - '@sentry/core': 8.32.0 - '@sentry/opentelemetry': 8.32.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 - import-in-the-middle: 1.11.1 + '@sentry/core': 8.33.1 + '@sentry/opentelemetry': 8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 + import-in-the-middle: 1.11.2 transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@8.32.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': + '@sentry/opentelemetry@8.33.1(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry/react@8.32.0(react@19.0.0-rc-3edc000d-20240926)': + '@sentry/react@8.33.1(react@19.0.0-rc-3edc000d-20240926)': dependencies: - '@sentry/browser': 8.32.0 - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry/browser': 8.33.1 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 hoist-non-react-statics: 3.3.2 react: 19.0.0-rc-3edc000d-20240926 - '@sentry/types@8.32.0': {} + '@sentry/types@8.33.1': {} - '@sentry/utils@8.32.0': + '@sentry/utils@8.33.1': dependencies: - '@sentry/types': 8.32.0 + '@sentry/types': 8.33.1 - '@sentry/vercel-edge@8.32.0': + '@sentry/vercel-edge@8.33.1': dependencies: - '@sentry/core': 8.32.0 - '@sentry/types': 8.32.0 - '@sentry/utils': 8.32.0 + '@sentry/core': 8.33.1 + '@sentry/types': 8.33.1 + '@sentry/utils': 8.33.1 - '@sentry/webpack-plugin@2.22.3(webpack@5.94.0)': + '@sentry/webpack-plugin@2.22.3(webpack@5.95.0)': dependencies: '@sentry/bundler-plugin-core': 2.22.3 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.94.0 + webpack: 5.95.0 transitivePeerDependencies: - encoding - supports-color @@ -4951,11 +4960,11 @@ snapshots: - supports-color - utf-8-validate - '@trigger.dev/nextjs@3.0.9(@trigger.dev/sdk@3.0.9)(next@15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926))': + '@trigger.dev/nextjs@3.0.9(@trigger.dev/sdk@3.0.9)(next@15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926))': dependencies: '@trigger.dev/sdk': 3.0.9 debug: 4.3.7 - next: 15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) + next: 15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926) transitivePeerDependencies: - supports-color @@ -5028,15 +5037,13 @@ snapshots: '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 - '@types/react@18.3.10': + '@types/react@18.3.11': dependencies: '@types/prop-types': 15.7.13 csstype: 3.1.3 - '@types/semver@7.5.8': {} - '@types/shimmer@1.2.0': {} '@types/webidl-conversions@7.0.3': {} @@ -5045,32 +5052,30 @@ snapshots: dependencies: '@types/webidl-conversions': 7.0.3 - '@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.8.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.7 + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/type-utils': 8.8.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.8.0 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + '@typescript-eslint/visitor-keys': 8.8.0 debug: 4.3.7 eslint: 8.57.1 optionalDependencies: @@ -5078,33 +5083,33 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.2.0': + '@typescript-eslint/scope-manager@8.8.0': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 - '@typescript-eslint/type-utils@7.2.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.8.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@8.57.1)(typescript@5.6.2) debug: 4.3.7 - eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: typescript: 5.6.2 transitivePeerDependencies: + - eslint - supports-color - '@typescript-eslint/types@7.2.0': {} + '@typescript-eslint/types@8.8.0': {} - '@typescript-eslint/typescript-estree@7.2.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.8.0(typescript@5.6.2)': dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/visitor-keys': 8.8.0 debug: 4.3.7 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.5 semver: 7.6.3 ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: @@ -5112,23 +5117,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.2.0(eslint@8.57.1)(typescript@5.6.2)': + '@typescript-eslint/utils@8.8.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.6.2) + '@typescript-eslint/scope-manager': 8.8.0 + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) eslint: 8.57.1 - semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.2.0': + '@typescript-eslint/visitor-keys@8.8.0': dependencies: - '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/types': 8.8.0 eslint-visitor-keys: 3.4.3 '@uidotdev/usehooks@2.4.1(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926)': @@ -5292,8 +5294,6 @@ snapshots: get-intrinsic: 1.2.4 is-string: 1.0.7 - array-union@2.1.0: {} - array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.7 @@ -5382,8 +5382,8 @@ snapshots: browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001664 - electron-to-chromium: 1.5.29 + caniuse-lite: 1.0.30001666 + electron-to-chromium: 1.5.32 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.0) @@ -5412,9 +5412,7 @@ snapshots: camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001657: {} - - caniuse-lite@1.0.30001664: {} + caniuse-lite@1.0.30001666: {} canvas@3.0.0-rc2: dependencies: @@ -5581,7 +5579,7 @@ snapshots: object-is: 1.1.6 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 side-channel: 1.0.6 which-boxed-primitive: 1.0.2 which-collection: 1.0.2 @@ -5605,9 +5603,9 @@ snapshots: detect-libc@2.0.3: {} - dexie-react-hooks@1.1.7(@types/react@18.3.10)(dexie@4.0.8)(react@19.0.0-rc-3edc000d-20240926): + dexie-react-hooks@1.1.7(@types/react@18.3.11)(dexie@4.0.8)(react@19.0.0-rc-3edc000d-20240926): dependencies: - '@types/react': 18.3.10 + '@types/react': 18.3.11 dexie: 4.0.8 react: 19.0.0-rc-3edc000d-20240926 @@ -5615,10 +5613,6 @@ snapshots: didyoumean@1.2.2: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - dlv@1.1.3: {} doctrine@2.1.0: @@ -5633,7 +5627,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.29: {} + electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} @@ -5698,7 +5692,7 @@ snapshots: object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 string.prototype.trim: 1.2.9 @@ -5778,14 +5772,14 @@ snapshots: dependencies: '@next/eslint-plugin-next': 14.2.14 '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) - '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/eslint-plugin': 8.8.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1) - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) - eslint-plugin-react: 7.35.2(eslint@8.57.1) + eslint-plugin-react: 7.37.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) optionalDependencies: typescript: 5.6.2 @@ -5802,37 +5796,37 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 8.57.1 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 - get-tsconfig: 4.8.0 - is-bun-module: 1.1.0 + get-tsconfig: 4.8.1 + is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.30.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -5843,7 +5837,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.8.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -5852,9 +5846,10 @@ snapshots: object.groupby: 1.0.3 object.values: 1.2.0 semver: 6.3.1 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/parser': 8.8.0(eslint@8.57.1)(typescript@5.6.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -5884,7 +5879,7 @@ snapshots: dependencies: eslint: 8.57.1 - eslint-plugin-react@7.35.2(eslint@8.57.1): + eslint-plugin-react@7.37.1(eslint@8.57.1): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -5989,7 +5984,7 @@ snapshots: dependencies: minimal-polyfills: 2.2.3 run-exclusive: 2.2.19 - tsafe: 1.7.2 + tsafe: 1.7.5 execa@8.0.1: dependencies: @@ -6055,7 +6050,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - framer-motion@11.9.0(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926): + framer-motion@11.11.0(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926): dependencies: tslib: 2.7.0 optionalDependencies: @@ -6100,7 +6095,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.8.0: + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -6130,7 +6125,7 @@ snapshots: jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 - package-json-from-dist: 1.0.0 + package-json-from-dist: 1.0.1 path-scurry: 1.11.1 glob@7.2.3: @@ -6160,15 +6155,6 @@ snapshots: define-properties: 1.2.1 gopd: 1.0.1 - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 @@ -6223,7 +6209,7 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-in-the-middle@1.11.1: + import-in-the-middle@1.11.2: dependencies: acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) @@ -6277,7 +6263,7 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-bun-module@1.1.0: + is-bun-module@1.2.1: dependencies: semver: 7.6.3 @@ -6405,7 +6391,7 @@ snapshots: dependencies: argparse: 2.0.1 - jsesc@2.5.2: {} + jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -6520,10 +6506,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -6599,17 +6581,17 @@ snapshots: react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) - next@15.0.0-rc.0(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926): + next@15.0.0-rc.0(@babel/core@7.25.7)(@opentelemetry/api@1.9.0)(react-dom@19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926))(react@19.0.0-rc-3edc000d-20240926): dependencies: '@next/env': 15.0.0-rc.0 '@swc/helpers': 0.5.11 busboy: 1.6.0 - caniuse-lite: 1.0.30001657 + caniuse-lite: 1.0.30001666 graceful-fs: 4.2.11 postcss: 8.4.31 react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) - styled-jsx: 5.1.3(@babel/core@7.25.2)(react@19.0.0-rc-3edc000d-20240926) + styled-jsx: 5.1.3(@babel/core@7.25.7)(react@19.0.0-rc-3edc000d-20240926) optionalDependencies: '@next/swc-darwin-arm64': 15.0.0-rc.0 '@next/swc-darwin-x64': 15.0.0-rc.0 @@ -6714,7 +6696,7 @@ snapshots: dependencies: p-limit: 3.1.0 - package-json-from-dist@1.0.0: {} + package-json-from-dist@1.0.1: {} parent-module@1.0.1: dependencies: @@ -6735,8 +6717,6 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-type@4.0.0: {} - pg-int8@1.0.1: {} pg-protocol@1.7.0: {} @@ -6916,7 +6896,7 @@ snapshots: globalthis: 1.0.4 which-builtin-type: 1.1.4 - regexp.prototype.flags@1.5.2: + regexp.prototype.flags@1.5.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -7079,8 +7059,6 @@ snapshots: is-arrayish: 0.3.2 optional: true - slash@3.0.0: {} - slug@6.1.0: {} socket.io-client@4.7.5: @@ -7152,7 +7130,7 @@ snapshots: gopd: 1.0.1 has-symbols: 1.0.3 internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.2 + regexp.prototype.flags: 1.5.3 set-function-name: 2.0.2 side-channel: 1.0.6 @@ -7200,12 +7178,12 @@ snapshots: strip-json-comments@3.1.1: {} - styled-jsx@5.1.3(@babel/core@7.25.2)(react@19.0.0-rc-3edc000d-20240926): + styled-jsx@5.1.3(@babel/core@7.25.7)(react@19.0.0-rc-3edc000d-20240926): dependencies: client-only: 0.0.1 react: 19.0.0-rc-3edc000d-20240926 optionalDependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 sucrase@3.35.0: dependencies: @@ -7295,14 +7273,14 @@ snapshots: ansi-escapes: 5.0.0 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.10(webpack@5.94.0): + terser-webpack-plugin@5.3.10(webpack@5.95.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.34.1 - webpack: 5.94.0 + webpack: 5.95.0 terser@5.34.1: dependencies: @@ -7339,7 +7317,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsafe@1.7.2: {} + tsafe@1.7.5: {} tsconfig-paths@3.15.0: dependencies: @@ -7443,7 +7421,7 @@ snapshots: webpack-virtual-modules@0.5.0: {} - webpack@5.94.0: + webpack@5.95.0: dependencies: '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 @@ -7465,7 +7443,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.94.0) + terser-webpack-plugin: 5.3.10(webpack@5.95.0) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..3ff5faa --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - "apps/*" + - "packages/*" diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000..58facaa --- /dev/null +++ b/turbo.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://turbo.build/schema.json", + "globalDependencies": ["**/.env.*local"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": [".next/**", "!.next/cache/**"] + }, + "lint": {}, + "dev": { + "cache": false, + "persistent": true + } + } +}