diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b97dac128..3c0164f0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,14 +15,13 @@ jobs: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: - version: 10 + version: 10.15.1 run_install: false - name: Use Node.js 22 uses: actions/setup-node@v4 with: node-version: 22 cache: "pnpm" - - run: npm install --global pnpm - run: pnpm install - run: pnpm test - run: pnpm build diff --git a/Dockerfile b/Dockerfile index ac9fd8de5..e6882e048 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,14 @@ ARG NODE_IMAGE_VERSION="22-alpine" +ARG PNPM_VERSION="10.15.1" # Install dependencies only when needed FROM node:${NODE_IMAGE_VERSION} AS deps # Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat WORKDIR /app -COPY package.json pnpm-lock.yaml ./ -RUN npm install -g pnpm -RUN pnpm install --frozen-lockfile +COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ +RUN npm install -g pnpm@${PNPM_VERSION} +RUN pnpm install --frozen-lockfile --config.strictDepBuilds=false # Rebuild the source code only when needed FROM node:${NODE_IMAGE_VERSION} AS builder @@ -28,7 +29,6 @@ RUN npm run build-docker FROM node:${NODE_IMAGE_VERSION} AS runner WORKDIR /app -ARG PRISMA_VERSION="7.3.0" ARG NODE_OPTIONS ENV NODE_ENV=production @@ -38,14 +38,7 @@ ENV NODE_OPTIONS=$NODE_OPTIONS RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 nextjs RUN set -x \ - && apk add --no-cache curl \ - && npm install -g pnpm - -# Script dependencies -RUN pnpm --allow-build='@prisma/engines' add npm-run-all dotenv chalk semver \ - prisma@${PRISMA_VERSION} \ - @prisma/client@${PRISMA_VERSION} \ - @prisma/adapter-pg@${PRISMA_VERSION} + && apk add --no-cache curl COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder /app/prisma ./prisma @@ -57,6 +50,8 @@ COPY --from=builder /app/generated ./generated # https://nextjs.org/docs/advanced-features/output-file-tracing COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static +RUN rm -rf /app/node_modules +COPY --from=deps /app/node_modules ./node_modules USER nextjs @@ -65,4 +60,4 @@ EXPOSE 3000 ENV HOSTNAME=0.0.0.0 ENV PORT=3000 -CMD ["pnpm", "start-docker"] \ No newline at end of file +CMD ["npm", "run", "start-docker"] diff --git a/package.json b/package.json index 72f9a47b5..41cadd011 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "@prisma/extension-read-replicas": "^0.5.0", "@playwright/test": "^1.60.0", "@svgr/cli": "^8.1.0", - "@tanstack/react-query": "^5.100.10", + "@tanstack/react-query": "^5.100.11", "@umami/react-zen": "^0.245.0", "bcryptjs": "^3.0.2", "chalk": "^5.6.2", @@ -74,7 +74,7 @@ "colord": "^2.9.2", "cors": "^2.8.6", "cross-spawn": "^7.0.3", - "date-fns": "^4.1.0", + "date-fns": "^4.2.1", "date-fns-tz": "^3.2.0", "debug": "^4.4.3", "del": "^8.0.1", @@ -92,13 +92,13 @@ "kafkajs": "^2.1.0", "lucide-react": "^1.16.0", "maxmind": "^5.0.5", - "motion": "^12.38.0", + "motion": "^12.39.0", "next": "16.2.6", "next-intl": "4.12.0", "node-fetch": "^3.2.8", "npm-run-all": "^4.1.5", "papaparse": "^5.5.3", - "pg": "^8.20.0", + "pg": "^8.21.0", "prisma": "^7.8.0", "prop-types": "^15.8.1", "pure-rand": "^8.4.0", @@ -135,7 +135,7 @@ "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", - "@types/node": "^25.8.0", + "@types/node": "^25.9.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.2", "babel-plugin-react-compiler": "19.1.0-rc.2", @@ -159,7 +159,7 @@ "ts-morph": "^28.0.0", "ts-node": "^10.9.1", "tsup": "^8.5.0", - "tsx": "^4.22.1", + "tsx": "^4.22.2", "typescript": "^6.0.3", "vitest": "^4.1.6" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7bf76d6af..549088e2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,8 +42,8 @@ importers: specifier: ^8.1.0 version: 8.1.0(typescript@6.0.3) '@tanstack/react-query': - specifier: ^5.100.10 - version: 5.100.10(react@19.2.6) + specifier: ^5.100.11 + version: 5.100.11(react@19.2.6) '@umami/react-zen': specifier: ^0.245.0 version: 0.245.0(@types/react@19.2.14)(immer@11.1.8)(react-aria-components@1.17.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(tailwindcss@4.1.18)(use-sync-external-store@1.6.0(react@19.2.6)) @@ -58,7 +58,7 @@ importers: version: 4.5.1 chartjs-adapter-date-fns: specifier: ^3.0.0 - version: 3.0.0(chart.js@4.5.1)(date-fns@4.1.0) + version: 3.0.0(chart.js@4.5.1)(date-fns@4.2.1) classnames: specifier: ^2.3.1 version: 2.5.1 @@ -72,11 +72,11 @@ importers: specifier: ^7.0.3 version: 7.0.6 date-fns: - specifier: ^4.1.0 - version: 4.1.0 + specifier: ^4.2.1 + version: 4.2.1 date-fns-tz: specifier: ^3.2.0 - version: 3.2.0(date-fns@4.1.0) + version: 3.2.0(date-fns@4.2.1) debug: specifier: ^4.4.3 version: 4.4.3 @@ -126,8 +126,8 @@ importers: specifier: ^5.0.5 version: 5.0.6 motion: - specifier: ^12.38.0 - version: 12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + specifier: ^12.39.0 + version: 12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) next: specifier: 16.2.6 version: 16.2.6(@babel/core@7.29.0)(@playwright/test@1.60.0)(babel-plugin-react-compiler@19.1.0-rc.2)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) @@ -144,8 +144,8 @@ importers: specifier: ^5.5.3 version: 5.5.3 pg: - specifier: ^8.20.0 - version: 8.20.0 + specifier: ^8.21.0 + version: 8.21.0 prisma: specifier: ^7.8.0 version: 7.8.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@6.0.3) @@ -250,8 +250,8 @@ importers: specifier: ^14.6.1 version: 14.6.1(@testing-library/dom@10.4.1) '@types/node': - specifier: ^25.8.0 - version: 25.8.0 + specifier: ^25.9.0 + version: 25.9.0 '@types/react': specifier: ^19.2.14 version: 19.2.14 @@ -272,7 +272,7 @@ importers: version: 29.1.1 msw: specifier: ^2.14.6 - version: 2.14.6(@types/node@25.8.0)(typescript@6.0.3) + version: 2.14.6(@types/node@25.9.0)(typescript@6.0.3) postcss: specifier: ^8.5.14 version: 8.5.14 @@ -302,13 +302,13 @@ importers: version: 6.4.1(rollup@4.60.4)(typescript@6.0.3) rollup-plugin-node-externals: specifier: ^9.0.1 - version: 9.0.1(rollup@4.60.4)(vite@8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1)) + version: 9.0.1(rollup@4.60.4)(vite@8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2)) rollup-plugin-peer-deps-external: specifier: ^2.2.4 version: 2.2.4(rollup@4.60.4) rollup-plugin-postcss: specifier: ^4.0.2 - version: 4.0.2(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.8.0)(typescript@6.0.3)) + version: 4.0.2(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.9.0)(typescript@6.0.3)) tar: specifier: ^7.5.15 version: 7.5.15 @@ -317,19 +317,19 @@ importers: version: 28.0.0 ts-node: specifier: ^10.9.1 - version: 10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.8.0)(typescript@6.0.3) + version: 10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.9.0)(typescript@6.0.3) tsup: specifier: ^8.5.0 - version: 8.5.1(@swc/core@1.15.33(@swc/helpers@0.5.21))(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.1)(typescript@6.0.3) + version: 8.5.1(@swc/core@1.15.33(@swc/helpers@0.5.21))(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.2)(typescript@6.0.3) tsx: - specifier: ^4.22.1 - version: 4.22.1 + specifier: ^4.22.2 + version: 4.22.2 typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.6 - version: 4.1.6(@types/node@25.8.0)(jsdom@29.1.1)(msw@2.14.6(@types/node@25.8.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1)) + version: 4.1.6(@types/node@25.9.0)(jsdom@29.1.1)(msw@2.14.6(@types/node@25.9.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2)) packages: @@ -2775,11 +2775,11 @@ packages: '@swc/types@0.1.26': resolution: {integrity: sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==} - '@tanstack/query-core@5.100.10': - resolution: {integrity: sha512-8UR0yJR+GiQ40m3lPhUr0xbfAupe6GSQiksSBSa9SM2NjezFyxXCIA69/lz8cSoNKZLrw1/PktIyQBJcVeMi3w==} + '@tanstack/query-core@5.100.11': + resolution: {integrity: sha512-lmE0994apShXPj8CUxgx4ch5yUJhE9k/+tVwihBvPOyerACWdBocfFg24t8+0RhtlTd7tEgchDkhlCxNssvDxw==} - '@tanstack/react-query@5.100.10': - resolution: {integrity: sha512-FLaZf2RCrA/Zgp4aiu5tG3TyasTRO7aZ99skxQpr3Hg/zXOhu6yq5FZCYQ/tRaJtM9ylnoK8tFK7PolXQadv6Q==} + '@tanstack/react-query@5.100.11': + resolution: {integrity: sha512-J0f9s5x3LE1450nNNfYx+e/n0DMa0uOBdFJUy5r0RvmsXd4nB/n0rbHtHI1vYXhikNFan+wf51p6Tmp4c8ucrg==} peerDependencies: react: ^18 || ^19 @@ -2868,8 +2868,8 @@ packages: resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. - '@types/node@25.8.0': - resolution: {integrity: sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ==} + '@types/node@25.9.0': + resolution: {integrity: sha512-AOQwYUNolgy3VosiRqXrACUXTN8nJUtPl7FJXMqZVyxiiCLhQuG3jXKvCS1ALr+Y2OmZhzzLVlYPEqJaiqkaJQ==} '@types/pg@8.20.0': resolution: {integrity: sha512-bEPFOaMAHTEP1EzpvHTbmwR8UsFyHSKsRisLIHVMXnpNefSbGA1bD6CVy+qKjGSqmZqNqBDV2azOBo8TgkcVow==} @@ -3466,8 +3466,8 @@ packages: peerDependencies: date-fns: ^3.0.0 || ^4.0.0 - date-fns@4.1.0: - resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + date-fns@4.2.1: + resolution: {integrity: sha512-37RhSdxaG1suen6VDCza6rNrQfooyQh57HFVPwQGEq2QWliVLzPQZ8Oa017weOu+HZCnzI7N3Pf/wyoBKfEqrA==} debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} @@ -3763,8 +3763,8 @@ packages: fraction.js@5.3.4: resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - framer-motion@12.38.0: - resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} + framer-motion@12.39.0: + resolution: {integrity: sha512-+vnLfzrv0MzjLzNl+nvNvR7jdg3q4cxxjz/YvzfifHl0TREtL00cs1RoMTxs+1PzLiEqZGV6gYsBY0oEAYZ24w==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -4474,14 +4474,14 @@ packages: resolution: {integrity: sha512-7e87vk0DdWT647wjcfEtWeMtjm+zVGqNohN/aeIymbUfjHQ2T4Sx5kM+1irVDBSloNC3CkGKxswdMoo8yhqTDg==} engines: {node: '>=10', npm: '>=6'} - motion-dom@12.38.0: - resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} + motion-dom@12.39.0: + resolution: {integrity: sha512-Xn7aAcGDhco/JZTXOub64UmaYn73C6J1Po7Fk+8EvkJsNGTqfhon6UJY53vJKXW5v5Zl8HrYsVxv6oPXeGoGLQ==} - motion-utils@12.36.0: - resolution: {integrity: sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==} + motion-utils@12.39.0: + resolution: {integrity: sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==} - motion@12.38.0: - resolution: {integrity: sha512-uYfXzeHlgThchzwz5Te47dlv5JOUC7OB4rjJ/7XTUgtBZD8CchMN8qEJ4ZVsUmTyYA44zjV0fBwsiktRuFnn+w==} + motion@12.39.0: + resolution: {integrity: sha512-H4a+Ze+a9j+/NTla5ezfb/g9vmIOxC+viDj++NGDZyTZkdRKjiOz3kSv6TalRWM8ZmD2y/CfC6TkQc97ybyqSA==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -4727,30 +4727,30 @@ packages: perfect-debounce@2.1.0: resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} - pg-cloudflare@1.3.0: - resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==} + pg-cloudflare@1.4.0: + resolution: {integrity: sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==} - pg-connection-string@2.12.0: - resolution: {integrity: sha512-U7qg+bpswf3Cs5xLzRqbXbQl85ng0mfSV/J0nnA31MCLgvEaAo7CIhmeyrmJpOr7o+zm0rXK+hNnT5l9RHkCkQ==} + pg-connection-string@2.13.0: + resolution: {integrity: sha512-EMnU9E2fSULdsbErBbMaXJvFeD9B4+nPcM3f+4lsiCR0BHLPrLVjv3DbyM2hgQQviKJaTWIRRTjKjWlHg3p2ig==} pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} - pg-pool@3.13.0: - resolution: {integrity: sha512-gB+R+Xud1gLFuRD/QgOIgGOBE2KCQPaPwkzBBGC9oG69pHTkhQeIuejVIk3/cnDyX39av2AxomQiyPT13WKHQA==} + pg-pool@3.14.0: + resolution: {integrity: sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==} peerDependencies: pg: '>=8.0' - pg-protocol@1.13.0: - resolution: {integrity: sha512-zzdvXfS6v89r6v7OcFCHfHlyG/wvry1ALxZo4LqgUoy7W9xhBDMaqOuMiF3qEV45VqsN6rdlcehHrfDtlCPc8w==} + pg-protocol@1.14.0: + resolution: {integrity: sha512-n5taZ1kO3s9ngDTVxsEznOqCyToTgz0FLuPq0B33COy5pPpuWJpY3/2oRBVETuOgzdqRXfWpM9HIhp2LBBT1BA==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} - pg@8.20.0: - resolution: {integrity: sha512-ldhMxz2r8fl/6QkXnBD3CR9/xg694oT6DZQ2s6c/RI28OjtSOpxnPrUCGOBJ46RCUxcWdx3p6kw/xnDHjKvaRA==} + pg@8.21.0: + resolution: {integrity: sha512-AUP1EYJuHraQGsVoCQVIcM7TEJVGtDzxWtGFZd8rds9d+CCXlU5Js1rYgfLNvxy9iJrpHjGrRjoi/3BT9fRyiA==} engines: {node: '>= 16.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -5985,8 +5985,8 @@ packages: typescript: optional: true - tsx@4.22.1: - resolution: {integrity: sha512-TvncJykhxAzFCk0VQZKBTClall4Pm7qXDSodb6uxi8QFa8X8mT6ABjxxsQ2opDRYxG7AzcRWXaFtruz5HJKuWg==} + tsx@4.22.2: + resolution: {integrity: sha512-6w9FwtT8WQqRAyTNR+Z+86kghRqpmOLjXUrBlBT6T+CQGDuIMm0VmAqaFUFBIeKDTGobE6/YSigZYLeomzBaRg==} engines: {node: '>=18.0.0'} hasBin: true @@ -7694,30 +7694,30 @@ snapshots: '@inquirer/ansi@2.0.5': {} - '@inquirer/confirm@6.0.12(@types/node@25.8.0)': + '@inquirer/confirm@6.0.12(@types/node@25.9.0)': dependencies: - '@inquirer/core': 11.1.9(@types/node@25.8.0) - '@inquirer/type': 4.0.5(@types/node@25.8.0) + '@inquirer/core': 11.1.9(@types/node@25.9.0) + '@inquirer/type': 4.0.5(@types/node@25.9.0) optionalDependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.0 - '@inquirer/core@11.1.9(@types/node@25.8.0)': + '@inquirer/core@11.1.9(@types/node@25.9.0)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.9.0) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.0 '@inquirer/figures@2.0.5': {} - '@inquirer/type@4.0.5(@types/node@25.8.0)': + '@inquirer/type@4.0.5(@types/node@25.9.0)': optionalDependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.0 '@internationalized/date@3.11.0': dependencies: @@ -7926,7 +7926,7 @@ snapshots: dependencies: '@prisma/driver-adapter-utils': 7.8.0 '@types/pg': 8.20.0 - pg: 8.20.0 + pg: 8.21.0 postgres-array: 3.0.4 transitivePeerDependencies: - pg-native @@ -8614,11 +8614,11 @@ snapshots: dependencies: '@swc/counter': 0.1.3 - '@tanstack/query-core@5.100.10': {} + '@tanstack/query-core@5.100.11': {} - '@tanstack/react-query@5.100.10(react@19.2.6)': + '@tanstack/react-query@5.100.11(react@19.2.6)': dependencies: - '@tanstack/query-core': 5.100.10 + '@tanstack/query-core': 5.100.11 react: 19.2.6 '@testing-library/dom@10.4.1': @@ -8695,12 +8695,12 @@ snapshots: '@types/fs-extra@8.1.5': dependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.0 '@types/glob@7.2.0': dependencies: '@types/minimatch': 6.0.0 - '@types/node': 25.8.0 + '@types/node': 25.9.0 '@types/json-schema@7.0.15': {} @@ -8708,14 +8708,14 @@ snapshots: dependencies: minimatch: 10.2.5 - '@types/node@25.8.0': + '@types/node@25.9.0': dependencies: undici-types: 7.24.6 '@types/pg@8.20.0': dependencies: - '@types/node': 25.8.0 - pg-protocol: 1.13.0 + '@types/node': 25.9.0 + pg-protocol: 1.14.0 pg-types: 2.2.0 '@types/react-dom@19.2.3(@types/react@19.2.14)': @@ -8730,7 +8730,7 @@ snapshots: '@types/set-cookie-parser@2.4.10': dependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.0 '@types/statuses@2.0.6': {} @@ -8765,14 +8765,14 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.6(msw@2.14.6(@types/node@25.8.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1))': + '@vitest/mocker@4.1.6(msw@2.14.6(@types/node@25.9.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2))': dependencies: '@vitest/spy': 4.1.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - msw: 2.14.6(@types/node@25.8.0)(typescript@6.0.3) - vite: 8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1) + msw: 2.14.6(@types/node@25.9.0)(typescript@6.0.3) + vite: 8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2) '@vitest/pretty-format@4.1.6': dependencies: @@ -9022,10 +9022,10 @@ snapshots: dependencies: '@kurkle/color': 0.3.4 - chartjs-adapter-date-fns@3.0.0(chart.js@4.5.1)(date-fns@4.1.0): + chartjs-adapter-date-fns@3.0.0(chart.js@4.5.1)(date-fns@4.2.1): dependencies: chart.js: 4.5.1 - date-fns: 4.1.0 + date-fns: 4.2.1 chokidar@4.0.3: dependencies: @@ -9331,11 +9331,11 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.2 - date-fns-tz@3.2.0(date-fns@4.1.0): + date-fns-tz@3.2.0(date-fns@4.2.1): dependencies: - date-fns: 4.1.0 + date-fns: 4.2.1 - date-fns@4.1.0: {} + date-fns@4.2.1: {} debug@4.4.3: dependencies: @@ -9720,10 +9720,10 @@ snapshots: fraction.js@5.3.4: {} - framer-motion@12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + framer-motion@12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: - motion-dom: 12.38.0 - motion-utils: 12.36.0 + motion-dom: 12.39.0 + motion-utils: 12.39.0 tslib: 2.8.1 optionalDependencies: react: 19.2.6 @@ -10386,15 +10386,15 @@ snapshots: mmdb-lib@3.0.2: {} - motion-dom@12.38.0: + motion-dom@12.39.0: dependencies: - motion-utils: 12.36.0 + motion-utils: 12.39.0 - motion-utils@12.36.0: {} + motion-utils@12.39.0: {} - motion@12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + motion@12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6): dependencies: - framer-motion: 12.38.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + framer-motion: 12.39.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6) tslib: 2.8.1 optionalDependencies: react: 19.2.6 @@ -10402,9 +10402,9 @@ snapshots: ms@2.1.3: {} - msw@2.14.6(@types/node@25.8.0)(typescript@6.0.3): + msw@2.14.6(@types/node@25.9.0)(typescript@6.0.3): dependencies: - '@inquirer/confirm': 6.0.12(@types/node@25.8.0) + '@inquirer/confirm': 6.0.12(@types/node@25.9.0) '@mswjs/interceptors': 0.41.8 '@open-draft/deferred-promise': 3.0.0 '@types/statuses': 2.0.6 @@ -10649,18 +10649,18 @@ snapshots: perfect-debounce@2.1.0: {} - pg-cloudflare@1.3.0: + pg-cloudflare@1.4.0: optional: true - pg-connection-string@2.12.0: {} + pg-connection-string@2.13.0: {} pg-int8@1.0.1: {} - pg-pool@3.13.0(pg@8.20.0): + pg-pool@3.14.0(pg@8.21.0): dependencies: - pg: 8.20.0 + pg: 8.21.0 - pg-protocol@1.13.0: {} + pg-protocol@1.14.0: {} pg-types@2.2.0: dependencies: @@ -10670,15 +10670,15 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 - pg@8.20.0: + pg@8.21.0: dependencies: - pg-connection-string: 2.12.0 - pg-pool: 3.13.0(pg@8.20.0) - pg-protocol: 1.13.0 + pg-connection-string: 2.13.0 + pg-pool: 3.14.0(pg@8.21.0) + pg-protocol: 1.14.0 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: - pg-cloudflare: 1.3.0 + pg-cloudflare: 1.4.0 pgpass@1.0.5: dependencies: @@ -10874,21 +10874,21 @@ snapshots: '@csstools/utilities': 3.0.0(postcss@8.5.14) postcss: 8.5.14 - postcss-load-config@3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.8.0)(typescript@6.0.3)): + postcss-load-config@3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.9.0)(typescript@6.0.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.14 - ts-node: 10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.8.0)(typescript@6.0.3) + ts-node: 10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.9.0)(typescript@6.0.3) - postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.1): + postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.2): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.7.0 postcss: 8.5.14 - tsx: 4.22.1 + tsx: 4.22.2 postcss-logical@9.0.0(postcss@8.5.14): dependencies: @@ -11491,16 +11491,16 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.29.0 - rollup-plugin-node-externals@9.0.1(rollup@4.60.4)(vite@8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1)): + rollup-plugin-node-externals@9.0.1(rollup@4.60.4)(vite@8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2)): optionalDependencies: rollup: 4.60.4 - vite: 8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1) + vite: 8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2) rollup-plugin-peer-deps-external@2.2.4(rollup@4.60.4): dependencies: rollup: 4.60.4 - rollup-plugin-postcss@4.0.2(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.8.0)(typescript@6.0.3)): + rollup-plugin-postcss@4.0.2(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.9.0)(typescript@6.0.3)): dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 @@ -11509,7 +11509,7 @@ snapshots: p-queue: 6.6.2 pify: 5.0.0 postcss: 8.5.14 - postcss-load-config: 3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.8.0)(typescript@6.0.3)) + postcss-load-config: 3.1.4(postcss@8.5.14)(ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.9.0)(typescript@6.0.3)) postcss-modules: 4.3.1(postcss@8.5.14) promise.series: 0.2.0 resolve: 1.22.10 @@ -12006,14 +12006,14 @@ snapshots: '@ts-morph/common': 0.29.0 code-block-writer: 13.0.3 - ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.8.0)(typescript@6.0.3): + ts-node@10.9.2(@swc/core@1.15.33(@swc/helpers@0.5.21))(@types/node@25.9.0)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 25.8.0 + '@types/node': 25.9.0 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -12028,7 +12028,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.1(@swc/core@1.15.33(@swc/helpers@0.5.21))(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.1)(typescript@6.0.3): + tsup@8.5.1(@swc/core@1.15.33(@swc/helpers@0.5.21))(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.2)(typescript@6.0.3): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) cac: 6.7.14 @@ -12039,7 +12039,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.1) + postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.14)(tsx@4.22.2) resolve-from: 5.0.0 rollup: 4.60.4 source-map: 0.7.6 @@ -12057,7 +12057,7 @@ snapshots: - tsx - yaml - tsx@4.22.1: + tsx@4.22.2: dependencies: esbuild: 0.28.0 optionalDependencies: @@ -12170,7 +12170,7 @@ snapshots: vary@1.1.2: {} - vite@8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1): + vite@8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -12178,17 +12178,17 @@ snapshots: rolldown: 1.0.0-rc.18 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.0 esbuild: 0.28.0 fsevents: 2.3.3 jiti: 2.7.0 terser: 5.46.1 - tsx: 4.22.1 + tsx: 4.22.2 - vitest@4.1.6(@types/node@25.8.0)(jsdom@29.1.1)(msw@2.14.6(@types/node@25.8.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1)): + vitest@4.1.6(@types/node@25.9.0)(jsdom@29.1.1)(msw@2.14.6(@types/node@25.9.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2)): dependencies: '@vitest/expect': 4.1.6 - '@vitest/mocker': 4.1.6(msw@2.14.6(@types/node@25.8.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1)) + '@vitest/mocker': 4.1.6(msw@2.14.6(@types/node@25.9.0)(typescript@6.0.3))(vite@8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2)) '@vitest/pretty-format': 4.1.6 '@vitest/runner': 4.1.6 '@vitest/snapshot': 4.1.6 @@ -12205,10 +12205,10 @@ snapshots: tinyexec: 1.1.1 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.11(@types/node@25.8.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.1) + vite: 8.0.11(@types/node@25.9.0)(esbuild@0.28.0)(jiti@2.7.0)(terser@5.46.1)(tsx@4.22.2) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.8.0 + '@types/node': 25.9.0 jsdom: 29.1.1 transitivePeerDependencies: - msw diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 26d7fcc42..26254479c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -11,7 +11,13 @@ allowBuilds: ignoredBuiltDependencies: - esbuild - sharp + - '@parcel/watcher' + - cypress onlyBuiltDependencies: - '@prisma/client' - '@prisma/engines' + - '@swc/core' + - esbuild - prisma + - sharp + - unrs-resolver