diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 3722418..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": ["next/core-web-vitals", "next/typescript"] -} 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..6ebdd7e 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,4 +1,4 @@ -name: "Deploy" +name: "Deploy Frontend" on: push: @@ -26,10 +26,11 @@ jobs: uses: docker/build-push-action@v6 with: context: . + file: ./apps/frontend/Dockerfile 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 +50,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/Dockerfile b/Dockerfile deleted file mode 100644 index a41d8ea..0000000 --- a/Dockerfile +++ /dev/null @@ -1,65 +0,0 @@ -FROM fascinated/docker-images:nodejs_20_with_pnpm AS base - -# Install dependencies and build tools for canvas -FROM base AS deps -RUN apk add --no-cache python3 make g++ gcc pkgconfig pixman cairo-dev libjpeg-turbo-dev pango-dev giflib-dev -WORKDIR /app -COPY package.json* pnpm-lock.yaml* ./ -RUN pnpm install --frozen-lockfile --quiet - -# Build from source -FROM base AS builder -WORKDIR /app -COPY --from=deps /app/node_modules ./node_modules -COPY . . - -# Install runtime dependencies -RUN apk add --no-cache cairo pango libjpeg-turbo giflib - -ENV NEXT_TELEMETRY_DISABLED=1 - -# Add the commit hash -ARG GIT_REV -ENV GIT_REV=${GIT_REV} - -# Add the sentry auth token -ARG SENTRY_AUTH_TOKEN -ENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN} - -# Build the app -RUN pnpm run build - -# Final stage to run the app -FROM base AS runner -WORKDIR /app - -# Install runtime dependencies -RUN apk add --no-cache cairo pango libjpeg-turbo giflib - -ENV NODE_ENV=production -ENV NEXT_TELEMETRY_DISABLED=1 - -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 nextjs - -RUN mkdir .next -RUN chown nextjs:nodejs .next - -# Add the commit hash -ARG GIT_REV -ENV GIT_REV=${GIT_REV} - -# Copy the built app from the builder stage -COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules -COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next -COPY --from=builder --chown=nextjs:nodejs /app/public ./public -COPY --from=builder --chown=nextjs:nodejs /app/package.json ./package.json -COPY --from=builder --chown=nextjs:nodejs /app/next.config.mjs ./next.config.mjs - -USER nextjs - -EXPOSE 3000 -ENV HOSTNAME="0.0.0.0" -ENV PORT=3000 - -CMD ["pnpm", "start"] diff --git a/apps/frontend/.env b/apps/frontend/.env new file mode 100644 index 0000000..000a358 --- /dev/null +++ b/apps/frontend/.env @@ -0,0 +1,7 @@ +NEXT_PUBLIC_SITE_URL=http://localhost:3000 +NEXT_PUBLIC_TRIGGER_PUBLIC_API_KEY= + +TRIGGER_API_KEY= +TRIGGER_API_URL=https://trigger.example.com +MONGO_URI=mongodb://root:jGZuYukpb9n4yDJJE8nMeUbj2ACE7DR3@10.0.50.37:27017/ssr-dev?authSource=admin +SENTRY_AUTH_TOKEN= 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/apps/frontend/.eslintrc.json b/apps/frontend/.eslintrc.json new file mode 100644 index 0000000..c66eb40 --- /dev/null +++ b/apps/frontend/.eslintrc.json @@ -0,0 +1,8 @@ +{ + "extends": ["next/core-web-vitals", "next/typescript"], + "rules": { + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-empty-object-type": "off", + "@typescript-eslint/no-unused-expressions": "off" + } +} 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/apps/frontend/Dockerfile b/apps/frontend/Dockerfile new file mode 100644 index 0000000..ea7b4f5 --- /dev/null +++ b/apps/frontend/Dockerfile @@ -0,0 +1,65 @@ +FROM fascinated/docker-images:nodejs_20_with_pnpm AS base + +FROM base AS builder +RUN apk update +RUN apk add --no-cache libc6-compat +# Set working directory +WORKDIR /app + +RUN pnpm i -g turbo@^2 +COPY . . + +# Generate a partial monorepo with a pruned lockfile for a target workspace. +# Assuming "frontend" is the name entered in the project's package.json: { name: "frontend" } +RUN turbo prune frontend --docker + +# Add lockfile and package.json's of isolated subworkspace +FROM base AS installer +WORKDIR /app + +# Add the commit hash +ARG GIT_REV +ENV GIT_REV=${GIT_REV} + +# Add the sentry auth token +ARG SENTRY_AUTH_TOKEN +ENV SENTRY_AUTH_TOKEN=${SENTRY_AUTH_TOKEN} + +ENV NODE_ENV=production +ENV NEXT_TELEMETRY_DISABLED=1 + +RUN pnpm i -g turbo@^2 + +# First install the dependencies (as they change less often) +COPY --from=builder /app/out/json/ . +RUN pnpm install + +# Build the project +COPY --from=builder /app/out/full/ . + +RUN ls -la + +RUN pnpm turbo run build --filter=frontend... + +FROM base AS runner +WORKDIR /app + +ENV NODE_ENV=production +ENV NEXT_TELEMETRY_DISABLED=1 + +# Add the commit hash +ARG GIT_REV +ENV GIT_REV=${GIT_REV} + +# Don't run production as root +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs +USER nextjs + +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/standalone ./ +COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/static ./apps/frontend/.next/static +COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/public ./apps/frontend/public + +CMD node apps/frontend/server.js \ No newline at end of file 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 89% rename from next.config.mjs rename to apps/frontend/next.config.mjs index 777ecf8..ef0cfcc 100644 --- a/next.config.mjs +++ b/apps/frontend/next.config.mjs @@ -1,6 +1,5 @@ import { withSentryConfig } from "@sentry/nextjs"; import { format } from "@formkit/tempo"; -import nextBuildId from "next-build-id"; import path from "path"; import { fileURLToPath } from "url"; @@ -9,8 +8,10 @@ const __dirname = path.dirname(__filename); // get the name of the directory /** @type {import('next').NextConfig} */ const nextConfig = { - experimental: { - webpackMemoryOptimizations: true, + output: "standalone", + webpack: (config) => { + config.resolve.alias['@'] = path.join(__dirname, 'src'); + return config; }, images: { remotePatterns: [ @@ -24,7 +25,7 @@ const nextConfig = { }, env: { NEXT_PUBLIC_BUILD_ID: - process.env.GIT_REV || nextBuildId.sync({ dir: __dirname }), + process.env.GIT_REV || "dev", NEXT_PUBLIC_BUILD_TIME: new Date().toLocaleDateString("en-US", { year: "numeric", month: "long", diff --git a/apps/frontend/package.json b/apps/frontend/package.json new file mode 100644 index 0000000..aaed9f0 --- /dev/null +++ b/apps/frontend/package.json @@ -0,0 +1,68 @@ +{ + "name": "frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev --turbo", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "imports": { + "@/*": "./src/*" + }, + "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", + "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", + "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 94% rename from src/app/(pages)/api/player/history/route.ts rename to apps/frontend/src/app/(pages)/api/player/history/route.ts index b7395da..202700a 100644 --- a/src/app/(pages)/api/player/history/route.ts +++ b/apps/frontend/src/app/(pages)/api/player/history/route.ts @@ -1,8 +1,8 @@ import { NextRequest, NextResponse } from "next/server"; -import { connectMongo } from "@/common/mongo"; import { IPlayer, PlayerModel } from "@/common/schema/player-schema"; import { seedPlayerHistory } from "@/common/player-utils"; import { scoresaberService } from "@/common/service/impl/scoresaber"; +import { connectMongo } from "@/common/mongo"; export async function GET(request: NextRequest) { const playerIdCookie = request.cookies.get("playerId"); @@ -21,7 +21,7 @@ export async function GET(request: NextRequest) { _id: id, trackedSince: new Date().toISOString(), }); - const response = await scoresaberService.lookupPlayer(id, true); + const response = await scoresaberService.lookupPlayer(id); if (response != undefined) { const { player, rawPlayer } = response; await seedPlayerHistory(foundPlayer!, player, rawPlayer); 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 97% rename from src/app/(pages)/player/[...slug]/page.tsx rename to apps/frontend/src/app/(pages)/player/[...slug]/page.tsx index 3781990..72ced3e 100644 --- a/src/app/(pages)/player/[...slug]/page.tsx +++ b/apps/frontend/src/app/(pages)/player/[...slug]/page.tsx @@ -38,7 +38,7 @@ const getPlayerData = cache(async ({ params }: Props, fetchScores: boolean = tru const page = parseInt(slug[2]) || 1; // The page number const search = (slug[3] as string) || ""; // The search query - const player = (await scoresaberService.lookupPlayer(id, false))?.player; + const player = (await scoresaberService.lookupPlayer(id))?.player; let scores: ScoreSaberPlayerScoresPageToken | undefined; if (fetchScores) { scores = await scoresaberService.lookupPlayerScores({ 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/apps/frontend/src/common/image-utils.ts b/apps/frontend/src/common/image-utils.ts new file mode 100644 index 0000000..cf4f2fe --- /dev/null +++ b/apps/frontend/src/common/image-utils.ts @@ -0,0 +1,22 @@ +import { config } from "../../config"; +import { cache } from "react"; + +/** + * Proxies all non-localhost images to make them load faster. + * + * @param originalUrl the original image url + * @returns the new image url + */ +export function getImageUrl(originalUrl: string) { + return `${!config.siteUrl.includes("localhost") ? "https://img.fascinated.cc/upload/q_70/" : ""}${originalUrl}`; +} + +/** + * Gets the average color of an image + * + * @param src the image url + * @returns the average color + */ +export const getAverageColor = cache(async (src: string) => { + return "#fff"; +}); 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 99% rename from src/common/player-utils.ts rename to apps/frontend/src/common/player-utils.ts index 483e3a2..423524f 100644 --- a/src/common/player-utils.ts +++ b/apps/frontend/src/common/player-utils.ts @@ -90,7 +90,7 @@ export async function trackScoreSaberPlayer(dateToday: Date, foundPlayer: IPlaye io && (await io.logger.info(`Updating statistics for ${foundPlayer.id}...`)); // Lookup player data from the ScoreSaber service - const response = await scoresaberService.lookupPlayer(foundPlayer.id, true); + const response = await scoresaberService.lookupPlayer(foundPlayer.id); if (response == undefined) { io && (await io.logger.warn(`Player ${foundPlayer.id} not found on ScoreSaber`)); return; 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/apps/frontend/tsconfig.json b/apps/frontend/tsconfig.json new file mode 100644 index 0000000..44e4b42 --- /dev/null +++ b/apps/frontend/tsconfig.json @@ -0,0 +1,32 @@ +{ + "compilerOptions": { + "plugins": [{ "name": "next" }], + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "composite": false, + "declaration": true, + "declarationMap": true, + "inlineSources": false, + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*.ts", "./src/*"] + } + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "tailwind.config.ts"], + "exclude": ["node_modules"] +} diff --git a/apps/frontend/turbo.json b/apps/frontend/turbo.json new file mode 100644 index 0000000..ff1fc3a --- /dev/null +++ b/apps/frontend/turbo.json @@ -0,0 +1,8 @@ +{ + "extends": ["//"], + "tasks": { + "build": { + "outputs": [".next/**", "!.next/cache/**"] + } + } +} diff --git a/package.json b/package.json index 7b555d8..88a74b3 100644 --- a/package.json +++ b/package.json @@ -1,66 +1,22 @@ { - "name": "scoresaber-reloadedv3", + "name": "ssr", "version": "0.1.0", "private": true, + "workspaces": [ + "apps/*", + "packages/*" + ], "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" + "build": "turbo run build", + "clean": "turbo run clean", + "dev": "turbo run dev", + "format": "prettier --write \"**/*.{ts,tsx,md}\"", + "lint": "turbo run lint", + "test": "turbo run test" }, "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" + "prettier": "^3.2.5", + "turbo": "^2.0.3" }, - "trigger.dev": { - "endpointId": "scoresaber-reloaded-KB0Z" - } -} \ No newline at end of file + "packageManager": "pnpm@9.12.0" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ce75137..10ab453 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,15 @@ settings: importers: .: + devDependencies: + prettier: + specifier: ^3.2.5 + version: 3.3.3 + turbo: + specifier: ^2.0.3 + version: 2.1.3 + + apps/frontend: dependencies: '@formkit/tempo': specifier: ^0.1.2 @@ -19,34 +28,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) @@ -56,9 +65,6 @@ importers: '@uidotdev/usehooks': specifier: ^2.4.1 version: 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) - canvas: - specifier: 3.0.0-rc2 - version: 3.0.0-rc2 chart.js: specifier: ^4.4.4 version: 4.4.4 @@ -76,13 +82,10 @@ 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) - extract-colors: - specifier: ^4.0.8 - version: 4.0.8 + version: 1.1.7(@types/react@18.3.11)(dexie@4.0.8)(react@19.0.0-rc-3edc000d-20240926) 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.1(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 +100,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 +137,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 @@ -164,75 +167,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 +546,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 +672,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 +796,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 +1192,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 +1294,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 +1400,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 +1412,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 +1605,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'} @@ -1634,16 +1647,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1666,9 +1673,6 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -1685,15 +1689,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==} - - canvas@3.0.0-rc2: - resolution: {integrity: sha512-esx4bYDznnqgRX4G8kaEaf0W3q8xIc51WpmrIitDzmcoEgwnv9wSKdzT6UxWZ4wkVu5+ileofppX0TpyviJRdQ==} - engines: {node: ^18.12.0 || >= 20.9.0} + caniuse-lite@1.0.30001666: + resolution: {integrity: sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1719,9 +1716,6 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} @@ -1838,22 +1832,10 @@ packages: supports-color: optional: true - decompress-response@4.2.1: - resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} - engines: {node: '>=8'} - - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -1882,10 +1864,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 +1882,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==} @@ -1913,9 +1891,6 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - engine.io-client@6.5.4: resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} @@ -2001,8 +1976,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 +1997,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 +2019,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 @@ -2105,13 +2080,6 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - - extract-colors@4.0.8: - resolution: {integrity: sha512-XW6Ee9bgdx4Z9GchZm2likadze+BjQG1orkSyfxjd9znvxxtc7UBHf//1lFMtQm+lDusO3Fz8giaok0LWyflOA==} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2154,8 +2122,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.1: + resolution: {integrity: sha512-Ucr9eHSrk0d+l6vyl9fvq6omh/PAWHjS+PlczpsoUdhJo1TuF3ULWJNuAMnpWQ1dGyPOyoUVuYlUKjE/s8dyCA==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 @@ -2168,9 +2136,6 @@ packages: react-dom: optional: true - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2209,11 +2174,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==} - - github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + get-tsconfig@4.8.1: + resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -2255,10 +2217,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==} @@ -2312,9 +2270,6 @@ packages: humanize-duration@3.32.1: resolution: {integrity: sha512-inh5wue5XdfObhu/IGEMiA1nUXigSGcaKNemcbLRKa7jXYGDZXr3LoT9pTIzq2hPEbld7w/qv9h+ikWGz8fL1g==} - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -2323,8 +2278,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==} @@ -2337,9 +2292,6 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -2370,8 +2322,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 +2461,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: @@ -2637,14 +2589,6 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - mimic-response@2.1.0: - resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} - engines: {node: '>=8'} - - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - minimal-polyfills@2.2.3: resolution: {integrity: sha512-oxdmJ9cL+xV72h0xYxp4tP2d5/fTBpP45H8DIOn9pASuF8a3IYTf+25fMGDYGiWW+MFsuog6KD6nfmhZJQ+uUw==} @@ -2655,10 +2599,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'} @@ -2674,9 +2614,6 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - module-details-from-path@1.0.3: resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} @@ -2733,9 +2670,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-build-utils@1.0.2: - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -2773,13 +2707,6 @@ packages: sass: optional: true - node-abi@3.68.0: - resolution: {integrity: sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A==} - engines: {node: '>=10'} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -2859,8 +2786,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 +2816,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'} @@ -2984,15 +2907,15 @@ packages: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} - prebuild-install@7.1.2: - resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} - engines: {node: '>=10'} - hasBin: true - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} + hasBin: true + progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -3007,9 +2930,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -3020,10 +2940,6 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - react-chartjs-2@5.2.0: resolution: {integrity: sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA==} peerDependencies: @@ -3051,10 +2967,6 @@ packages: read-cache@1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -3063,8 +2975,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: @@ -3174,22 +3086,9 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - - simple-get@3.1.1: - resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} - - simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - 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==} @@ -3256,9 +3155,6 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -3275,10 +3171,6 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -3342,13 +3234,6 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - terminal-link@3.0.0: resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} engines: {node: '>=12'} @@ -3408,8 +3293,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==} @@ -3417,8 +3302,39 @@ packages: tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + turbo-darwin-64@2.1.3: + resolution: {integrity: sha512-ouJOm0g0YyoBuhmikEujVCBGo3Zr0lbSOWFIsQtWUTItC88F2w2byhjtsYGPXQwMlTbXwmoBU2lOCfWNkeEwHQ==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@2.1.3: + resolution: {integrity: sha512-j2FOJsK4LAOtHQlb3Oom0yWB/Vi0nF1ljInr311mVzHoFAJRZtfW2fRvdZRb/lBUwjSp8be58qWHzANIcrA0OA==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@2.1.3: + resolution: {integrity: sha512-ubRHkI1gSel7H7wsmxKK8C9UlLWqg/2dkCC88LFupaK6TKgvBKqDqA0Z1M9C/escK0Jsle2k0H8bybV9OYIl4Q==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@2.1.3: + resolution: {integrity: sha512-LffUL+e5wv7BtD6DgnM2kKOlDkMo2eRjhbAjVnrCD3wi2ug0tl6NDzajnHHjtaMyOnIf4AvzSKdLWsBxafGBQA==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@2.1.3: + resolution: {integrity: sha512-S9SvcZZoaq5jKr6kA6eF7/xgQhVn8Vh7PVy5lono9zybvhyL4eY++y2PaLToIgL8G9IcbLmgOC73ExNjFBg9XQ==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@2.1.3: + resolution: {integrity: sha512-twlEo8lRrGbrR6T/ZklUIquW3IlFCEtywklgVA81aIrSBm56+GEVpSrHhIlsx1hiYeSNrs+GpDwZGe+V7fvEVQ==} + cpu: [arm64] + os: [win32] + + turbo@2.1.3: + resolution: {integrity: sha512-lY0yj2GH2a2a3NExZ3rGe+rHUVeFE2aXuRAue57n+08E7Z7N7YCmynju0kPC1grAQzERmoLpKrmzmWd+PNiADw==} + hasBin: true type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -3504,8 +3420,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 +3552,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 +3579,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 +3920,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 +3982,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 +3991,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 +4008,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 +4017,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 +4026,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 +4048,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 +4084,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 +4109,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 +4164,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 +4174,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 +4186,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 +4256,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 +4312,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 +4352,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 +4627,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 +4679,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 +4708,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 +4754,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 +4773,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 +4786,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 +4885,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 +4962,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 +4977,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 +5008,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 +5042,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 +5219,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 @@ -5357,16 +5282,8 @@ snapshots: balanced-match@1.0.2: {} - base64-js@1.5.1: {} - binary-extensions@2.3.0: {} - bl@4.1.0: - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -5382,8 +5299,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) @@ -5391,11 +5308,6 @@ snapshots: buffer-from@1.1.2: {} - buffer@5.7.1: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -5412,15 +5324,7 @@ snapshots: camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001657: {} - - caniuse-lite@1.0.30001664: {} - - canvas@3.0.0-rc2: - dependencies: - node-addon-api: 7.1.1 - prebuild-install: 7.1.2 - simple-get: 3.1.1 + caniuse-lite@1.0.30001666: {} chalk@2.4.2: dependencies: @@ -5456,8 +5360,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@1.1.4: {} - chrome-trace-event@1.0.4: {} cjs-module-lexer@1.4.1: {} @@ -5558,14 +5460,6 @@ snapshots: dependencies: ms: 2.1.3 - decompress-response@4.2.1: - dependencies: - mimic-response: 2.1.0 - - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -5581,14 +5475,12 @@ 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 which-typed-array: 1.1.15 - deep-extend@0.6.0: {} - deep-is@0.1.4: {} define-data-property@1.1.4: @@ -5603,11 +5495,12 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 - detect-libc@2.0.3: {} + detect-libc@2.0.3: + optional: true - 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 +5508,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,16 +5522,12 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.29: {} + electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - engine.io-client@6.5.4: dependencies: '@socket.io/component-emitter': 3.1.2 @@ -5698,7 +5583,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 +5663,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 +5687,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)(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)(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 +5728,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)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -5852,9 +5737,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 +5770,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 +5875,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: @@ -6003,10 +5889,6 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - expand-template@2.0.3: {} - - extract-colors@4.0.8: {} - fast-deep-equal@3.1.3: {} fast-glob@3.3.2: @@ -6055,15 +5937,13 @@ 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.1(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: react: 19.0.0-rc-3edc000d-20240926 react-dom: 19.0.0-rc-3edc000d-20240926(react@19.0.0-rc-3edc000d-20240926) - fs-constants@1.0.0: {} - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -6100,12 +5980,10 @@ 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 - github-from-package@0.0.0: {} - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -6130,7 +6008,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 +6038,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 @@ -6214,8 +6083,6 @@ snapshots: humanize-duration@3.32.1: {} - ieee754@1.2.1: {} - ignore@5.3.2: {} import-fresh@3.3.0: @@ -6223,7 +6090,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) @@ -6239,8 +6106,6 @@ snapshots: inherits@2.0.4: {} - ini@1.3.8: {} - internal-slot@1.0.7: dependencies: es-errors: 1.3.0 @@ -6277,7 +6142,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 +6270,7 @@ snapshots: dependencies: argparse: 2.0.1 - jsesc@2.5.2: {} + jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -6506,10 +6371,6 @@ snapshots: mimic-fn@4.0.0: {} - mimic-response@2.1.0: {} - - mimic-response@3.1.0: {} - minimal-polyfills@2.2.3: {} minimatch@3.1.2: @@ -6520,10 +6381,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 @@ -6534,8 +6391,6 @@ snapshots: minipass@7.1.2: {} - mkdirp-classic@0.5.3: {} - module-details-from-path@1.0.3: {} mongodb-connection-string-url@3.0.1: @@ -6586,8 +6441,6 @@ snapshots: nanoid@3.3.7: {} - napi-build-utils@1.0.2: {} - natural-compare@1.4.0: {} neo-async@2.6.2: {} @@ -6599,17 +6452,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 @@ -6626,12 +6479,6 @@ snapshots: - '@babel/core' - babel-plugin-macros - node-abi@3.68.0: - dependencies: - semver: 7.6.3 - - node-addon-api@7.1.1: {} - node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -6714,7 +6561,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 +6582,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: {} @@ -6812,23 +6657,10 @@ snapshots: dependencies: xtend: 4.0.2 - prebuild-install@7.1.2: - dependencies: - detect-libc: 2.0.3 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 1.0.2 - node-abi: 3.68.0 - pump: 3.0.2 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - prelude-ls@1.2.1: {} + prettier@3.3.3: {} + progress@2.0.3: {} prop-types@15.8.1: @@ -6854,11 +6686,6 @@ snapshots: proxy-from-env@1.1.0: {} - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - punycode@2.3.1: {} queue-microtask@1.2.3: {} @@ -6867,13 +6694,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - react-chartjs-2@5.2.0(chart.js@4.4.4)(react@19.0.0-rc-3edc000d-20240926): dependencies: chart.js: 4.4.4 @@ -6896,12 +6716,6 @@ snapshots: dependencies: pify: 2.3.0 - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 @@ -6916,7 +6730,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 @@ -7060,27 +6874,11 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: {} - - simple-get@3.1.1: - dependencies: - decompress-response: 4.2.1 - once: 1.4.0 - simple-concat: 1.0.1 - - simple-get@4.0.1: - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 optional: true - slash@3.0.0: {} - slug@6.1.0: {} socket.io-client@4.7.5: @@ -7152,7 +6950,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 @@ -7180,10 +6978,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -7196,16 +6990,14 @@ snapshots: strip-final-newline@3.0.0: {} - strip-json-comments@2.0.1: {} - 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: @@ -7275,34 +7067,19 @@ snapshots: tapable@2.2.1: {} - tar-fs@2.1.1: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 2.2.0 - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - terminal-link@3.0.0: dependencies: 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 +7116,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsafe@1.7.2: {} + tsafe@1.7.5: {} tsconfig-paths@3.15.0: dependencies: @@ -7350,9 +7127,32 @@ snapshots: tslib@2.7.0: {} - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 + turbo-darwin-64@2.1.3: + optional: true + + turbo-darwin-arm64@2.1.3: + optional: true + + turbo-linux-64@2.1.3: + optional: true + + turbo-linux-arm64@2.1.3: + optional: true + + turbo-windows-64@2.1.3: + optional: true + + turbo-windows-arm64@2.1.3: + optional: true + + turbo@2.1.3: + optionalDependencies: + turbo-darwin-64: 2.1.3 + turbo-darwin-arm64: 2.1.3 + turbo-linux-64: 2.1.3 + turbo-linux-arm64: 2.1.3 + turbo-windows-64: 2.1.3 + turbo-windows-arm64: 2.1.3 type-check@0.4.0: dependencies: @@ -7443,7 +7243,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 +7265,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/src/common/image-utils.ts b/src/common/image-utils.ts deleted file mode 100644 index 21f8f4f..0000000 --- a/src/common/image-utils.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { createCanvas, loadImage } from "canvas"; -import { config } from "../../config"; -import ky from "ky"; -import { extractColors } from "extract-colors"; -import { cache } from "react"; - -/** - * Proxies all non-localhost images to make them load faster. - * - * @param originalUrl the original image url - * @returns the new image url - */ -export function getImageUrl(originalUrl: string) { - return `${!config.siteUrl.includes("localhost") ? "https://img.fascinated.cc/upload/q_70/" : ""}${originalUrl}`; -} - -/** - * Gets the average color of an image - * - * @param src the image url - * @returns the average color - */ -export const getAverageColor = cache(async (src: string) => { - const before = performance.now(); - console.log(`Getting average color of "${src}"...`); - try { - const response = await ky.get(`https://img.fascinated.cc/upload/w_64,h_64,o_jpg/${src}`); - if (response.status !== 200) { - return undefined; - } - - const imageBuffer = await response.arrayBuffer(); - - // Create an image from the buffer using canvas - const img = await loadImage(Buffer.from(imageBuffer)); - const canvas = createCanvas(img.width, img.height); - const ctx = canvas.getContext("2d"); - - // Draw the image onto the canvas - ctx.drawImage(img, 0, 0); - - // Get the pixel data from the canvas - const imageData = ctx.getImageData(0, 0, img.width, img.height); - const { data, width, height } = imageData; - - // Use your extractColors function to calculate the average color - const color = await extractColors({ data, width, height }); - - console.log(`Found average color of "${src}" in ${(performance.now() - before).toFixed(0)}ms`); - return color[2]; - } catch (error) { - console.error("Error while getting average color:", error); - return undefined; - } -}); diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index d6bbd13..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "compilerOptions": { - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": [ - "./src/*" - ] - }, - "target": "ES2017" - }, - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts", - "tailwind.config.ts" - ], - "exclude": [ - "node_modules" - ] -} diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000..5ef3572 --- /dev/null +++ b/turbo.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://turbo.build/schema.json", + "tasks": { + "build": { + "dependsOn": ["^build"], + "inputs": ["$TURBO_DEFAULT$", ".env*"], + "outputs": [".next/**", "!.next/cache/**"] + }, + "lint": { + "dependsOn": ["^lint"] + }, + "dev": { + "cache": false, + "persistent": true + } + } +} \ No newline at end of file