From c9733d2ecc7023dbe5f87de1fd87be6f5eb3b781 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue, 28 Jul 2026 11:56:16 +0000
Subject: [PATCH] Bump react-router from 7.14.0 to 8.3.0 in /frontend (#1743)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Bumps
[react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router)
from 7.14.0 to 8.3.0.
Release notes
Sourced from react-router's
releases.
v8.3.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v830
v8.2.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v820
v8.1.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v810
v8.0.1
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v801
v8.0.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v800
v7.18.1
See the changelog for release notes: https://github.com/remix-run/react-router/blob/v7/CHANGELOG.md#v7181
v7.18.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7180
v7.17.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7170
v7.16.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7160
v7.15.1
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7151
v7.15.0
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7150
v7.14.2
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7142
v7.14.1
See the changelog for release notes: https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v7141
Changelog
Sourced from react-router's
changelog.
v8.3.0
Patch Changes
- Encode path params in
href/generatePath
per RFC 3986 path-segment rules instead of
encodeURIComponent (#15310)
- Characters that are valid literally in a path segment (
$ &
+ , ; = : @ — RFC 3986 pchar) are no longer
percent-encoded, so values like a semver build 1.0.0+1
interpolate unchanged instead of becoming 1.0.0%2B1
- Structural/unsafe characters (
/ ? # %, whitespace,
non-ASCII) are still escaped exactly as before
- Use
crypto.randomUUID() for
createMemorySessionStorage session ids (#15302)
createMemorySessionStorage is only intended for local
development and testing - sessions are lost when the server
restarts
- Fix
NavLink not applying its pending state
when to has a trailing slash (#15300)
- Preserve RSC route component metadata so routes with a
clientLoader can skip unnecessary server requests once
their components have rendered while still fetching missing
server-rendered elements (#15323)
- Harden RSC CSRF code paths (#15311)
- Fix server crash (
TypeError: Invalid state: Unable to
enqueue) when a request is aborted while the RSC HTML stream has
a pending flush (#15286)
- Handle cancellation of the
injectRSCPayload readable
side, clear the pending flush, and cancel the underlying RSC payload
stream
Unstable Changes
⚠️ Unstable
features are not recommended for production use
-
Detect stale RSC clients during lazy route discovery and reload the
destination document (#15318)
Migration
Apps using the default RSC Framework entry do not need to make any
changes. Apps with a custom entry.rsc.tsx should import the
generated client version and pass it to
unstable_matchRSCServerRequest:
import clientVersion from
"virtual:react-router/unstable_rsc/client-version";
return unstable_matchRSCServerRequest({
// ...
clientVersion,
});
Add CSP nonce support to RSC document rendering (#15320)
- Add
nonce options to
unstable_routeRSCServerRequest and
unstable_RSCStaticRouter
- Forward the nonce to the HTML renderer and apply it to injected RSC
payload scripts and nonce-aware framework components
To adopt nonce-based CSP, update your entry.ssr.tsx (run
react-router reveal entry.ssr first in RSC Framework Mode)
to generate a fresh nonce for each request. Pass it to
routeRSCServerRequest, spread the renderHTML
options into React's HTML renderer, pass options.nonce to
RSCStaticRouter, and use the same nonce in the
Content-Security-Policy response header:
const nonce = crypto.randomUUID();
const response = await routeRSCServerRequest({
request,
serverResponse,
createFromReadableStream,
nonce,
async renderHTML(getPayload, options) {
const payload = getPayload();
return renderHTMLToReadableStream(
... (truncated)
Commits
2edaca7
Release v8.3.0 (#15294)
687ab72
Prep release notes
d2f1f1b
update changes files to use h4 instead of h3 (#15334)
8186207
fix(rsc): preserve component metadata for client loader revalidation (#15323)
c26e431
feat(rsc): support CSP nonces in document rendering (#15320)
6286f90
feat(rsc): reload stale clients after new deployments (#15318)
3d83ad4
docs: fix useLinkClickHandler defaultShouldRevalidate default
description (#1...
f75c89f
Update docs links to v8 API reference (#15316)
baa9ba6
fix: encode path params per RFC 3986 path-segment rules in
href/generatePath ...
69debd1
fix: apply NavLink pending state when the to prop has a trailing slash
(#15300)
- Additional commits viewable in compare
view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/evroon/bracket/network/alerts).
---------
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/pnpm-lock.yaml | 106 ++++++++++++++++++++++++++---------
frontend/pnpm-workspace.yaml | 4 ++
3 files changed, 83 insertions(+), 29 deletions(-)
create mode 100644 frontend/pnpm-workspace.yaml
diff --git a/frontend/package.json b/frontend/package.json
index ec2eb4d9..6e70cf70 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -41,7 +41,7 @@
"react-i18next": "17.0.1",
"react-icons": "5.6.0",
"react-qr-code": "2.0.18",
- "react-router": "7.14.0",
+ "react-router": "8.3.0",
"swr": "2.4.1",
"vite-tsconfig-paths": "^6.1.1"
},
diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml
index b4645948..9d6dd243 100644
--- a/frontend/pnpm-lock.yaml
+++ b/frontend/pnpm-lock.yaml
@@ -64,7 +64,7 @@ importers:
version: 26.0.3(typescript@5.9.3)
nuqs:
specifier: 2.8.9
- version: 2.8.9(react-router@7.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
+ version: 2.8.9(react-router@8.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0)
prettier-plugin-organize-imports:
specifier: ^4.3.0
version: 4.3.0(prettier@3.8.0)(typescript@5.9.3)
@@ -84,8 +84,8 @@ importers:
specifier: 2.0.18
version: 2.0.18(react@19.2.0)
react-router:
- specifier: 7.14.0
- version: 7.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ specifier: 8.3.0
+ version: 8.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
swr:
specifier: 2.4.1
version: 2.4.1(react@19.2.0)
@@ -460,6 +460,12 @@ packages:
cpu: [x64]
os: [win32]
+ '@eslint-community/eslint-utils@4.10.1':
+ resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
'@eslint-community/eslint-utils@4.9.1':
resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -696,36 +702,42 @@ packages:
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-arm64-musl@1.0.0-rc.15':
resolution: {integrity: sha512-ZvRYMGrAklV9PEkgt4LQM6MjQX2P58HPAuecwYObY2DhS2t35R0I810bKi0wmaYORt6m/2Sm+Z+nFgb0WhXNcQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.15':
resolution: {integrity: sha512-VDpgGBzgfg5hLg+uBpCLoFG5kVvEyafmfxGUV0UHLcL5irxAK7PKNeC2MwClgk6ZAiNhmo9FLhRYgvMmedLtnQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-s390x-gnu@1.0.0-rc.15':
resolution: {integrity: sha512-y1uXY3qQWCzcPgRJATPSOUP4tCemh4uBdY7e3EZbVwCJTY3gLJWnQABgeUetvED+bt1FQ01OeZwvhLS2bpNrAQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-x64-gnu@1.0.0-rc.15':
resolution: {integrity: sha512-023bTPBod7J3Y/4fzAN6QtpkSABR0rigtrwaP+qSEabUh5zf6ELr9Nc7GujaROuPY3uwdSIXWrvhn1KxOvurWA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@rolldown/binding-linux-x64-musl@1.0.0-rc.15':
resolution: {integrity: sha512-witB2O0/hU4CgfOOKUoeFgQ4GktPi1eEbAhaLAIpgD6+ZnhcPkUtPsoKKHRzmOoWPZue46IThdSgdo4XneOLYw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@rolldown/binding-openharmony-arm64@1.0.0-rc.15':
resolution: {integrity: sha512-UCL68NJ0Ud5zRipXZE9dF5PmirzJE4E4BCIOOssEnM7wLDsxjc6Qb0sGDxTNRTP53I6MZpygyCpY8Aa8sPfKPg==}
@@ -1097,8 +1109,8 @@ packages:
brace-expansion@1.1.14:
resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==}
- brace-expansion@2.1.0:
- resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==}
+ brace-expansion@2.1.2:
+ resolution: {integrity: sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==}
brace-expansion@5.0.5:
resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
@@ -1223,9 +1235,8 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- cookie@1.1.1:
- resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
- engines: {node: '>=18'}
+ cookie-es@3.1.1:
+ resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==}
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
@@ -1768,6 +1779,10 @@ packages:
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
engines: {node: '>= 4'}
+ ignore@7.0.6:
+ resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==}
+ engines: {node: '>= 4'}
+
import-fresh@3.3.1:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
@@ -2018,24 +2033,28 @@ packages:
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
lightningcss-linux-arm64-musl@1.32.0:
resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
engines: {node: '>= 12.0.0'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
lightningcss-linux-x64-gnu@1.32.0:
resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
lightningcss-linux-x64-musl@1.32.0:
resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
engines: {node: '>= 12.0.0'}
cpu: [x64]
os: [linux]
+ libc: [musl]
lightningcss-win32-arm64-msvc@1.32.0:
resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
@@ -2296,6 +2315,10 @@ packages:
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
engines: {node: '>=12'}
+ picomatch@4.0.5:
+ resolution: {integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==}
+ engines: {node: '>=12'}
+
pkg-types@2.3.0:
resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==}
@@ -2464,12 +2487,12 @@ packages:
'@types/react':
optional: true
- react-router@7.14.0:
- resolution: {integrity: sha512-m/xR9N4LQLmAS0ZhkY2nkPA1N7gQ5TUVa5n8TgANuDTARbn1gt+zLPXEm7W0XDTbrQ2AJSJKhoa6yx1D8BcpxQ==}
- engines: {node: '>=20.0.0'}
+ react-router@8.3.0:
+ resolution: {integrity: sha512-qyPMvW83jGIct3yiieisxdk9M745anqhpIMKN5m1t6yBMfgVPpt77aHOqs5fUlEJRMCGffg9BaQLH9oPVOL7xQ==}
+ engines: {node: '>=22.22.0'}
peerDependencies:
- react: '>=18'
- react-dom: '>=18'
+ react: '>=19.2.7'
+ react-dom: '>=19.2.7'
peerDependenciesMeta:
react-dom:
optional: true
@@ -2583,8 +2606,10 @@ packages:
engines: {node: '>=10'}
hasBin: true
- set-cookie-parser@2.7.2:
- resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==}
+ semver@7.8.5:
+ resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==}
+ engines: {node: '>=10'}
+ hasBin: true
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
@@ -2744,6 +2769,10 @@ packages:
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
engines: {node: '>=12.0.0'}
+ tinyglobby@0.2.17:
+ resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
+ engines: {node: '>=12.0.0'}
+
tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
@@ -2760,6 +2789,7 @@ packages:
tsconfck@3.1.6:
resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==}
engines: {node: ^18 || >=20}
+ deprecated: unmaintained
hasBin: true
peerDependencies:
typescript: ^5.0.0
@@ -3021,6 +3051,9 @@ packages:
zod@4.3.6:
resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
+ignoredOptionalDependencies:
+ - esbuild
+
snapshots:
'@babel/code-frame@7.29.0':
@@ -3293,6 +3326,11 @@ snapshots:
'@esbuild/win32-x64@0.27.7':
optional: true
+ '@eslint-community/eslint-utils@4.10.1(eslint@9.39.2(jiti@2.6.1))':
+ dependencies:
+ eslint: 9.39.2(jiti@2.6.1)
+ eslint-visitor-keys: 3.4.3
+
'@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))':
dependencies:
eslint: 9.39.2(jiti@2.6.1)
@@ -3641,7 +3679,7 @@ snapshots:
'@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.55.0
eslint: 9.39.2(jiti@2.6.1)
- ignore: 7.0.5
+ ignore: 7.0.6
natural-compare: 1.4.0
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
@@ -3780,8 +3818,8 @@ snapshots:
'@typescript-eslint/visitor-keys': 8.55.0
debug: 4.4.3
minimatch: 9.0.9
- semver: 7.7.4
- tinyglobby: 0.2.16
+ semver: 7.8.5
+ tinyglobby: 0.2.17
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
@@ -3819,7 +3857,7 @@ snapshots:
'@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.2(jiti@2.6.1))
'@typescript-eslint/scope-manager': 8.55.0
'@typescript-eslint/types': 8.55.0
'@typescript-eslint/typescript-estree': 8.55.0(typescript@5.9.3)
@@ -4011,7 +4049,7 @@ snapshots:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@2.1.0:
+ brace-expansion@2.1.2:
dependencies:
balanced-match: 1.0.2
@@ -4139,7 +4177,7 @@ snapshots:
convert-source-map@2.0.0: {}
- cookie@1.1.1: {}
+ cookie-es@3.1.1: {}
core-util-is@1.0.3: {}
@@ -4639,6 +4677,10 @@ snapshots:
optionalDependencies:
picomatch: 4.0.4
+ fdir@6.5.0(picomatch@4.0.5):
+ optionalDependencies:
+ picomatch: 4.0.5
+
file-entry-cache@8.0.0:
dependencies:
flat-cache: 4.0.1
@@ -4835,6 +4877,8 @@ snapshots:
ignore@7.0.5: {}
+ ignore@7.0.6: {}
+
import-fresh@3.3.1:
dependencies:
parent-module: 1.0.1
@@ -5139,7 +5183,7 @@ snapshots:
minimatch@9.0.9:
dependencies:
- brace-expansion: 2.1.0
+ brace-expansion: 2.1.2
minimist@1.2.8: {}
@@ -5186,12 +5230,12 @@ snapshots:
npm-check-updates@20.0.0: {}
- nuqs@2.8.9(react-router@7.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0):
+ nuqs@2.8.9(react-router@8.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0):
dependencies:
'@standard-schema/spec': 1.0.0
react: 19.2.0
optionalDependencies:
- react-router: 7.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
+ react-router: 8.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
nypm@0.6.5:
dependencies:
@@ -5319,6 +5363,8 @@ snapshots:
picomatch@4.0.4: {}
+ picomatch@4.0.5: {}
+
pkg-types@2.3.0:
dependencies:
confbox: 0.2.4
@@ -5466,11 +5512,10 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.14
- react-router@7.14.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
+ react-router@8.3.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
dependencies:
- cookie: 1.1.1
+ cookie-es: 3.1.1
react: 19.2.0
- set-cookie-parser: 2.7.2
optionalDependencies:
react-dom: 19.2.0(react@19.2.0)
@@ -5617,7 +5662,7 @@ snapshots:
semver@7.7.4: {}
- set-cookie-parser@2.7.2: {}
+ semver@7.8.5: {}
set-function-length@1.2.2:
dependencies:
@@ -5811,6 +5856,11 @@ snapshots:
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
+ tinyglobby@0.2.17:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.5)
+ picomatch: 4.0.5
+
tr46@0.0.3: {}
ts-api-utils@2.5.0(typescript@5.9.3):
diff --git a/frontend/pnpm-workspace.yaml b/frontend/pnpm-workspace.yaml
new file mode 100644
index 00000000..977c4e17
--- /dev/null
+++ b/frontend/pnpm-workspace.yaml
@@ -0,0 +1,4 @@
+ignoredOptionalDependencies:
+ - esbuild
+allowBuilds:
+ esbuild: false