diff --git a/app/entry.server.tsx b/app/entry.server.tsx
index f6c9843..a882c08 100644
--- a/app/entry.server.tsx
+++ b/app/entry.server.tsx
@@ -10,6 +10,7 @@ import { loadContext } from './utils/config/headplane'
await loadContext()
+export const streamTimeout = 5000
export default function handleRequest(
request: Request,
responseStatusCode: number,
@@ -27,7 +28,6 @@ export default function handleRequest(
,
{
[isBot ? 'onAllReady' : 'onShellReady']() {
@@ -57,6 +57,6 @@ export default function handleRequest(
},
)
- setTimeout(abort, 5000)
+ setTimeout(abort, streamTimeout + 1000)
})
}
diff --git a/app/routes.ts b/app/routes.ts
new file mode 100644
index 0000000..1185cfe
--- /dev/null
+++ b/app/routes.ts
@@ -0,0 +1,3 @@
+import { flatRoutes } from '@remix-run/fs-routes'
+
+export default flatRoutes()
diff --git a/app/routes/_data.acls._index/route.tsx b/app/routes/_data.acls._index/route.tsx
index 6108640..31376e5 100644
--- a/app/routes/_data.acls._index/route.tsx
+++ b/app/routes/_data.acls._index/route.tsx
@@ -1,6 +1,6 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
import { BeakerIcon, EyeIcon, IssueDraftIcon, PencilIcon } from '@primer/octicons-react'
-import { ActionFunctionArgs, json, LoaderFunctionArgs } from '@remix-run/node'
+import { ActionFunctionArgs, LoaderFunctionArgs } from '@remix-run/node'
import { useLoaderData, useRevalidator } from '@remix-run/react'
import { useDebounceFetcher } from 'remix-utils/use-debounce-fetcher'
import { useEffect, useState, useMemo } from 'react'
@@ -18,6 +18,7 @@ import { loadContext } from '~/utils/config/headplane'
import { loadConfig } from '~/utils/config/headscale'
import { HeadscaleError, pull, put } from '~/utils/headscale'
import { getSession } from '~/utils/sessions'
+import { send } from '~/utils/res'
import log from '~/utils/log'
import { Editor, Differ } from './cm.client'
@@ -116,9 +117,7 @@ export async function loader({ request }: LoaderFunctionArgs) {
export async function action({ request }: ActionFunctionArgs) {
const session = await getSession(request.headers.get('Cookie'))
if (!session.has('hsApiKey')) {
- return json({ success: false, error: null }, {
- status: 401,
- })
+ return send({ success: false, error: null }, 401)
}
try {
@@ -131,18 +130,18 @@ export async function action({ request }: ActionFunctionArgs) {
}
)
- return json({ success: true, policy, error: null })
+ return { success: true, policy, error: null }
} catch (error) {
log.debug('APIC', 'Failed to update ACL policy with error %s', error)
// @ts-ignore: Shut UP we know it's a string most of the time
const text = JSON.parse(error.message)
- return json({ success: false, error: text.message }, {
+ return send({ success: false, error: text.message }, {
status: error instanceof HeadscaleError ? error.status : 500,
})
}
- return json({ success: true, error: null })
+ return { success: true, error: null }
}
export default function Page() {
diff --git a/app/routes/_data.dns._index/route.tsx b/app/routes/_data.dns._index/route.tsx
index 8c7a92a..808edbe 100644
--- a/app/routes/_data.dns._index/route.tsx
+++ b/app/routes/_data.dns._index/route.tsx
@@ -43,16 +43,12 @@ export async function loader() {
export async function action({ request }: ActionFunctionArgs) {
const session = await getSession(request.headers.get('Cookie'))
if (!session.has('hsApiKey')) {
- return json({ success: false }, {
- status: 401,
- })
+ return send({ success: false }, 401)
}
const context = await loadContext()
if (!context.config.write) {
- return json({ success: false }, {
- status: 403,
- })
+ return send({ success: false }, 403)
}
const data = await request.json() as Record
@@ -62,7 +58,7 @@ export async function action({ request }: ActionFunctionArgs) {
await context.integration.onConfigChange(context.integration.context)
}
- return json({ success: true })
+ return { success: true }
}
export default function Page() {
diff --git a/app/routes/_data.machines._index/action.tsx b/app/routes/_data.machines._index/action.tsx
index 2053760..1144d92 100644
--- a/app/routes/_data.machines._index/action.tsx
+++ b/app/routes/_data.machines._index/action.tsx
@@ -1,21 +1,20 @@
-/* eslint-disable @typescript-eslint/no-non-null-assertion */
-import { ActionFunctionArgs, json } from '@remix-run/node'
-
+import { ActionFunctionArgs } from '@remix-run/node'
import { del, post } from '~/utils/headscale'
import { getSession } from '~/utils/sessions'
+import { send } from '~/utils/res'
import log from '~/utils/log'
export async function menuAction(request: ActionFunctionArgs['request']) {
const session = await getSession(request.headers.get('Cookie'))
if (!session.has('hsApiKey')) {
- return json({ message: 'Unauthorized' }, {
+ return send({ message: 'Unauthorized' }, {
status: 401,
})
}
const data = await request.formData()
if (!data.has('_method') || !data.has('id')) {
- return json({ message: 'No method or ID provided' }, {
+ return send({ message: 'No method or ID provided' }, {
status: 400,
})
}
@@ -26,17 +25,17 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
switch (method) {
case 'delete': {
await del(`v1/node/${id}`, session.get('hsApiKey')!)
- return json({ message: 'Machine removed' })
+ return { message: 'Machine removed' }
}
case 'expire': {
await post(`v1/node/${id}/expire`, session.get('hsApiKey')!)
- return json({ message: 'Machine expired' })
+ return { message: 'Machine expired' }
}
case 'rename': {
if (!data.has('name')) {
- return json({ message: 'No name provided' }, {
+ return send({ message: 'No name provided' }, {
status: 400,
})
}
@@ -44,12 +43,12 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
const name = String(data.get('name'))
await post(`v1/node/${id}/rename/${name}`, session.get('hsApiKey')!)
- return json({ message: 'Machine renamed' })
+ return { message: 'Machine renamed' }
}
case 'routes': {
if (!data.has('route') || !data.has('enabled')) {
- return json({ message: 'No route or enabled provided' }, {
+ return send({ message: 'No route or enabled provided' }, {
status: 400,
})
}
@@ -59,12 +58,12 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
const postfix = enabled ? 'enable' : 'disable'
await post(`v1/routes/${route}/${postfix}`, session.get('hsApiKey')!)
- return json({ message: 'Route updated' })
+ return { message: 'Route updated' }
}
case 'exit-node': {
if (!data.has('routes') || !data.has('enabled')) {
- return json({ message: 'No route or enabled provided' }, {
+ return send({ message: 'No route or enabled provided' }, {
status: 400,
})
}
@@ -77,12 +76,12 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
await post(`v1/routes/${route}/${postfix}`, session.get('hsApiKey')!)
}))
- return json({ message: 'Exit node updated' })
+ return { message: 'Exit node updated' }
}
case 'move': {
if (!data.has('to')) {
- return json({ message: 'No destination provided' }, {
+ return send({ message: 'No destination provided' }, {
status: 400,
})
}
@@ -91,9 +90,9 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
try {
await post(`v1/node/${id}/user?user=${to}`, session.get('hsApiKey')!)
- return json({ message: `Moved node ${id} to ${to}` })
+ return { message: `Moved node ${id} to ${to}` }
} catch {
- return json({ message: `Failed to move node ${id} to ${to}` }, {
+ return send({ message: `Failed to move node ${id} to ${to}` }, {
status: 500,
})
}
@@ -110,10 +109,10 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
tags,
})
- return json({ message: 'Tags updated' })
+ return { message: 'Tags updated' }
} catch (error) {
log.debug('APIC', 'Failed to update tags: %s', error)
- return json({ message: 'Failed to update tags' }, {
+ return send({ message: 'Failed to update tags' }, {
status: 500,
})
}
@@ -124,13 +123,13 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
const user = data.get('user')?.toString()
if (!key) {
- return json({ message: 'No machine key provided' }, {
+ return send({ message: 'No machine key provided' }, {
status: 400,
})
}
if (!user) {
- return json({ message: 'No user provided' }, {
+ return send({ message: 'No user provided' }, {
status: 400,
})
}
@@ -145,12 +144,12 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
user, key,
})
- return json({
+ return {
success: true,
message: 'Machine registered'
- })
+ }
} catch {
- return json({
+ return send({
success: false,
message: 'Failed to register machine'
}, {
@@ -160,7 +159,7 @@ export async function menuAction(request: ActionFunctionArgs['request']) {
}
default: {
- return json({ message: 'Invalid method' }, {
+ return send({ message: 'Invalid method' }, {
status: 400,
})
}
diff --git a/app/routes/_data.settings.auth-keys._index/route.tsx b/app/routes/_data.settings.auth-keys._index/route.tsx
index 5118bd6..ff409b7 100644
--- a/app/routes/_data.settings.auth-keys._index/route.tsx
+++ b/app/routes/_data.settings.auth-keys._index/route.tsx
@@ -1,4 +1,4 @@
-import { LoaderFunctionArgs, ActionFunctionArgs, json } from '@remix-run/node'
+import { LoaderFunctionArgs, ActionFunctionArgs } from '@remix-run/node'
import { useLoaderData } from '@remix-run/react'
import { useLiveData } from '~/utils/useLiveData'
import { getSession } from '~/utils/sessions'
@@ -7,6 +7,7 @@ import { PreAuthKey, User } from '~/types'
import { pull, post } from '~/utils/headscale'
import { loadContext } from '~/utils/config/headplane'
import { useState } from 'react'
+import { send } from '~/utils/res'
import Link from '~/components/Link'
import TableList from '~/components/TableList'
@@ -19,7 +20,7 @@ import AuthKeyRow from './key'
export async function action({ request }: ActionFunctionArgs) {
const session = await getSession(request.headers.get('Cookie'))
if (!session.has('hsApiKey')) {
- return json({ message: 'Unauthorized' }, {
+ return send({ message: 'Unauthorized' }, {
status: 401,
})
}
@@ -32,7 +33,7 @@ export async function action({ request }: ActionFunctionArgs) {
const user = data.get('user')
if (!key || !user) {
- return json({ message: 'Missing parameters' }, {
+ return send({ message: 'Missing parameters' }, {
status: 400,
})
}
@@ -46,7 +47,7 @@ export async function action({ request }: ActionFunctionArgs) {
}
)
- return json({ message: 'Pre-auth key expired' })
+ return { message: 'Pre-auth key expired' }
}
// Creating a new pre-auth key
@@ -57,7 +58,7 @@ export async function action({ request }: ActionFunctionArgs) {
const ephemeral = data.get('ephemeral')
if (!user || !expiry || !reusable || !ephemeral) {
- return json({ message: 'Missing parameters' }, {
+ return send({ message: 'Missing parameters' }, {
status: 400,
})
}
@@ -80,7 +81,7 @@ export async function action({ request }: ActionFunctionArgs) {
}
)
- return json({ message: 'Pre-auth key created', key })
+ return { message: 'Pre-auth key created', key }
}
}
diff --git a/app/routes/_data.users._index/route.tsx b/app/routes/_data.users._index/route.tsx
index 7a5039b..4d2a4ae 100644
--- a/app/routes/_data.users._index/route.tsx
+++ b/app/routes/_data.users._index/route.tsx
@@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
import { DataRef, DndContext, useDraggable, useDroppable } from '@dnd-kit/core'
import { PersonIcon } from '@primer/octicons-react'
-import { ActionFunctionArgs, json, LoaderFunctionArgs } from '@remix-run/node'
+import { ActionFunctionArgs, LoaderFunctionArgs } from '@remix-run/node'
import { useActionData, useLoaderData, useSubmit } from '@remix-run/react'
import { useEffect, useState } from 'react'
import { ClientOnly } from 'remix-utils/client-only'
@@ -17,6 +17,7 @@ import { loadConfig } from '~/utils/config/headscale'
import { del, post, pull } from '~/utils/headscale'
import { getSession } from '~/utils/sessions'
import { useLiveData } from '~/utils/useLiveData'
+import { send } from '~/utils/res'
import Auth from './auth'
import Oidc from './oidc'
@@ -56,16 +57,12 @@ export async function loader({ request }: LoaderFunctionArgs) {
export async function action({ request }: ActionFunctionArgs) {
const session = await getSession(request.headers.get('Cookie'))
if (!session.has('hsApiKey')) {
- return json({ message: 'Unauthorized' }, {
- status: 401,
- })
+ return send({ message: 'Unauthorized' }, 401)
}
const data = await request.formData()
if (!data.has('_method')) {
- return json({ message: 'No method provided' }, {
- status: 400,
- })
+ return send({ message: 'No method provided' }, 400)
}
const method = String(data.get('_method'))
@@ -73,9 +70,7 @@ export async function action({ request }: ActionFunctionArgs) {
switch (method) {
case 'create': {
if (!data.has('username')) {
- return json({ message: 'No name provided' }, {
- status: 400,
- })
+ return send({ message: 'No name provided' }, 400)
}
const username = String(data.get('username'))
@@ -83,39 +78,33 @@ export async function action({ request }: ActionFunctionArgs) {
name: username,
})
- return json({ message: `User ${username} created` })
+ return { message: `User ${username} created` }
}
case 'delete': {
if (!data.has('username')) {
- return json({ message: 'No name provided' }, {
- status: 400,
- })
+ return send({ message: 'No name provided' }, 400)
}
const username = String(data.get('username'))
await del(`v1/user/${username}`, session.get('hsApiKey')!)
- return json({ message: `User ${username} deleted` })
+ return { message: `User ${username} deleted` }
}
case 'rename': {
if (!data.has('old') || !data.has('new')) {
- return json({ message: 'No old or new name provided' }, {
- status: 400,
- })
+ return send({ message: 'No old or new name provided' }, 400)
}
const old = String(data.get('old'))
const newName = String(data.get('new'))
await post(`v1/user/${old}/rename/${newName}`, session.get('hsApiKey')!)
- return json({ message: `User ${old} renamed to ${newName}` })
+ return { message: `User ${old} renamed to ${newName}` }
}
case 'move': {
if (!data.has('id') || !data.has('to') || !data.has('name')) {
- return json({ message: 'No ID or destination provided' }, {
- status: 400,
- })
+ return send({ message: 'No ID or destination provided' }, 400)
}
const id = String(data.get('id'))
@@ -124,18 +113,14 @@ export async function action({ request }: ActionFunctionArgs) {
try {
await post(`v1/node/${id}/user?user=${to}`, session.get('hsApiKey')!)
- return json({ message: `Moved ${name} to ${to}` })
+ return { message: `Moved ${name} to ${to}` }
} catch {
- return json({ message: `Failed to move ${name} to ${to}` }, {
- status: 500,
- })
+ return send({ message: `Failed to move ${name} to ${to}` }, 500)
}
}
default: {
- return json({ message: 'Invalid method' }, {
- status: 400,
- })
+ return send({ message: 'Invalid method' }, 400)
}
}
}
diff --git a/app/routes/login.tsx b/app/routes/login.tsx
index 7a72a37..67a0e13 100644
--- a/app/routes/login.tsx
+++ b/app/routes/login.tsx
@@ -1,4 +1,4 @@
-import { type ActionFunctionArgs, json, type LoaderFunctionArgs, redirect } from '@remix-run/node'
+import { ActionFunctionArgs, LoaderFunctionArgs, redirect } from '@remix-run/node'
import { Form, useActionData, useLoaderData } from '@remix-run/react'
import { useMemo } from 'react'
@@ -6,7 +6,7 @@ import Button from '~/components/Button'
import Card from '~/components/Card'
import Code from '~/components/Code'
import TextField from '~/components/TextField'
-import { type Key } from '~/types'
+import { Key } from '~/types'
import { loadContext } from '~/utils/config/headplane'
import { pull } from '~/utils/headscale'
import { startOidc } from '~/utils/oidc'
@@ -81,9 +81,9 @@ export async function action({ request }: ActionFunctionArgs) {
},
})
} catch {
- return json({
+ return {
error: 'Invalid API key',
- })
+ }
}
}
diff --git a/app/utils/res.ts b/app/utils/res.ts
new file mode 100644
index 0000000..5329a19
--- /dev/null
+++ b/app/utils/res.ts
@@ -0,0 +1,5 @@
+import { data } from '@remix-run/node'
+
+export function send(payload: T, init?: number | ResponseInit) {
+ return data(payload, init)
+}
diff --git a/package.json b/package.json
index 15b48cf..f89d56a 100644
--- a/package.json
+++ b/package.json
@@ -17,8 +17,8 @@
"@primer/octicons-react": "^19.12.0",
"@react-aria/toast": "3.0.0-beta.12",
"@react-stately/toast": "3.0.0-beta.4",
- "@remix-run/node": "^2.13.1",
- "@remix-run/react": "^2.13.1",
+ "@remix-run/node": "^2.15.0",
+ "@remix-run/react": "^2.15.0",
"@shopify/lang-jsonc": "^1.0.0",
"@uiw/codemirror-theme-github": "^4.23.6",
"@uiw/react-codemirror": "^4.23.6",
@@ -41,7 +41,9 @@
"zod": "^3.23.8"
},
"devDependencies": {
- "@remix-run/dev": "^2.13.1",
+ "@remix-run/dev": "^2.15.0",
+ "@remix-run/fs-routes": "^2.15.0",
+ "@remix-run/route-config": "^2.15.0",
"@types/react": "npm:types-react@beta",
"@types/react-dom": "npm:types-react-dom@beta",
"autoprefixer": "^10.4.20",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 258ff0b..8760218 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -41,11 +41,11 @@ importers:
specifier: 3.0.0-beta.4
version: 3.0.0-beta.4(react@19.0.0-beta-26f2496093-20240514)
'@remix-run/node':
- specifier: ^2.13.1
- version: 2.13.1(typescript@5.6.3)
+ specifier: ^2.15.0
+ version: 2.15.0(typescript@5.6.3)
'@remix-run/react':
- specifier: ^2.13.1
- version: 2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)
+ specifier: ^2.15.0
+ version: 2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)
'@shopify/lang-jsonc':
specifier: ^1.0.0
version: 1.0.0(patch_hash=kv4he7q622clo6pnx2dz7va2yu)
@@ -87,7 +87,7 @@ importers:
version: 4.1.2(react@19.0.0-beta-26f2496093-20240514)
remix-utils:
specifier: ^7.7.0
- version: 7.7.0(@remix-run/node@2.13.1(typescript@5.6.3))(@remix-run/react@2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@remix-run/router@1.20.0)(react@19.0.0-beta-26f2496093-20240514)(zod@3.23.8)
+ version: 7.7.0(@remix-run/node@2.15.0(typescript@5.6.3))(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@remix-run/router@1.21.0)(react@19.0.0-beta-26f2496093-20240514)(zod@3.23.8)
tailwind-merge:
specifier: ^2.5.4
version: 2.5.4
@@ -108,8 +108,14 @@ importers:
version: 3.23.8
devDependencies:
'@remix-run/dev':
- specifier: ^2.13.1
- version: 2.13.1(@remix-run/react@2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@remix-run/serve@2.13.1(typescript@5.6.3))(@types/node@22.8.7)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7))
+ specifier: ^2.15.0
+ version: 2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1))
+ '@remix-run/fs-routes':
+ specifier: ^2.15.0
+ version: 2.15.0(@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)))(@remix-run/route-config@2.15.0(@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)))(typescript@5.6.3))(typescript@5.6.3)
+ '@remix-run/route-config':
+ specifier: ^2.15.0
+ version: 2.15.0(@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)))(typescript@5.6.3)
'@types/react':
specifier: npm:types-react@beta
version: types-react@19.0.0-beta.1
@@ -136,13 +142,13 @@ importers:
version: 5.6.3
vite:
specifier: ^5.4.10
- version: 5.4.10(@types/node@22.8.7)
+ version: 5.4.10(@types/node@22.10.1)
vite-plugin-babel:
specifier: ^1.2.0
- version: 1.2.0(@babel/core@7.26.0)(vite@5.4.10(@types/node@22.8.7))
+ version: 1.2.0(@babel/core@7.26.0)(vite@5.4.10(@types/node@22.10.1))
vite-tsconfig-paths:
specifier: ^5.1.0
- version: 5.1.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7))
+ version: 5.1.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1))
packages:
@@ -158,8 +164,8 @@ packages:
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.26.2':
- resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
+ '@babel/compat-data@7.26.3':
+ resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==}
engines: {node: '>=6.9.0'}
'@babel/core@7.26.0':
@@ -169,8 +175,8 @@ packages:
'@babel/generator@7.2.0':
resolution: {integrity: sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==}
- '@babel/generator@7.26.2':
- resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
+ '@babel/generator@7.26.3':
+ resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-annotate-as-pure@7.25.9':
@@ -215,10 +221,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-simple-access@7.25.9':
- resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
engines: {node: '>=6.9.0'}
@@ -247,8 +249,8 @@ packages:
resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.26.2':
- resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
+ '@babel/parser@7.26.3':
+ resolution: {integrity: sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -270,14 +272,14 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-modules-commonjs@7.25.9':
- resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==}
+ '@babel/plugin-transform-modules-commonjs@7.26.3':
+ resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-typescript@7.25.9':
- resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==}
+ '@babel/plugin-transform-typescript@7.26.3':
+ resolution: {integrity: sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -300,16 +302,16 @@ packages:
resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.25.9':
- resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
+ '@babel/traverse@7.26.4':
+ resolution: {integrity: sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==}
engines: {node: '>=6.9.0'}
'@babel/types@7.25.8':
resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.26.0':
- resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
+ '@babel/types@7.26.3':
+ resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==}
engines: {node: '>=6.9.0'}
'@codemirror/autocomplete@6.18.2':
@@ -714,8 +716,8 @@ packages:
peerDependencies:
jsep: ^0.4.0||^1.0.0
- '@jspm/core@2.1.0':
- resolution: {integrity: sha512-3sRl+pkyFY/kLmHl0cgHiFp2xEqErA8N3ECjMs7serSUBmoJ70lBa0PG5t0IM6WJgdZNyyI0R8YFfi5wM8+mzg==}
+ '@jspm/core@2.0.1':
+ resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==}
'@kubernetes/client-node@0.22.2':
resolution: {integrity: sha512-PPyzUVunPtgISnWNkCTSLp1SoZ3I13XOanrc8XAQRKp8XTnDF7VT9Sf3/haFmgnpONe4ORCtqrWueGp5fl8yzw==}
@@ -1286,13 +1288,13 @@ packages:
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0
- '@remix-run/dev@2.13.1':
- resolution: {integrity: sha512-7+06Dail6zMyRlRvgrZ4cmQjs2gUb+M24iP4jbmql+0B7VAAPwzCRU0x+BF5z8GSef13kDrH3iXv/BQ2O2yOgw==}
+ '@remix-run/dev@2.15.0':
+ resolution: {integrity: sha512-iXV6u9PBwFc7KriDpVcjqLGJzZZd6ZOrxewen7hoH0OBzGwjkhtm46BTQEJrZ/e/dzlU1IU/0ylH29tN9BZoyg==}
engines: {node: '>=18.0.0'}
hasBin: true
peerDependencies:
- '@remix-run/react': ^2.13.1
- '@remix-run/serve': ^2.13.1
+ '@remix-run/react': ^2.15.0
+ '@remix-run/serve': ^2.15.0
typescript: ^5.1.0
vite: ^5.1.0
wrangler: ^3.28.2
@@ -1306,18 +1308,19 @@ packages:
wrangler:
optional: true
- '@remix-run/express@2.13.1':
- resolution: {integrity: sha512-yl3/BSJ8eyvwUyWCLDq3NlS81mZFll9hnADNuSCCBrQgkMhEx7stk5JUmWdvmcmGqHw04Ahkq07ZqJeD4F1FMA==}
+ '@remix-run/fs-routes@2.15.0':
+ resolution: {integrity: sha512-AEGno1LRjxmiaWC64TN5gPwUwnBQr3lF5jzbm2tsRwl+qPbYCq+YPBrfVDcIIDRYOBf/PrByeoWjTMf8WPGGew==}
engines: {node: '>=18.0.0'}
peerDependencies:
- express: ^4.20.0
+ '@remix-run/dev': ^2.15.0
+ '@remix-run/route-config': ^2.15.0
typescript: ^5.1.0
peerDependenciesMeta:
typescript:
optional: true
- '@remix-run/node@2.13.1':
- resolution: {integrity: sha512-2ly7bENj2n2FNBdEN60ZEbNCs5dAOex/QJoo6EZ8RNFfUQxVKAZkMwfQ4ETV2SLWDgkRLj3Jo5n/dx7O2ZGhGw==}
+ '@remix-run/node@2.15.0':
+ resolution: {integrity: sha512-tWbR7pQ6gwj+MkGf6WVIYnjgfGfpdU8EOIa6xsCIRlrm0p3BtMz4jA3GvBWEpOuEnN5MV7CarVzhduaRzkZ0SQ==}
engines: {node: '>=18.0.0'}
peerDependencies:
typescript: ^5.1.0
@@ -1325,8 +1328,8 @@ packages:
typescript:
optional: true
- '@remix-run/react@2.13.1':
- resolution: {integrity: sha512-kZevCoKMz0ZDOOzTnG95yfM7M9ju38FkWNY1wtxCy+NnUJYrmTerGQtiBsJgMzYD6i29+w4EwoQsdqys7DmMSg==}
+ '@remix-run/react@2.15.0':
+ resolution: {integrity: sha512-puqDbi9N/WfaUhzDnw2pACXtCB7ukrtFJ9ILwpEuhlaTBpjefifJ89igokW+tt1ePphIFMivAm/YspcbZdCQsA==}
engines: {node: '>=18.0.0'}
peerDependencies:
react: ^18.0.0
@@ -1336,17 +1339,22 @@ packages:
typescript:
optional: true
- '@remix-run/router@1.20.0':
- resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==}
+ '@remix-run/route-config@2.15.0':
+ resolution: {integrity: sha512-i1m17W5jpOXsH5NyZfudHk89qOom/67faYX31qI8Zzv8fgj1hM2NYGoExcpumhL2tvMKSpEW4oE+95adrCGpGw==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ '@remix-run/dev': ^2.15.0
+ typescript: ^5.1.0
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@remix-run/router@1.21.0':
+ resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==}
engines: {node: '>=14.0.0'}
- '@remix-run/serve@2.13.1':
- resolution: {integrity: sha512-lKCU1ZnHaGknRAYII5PQOGch9xzK3Q68mcyN8clN6WoKQTn5fvWVE1nEDd1L7vyt5LPVI2b7HNQtVMow1g1vHg==}
- engines: {node: '>=18.0.0'}
- hasBin: true
-
- '@remix-run/server-runtime@2.13.1':
- resolution: {integrity: sha512-2DfBPRcHKVzE4bCNsNkKB50BhCCKF73x+jiS836OyxSIAL+x0tguV2AEjmGXefEXc5AGGzoxkus0AUUEYa29Vg==}
+ '@remix-run/server-runtime@2.15.0':
+ resolution: {integrity: sha512-FuM8vAg1sPskf4wn0ivbuj/7s9Qdh2wnKu+sVXqYz0a95gH5b73TuMzk6n3NMSkFVKKc6+UmlG1WLYre7L2LTg==}
engines: {node: '>=18.0.0'}
peerDependencies:
typescript: ^5.1.0
@@ -1502,8 +1510,8 @@ packages:
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
- '@types/node@22.8.7':
- resolution: {integrity: sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==}
+ '@types/node@22.10.1':
+ resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==}
'@types/prop-types@15.7.12':
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
@@ -1555,8 +1563,8 @@ packages:
'@vanilla-extract/babel-plugin-debug-ids@1.1.0':
resolution: {integrity: sha512-Zy9bKjaL2P5zsrFYQJ8IjWGlFODmZrpvFmjFE0Zv8om55Pz1JtpJtL6DvlxlWUxbVaP1HKCqsmEfFOZN8fX/ZQ==}
- '@vanilla-extract/css@1.16.0':
- resolution: {integrity: sha512-05JTbvG1E0IrSZKZ5el2EM9CmAX0XSdsNY+d4aRZxDvYf3/hwxomvFFEz2b/awjgg9yTVHW83Wq19wE4OoTEMg==}
+ '@vanilla-extract/css@1.16.1':
+ resolution: {integrity: sha512-3jKxH5ty/ZjmGoLAx8liY7e87FRCIJfnuufX/K9fQklu0YHP3ClrNisU++LkZuD+GZleqMSAQMF0r8Otln+OPQ==}
'@vanilla-extract/integration@6.5.0':
resolution: {integrity: sha512-E2YcfO8vA+vs+ua+gpvy1HRqvgWbI+MTlUpxA8FvatOvybuNcWAY0CKwQ/Gpj7rswYKtC6C7+xw33emM6/ImdQ==}
@@ -1678,10 +1686,6 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- basic-auth@2.0.1:
- resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
- engines: {node: '>= 0.8'}
-
bcrypt-pbkdf@1.0.2:
resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==}
@@ -1733,8 +1737,12 @@ packages:
resolution: {integrity: sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ call-bind-apply-helpers@1.0.0:
+ resolution: {integrity: sha512-CCKAP2tkPau7D3GE8+V8R6sQubA9R5foIzGp+85EXCVSCivuxBNAWqcpn72PKYiIcqoViv/kcUDpaEIMBVi1lQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
engines: {node: '>= 0.4'}
camelcase-css@2.0.1:
@@ -1831,14 +1839,6 @@ packages:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
- compressible@2.0.18:
- resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
- engines: {node: '>= 0.6'}
-
- compression@1.7.5:
- resolution: {integrity: sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==}
- engines: {node: '>= 0.8.0'}
-
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
@@ -1881,6 +1881,10 @@ packages:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
css-what@6.1.0:
resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
engines: {node: '>= 6'}
@@ -1918,6 +1922,15 @@ packages:
supports-color:
optional: true
+ debug@4.4.0:
+ resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
decode-named-character-reference@1.0.2:
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
@@ -2019,11 +2032,11 @@ packages:
es-module-lexer@1.5.4:
resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
- esbuild-plugins-node-modules-polyfill@1.6.7:
- resolution: {integrity: sha512-1lzsVFT/6OO1ZATHKZqSP+qYzyFo2d+QF9QzMKsyJR7GMRScYizYb1uEEE4NxTsBSxWviY3xnmN9dEOTaKFbJA==}
+ esbuild-plugins-node-modules-polyfill@1.6.8:
+ resolution: {integrity: sha512-bRB4qbgUDWrdY1eMk123KiaCSW9VzQ+QLZrmU7D//cCFkmksPd9mUMpmWoFK/rxjIeTfTSOpKCoGoimlvI+AWw==}
engines: {node: '>=14.0.0'}
peerDependencies:
- esbuild: '>=0.14.0 <=0.23.x'
+ esbuild: '>=0.14.0 <=0.24.x'
esbuild@0.17.6:
resolution: {integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==}
@@ -2087,8 +2100,8 @@ packages:
resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
engines: {node: '>=6'}
- express@4.21.1:
- resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==}
+ express@4.21.2:
+ resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
engines: {node: '>= 0.10.0'}
extend@3.0.2:
@@ -2222,6 +2235,10 @@ packages:
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
@@ -2253,6 +2270,10 @@ packages:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
has-tostringtag@1.0.2:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
@@ -2267,8 +2288,8 @@ packages:
hast-util-whitespace@2.0.1:
resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
- hosted-git-info@6.1.1:
- resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==}
+ hosted-git-info@6.1.3:
+ resolution: {integrity: sha512-HVJyzUrLIL1c0QmviVh5E8VGyUS7xCFPS6yydaVd1UegW+ibV/CohqTH9MkOLDp5o+rb82DMo77PTuc9F/8GKw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
http-errors@2.0.0:
@@ -2391,8 +2412,8 @@ packages:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
- is-reference@3.0.2:
- resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
+ is-reference@3.0.3:
+ resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
is-stream@2.0.1:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
@@ -2513,8 +2534,8 @@ packages:
resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
engines: {node: '>= 12.13.0'}
- local-pkg@0.5.0:
- resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ local-pkg@0.5.1:
+ resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
engines: {node: '>=14'}
locate-path@6.0.0:
@@ -2708,10 +2729,6 @@ packages:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
- mime-db@1.53.0:
- resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==}
- engines: {node: '>= 0.6'}
-
mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
@@ -2782,15 +2799,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
- mlly@1.7.2:
- resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
+ mlly@1.7.3:
+ resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==}
- modern-ahocorasick@1.0.1:
- resolution: {integrity: sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==}
-
- morgan@1.10.0:
- resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==}
- engines: {node: '>= 0.8.0'}
+ modern-ahocorasick@1.1.0:
+ resolution: {integrity: sha512-sEKPVl2rM+MNVkGQt3ChdmD8YsigmXdn5NifZn6jiwn9LRJpWm8F3guhaqrJT/JOat6pwpbXEk6kv+b9DMIjsQ==}
mri@1.2.0:
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
@@ -2818,10 +2831,6 @@ packages:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
- negotiator@0.6.4:
- resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==}
- engines: {node: '>= 0.6'}
-
node-releases@2.0.18:
resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
@@ -2874,21 +2883,14 @@ packages:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
- object-inspect@1.13.1:
- resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
-
- on-finished@2.3.0:
- resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
- engines: {node: '>= 0.8'}
+ object-inspect@1.13.3:
+ resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==}
+ engines: {node: '>= 0.4'}
on-finished@2.4.1:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'}
- on-headers@1.0.2:
- resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
- engines: {node: '>= 0.8'}
-
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@@ -2950,8 +2952,8 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
- path-to-regexp@0.1.10:
- resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
+ path-to-regexp@0.1.12:
+ resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==}
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
@@ -3028,14 +3030,14 @@ packages:
peerDependencies:
postcss: ^8.1.0
- postcss-modules-local-by-default@4.0.5:
- resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==}
+ postcss-modules-local-by-default@4.1.0:
+ resolution: {integrity: sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
- postcss-modules-scope@3.2.0:
- resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==}
+ postcss-modules-scope@3.2.1:
+ resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==}
engines: {node: ^10 || ^12 || >= 14}
peerDependencies:
postcss: ^8.1.0
@@ -3046,8 +3048,8 @@ packages:
peerDependencies:
postcss: ^8.1.0
- postcss-modules@6.0.0:
- resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==}
+ postcss-modules@6.0.1:
+ resolution: {integrity: sha512-zyo2sAkVvuZFFy0gc2+4O+xar5dYlaVy/ebO24KT0ftk/iJevSNyPyQellsBLlnccwh7f6V6Y4GvuKRYToNgpQ==}
peerDependencies:
postcss: ^8.0.0
@@ -3061,6 +3063,10 @@ packages:
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
engines: {node: '>=4'}
+ postcss-selector-parser@7.0.0:
+ resolution: {integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==}
+ engines: {node: '>=4'}
+
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
@@ -3182,15 +3188,15 @@ packages:
resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
engines: {node: '>=0.10.0'}
- react-router-dom@6.27.0:
- resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==}
+ react-router-dom@6.28.0:
+ resolution: {integrity: sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
react-dom: '>=16.8'
- react-router@6.27.0:
- resolution: {integrity: sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==}
+ react-router@6.28.0:
+ resolution: {integrity: sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==}
engines: {node: '>=14.0.0'}
peerDependencies:
react: '>=16.8'
@@ -3278,8 +3284,8 @@ packages:
require-like@0.1.2:
resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==}
- resolve.exports@2.0.2:
- resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
+ resolve.exports@2.0.3:
+ resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==}
engines: {node: '>=10'}
resolve@1.22.8:
@@ -3406,8 +3412,8 @@ packages:
spdx-expression-parse@3.0.1:
resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
- spdx-license-ids@3.0.17:
- resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
+ spdx-license-ids@3.0.20:
+ resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
sshpk@1.18.0:
resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}
@@ -3613,8 +3619,8 @@ packages:
ufo@1.5.4:
resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ undici-types@6.20.0:
+ resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
undici@6.20.1:
resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==}
@@ -3703,6 +3709,14 @@ packages:
engines: {node: '>=8'}
hasBin: true
+ valibot@0.41.0:
+ resolution: {integrity: sha512-igDBb8CTYr8YTQlOKgaN9nSS0Be7z+WRuaeYqGf3Cjz3aKmSnqEmYnkfVjzIuumGqfHpa3fLIvMEAfhrpqN8ng==}
+ peerDependencies:
+ typescript: '>=5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
@@ -3787,8 +3801,8 @@ packages:
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
engines: {node: '>= 8'}
- which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ which-typed-array@1.1.16:
+ resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==}
engines: {node: '>= 0.4'}
which@2.0.2:
@@ -3886,22 +3900,22 @@ snapshots:
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.26.2': {}
+ '@babel/compat-data@7.26.3': {}
'@babel/core@7.26.0':
dependencies:
'@ampproject/remapping': 2.3.0
'@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
+ '@babel/generator': 7.26.3
'@babel/helper-compilation-targets': 7.25.9
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
'@babel/helpers': 7.26.0
- '@babel/parser': 7.26.2
+ '@babel/parser': 7.26.3
'@babel/template': 7.25.9
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
convert-source-map: 2.0.0
- debug: 4.3.7
+ debug: 4.4.0
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -3916,21 +3930,21 @@ snapshots:
source-map: 0.5.7
trim-right: 1.0.1
- '@babel/generator@7.26.2':
+ '@babel/generator@7.26.3':
dependencies:
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
+ '@babel/parser': 7.26.3
+ '@babel/types': 7.26.3
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.0.2
'@babel/helper-annotate-as-pure@7.25.9':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
'@babel/helper-compilation-targets@7.25.9':
dependencies:
- '@babel/compat-data': 7.26.2
+ '@babel/compat-data': 7.26.3
'@babel/helper-validator-option': 7.25.9
browserslist: 4.24.2
lru-cache: 5.1.1
@@ -3944,22 +3958,22 @@ snapshots:
'@babel/helper-optimise-call-expression': 7.25.9
'@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
'@babel/helper-skip-transparent-expression-wrappers': 7.25.9
- '@babel/traverse': 7.25.9
+ '@babel/traverse': 7.26.4
semver: 6.3.1
transitivePeerDependencies:
- supports-color
'@babel/helper-member-expression-to-functions@7.25.9':
dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
'@babel/helper-module-imports@7.25.9':
dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
@@ -3968,13 +3982,13 @@ snapshots:
'@babel/core': 7.26.0
'@babel/helper-module-imports': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.25.9
+ '@babel/traverse': 7.26.4
transitivePeerDependencies:
- supports-color
'@babel/helper-optimise-call-expression@7.25.9':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
'@babel/helper-plugin-utils@7.25.9': {}
@@ -3983,21 +3997,14 @@ snapshots:
'@babel/core': 7.26.0
'@babel/helper-member-expression-to-functions': 7.25.9
'@babel/helper-optimise-call-expression': 7.25.9
- '@babel/traverse': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-simple-access@7.25.9':
- dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
transitivePeerDependencies:
- supports-color
'@babel/helper-skip-transparent-expression-wrappers@7.25.9':
dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
transitivePeerDependencies:
- supports-color
@@ -4014,11 +4021,11 @@ snapshots:
'@babel/helpers@7.26.0':
dependencies:
'@babel/template': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
- '@babel/parser@7.26.2':
+ '@babel/parser@7.26.3':
dependencies:
- '@babel/types': 7.26.0
+ '@babel/types': 7.26.3
'@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.0)':
dependencies:
@@ -4035,16 +4042,15 @@ snapshots:
'@babel/core': 7.26.0
'@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)':
+ '@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
'@babel/helper-plugin-utils': 7.25.9
- '@babel/helper-simple-access': 7.25.9
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.0)':
+ '@babel/plugin-transform-typescript@7.26.3(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
'@babel/helper-annotate-as-pure': 7.25.9
@@ -4061,8 +4067,8 @@ snapshots:
'@babel/helper-plugin-utils': 7.25.9
'@babel/helper-validator-option': 7.25.9
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
- '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0)
- '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0)
+ '@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0)
transitivePeerDependencies:
- supports-color
@@ -4077,17 +4083,17 @@ snapshots:
'@babel/template@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
+ '@babel/parser': 7.26.3
+ '@babel/types': 7.26.3
- '@babel/traverse@7.25.9':
+ '@babel/traverse@7.26.4':
dependencies:
'@babel/code-frame': 7.26.2
- '@babel/generator': 7.26.2
- '@babel/parser': 7.26.2
+ '@babel/generator': 7.26.3
+ '@babel/parser': 7.26.3
'@babel/template': 7.25.9
- '@babel/types': 7.26.0
- debug: 4.3.7
+ '@babel/types': 7.26.3
+ debug: 4.4.0
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@@ -4098,7 +4104,7 @@ snapshots:
'@babel/helper-validator-identifier': 7.25.7
to-fast-properties: 2.0.0
- '@babel/types@7.26.0':
+ '@babel/types@7.26.3':
dependencies:
'@babel/helper-string-parser': 7.25.9
'@babel/helper-validator-identifier': 7.25.9
@@ -4415,7 +4421,7 @@ snapshots:
dependencies:
jsep: 1.3.9
- '@jspm/core@2.1.0': {}
+ '@jspm/core@2.0.1': {}
'@kubernetes/client-node@0.22.2':
dependencies:
@@ -4500,7 +4506,7 @@ snapshots:
dependencies:
'@npmcli/git': 4.1.0
glob: 10.4.5
- hosted-git-info: 6.1.1
+ hosted-git-info: 6.1.3
json-parse-even-better-errors: 3.0.2
normalize-package-data: 5.0.0
proc-log: 3.0.0
@@ -5453,36 +5459,36 @@ snapshots:
'@react-types/shared': 3.23.1(react@19.0.0-beta-26f2496093-20240514)
react: 19.0.0-beta-26f2496093-20240514
- '@remix-run/dev@2.13.1(@remix-run/react@2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@remix-run/serve@2.13.1(typescript@5.6.3))(@types/node@22.8.7)(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7))':
+ '@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1))':
dependencies:
'@babel/core': 7.26.0
- '@babel/generator': 7.26.2
- '@babel/parser': 7.26.2
+ '@babel/generator': 7.26.3
+ '@babel/parser': 7.26.3
'@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0)
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
'@babel/preset-typescript': 7.26.0(@babel/core@7.26.0)
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
+ '@babel/traverse': 7.26.4
+ '@babel/types': 7.26.3
'@mdx-js/mdx': 2.3.0
'@npmcli/package-json': 4.0.1
- '@remix-run/node': 2.13.1(typescript@5.6.3)
- '@remix-run/react': 2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)
- '@remix-run/router': 1.20.0
- '@remix-run/server-runtime': 2.13.1(typescript@5.6.3)
+ '@remix-run/node': 2.15.0(typescript@5.6.3)
+ '@remix-run/react': 2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)
+ '@remix-run/router': 1.21.0
+ '@remix-run/server-runtime': 2.15.0(typescript@5.6.3)
'@types/mdx': 2.0.13
- '@vanilla-extract/integration': 6.5.0(@types/node@22.8.7)
+ '@vanilla-extract/integration': 6.5.0(@types/node@22.10.1)
arg: 5.0.2
cacache: 17.1.4
chalk: 4.1.2
chokidar: 3.6.0
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
dotenv: 16.4.5
es-module-lexer: 1.5.4
esbuild: 0.17.6
- esbuild-plugins-node-modules-polyfill: 1.6.7(esbuild@0.17.6)
+ esbuild-plugins-node-modules-polyfill: 1.6.8(esbuild@0.17.6)
execa: 5.1.1
exit-hook: 2.2.1
- express: 4.21.1
+ express: 4.21.2
fs-extra: 10.1.0
get-port: 5.1.1
gunzip-maybe: 1.4.2
@@ -5498,7 +5504,7 @@ snapshots:
postcss: 8.4.47
postcss-discard-duplicates: 5.1.0(postcss@8.4.47)
postcss-load-config: 4.0.2(postcss@8.4.47)
- postcss-modules: 6.0.0(postcss@8.4.47)
+ postcss-modules: 6.0.1(postcss@8.4.47)
prettier: 2.8.8
pretty-ms: 7.0.1
react-refresh: 0.14.2
@@ -5508,11 +5514,12 @@ snapshots:
set-cookie-parser: 2.7.1
tar-fs: 2.1.1
tsconfig-paths: 4.2.0
+ valibot: 0.41.0(typescript@5.6.3)
+ vite-node: 1.6.0(@types/node@22.10.1)
ws: 7.5.10
optionalDependencies:
- '@remix-run/serve': 2.13.1(typescript@5.6.3)
typescript: 5.6.3
- vite: 5.4.10(@types/node@22.8.7)
+ vite: 5.4.10(@types/node@22.10.1)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -5529,17 +5536,16 @@ snapshots:
- ts-node
- utf-8-validate
- '@remix-run/express@2.13.1(express@4.21.1)(typescript@5.6.3)':
+ '@remix-run/fs-routes@2.15.0(@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)))(@remix-run/route-config@2.15.0(@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)))(typescript@5.6.3))(typescript@5.6.3)':
dependencies:
- '@remix-run/node': 2.13.1(typescript@5.6.3)
- express: 4.21.1
+ '@remix-run/dev': 2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1))
+ '@remix-run/route-config': 2.15.0(@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)))(typescript@5.6.3)
optionalDependencies:
typescript: 5.6.3
- optional: true
- '@remix-run/node@2.13.1(typescript@5.6.3)':
+ '@remix-run/node@2.15.0(typescript@5.6.3)':
dependencies:
- '@remix-run/server-runtime': 2.13.1(typescript@5.6.3)
+ '@remix-run/server-runtime': 2.15.0(typescript@5.6.3)
'@remix-run/web-fetch': 4.4.2
'@web3-storage/multipart-parser': 1.0.0
cookie-signature: 1.2.2
@@ -5549,38 +5555,30 @@ snapshots:
optionalDependencies:
typescript: 5.6.3
- '@remix-run/react@2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)':
+ '@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)':
dependencies:
- '@remix-run/router': 1.20.0
- '@remix-run/server-runtime': 2.13.1(typescript@5.6.3)
+ '@remix-run/router': 1.21.0
+ '@remix-run/server-runtime': 2.15.0(typescript@5.6.3)
react: 19.0.0-beta-26f2496093-20240514
react-dom: 19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514)
- react-router: 6.27.0(react@19.0.0-beta-26f2496093-20240514)
- react-router-dom: 6.27.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)
+ react-router: 6.28.0(react@19.0.0-beta-26f2496093-20240514)
+ react-router-dom: 6.28.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)
turbo-stream: 2.4.0
optionalDependencies:
typescript: 5.6.3
- '@remix-run/router@1.20.0': {}
-
- '@remix-run/serve@2.13.1(typescript@5.6.3)':
+ '@remix-run/route-config@2.15.0(@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)))(typescript@5.6.3)':
dependencies:
- '@remix-run/express': 2.13.1(express@4.21.1)(typescript@5.6.3)
- '@remix-run/node': 2.13.1(typescript@5.6.3)
- chokidar: 3.6.0
- compression: 1.7.5
- express: 4.21.1
- get-port: 5.1.1
- morgan: 1.10.0
- source-map-support: 0.5.21
- transitivePeerDependencies:
- - supports-color
- - typescript
- optional: true
+ '@remix-run/dev': 2.15.0(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@types/node@22.10.1)(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1))
+ lodash: 4.17.21
+ optionalDependencies:
+ typescript: 5.6.3
- '@remix-run/server-runtime@2.13.1(typescript@5.6.3)':
+ '@remix-run/router@1.21.0': {}
+
+ '@remix-run/server-runtime@2.15.0(typescript@5.6.3)':
dependencies:
- '@remix-run/router': 1.20.0
+ '@remix-run/router': 1.21.0
'@types/cookie': 0.6.0
'@web3-storage/multipart-parser': 1.0.0
cookie: 0.6.0
@@ -5720,9 +5718,9 @@ snapshots:
'@types/ms@0.7.34': {}
- '@types/node@22.8.7':
+ '@types/node@22.10.1':
dependencies:
- undici-types: 6.19.8
+ undici-types: 6.20.0
'@types/prop-types@15.7.12': {}
@@ -5786,7 +5784,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@vanilla-extract/css@1.16.0':
+ '@vanilla-extract/css@1.16.1':
dependencies:
'@emotion/hash': 0.9.2
'@vanilla-extract/private': 1.0.6
@@ -5798,26 +5796,26 @@ snapshots:
deepmerge: 4.3.1
lru-cache: 10.4.3
media-query-parser: 2.0.2
- modern-ahocorasick: 1.0.1
+ modern-ahocorasick: 1.1.0
picocolors: 1.1.1
transitivePeerDependencies:
- babel-plugin-macros
- '@vanilla-extract/integration@6.5.0(@types/node@22.8.7)':
+ '@vanilla-extract/integration@6.5.0(@types/node@22.10.1)':
dependencies:
'@babel/core': 7.26.0
'@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
'@vanilla-extract/babel-plugin-debug-ids': 1.1.0
- '@vanilla-extract/css': 1.16.0
+ '@vanilla-extract/css': 1.16.1
esbuild: 0.17.6
eval: 0.1.8
find-up: 5.0.0
javascript-stringify: 2.1.0
lodash: 4.17.21
- mlly: 1.7.2
+ mlly: 1.7.3
outdent: 0.8.0
- vite: 5.4.10(@types/node@22.8.7)
- vite-node: 1.6.0(@types/node@22.8.7)
+ vite: 5.4.10(@types/node@22.10.1)
+ vite-node: 1.6.0(@types/node@22.10.1)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -5937,11 +5935,6 @@ snapshots:
base64-js@1.5.1: {}
- basic-auth@2.0.1:
- dependencies:
- safe-buffer: 5.1.2
- optional: true
-
bcrypt-pbkdf@1.0.2:
dependencies:
tweetnacl: 0.14.5
@@ -6018,11 +6011,15 @@ snapshots:
tar: 6.2.1
unique-filename: 3.0.0
- call-bind@1.0.7:
+ call-bind-apply-helpers@1.0.0:
dependencies:
- es-define-property: 1.0.0
es-errors: 1.3.0
function-bind: 1.1.2
+
+ call-bind@1.0.8:
+ dependencies:
+ call-bind-apply-helpers: 1.0.0
+ es-define-property: 1.0.0
get-intrinsic: 1.2.4
set-function-length: 1.2.2
@@ -6111,24 +6108,6 @@ snapshots:
commander@4.1.1: {}
- compressible@2.0.18:
- dependencies:
- mime-db: 1.53.0
- optional: true
-
- compression@1.7.5:
- dependencies:
- bytes: 3.1.2
- compressible: 2.0.18
- debug: 2.6.9
- negotiator: 0.6.4
- on-headers: 1.0.2
- safe-buffer: 5.2.1
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
- optional: true
-
confbox@0.1.8: {}
content-disposition@0.5.4:
@@ -6159,6 +6138,12 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
css-what@6.1.0: {}
cssesc@3.0.0: {}
@@ -6179,6 +6164,10 @@ snapshots:
dependencies:
ms: 2.1.3
+ debug@4.4.0:
+ dependencies:
+ ms: 2.1.3
+
decode-named-character-reference@1.0.2:
dependencies:
character-entities: 2.0.2
@@ -6255,12 +6244,12 @@ snapshots:
es-module-lexer@1.5.4: {}
- esbuild-plugins-node-modules-polyfill@1.6.7(esbuild@0.17.6):
+ esbuild-plugins-node-modules-polyfill@1.6.8(esbuild@0.17.6):
dependencies:
- '@jspm/core': 2.1.0
+ '@jspm/core': 2.0.1
esbuild: 0.17.6
- local-pkg: 0.5.0
- resolve.exports: 2.0.2
+ local-pkg: 0.5.1
+ resolve.exports: 2.0.3
esbuild@0.17.6:
optionalDependencies:
@@ -6354,14 +6343,14 @@ snapshots:
eval@0.1.8:
dependencies:
- '@types/node': 22.8.7
+ '@types/node': 22.10.1
require-like: 0.1.2
event-target-shim@5.0.1: {}
execa@5.1.1:
dependencies:
- cross-spawn: 7.0.3
+ cross-spawn: 7.0.6
get-stream: 6.0.1
human-signals: 2.1.0
is-stream: 2.0.1
@@ -6373,7 +6362,7 @@ snapshots:
exit-hook@2.2.1: {}
- express@4.21.1:
+ express@4.21.2:
dependencies:
accepts: 1.3.8
array-flatten: 1.1.1
@@ -6394,7 +6383,7 @@ snapshots:
methods: 1.1.2
on-finished: 2.4.1
parseurl: 1.3.3
- path-to-regexp: 0.1.10
+ path-to-regexp: 0.1.12
proxy-addr: 2.0.7
qs: 6.13.0
range-parser: 1.2.1
@@ -6547,6 +6536,8 @@ snapshots:
dependencies:
get-intrinsic: 1.2.4
+ gopd@1.2.0: {}
+
graceful-fs@4.2.11: {}
gunzip-maybe@1.4.2:
@@ -6575,9 +6566,11 @@ snapshots:
has-symbols@1.0.3: {}
+ has-symbols@1.1.0: {}
+
has-tostringtag@1.0.2:
dependencies:
- has-symbols: 1.0.3
+ has-symbols: 1.1.0
hasown@2.0.2:
dependencies:
@@ -6605,7 +6598,7 @@ snapshots:
hast-util-whitespace@2.0.1: {}
- hosted-git-info@6.1.1:
+ hosted-git-info@6.1.3:
dependencies:
lru-cache: 7.18.3
@@ -6665,7 +6658,7 @@ snapshots:
is-arguments@1.1.1:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
has-tostringtag: 1.0.2
is-binary-path@2.1.0:
@@ -6708,7 +6701,7 @@ snapshots:
is-plain-obj@4.1.0: {}
- is-reference@3.0.2:
+ is-reference@3.0.3:
dependencies:
'@types/estree': 1.0.6
@@ -6716,7 +6709,7 @@ snapshots:
is-typed-array@1.1.13:
dependencies:
- which-typed-array: 1.1.15
+ which-typed-array: 1.1.16
is-typedarray@1.0.0: {}
@@ -6800,9 +6793,9 @@ snapshots:
loader-utils@3.3.1: {}
- local-pkg@0.5.0:
+ local-pkg@0.5.1:
dependencies:
- mlly: 1.7.2
+ mlly: 1.7.3
pkg-types: 1.2.1
locate-path@6.0.0:
@@ -7153,7 +7146,7 @@ snapshots:
micromark@3.2.0:
dependencies:
'@types/debug': 4.1.12
- debug: 4.3.7
+ debug: 4.4.0
decode-named-character-reference: 1.0.2
micromark-core-commonmark: 1.1.0
micromark-factory-space: 1.1.0
@@ -7179,9 +7172,6 @@ snapshots:
mime-db@1.52.0: {}
- mime-db@1.53.0:
- optional: true
-
mime-types@2.1.35:
dependencies:
mime-db: 1.52.0
@@ -7234,25 +7224,14 @@ snapshots:
mkdirp@3.0.1: {}
- mlly@1.7.2:
+ mlly@1.7.3:
dependencies:
acorn: 8.14.0
pathe: 1.1.2
pkg-types: 1.2.1
ufo: 1.5.4
- modern-ahocorasick@1.0.1: {}
-
- morgan@1.10.0:
- dependencies:
- basic-auth: 2.0.1
- debug: 2.6.9
- depd: 2.0.0
- on-finished: 2.3.0
- on-headers: 1.0.2
- transitivePeerDependencies:
- - supports-color
- optional: true
+ modern-ahocorasick@1.1.0: {}
mri@1.2.0: {}
@@ -7272,14 +7251,11 @@ snapshots:
negotiator@0.6.3: {}
- negotiator@0.6.4:
- optional: true
-
node-releases@2.0.18: {}
normalize-package-data@5.0.0:
dependencies:
- hosted-git-info: 6.1.1
+ hosted-git-info: 6.1.3
is-core-module: 2.15.1
semver: 7.6.3
validate-npm-package-license: 3.0.4
@@ -7296,7 +7272,7 @@ snapshots:
npm-package-arg@10.1.0:
dependencies:
- hosted-git-info: 6.1.1
+ hosted-git-info: 6.1.3
proc-log: 3.0.0
semver: 7.6.3
validate-npm-package-name: 5.0.1
@@ -7323,20 +7299,12 @@ snapshots:
object-hash@3.0.0: {}
- object-inspect@1.13.1: {}
-
- on-finished@2.3.0:
- dependencies:
- ee-first: 1.1.1
- optional: true
+ object-inspect@1.13.3: {}
on-finished@2.4.1:
dependencies:
ee-first: 1.1.1
- on-headers@1.0.2:
- optional: true
-
once@1.4.0:
dependencies:
wrappy: 1.0.2
@@ -7407,7 +7375,7 @@ snapshots:
lru-cache: 10.2.2
minipass: 7.1.2
- path-to-regexp@0.1.10: {}
+ path-to-regexp@0.1.12: {}
pathe@1.1.2: {}
@@ -7423,7 +7391,7 @@ snapshots:
dependencies:
'@types/estree': 1.0.6
estree-walker: 3.0.3
- is-reference: 3.0.2
+ is-reference: 3.0.3
picocolors@1.1.1: {}
@@ -7438,7 +7406,7 @@ snapshots:
pkg-types@1.2.1:
dependencies:
confbox: 0.1.8
- mlly: 1.7.2
+ mlly: 1.7.3
pathe: 1.1.2
possible-typed-array-names@1.0.0: {}
@@ -7470,32 +7438,32 @@ snapshots:
dependencies:
postcss: 8.4.47
- postcss-modules-local-by-default@4.0.5(postcss@8.4.47):
+ postcss-modules-local-by-default@4.1.0(postcss@8.4.47):
dependencies:
icss-utils: 5.1.0(postcss@8.4.47)
postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ postcss-selector-parser: 7.0.0
postcss-value-parser: 4.2.0
- postcss-modules-scope@3.2.0(postcss@8.4.47):
+ postcss-modules-scope@3.2.1(postcss@8.4.47):
dependencies:
postcss: 8.4.47
- postcss-selector-parser: 6.1.2
+ postcss-selector-parser: 7.0.0
postcss-modules-values@4.0.0(postcss@8.4.47):
dependencies:
icss-utils: 5.1.0(postcss@8.4.47)
postcss: 8.4.47
- postcss-modules@6.0.0(postcss@8.4.47):
+ postcss-modules@6.0.1(postcss@8.4.47):
dependencies:
generic-names: 4.0.0
icss-utils: 5.1.0(postcss@8.4.47)
lodash.camelcase: 4.3.0
postcss: 8.4.47
postcss-modules-extract-imports: 3.1.0(postcss@8.4.47)
- postcss-modules-local-by-default: 4.0.5(postcss@8.4.47)
- postcss-modules-scope: 3.2.0(postcss@8.4.47)
+ postcss-modules-local-by-default: 4.1.0(postcss@8.4.47)
+ postcss-modules-scope: 3.2.1(postcss@8.4.47)
postcss-modules-values: 4.0.0(postcss@8.4.47)
string-hash: 1.1.3
@@ -7509,6 +7477,11 @@ snapshots:
cssesc: 3.0.0
util-deprecate: 1.0.2
+ postcss-selector-parser@7.0.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
postcss-value-parser@4.2.0: {}
postcss@8.4.47:
@@ -7686,16 +7659,16 @@ snapshots:
react-refresh@0.14.2: {}
- react-router-dom@6.27.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514):
+ react-router-dom@6.28.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514):
dependencies:
- '@remix-run/router': 1.20.0
+ '@remix-run/router': 1.21.0
react: 19.0.0-beta-26f2496093-20240514
react-dom: 19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514)
- react-router: 6.27.0(react@19.0.0-beta-26f2496093-20240514)
+ react-router: 6.28.0(react@19.0.0-beta-26f2496093-20240514)
- react-router@6.27.0(react@19.0.0-beta-26f2496093-20240514):
+ react-router@6.28.0(react@19.0.0-beta-26f2496093-20240514):
dependencies:
- '@remix-run/router': 1.20.0
+ '@remix-run/router': 1.21.0
react: 19.0.0-beta-26f2496093-20240514
react-stately@3.31.1(react@19.0.0-beta-26f2496093-20240514):
@@ -7789,13 +7762,13 @@ snapshots:
mdast-util-to-hast: 12.3.0
unified: 10.1.2
- remix-utils@7.7.0(@remix-run/node@2.13.1(typescript@5.6.3))(@remix-run/react@2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@remix-run/router@1.20.0)(react@19.0.0-beta-26f2496093-20240514)(zod@3.23.8):
+ remix-utils@7.7.0(@remix-run/node@2.15.0(typescript@5.6.3))(@remix-run/react@2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3))(@remix-run/router@1.21.0)(react@19.0.0-beta-26f2496093-20240514)(zod@3.23.8):
dependencies:
type-fest: 4.26.1
optionalDependencies:
- '@remix-run/node': 2.13.1(typescript@5.6.3)
- '@remix-run/react': 2.13.1(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)
- '@remix-run/router': 1.20.0
+ '@remix-run/node': 2.15.0(typescript@5.6.3)
+ '@remix-run/react': 2.15.0(react-dom@19.0.0-beta-26f2496093-20240514(react@19.0.0-beta-26f2496093-20240514))(react@19.0.0-beta-26f2496093-20240514)(typescript@5.6.3)
+ '@remix-run/router': 1.21.0
react: 19.0.0-beta-26f2496093-20240514
zod: 3.23.8
@@ -7824,7 +7797,7 @@ snapshots:
require-like@0.1.2: {}
- resolve.exports@2.0.2: {}
+ resolve.exports@2.0.3: {}
resolve@1.22.8:
dependencies:
@@ -7939,10 +7912,10 @@ snapshots:
side-channel@1.0.6:
dependencies:
- call-bind: 1.0.7
+ call-bind: 1.0.8
es-errors: 1.3.0
get-intrinsic: 1.2.4
- object-inspect: 1.13.1
+ object-inspect: 1.13.3
signal-exit@3.0.7: {}
@@ -7966,16 +7939,16 @@ snapshots:
spdx-correct@3.2.0:
dependencies:
spdx-expression-parse: 3.0.1
- spdx-license-ids: 3.0.17
+ spdx-license-ids: 3.0.20
spdx-exceptions@2.5.0: {}
spdx-expression-parse@3.0.1:
dependencies:
spdx-exceptions: 2.5.0
- spdx-license-ids: 3.0.17
+ spdx-license-ids: 3.0.20
- spdx-license-ids@3.0.17: {}
+ spdx-license-ids@3.0.20: {}
sshpk@1.18.0:
dependencies:
@@ -8209,7 +8182,7 @@ snapshots:
ufo@1.5.4: {}
- undici-types@6.19.8: {}
+ undici-types@6.20.0: {}
undici@6.20.1: {}
@@ -8296,7 +8269,7 @@ snapshots:
is-arguments: 1.1.1
is-generator-function: 1.0.10
is-typed-array: 1.1.13
- which-typed-array: 1.1.15
+ which-typed-array: 1.1.16
utils-merge@1.0.1: {}
@@ -8309,6 +8282,10 @@ snapshots:
kleur: 4.1.5
sade: 1.8.1
+ valibot@0.41.0(typescript@5.6.3):
+ optionalDependencies:
+ typescript: 5.6.3
+
validate-npm-package-license@3.0.4:
dependencies:
spdx-correct: 3.2.0
@@ -8336,13 +8313,13 @@ snapshots:
unist-util-stringify-position: 3.0.3
vfile-message: 3.1.4
- vite-node@1.6.0(@types/node@22.8.7):
+ vite-node@1.6.0(@types/node@22.10.1):
dependencies:
cac: 6.7.14
- debug: 4.3.7
+ debug: 4.4.0
pathe: 1.1.2
picocolors: 1.1.1
- vite: 5.4.10(@types/node@22.8.7)
+ vite: 5.4.10(@types/node@22.10.1)
transitivePeerDependencies:
- '@types/node'
- less
@@ -8354,29 +8331,29 @@ snapshots:
- supports-color
- terser
- vite-plugin-babel@1.2.0(@babel/core@7.26.0)(vite@5.4.10(@types/node@22.8.7)):
+ vite-plugin-babel@1.2.0(@babel/core@7.26.0)(vite@5.4.10(@types/node@22.10.1)):
dependencies:
'@babel/core': 7.26.0
- vite: 5.4.10(@types/node@22.8.7)
+ vite: 5.4.10(@types/node@22.10.1)
- vite-tsconfig-paths@5.1.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.8.7)):
+ vite-tsconfig-paths@5.1.0(typescript@5.6.3)(vite@5.4.10(@types/node@22.10.1)):
dependencies:
debug: 4.3.7
globrex: 0.1.2
tsconfck: 3.1.4(typescript@5.6.3)
optionalDependencies:
- vite: 5.4.10(@types/node@22.8.7)
+ vite: 5.4.10(@types/node@22.10.1)
transitivePeerDependencies:
- supports-color
- typescript
- vite@5.4.10(@types/node@22.8.7):
+ vite@5.4.10(@types/node@22.10.1):
dependencies:
esbuild: 0.21.5
postcss: 8.4.47
rollup: 4.24.4
optionalDependencies:
- '@types/node': 22.8.7
+ '@types/node': 22.10.1
fsevents: 2.3.3
w3c-keyname@2.2.8: {}
@@ -8393,12 +8370,12 @@ snapshots:
web-streams-polyfill@3.3.3: {}
- which-typed-array@1.1.15:
+ which-typed-array@1.1.16:
dependencies:
available-typed-arrays: 1.0.7
- call-bind: 1.0.7
+ call-bind: 1.0.8
for-each: 0.3.3
- gopd: 1.0.1
+ gopd: 1.2.0
has-tostringtag: 1.0.2
which@2.0.2:
diff --git a/vite.config.ts b/vite.config.ts
index 668b574..5b97cd9 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,12 +1,9 @@
import { vitePlugin as remix } from '@remix-run/dev'
-import { installGlobals } from '@remix-run/node'
import { defineConfig } from 'vite'
import babel from 'vite-plugin-babel'
import tsconfigPaths from 'vite-tsconfig-paths'
import { execSync } from 'node:child_process'
-installGlobals()
-
const prefix = process.env.__INTERNAL_PREFIX || '/admin'
if (prefix.endsWith('/')) {
throw new Error('Prefix must not end with a slash')
@@ -58,6 +55,14 @@ export default defineConfig(({ isSsrBuild }) => {
plugins: [
remix({
basename: `${prefix}/`,
+ future: {
+ v3_fetcherPersist: true,
+ v3_relativeSplatPath: true,
+ v3_throwAbortReason: true,
+ v3_lazyRouteDiscovery: true,
+ v3_singleFetch: true,
+ v3_routeConfig: true
+ },
}),
tsconfigPaths(),
babel({