diff --git a/apps/frontend/package.json b/apps/frontend/package.json
index e1d5d2d9..12bfe03e 100644
--- a/apps/frontend/package.json
+++ b/apps/frontend/package.json
@@ -33,6 +33,6 @@
"postcss": "^8.5.3",
"prettier-plugin-tailwindcss": "^0.6.11",
"tailwindcss": "^3.4.17",
- "vite": "^6.2.3"
+ "vite": "^6.2.4"
}
}
diff --git a/apps/frontend/public/service-worker.js b/apps/frontend/public/service-worker.js
index e402c616..a8379ce3 100644
--- a/apps/frontend/public/service-worker.js
+++ b/apps/frontend/public/service-worker.js
@@ -45,6 +45,9 @@ addEventListener('install', (event) => {
(async () => {
const cache = await getCache()
await cache.addAll(RESOURCE_LIST)
+
+ const offlineResponse = await fetch('/offline')
+ await cache.put('/offline', offlineResponse)
})()
)
@@ -93,7 +96,23 @@ addEventListener('fetch', (event) => {
return cachedResponse
}
- return await handleFetch(event.request, cache)
+ try {
+ return await handleFetch(event.request, cache)
+ } catch (error) {
+ console.error(
+ `Failed to fetch from network for ${event.request.url}:`,
+ error
+ )
+
+ const offlineResponse = await cache.match('/offline')
+ const offlineBody = await offlineResponse.text()
+
+ return new Response(offlineBody, {
+ status: 503,
+ statusText: 'Service Unavailable',
+ headers: { 'Content-Type': 'text/html' },
+ })
+ }
})()
)
})
diff --git a/apps/frontend/scripts/generate-resource-list.js b/apps/frontend/scripts/generate-resource-list.js
index c21d0de9..50edf4cb 100644
--- a/apps/frontend/scripts/generate-resource-list.js
+++ b/apps/frontend/scripts/generate-resource-list.js
@@ -22,11 +22,8 @@ const assetPaths = Object.values(manifest).flatMap((entry) => [
])
const favicons = ['icon.svg', 'icon-512.png', 'icon-192.png', '/favicon.ico']
-
const resourcesToCache = [...routesToCache, ...assetPaths, ...favicons]
-
const resourceList = `const RESOURCE_LIST = ${JSON.stringify(resourcesToCache, null, 2)};`
-
fs.writeFileSync(outputPath, resourceList)
console.log('Resource list generated:', outputPath)
diff --git a/apps/frontend/src/App.tsx b/apps/frontend/src/App.tsx
index ec02d5c1..d9faece9 100644
--- a/apps/frontend/src/App.tsx
+++ b/apps/frontend/src/App.tsx
@@ -11,7 +11,7 @@ import './index.css'
const router = createRouter({
scrollRestoration: true,
defaultHashScrollIntoView: { behavior: 'smooth' },
- defaultNotFoundComponent: DefaultNotFound,
+ defaultNotFoundComponent: () => ,
routeTree,
})
diff --git a/apps/frontend/src/components/DefaultNotFound.tsx b/apps/frontend/src/components/DefaultNotFound.tsx
index d2178b1d..656eeea4 100644
--- a/apps/frontend/src/components/DefaultNotFound.tsx
+++ b/apps/frontend/src/components/DefaultNotFound.tsx
@@ -1,6 +1,12 @@
import { useRouter, Link } from '@tanstack/react-router'
-export default function DefaultNotFound() {
+type DefaultNotFoundProps = {
+ message?: string
+}
+
+export default function DefaultNotFound({
+ message = 'page not found',
+}: DefaultNotFoundProps) {
const router = useRouter()
const faces = [
@@ -59,7 +65,7 @@ export default function DefaultNotFound() {
- page not found
+ {message}
diff --git a/apps/frontend/src/routes/blog.$blogId.lazy.tsx b/apps/frontend/src/routes/blog.$blogId.lazy.tsx
index c882121e..1a2eca47 100644
--- a/apps/frontend/src/routes/blog.$blogId.lazy.tsx
+++ b/apps/frontend/src/routes/blog.$blogId.lazy.tsx
@@ -30,8 +30,8 @@ function BlogPost() {
)
- if (error) return
- if (!post) return
+ if (error) return
+ if (!post) return
return (
diff --git a/apps/frontend/src/routes/blog.index.lazy.tsx b/apps/frontend/src/routes/blog.index.lazy.tsx
index f44b8d0b..fc2add2a 100644
--- a/apps/frontend/src/routes/blog.index.lazy.tsx
+++ b/apps/frontend/src/routes/blog.index.lazy.tsx
@@ -18,8 +18,9 @@ function Blog() {
Loading...
)
- if (error) return
- if (!data || !data.length) return
+ if (error) return
+ if (!data || !data.length)
+ return
const firstPost = data[0]
diff --git a/apps/frontend/src/routes/blog.search.tsx b/apps/frontend/src/routes/blog.search.tsx
index 1af2ed58..12ea5528 100644
--- a/apps/frontend/src/routes/blog.search.tsx
+++ b/apps/frontend/src/routes/blog.search.tsx
@@ -47,8 +47,8 @@ function BlogSearch() {
Loading...
)
- if (error) return
- if (!posts) return
+ if (error) return
+ if (!posts) return
return (
=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.25.1':
- resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==}
+ '@esbuild/android-arm64@0.25.2':
+ resolution: {integrity: sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.25.1':
- resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==}
+ '@esbuild/android-arm@0.25.2':
+ resolution: {integrity: sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.25.1':
- resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==}
+ '@esbuild/android-x64@0.25.2':
+ resolution: {integrity: sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.25.1':
- resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==}
+ '@esbuild/darwin-arm64@0.25.2':
+ resolution: {integrity: sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.1':
- resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==}
+ '@esbuild/darwin-x64@0.25.2':
+ resolution: {integrity: sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.25.1':
- resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==}
+ '@esbuild/freebsd-arm64@0.25.2':
+ resolution: {integrity: sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.1':
- resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==}
+ '@esbuild/freebsd-x64@0.25.2':
+ resolution: {integrity: sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.25.1':
- resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==}
+ '@esbuild/linux-arm64@0.25.2':
+ resolution: {integrity: sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.25.1':
- resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==}
+ '@esbuild/linux-arm@0.25.2':
+ resolution: {integrity: sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.25.1':
- resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==}
+ '@esbuild/linux-ia32@0.25.2':
+ resolution: {integrity: sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.25.1':
- resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==}
+ '@esbuild/linux-loong64@0.25.2':
+ resolution: {integrity: sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.25.1':
- resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==}
+ '@esbuild/linux-mips64el@0.25.2':
+ resolution: {integrity: sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.25.1':
- resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==}
+ '@esbuild/linux-ppc64@0.25.2':
+ resolution: {integrity: sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.1':
- resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==}
+ '@esbuild/linux-riscv64@0.25.2':
+ resolution: {integrity: sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.25.1':
- resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==}
+ '@esbuild/linux-s390x@0.25.2':
+ resolution: {integrity: sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.25.1':
- resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==}
+ '@esbuild/linux-x64@0.25.2':
+ resolution: {integrity: sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.1':
- resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==}
+ '@esbuild/netbsd-arm64@0.25.2':
+ resolution: {integrity: sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.1':
- resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==}
+ '@esbuild/netbsd-x64@0.25.2':
+ resolution: {integrity: sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.1':
- resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==}
+ '@esbuild/openbsd-arm64@0.25.2':
+ resolution: {integrity: sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.1':
- resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==}
+ '@esbuild/openbsd-x64@0.25.2':
+ resolution: {integrity: sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.25.1':
- resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==}
+ '@esbuild/sunos-x64@0.25.2':
+ resolution: {integrity: sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.25.1':
- resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==}
+ '@esbuild/win32-arm64@0.25.2':
+ resolution: {integrity: sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.25.1':
- resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==}
+ '@esbuild/win32-ia32@0.25.2':
+ resolution: {integrity: sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.25.1':
- resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==}
+ '@esbuild/win32-x64@0.25.2':
+ resolution: {integrity: sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
@@ -1345,8 +1345,8 @@ packages:
peerDependencies:
esbuild: latest
- esbuild@0.25.1:
- resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==}
+ esbuild@0.25.2:
+ resolution: {integrity: sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==}
engines: {node: '>=18'}
hasBin: true
@@ -2656,8 +2656,8 @@ packages:
vfile@6.0.3:
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
- vite@6.2.3:
- resolution: {integrity: sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==}
+ vite@6.2.4:
+ resolution: {integrity: sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
peerDependencies:
@@ -2885,7 +2885,7 @@ snapshots:
'@esbuild-kit/core-utils@3.3.2':
dependencies:
- esbuild: 0.25.1
+ esbuild: 0.25.2
source-map-support: 0.5.21
'@esbuild-kit/esm-loader@2.6.5':
@@ -2893,79 +2893,79 @@ snapshots:
'@esbuild-kit/core-utils': 3.3.2
get-tsconfig: 4.10.0
- '@esbuild/aix-ppc64@0.25.1':
+ '@esbuild/aix-ppc64@0.25.2':
optional: true
- '@esbuild/android-arm64@0.25.1':
+ '@esbuild/android-arm64@0.25.2':
optional: true
- '@esbuild/android-arm@0.25.1':
+ '@esbuild/android-arm@0.25.2':
optional: true
- '@esbuild/android-x64@0.25.1':
+ '@esbuild/android-x64@0.25.2':
optional: true
- '@esbuild/darwin-arm64@0.25.1':
+ '@esbuild/darwin-arm64@0.25.2':
optional: true
- '@esbuild/darwin-x64@0.25.1':
+ '@esbuild/darwin-x64@0.25.2':
optional: true
- '@esbuild/freebsd-arm64@0.25.1':
+ '@esbuild/freebsd-arm64@0.25.2':
optional: true
- '@esbuild/freebsd-x64@0.25.1':
+ '@esbuild/freebsd-x64@0.25.2':
optional: true
- '@esbuild/linux-arm64@0.25.1':
+ '@esbuild/linux-arm64@0.25.2':
optional: true
- '@esbuild/linux-arm@0.25.1':
+ '@esbuild/linux-arm@0.25.2':
optional: true
- '@esbuild/linux-ia32@0.25.1':
+ '@esbuild/linux-ia32@0.25.2':
optional: true
- '@esbuild/linux-loong64@0.25.1':
+ '@esbuild/linux-loong64@0.25.2':
optional: true
- '@esbuild/linux-mips64el@0.25.1':
+ '@esbuild/linux-mips64el@0.25.2':
optional: true
- '@esbuild/linux-ppc64@0.25.1':
+ '@esbuild/linux-ppc64@0.25.2':
optional: true
- '@esbuild/linux-riscv64@0.25.1':
+ '@esbuild/linux-riscv64@0.25.2':
optional: true
- '@esbuild/linux-s390x@0.25.1':
+ '@esbuild/linux-s390x@0.25.2':
optional: true
- '@esbuild/linux-x64@0.25.1':
+ '@esbuild/linux-x64@0.25.2':
optional: true
- '@esbuild/netbsd-arm64@0.25.1':
+ '@esbuild/netbsd-arm64@0.25.2':
optional: true
- '@esbuild/netbsd-x64@0.25.1':
+ '@esbuild/netbsd-x64@0.25.2':
optional: true
- '@esbuild/openbsd-arm64@0.25.1':
+ '@esbuild/openbsd-arm64@0.25.2':
optional: true
- '@esbuild/openbsd-x64@0.25.1':
+ '@esbuild/openbsd-x64@0.25.2':
optional: true
- '@esbuild/sunos-x64@0.25.1':
+ '@esbuild/sunos-x64@0.25.2':
optional: true
- '@esbuild/win32-arm64@0.25.1':
+ '@esbuild/win32-arm64@0.25.2':
optional: true
- '@esbuild/win32-ia32@0.25.1':
+ '@esbuild/win32-ia32@0.25.2':
optional: true
- '@esbuild/win32-x64@0.25.1':
+ '@esbuild/win32-x64@0.25.2':
optional: true
'@eslint-community/eslint-utils@4.5.1(eslint@9.23.0(jiti@1.21.7))':
@@ -3298,7 +3298,7 @@ snapshots:
optionalDependencies:
'@tanstack/react-router': 1.100.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- '@tanstack/router-plugin@1.114.30(@tanstack/react-router@1.100.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.2.3(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1))':
+ '@tanstack/router-plugin@1.114.30(@tanstack/react-router@1.100.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(vite@6.2.4(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1))':
dependencies:
'@babel/core': 7.26.10
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.10)
@@ -3319,7 +3319,7 @@ snapshots:
zod: 3.24.2
optionalDependencies:
'@tanstack/react-router': 1.100.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
- vite: 6.2.3(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1)
+ vite: 6.2.4(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1)
transitivePeerDependencies:
- supports-color
@@ -3498,10 +3498,10 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
- '@vitejs/plugin-react-swc@3.8.1(vite@6.2.3(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1))':
+ '@vitejs/plugin-react-swc@3.8.1(vite@6.2.4(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1))':
dependencies:
'@swc/core': 1.11.13
- vite: 6.2.3(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1)
+ vite: 6.2.4(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1)
transitivePeerDependencies:
- '@swc/helpers'
@@ -3791,8 +3791,8 @@ snapshots:
dependencies:
'@drizzle-team/brocli': 0.10.2
'@esbuild-kit/esm-loader': 2.6.5
- esbuild: 0.25.1
- esbuild-register: 3.6.0(esbuild@0.25.1)
+ esbuild: 0.25.2
+ esbuild-register: 3.6.0(esbuild@0.25.2)
gel: 2.0.1
transitivePeerDependencies:
- supports-color
@@ -3933,40 +3933,40 @@ snapshots:
esast-util-from-estree: 2.0.0
vfile-message: 4.0.2
- esbuild-register@3.6.0(esbuild@0.25.1):
+ esbuild-register@3.6.0(esbuild@0.25.2):
dependencies:
debug: 4.4.0
- esbuild: 0.25.1
+ esbuild: 0.25.2
transitivePeerDependencies:
- supports-color
- esbuild@0.25.1:
+ esbuild@0.25.2:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.1
- '@esbuild/android-arm': 0.25.1
- '@esbuild/android-arm64': 0.25.1
- '@esbuild/android-x64': 0.25.1
- '@esbuild/darwin-arm64': 0.25.1
- '@esbuild/darwin-x64': 0.25.1
- '@esbuild/freebsd-arm64': 0.25.1
- '@esbuild/freebsd-x64': 0.25.1
- '@esbuild/linux-arm': 0.25.1
- '@esbuild/linux-arm64': 0.25.1
- '@esbuild/linux-ia32': 0.25.1
- '@esbuild/linux-loong64': 0.25.1
- '@esbuild/linux-mips64el': 0.25.1
- '@esbuild/linux-ppc64': 0.25.1
- '@esbuild/linux-riscv64': 0.25.1
- '@esbuild/linux-s390x': 0.25.1
- '@esbuild/linux-x64': 0.25.1
- '@esbuild/netbsd-arm64': 0.25.1
- '@esbuild/netbsd-x64': 0.25.1
- '@esbuild/openbsd-arm64': 0.25.1
- '@esbuild/openbsd-x64': 0.25.1
- '@esbuild/sunos-x64': 0.25.1
- '@esbuild/win32-arm64': 0.25.1
- '@esbuild/win32-ia32': 0.25.1
- '@esbuild/win32-x64': 0.25.1
+ '@esbuild/aix-ppc64': 0.25.2
+ '@esbuild/android-arm': 0.25.2
+ '@esbuild/android-arm64': 0.25.2
+ '@esbuild/android-x64': 0.25.2
+ '@esbuild/darwin-arm64': 0.25.2
+ '@esbuild/darwin-x64': 0.25.2
+ '@esbuild/freebsd-arm64': 0.25.2
+ '@esbuild/freebsd-x64': 0.25.2
+ '@esbuild/linux-arm': 0.25.2
+ '@esbuild/linux-arm64': 0.25.2
+ '@esbuild/linux-ia32': 0.25.2
+ '@esbuild/linux-loong64': 0.25.2
+ '@esbuild/linux-mips64el': 0.25.2
+ '@esbuild/linux-ppc64': 0.25.2
+ '@esbuild/linux-riscv64': 0.25.2
+ '@esbuild/linux-s390x': 0.25.2
+ '@esbuild/linux-x64': 0.25.2
+ '@esbuild/netbsd-arm64': 0.25.2
+ '@esbuild/netbsd-x64': 0.25.2
+ '@esbuild/openbsd-arm64': 0.25.2
+ '@esbuild/openbsd-x64': 0.25.2
+ '@esbuild/sunos-x64': 0.25.2
+ '@esbuild/win32-arm64': 0.25.2
+ '@esbuild/win32-ia32': 0.25.2
+ '@esbuild/win32-x64': 0.25.2
escalade@3.2.0: {}
@@ -5524,7 +5524,7 @@ snapshots:
tsx@4.19.3:
dependencies:
- esbuild: 0.25.1
+ esbuild: 0.25.2
get-tsconfig: 4.10.0
optionalDependencies:
fsevents: 2.3.3
@@ -5655,9 +5655,9 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite@6.2.3(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1):
+ vite@6.2.4(@types/node@22.13.14)(jiti@1.21.7)(tsx@4.19.3)(yaml@2.7.1):
dependencies:
- esbuild: 0.25.1
+ esbuild: 0.25.2
postcss: 8.5.3
rollup: 4.38.0
optionalDependencies: