myheats

Live heats, scoring and leaderboard for sport events
git clone https://git.in0rdr.ch/myheats.git
Log | Files | Refs | Pull requests |Archive | README | LICENSE

commit 547e9d4080e4fd86bda000d99bfb0c53d58ec198
parent 38d7ce3a85c6011ea806079619b620b7825b3350
Author: Andreas Gruhler <agruhl@gmx.ch>
Date:   Tue, 17 Mar 2026 08:32:53 +0100

feat: bump react-router to 7.13.1

* https://reactrouter.com/upgrading/v6

Diffstat:
Mpackage-lock.json | 56++++++++++++++++++++++++++++----------------------------
Mpackage.json | 2+-
Msrc/frontend/App.jsx | 2+-
Msrc/frontend/AuthVerify.jsx | 2+-
Msrc/frontend/Heats.jsx | 2+-
Msrc/frontend/Startlist.jsx | 2+-
6 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/package-lock.json b/package-lock.json @@ -15,7 +15,7 @@ "react": "^18.3.1", "react-cookie": "^7.2.2", "react-dom": "^18.3.1", - "react-router-dom": "^6.30.2", + "react-router": "^7.13.1", "react-select": "^5.10.2", "ws": "^8.18.3" }, @@ -1068,15 +1068,6 @@ "node": ">= 8" } }, - "node_modules/@remix-run/router": { - "version": "1.23.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.1.tgz", - "integrity": "sha512-vDbaOzF7yT2Qs4vO6XV1MHcJv+3dgR1sT+l3B8xxOVhUC336prMvqrvsLL/9Dnw2xr6Qhz4J0dmS0llNAbnUmQ==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.27", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", @@ -4226,35 +4217,38 @@ } }, "node_modules/react-router": { - "version": "6.30.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.2.tgz", - "integrity": "sha512-H2Bm38Zu1bm8KUE5NVWRMzuIyAV8p/JrOaBJAwVmp37AXG72+CZJlEBw6pdn9i5TBgLMhNDgijS4ZlblpHyWTA==", + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.1.tgz", + "integrity": "sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.23.1" + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=20.0.0" }, "peerDependencies": { - "react": ">=16.8" + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } } }, - "node_modules/react-router-dom": { - "version": "6.30.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.2.tgz", - "integrity": "sha512-l2OwHn3UUnEVUqc6/1VMmR1cvZryZ3j3NzapC2eUXO1dB0sYp5mvwdjiXhpUbRb21eFow3qSxpP8Yv6oAU824Q==", + "node_modules/react-router/node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", "license": "MIT", - "dependencies": { - "@remix-run/router": "1.23.1", - "react-router": "6.30.2" - }, "engines": { - "node": ">=14.0.0" + "node": ">=18" }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/react-select": { @@ -4549,6 +4543,12 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", diff --git a/package.json b/package.json @@ -18,7 +18,7 @@ "react": "^18.3.1", "react-cookie": "^7.2.2", "react-dom": "^18.3.1", - "react-router-dom": "^6.30.2", + "react-router": "^7.13.1", "react-select": "^5.10.2", "ws": "^8.18.3" }, diff --git a/src/frontend/App.jsx b/src/frontend/App.jsx @@ -1,5 +1,5 @@ import { Suspense, lazy, useState, useEffect, Fragment } from 'react' -import { BrowserRouter as Router, Routes, Route, Outlet, Link, NavLink } from 'react-router-dom' +import { BrowserRouter as Router, Routes, Route, Outlet, Link, NavLink } from 'react-router' import { CookiesProvider, useCookies } from 'react-cookie' import './css/App.css' diff --git a/src/frontend/AuthVerify.jsx b/src/frontend/AuthVerify.jsx @@ -1,6 +1,6 @@ import { useState, useEffect } from 'react' import { CookiesProvider, useCookies } from 'react-cookie' -import { useNavigate } from "react-router-dom" +import { useNavigate } from "react-router" const api_uri = import.meta.env.VITE_API_URI const api_port = import.meta.env.VITE_API_PORT diff --git a/src/frontend/Heats.jsx b/src/frontend/Heats.jsx @@ -1,5 +1,5 @@ import { lazy, useEffect, useState } from 'react' -import { generatePath, Link } from 'react-router-dom' +import { generatePath, Link } from 'react-router' import { exportHeatsToCSV } from './utils' const api_uri = import.meta.env.VITE_API_URI diff --git a/src/frontend/Startlist.jsx b/src/frontend/Startlist.jsx @@ -1,5 +1,5 @@ import { lazy, useEffect, useState } from 'react' -import { useParams } from 'react-router-dom' +import { useParams } from 'react-router' const Auth = lazy(() => import('./Auth')) import { addAthleteToHeat } from './Leaderboard' import Select from 'react-select'