From ebb0d046b2379f588d0490fe09ff7c44164ae1e0 Mon Sep 17 00:00:00 2001 From: Alessandro Cuppari Date: Tue, 5 Mar 2024 10:10:25 +0000 Subject: [PATCH 01/11] fix: updated vinxi ssr example with streaming --- .gitignore | 1 + .../vinxi-basic-ssr-streaming/.gitignore | 1 + .../vinxi-basic-ssr-streaming/app.config.js | 4 +- .../vinxi-basic-ssr-streaming/app/client.tsx | 6 +- .../app/routeTree.gen.ts | 27 ++-- .../vinxi-basic-ssr-streaming/app/router.tsx | 16 ++- .../app/routes/__root.tsx | 34 ++--- .../app/routes/hello.lazy.tsx | 8 +- .../app/routes/hello.tsx | 3 +- .../app/routes/no-title.tsx | 31 +++++ .../vinxi-basic-ssr-streaming/app/server.tsx | 129 ++++++++++++++---- .../vinxi-basic-ssr-streaming/package.json | 2 +- 12 files changed, 189 insertions(+), 73 deletions(-) create mode 100644 examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx diff --git a/.gitignore b/.gitignore index 23f25fd8a56..c37bfc35315 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ gpt/db.json vite.config.js.timestamp-* vite.config.ts.timestamp-* +.idea \ No newline at end of file diff --git a/examples/react/vinxi-basic-ssr-streaming/.gitignore b/examples/react/vinxi-basic-ssr-streaming/.gitignore index 7c31f84310b..188f138c053 100644 --- a/examples/react/vinxi-basic-ssr-streaming/.gitignore +++ b/examples/react/vinxi-basic-ssr-streaming/.gitignore @@ -5,3 +5,4 @@ dist-ssr *.local .vinxi .output +.idea \ No newline at end of file diff --git a/examples/react/vinxi-basic-ssr-streaming/app.config.js b/examples/react/vinxi-basic-ssr-streaming/app.config.js index 8d8a795b500..ea6866446c0 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app.config.js +++ b/examples/react/vinxi-basic-ssr-streaming/app.config.js @@ -13,7 +13,7 @@ export default createApp({ }, { name: 'ssr', - mode: 'handler', + mode: 'http', middleware: './app/middleware.tsx', handler: './app/server.tsx', target: 'server', @@ -21,7 +21,7 @@ export default createApp({ }, { name: 'client', - mode: 'build', + mode: 'client', handler: './app/client.tsx', target: 'browser', plugins: () => [ diff --git a/examples/react/vinxi-basic-ssr-streaming/app/client.tsx b/examples/react/vinxi-basic-ssr-streaming/app/client.tsx index 83b4ca95e4c..6d465664ff5 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/client.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/client.tsx @@ -1,5 +1,4 @@ /// -import React from 'react' import { Root, hydrateRoot } from 'react-dom/client' import 'vinxi/client' @@ -14,8 +13,11 @@ function render(mod?: any) { const app = if (!mod) { + // Initial + router.hydrate() window.$root = hydrateRoot(document, app) } else { + // Hot window.$root?.render(app) } } @@ -32,4 +34,4 @@ declare global { interface Window { $root?: Root } -} +} \ No newline at end of file diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts b/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts index bffcb80f7a2..f1b2e4c4ee4 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts +++ b/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts @@ -8,31 +8,26 @@ // This file is auto-generated by TanStack Router -import { createFileRoute } from '@tanstack/react-router' - // Import Routes import { Route as rootRoute } from './routes/__root' import { Route as TestImport } from './routes/test' +import { Route as NoTitleImport } from './routes/no-title' import { Route as HelloImport } from './routes/hello' import { Route as IndexImport } from './routes/index' -// Create Virtual Routes - -const NoTitleLazyImport = createFileRoute('/no-title')() - // Create/Update Routes -const NoTitleLazyRoute = NoTitleLazyImport.update({ - path: '/no-title', - getParentRoute: () => rootRoute, -} as any).lazy(() => import('./routes/no-title.lazy').then((d) => d.Route)) - const TestRoute = TestImport.update({ path: '/test', getParentRoute: () => rootRoute, } as any) +const NoTitleRoute = NoTitleImport.update({ + path: '/no-title', + getParentRoute: () => rootRoute, +} as any).lazy(() => import('./routes/no-title.lazy').then((d) => d.Route)) + const HelloRoute = HelloImport.update({ path: '/hello', getParentRoute: () => rootRoute, @@ -55,12 +50,12 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof HelloImport parentRoute: typeof rootRoute } - '/test': { - preLoaderRoute: typeof TestImport + '/no-title': { + preLoaderRoute: typeof NoTitleImport parentRoute: typeof rootRoute } - '/no-title': { - preLoaderRoute: typeof NoTitleLazyImport + '/test': { + preLoaderRoute: typeof TestImport parentRoute: typeof rootRoute } } @@ -71,8 +66,8 @@ declare module '@tanstack/react-router' { export const routeTree = rootRoute.addChildren([ IndexRoute, HelloRoute, + NoTitleRoute, TestRoute, - NoTitleLazyRoute, ]) /* prettier-ignore-end */ diff --git a/examples/react/vinxi-basic-ssr-streaming/app/router.tsx b/examples/react/vinxi-basic-ssr-streaming/app/router.tsx index 3dcf4f3b03d..6a5b9ce9720 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/router.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/router.tsx @@ -1,12 +1,13 @@ -import { createRouter as createReactRouter } from '@tanstack/react-router' +import { createRouter as tsrCR } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' export function createRouter() { - return createReactRouter({ + return tsrCR({ routeTree, defaultPreload: 'intent', + defaultStaleTime: 1, context: { - assets: null as any, // We'll fulfill this later + assets: [], }, }) } @@ -15,4 +16,11 @@ declare module '@tanstack/react-router' { interface Register { router: ReturnType } -} + interface StaticDataRouteOption { + baseParent?: boolean + } + + interface RouterState { + statusCode: number + } +} \ No newline at end of file diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx index 122d1b57e0d..7f4816b2178 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx @@ -1,40 +1,40 @@ -import * as React from 'react' +import * as React from "react"; import { Link, Outlet, createRootRouteWithContext, useRouter, -} from '@tanstack/react-router' -import { TanStackRouterDevtools } from '@tanstack/router-devtools' -import { Meta, Scripts } from '@tanstack/react-router-server/client' +} from "@tanstack/react-router"; +import { TanStackRouterDevtools } from "@tanstack/router-devtools"; +import { Meta, Scripts, Asset } from "@tanstack/react-router-server/client"; -import '../style.css' +// import '../style.css' export const Route = createRootRouteWithContext<{ - assets: React.ReactNode + assets: React.ReactNode; }>()({ component: RootComponent, meta: () => [ { - title: 'Root', + title: "Root", }, ], links: () => [ { - rel: 'apple-touch-icon', - sizes: '180x180', - href: '/favicons/apple-touch-icon.png', + rel: "apple-touch-icon", + sizes: "180x180", + href: "/favicons/apple-touch-icon.png", }, ], scripts: () => [ { - src: 'https://cdn.tailwindcss.com', + src: "https://cdn.tailwindcss.com", }, ], -}) +}); function RootComponent() { - const router = useRouter() + const router = useRouter(); return ( @@ -48,7 +48,7 @@ function RootComponent() { @@ -57,7 +57,7 @@ function RootComponent() { @@ -66,7 +66,7 @@ function RootComponent() { @@ -79,5 +79,5 @@ function RootComponent() { - ) + ); } diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx index b45fbe8e9db..b673e32891a 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx @@ -1,12 +1,12 @@ import * as React from 'react' import { Await, createLazyFileRoute } from '@tanstack/react-router' -export const Route = createLazyFileRoute('/hello')({ +export const Route = createLazyFileRoute("/hello")({ component: Hello, -}) +}); function Hello() { - const { data, slowData } = Route.useLoaderData() + const { data, slowData } = Route.useLoaderData(); return (
@@ -16,5 +16,5 @@ function Hello() { {(slowData) =>

{slowData}

}
- ) + ); } diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx index 3fd33e9a403..2e587aedec0 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx @@ -1,8 +1,9 @@ -import { createFileRoute, defer } from '@tanstack/react-router' +import {createFileRoute, defer} from '@tanstack/react-router' async function getData() { 'use server' + return new Promise((r) => { setTimeout(() => r('Server says hello, too!'), 500) }) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx new file mode 100644 index 00000000000..372f6dc56c8 --- /dev/null +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx @@ -0,0 +1,31 @@ +import { createFileRoute } from "@tanstack/react-router"; +import { useEffect, useState, useTransition } from "react"; + +async function action() { + "use server"; + console.log("hola from the server"); + return new Promise((r) => { + setTimeout(() => r("Server says hello, too!"), 500); + }); +} + +export const Route = createFileRoute("/no-title")({ + component: NoTitle, +}); + +function NoTitle() { + const [isHelloling, startHellling] = useTransition(); + const [hola, setHola] = useState(""); + useEffect(() => { + action().then((h) => { + setHola(h); + }); + }, []); + return ( +
+ {hola} +

Hello!

+

This page has no title.

+
+ ); +} diff --git a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx index b49dd0ab022..c3109adf17f 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx @@ -1,41 +1,63 @@ /// -import { renderAsset } from '@vinxi/react' -import { Suspense } from 'react' -import { PipeableStream, renderToPipeableStream } from 'react-dom/server' -import { eventHandler, setHeader, toWebRequest } from 'vinxi/server' -import { - StartServer, - transformStreamWithRouter, -} from '@tanstack/react-router-server/server' +import type { PipeableStream } from 'react-dom/server' +import { renderToPipeableStream } from 'react-dom/server' +import { eventHandler, toWebRequest } from 'vinxi/server' +import { getManifest } from 'vinxi/manifest' +import { StartServer, transformStreamWithRouter } from '@tanstack/react-router-server/server' import { createRouter } from './router' import { createMemoryHistory } from '@tanstack/react-router' +import React from 'react' export default eventHandler(async (event) => { const req = toWebRequest(event) - const url = new URL(req.url, 'http://localhost') + const url = new URL(req.url) const href = url.href.replace(url.origin, '') // Get assets for the server/client - const clientManifest = import.meta.env.MANIFEST['client'] - const assets = await clientManifest.inputs[clientManifest.handler].assets() + const clientManifest = getManifest('client') + let assets = ( + await clientManifest.inputs[clientManifest.handler].assets() + ).filter((d: any) => { + return !d.children?.includes('nuxt-devtools') + }) as any + + assets.push( + { + tag: 'script', + attrs: {}, + children: getHydrationOverlayScriptContext(), + }, + { + tag: 'script', + children: `window.__vite_plugin_react_preamble_installed__ = true`, + }, + { + tag: 'script', + attrs: { + src: clientManifest.inputs[clientManifest.handler].output.path, + type: 'module', + async: true, + }, + } + ) // Create a router const router = createRouter() - console.log(router.state) + // Create a history for the router const history = createMemoryHistory({ initialEntries: [href], }) + // Update the router with the history and context router.update({ history, context: { - assets: {assets.map((m) => renderAsset(m))}, + assets, }, }) - // Load critical data for the router await router.load() const stream = await new Promise(async (resolve) => { @@ -43,26 +65,81 @@ export default eventHandler(async (event) => { onShellReady() { resolve(stream) }, - bootstrapModules: [ - clientManifest.inputs[clientManifest.handler].output.path, - ], - bootstrapScriptContent: `window.manifest = ${JSON.stringify( - await clientManifest.json(), - )}`, }) }) - setHeader(event, 'Content-Type', 'text/html') - // Add our Router transform to the stream - const transforms = [transformStreamWithRouter(router)] + const transforms = [ + transformStreamWithRouter(router), + ] // Pipe the stream through our transforms const transformedStream = transforms.reduce( (stream, transform) => stream.pipe(transform as any), - stream, + stream ) - // Pipe the transformed stream to the response - return transformedStream + const headers = router.state.matches.reduce((acc, match) => { + if (match.headers) { + Object.assign(acc, match.headers) + } + return acc + }, {}) + + return new Response(transformedStream as any, { + status: router.state.statusCode, + statusText: + router.state.statusCode === 200 ? 'OK' : 'Internal Server Error', + headers: { + 'Content-Type': 'text/html', + ...headers, + }, + }) +}) + +function getHydrationOverlayScriptContext() { + return ` +window.BUILDER_HYDRATION_OVERLAY = {} + +const selector = 'html' + +const handleError = () => { + window.BUILDER_HYDRATION_OVERLAY.ERROR = true + let appRootEl = document.querySelector(selector) + + if (appRootEl && !window.BUILDER_HYDRATION_OVERLAY.CSR_HTML) { + window.BUILDER_HYDRATION_OVERLAY.CSR_HTML = appRootEl.innerHTML + } +} + +const proxyConsole = (method) => { + const original = console[method] + + console[method] = function () { + const msg = arguments[0]?.message?.toLowerCase() + if (msg && (msg.includes('hydration') || msg.includes('hydrating'))) { + handleError() + } + original.apply(console, arguments) + } +} + +const methods = ['log', 'error', 'warn'] +methods.forEach(proxyConsole) + +window.addEventListener('error', (event) => { + const msg = event.message.toLowerCase() + const isHydrationMsg = msg.includes('hydration') || msg.includes('hydrating') + + if (isHydrationMsg) { + handleError() + } }) + +let BUILDER_HYDRATION_OVERLAY_ELEMENT = document.querySelector(selector) +if (BUILDER_HYDRATION_OVERLAY_ELEMENT) { +window.BUILDER_HYDRATION_OVERLAY.SSR_HTML = +BUILDER_HYDRATION_OVERLAY_ELEMENT.innerHTML +} +` +} \ No newline at end of file diff --git a/examples/react/vinxi-basic-ssr-streaming/package.json b/examples/react/vinxi-basic-ssr-streaming/package.json index af0606459de..266ad4a5e78 100644 --- a/examples/react/vinxi-basic-ssr-streaming/package.json +++ b/examples/react/vinxi-basic-ssr-streaming/package.json @@ -15,7 +15,7 @@ "autoprefixer": "^10.4.15", "react": "18.2.0", "react-dom": "18.2.0", - "vinxi": "0.1.2" + "vinxi": "^0.3.8" }, "devDependencies": { "@tanstack/router-devtools": "^1.28.1", From affc8725ca6aaa829e39d3d9461a0142d7b9e1be Mon Sep 17 00:00:00 2001 From: Alessandro Cuppari Date: Tue, 5 Mar 2024 11:28:25 +0000 Subject: [PATCH 02/11] chore: updated vinxi packages --- pnpm-lock.yaml | 1219 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 1121 insertions(+), 98 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d09313eca1..4ac93d1673f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1009,11 +1009,11 @@ importers: specifier: ^1.28.1 version: link:../../../packages/react-router-server '@vinxi/react': - specifier: 0.1.1 - version: 0.1.1 + specifier: 0.2.2 + version: 0.2.2 '@vinxi/server-functions': - specifier: ^0.1.1 - version: 0.1.2(vinxi@0.1.2) + specifier: 0.3.1 + version: 0.3.1(vinxi@0.3.9) autoprefixer: specifier: ^10.4.15 version: 10.4.16(postcss@8.4.38) @@ -1024,8 +1024,8 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) vinxi: - specifier: 0.1.2 - version: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) + specifier: ^0.3.8 + version: 0.3.9(@types/node@20.11.10)(preact@10.19.3)(rollup@4.9.6) devDependencies: '@tanstack/router-devtools': specifier: ^1.28.1 @@ -1985,6 +1985,15 @@ packages: requiresBuild: true optional: true + /@esbuild/aix-ppc64@0.20.1: + resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm64@0.16.17: resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} engines: {node: '>=12'} @@ -2019,6 +2028,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.20.1: + resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-arm@0.16.17: resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} engines: {node: '>=12'} @@ -2053,6 +2071,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.20.1: + resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/android-x64@0.16.17: resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} engines: {node: '>=12'} @@ -2087,6 +2114,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.20.1: + resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-arm64@0.16.17: resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} engines: {node: '>=12'} @@ -2121,6 +2157,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.20.1: + resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/darwin-x64@0.16.17: resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} engines: {node: '>=12'} @@ -2155,6 +2200,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.20.1: + resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-arm64@0.16.17: resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} engines: {node: '>=12'} @@ -2189,6 +2243,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.20.1: + resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/freebsd-x64@0.16.17: resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} engines: {node: '>=12'} @@ -2223,6 +2286,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.20.1: + resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm64@0.16.17: resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} engines: {node: '>=12'} @@ -2257,6 +2329,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.20.1: + resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-arm@0.16.17: resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} engines: {node: '>=12'} @@ -2291,6 +2372,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.20.1: + resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ia32@0.16.17: resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} engines: {node: '>=12'} @@ -2325,6 +2415,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.20.1: + resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-loong64@0.16.17: resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} engines: {node: '>=12'} @@ -2359,6 +2458,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.20.1: + resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-mips64el@0.16.17: resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} engines: {node: '>=12'} @@ -2393,6 +2501,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.20.1: + resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-ppc64@0.16.17: resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} engines: {node: '>=12'} @@ -2427,6 +2544,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.20.1: + resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-riscv64@0.16.17: resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} engines: {node: '>=12'} @@ -2461,6 +2587,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.20.1: + resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-s390x@0.16.17: resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} engines: {node: '>=12'} @@ -2495,6 +2630,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.20.1: + resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/linux-x64@0.16.17: resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} engines: {node: '>=12'} @@ -2529,6 +2673,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.20.1: + resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@esbuild/netbsd-x64@0.16.17: resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} engines: {node: '>=12'} @@ -2563,6 +2716,15 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.20.1: + resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/openbsd-x64@0.16.17: resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} engines: {node: '>=12'} @@ -2597,6 +2759,15 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.20.1: + resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + /@esbuild/sunos-x64@0.16.17: resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} engines: {node: '>=12'} @@ -2631,6 +2802,15 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.20.1: + resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-arm64@0.16.17: resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} engines: {node: '>=12'} @@ -2665,6 +2845,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.20.1: + resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-ia32@0.16.17: resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} engines: {node: '>=12'} @@ -2699,6 +2888,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.20.1: + resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@esbuild/win32-x64@0.16.17: resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} engines: {node: '>=12'} @@ -2964,6 +3162,13 @@ packages: is-promise: 4.0.0 dev: false + /@netlify/functions@2.6.0: + resolution: {integrity: sha512-vU20tij0fb4nRGACqb+5SQvKd50JYyTyEhQetCMHdakcJFzjLDivvRR16u1G2Oy4A7xNAtGJF1uz8reeOtTVcQ==} + engines: {node: '>=14.0.0'} + dependencies: + '@netlify/serverless-functions-api': 1.14.0 + dev: false + /@netlify/node-cookies@0.1.0: resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} engines: {node: ^14.16.0 || >=16.0.0} @@ -2977,6 +3182,14 @@ packages: urlpattern-polyfill: 8.0.2 dev: false + /@netlify/serverless-functions-api@1.14.0: + resolution: {integrity: sha512-HUNETLNvNiC2J+SB/YuRwJA9+agPrc0azSoWVk8H85GC+YE114hcS5JW+dstpKwVerp2xILE3vNWN7IMXP5Q5Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@netlify/node-cookies': 0.1.0 + urlpattern-polyfill: 8.0.2 + dev: false + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -3106,6 +3319,15 @@ packages: dev: false optional: true + /@parcel/watcher-android-arm64@2.4.1: + resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-darwin-arm64@2.4.0: resolution: {integrity: sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==} engines: {node: '>= 10.0.0'} @@ -3115,6 +3337,15 @@ packages: dev: false optional: true + /@parcel/watcher-darwin-arm64@2.4.1: + resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-darwin-x64@2.4.0: resolution: {integrity: sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==} engines: {node: '>= 10.0.0'} @@ -3124,6 +3355,15 @@ packages: dev: false optional: true + /@parcel/watcher-darwin-x64@2.4.1: + resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-freebsd-x64@2.4.0: resolution: {integrity: sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==} engines: {node: '>= 10.0.0'} @@ -3133,6 +3373,15 @@ packages: dev: false optional: true + /@parcel/watcher-freebsd-x64@2.4.1: + resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-linux-arm-glibc@2.4.0: resolution: {integrity: sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==} engines: {node: '>= 10.0.0'} @@ -3142,6 +3391,15 @@ packages: dev: false optional: true + /@parcel/watcher-linux-arm-glibc@2.4.1: + resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-linux-arm64-glibc@2.4.0: resolution: {integrity: sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==} engines: {node: '>= 10.0.0'} @@ -3151,6 +3409,15 @@ packages: dev: false optional: true + /@parcel/watcher-linux-arm64-glibc@2.4.1: + resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-linux-arm64-musl@2.4.0: resolution: {integrity: sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==} engines: {node: '>= 10.0.0'} @@ -3160,6 +3427,15 @@ packages: dev: false optional: true + /@parcel/watcher-linux-arm64-musl@2.4.1: + resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-linux-x64-glibc@2.4.0: resolution: {integrity: sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==} engines: {node: '>= 10.0.0'} @@ -3169,6 +3445,15 @@ packages: dev: false optional: true + /@parcel/watcher-linux-x64-glibc@2.4.1: + resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-linux-x64-musl@2.4.0: resolution: {integrity: sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==} engines: {node: '>= 10.0.0'} @@ -3178,6 +3463,15 @@ packages: dev: false optional: true + /@parcel/watcher-linux-x64-musl@2.4.1: + resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-wasm@2.3.0: resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} engines: {node: '>= 10.0.0'} @@ -3200,6 +3494,16 @@ packages: bundledDependencies: - napi-wasm + /@parcel/watcher-wasm@2.4.1: + resolution: {integrity: sha512-/ZR0RxqxU/xxDGzbzosMjh4W6NdYFMqq2nvo2b8SLi7rsl/4jkL8S5stIikorNkdR50oVDvqb/3JT05WM+CRRA==} + engines: {node: '>= 10.0.0'} + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.5 + dev: false + bundledDependencies: + - napi-wasm + /@parcel/watcher-win32-arm64@2.4.0: resolution: {integrity: sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==} engines: {node: '>= 10.0.0'} @@ -3209,6 +3513,15 @@ packages: dev: false optional: true + /@parcel/watcher-win32-arm64@2.4.1: + resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-win32-ia32@2.4.0: resolution: {integrity: sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==} engines: {node: '>= 10.0.0'} @@ -3218,6 +3531,15 @@ packages: dev: false optional: true + /@parcel/watcher-win32-ia32@2.4.1: + resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher-win32-x64@2.4.0: resolution: {integrity: sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==} engines: {node: '>= 10.0.0'} @@ -3227,6 +3549,15 @@ packages: dev: false optional: true + /@parcel/watcher-win32-x64@2.4.1: + resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + /@parcel/watcher@2.4.0: resolution: {integrity: sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==} engines: {node: '>= 10.0.0'} @@ -3250,6 +3581,29 @@ packages: '@parcel/watcher-win32-x64': 2.4.0 dev: false + /@parcel/watcher@2.4.1: + resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} + engines: {node: '>= 10.0.0'} + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.5 + node-addon-api: 7.1.0 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.4.1 + '@parcel/watcher-darwin-arm64': 2.4.1 + '@parcel/watcher-darwin-x64': 2.4.1 + '@parcel/watcher-freebsd-x64': 2.4.1 + '@parcel/watcher-linux-arm-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-musl': 2.4.1 + '@parcel/watcher-linux-x64-glibc': 2.4.1 + '@parcel/watcher-linux-x64-musl': 2.4.1 + '@parcel/watcher-win32-arm64': 2.4.1 + '@parcel/watcher-win32-ia32': 2.4.1 + '@parcel/watcher-win32-x64': 2.4.1 + dev: false + /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -3261,7 +3615,30 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.0): + /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.0): + resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} + peerDependencies: + '@babel/core': 7.x + vite: 2.x || 3.x || 4.x || 5.x + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) + '@prefresh/vite': 2.4.5(preact@10.19.3)(vite@4.5.0) + '@rollup/pluginutils': 4.2.1 + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.9) + debug: 4.3.4 + kolorist: 1.8.0 + magic-string: 0.30.5 + node-html-parser: 6.1.12 + resolve: 1.22.8 + vite: 4.5.0(@types/node@20.11.10) + transitivePeerDependencies: + - preact + - supports-color + dev: false + + /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@5.1.5): resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} peerDependencies: '@babel/core': 7.x @@ -3270,7 +3647,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) - '@prefresh/vite': 2.4.5(preact@10.19.3)(vite@4.5.0) + '@prefresh/vite': 2.4.5(preact@10.19.3)(vite@5.1.5) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.9) debug: 4.3.4 @@ -3278,7 +3655,7 @@ packages: magic-string: 0.30.5 node-html-parser: 6.1.12 resolve: 1.22.8 - vite: 4.5.0(@types/node@20.11.10) + vite: 5.1.5(@types/node@20.11.10) transitivePeerDependencies: - preact - supports-color @@ -3317,6 +3694,23 @@ packages: - supports-color dev: false + /@prefresh/vite@2.4.5(preact@10.19.3)(vite@5.1.5): + resolution: {integrity: sha512-iForDVJ2M8gQYnm5pHumvTEJjGGc7YNYC0GVKnHFL+GvFfKHfH9Rpq67nUAzNbjuLEpqEOUuQVQajMazWu2ZNQ==} + peerDependencies: + preact: ^10.4.0 + vite: '>=2.0.0' + dependencies: + '@babel/core': 7.23.9 + '@prefresh/babel-plugin': 0.5.1 + '@prefresh/core': 1.5.2(preact@10.19.3) + '@prefresh/utils': 1.2.0 + '@rollup/pluginutils': 4.2.1 + preact: 10.19.3 + vite: 5.1.5(@types/node@20.11.10) + transitivePeerDependencies: + - supports-color + dev: false + /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: @@ -3599,6 +3993,19 @@ packages: react: 18.2.0 dev: false + /@rollup/plugin-alias@5.1.0(rollup@4.12.0): + resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 4.12.0 + slash: 4.0.0 + dev: false + /@rollup/plugin-alias@5.1.0(rollup@4.9.6): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} @@ -3631,6 +4038,24 @@ packages: rollup: 4.14.2 dev: true + /@rollup/plugin-commonjs@25.0.7(rollup@4.12.0): + resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + commondir: 1.0.1 + estree-walker: 2.0.2 + glob: 8.1.0 + is-reference: 1.2.1 + magic-string: 0.30.5 + rollup: 4.12.0 + dev: false + /@rollup/plugin-commonjs@25.0.7(rollup@4.9.6): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} @@ -3649,6 +4074,21 @@ packages: rollup: 4.9.6 dev: false + /@rollup/plugin-inject@5.0.5(rollup@4.12.0): + resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + estree-walker: 2.0.2 + magic-string: 0.30.5 + rollup: 4.12.0 + dev: false + /@rollup/plugin-inject@5.0.5(rollup@4.9.6): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} @@ -3664,6 +4104,19 @@ packages: rollup: 4.9.6 dev: false + /@rollup/plugin-json@6.1.0(rollup@4.12.0): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + rollup: 4.12.0 + dev: false + /@rollup/plugin-json@6.1.0(rollup@4.9.6): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} @@ -3677,6 +4130,24 @@ packages: rollup: 4.9.6 dev: false + /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.0): + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + rollup: 4.12.0 + dev: false + /@rollup/plugin-node-resolve@15.2.3(rollup@4.9.6): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} @@ -3695,7 +4166,7 @@ packages: rollup: 4.9.6 dev: false - /@rollup/plugin-replace@5.0.5(rollup@4.14.2): + /@rollup/plugin-replace@5.0.5(rollup@4.12.0): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3704,10 +4175,10 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.12.0) magic-string: 0.30.5 - rollup: 4.14.2 - dev: true + rollup: 4.12.0 + dev: false /@rollup/plugin-replace@5.0.5(rollup@4.9.6): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} @@ -3723,6 +4194,21 @@ packages: rollup: 4.9.6 dev: false + /@rollup/plugin-terser@0.4.4(rollup@4.12.0): + resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + rollup: 4.12.0 + serialize-javascript: 6.0.2 + smob: 1.4.1 + terser: 5.27.0 + dev: false + /@rollup/plugin-terser@0.4.4(rollup@4.9.6): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} @@ -3759,7 +4245,7 @@ packages: picomatch: 2.3.1 dev: false - /@rollup/pluginutils@5.1.0(rollup@4.14.2): + /@rollup/pluginutils@5.1.0(rollup@4.12.0): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3771,7 +4257,8 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.14.2 + rollup: 4.12.0 + dev: false /@rollup/pluginutils@5.1.0(rollup@4.9.6): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} @@ -3788,11 +4275,12 @@ packages: rollup: 4.9.6 dev: false - /@rollup/rollup-android-arm-eabi@4.14.2: - resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==} + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} cpu: [arm] os: [android] requiresBuild: true + dev: false optional: true /@rollup/rollup-android-arm-eabi@4.9.6: @@ -3802,11 +4290,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.14.2: - resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==} + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} cpu: [arm64] os: [android] requiresBuild: true + dev: false optional: true /@rollup/rollup-android-arm64@4.9.6: @@ -3816,11 +4305,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.14.2: - resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==} + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} cpu: [arm64] os: [darwin] requiresBuild: true + dev: false optional: true /@rollup/rollup-darwin-arm64@4.9.6: @@ -3830,11 +4320,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.14.2: - resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==} + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} cpu: [x64] os: [darwin] requiresBuild: true + dev: false optional: true /@rollup/rollup-darwin-x64@4.9.6: @@ -3844,11 +4335,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.2: - resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==} + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} cpu: [arm] os: [linux] requiresBuild: true + dev: false optional: true /@rollup/rollup-linux-arm-gnueabihf@4.9.6: @@ -3858,11 +4350,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.2: - resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==} + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true /@rollup/rollup-linux-arm64-gnu@4.9.6: @@ -3872,11 +4365,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.14.2: - resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==} + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true /@rollup/rollup-linux-arm64-musl@4.9.6: @@ -3886,18 +4380,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.2: - resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.14.2: - resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==} + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} cpu: [riscv64] os: [linux] requiresBuild: true + dev: false optional: true /@rollup/rollup-linux-riscv64-gnu@4.9.6: @@ -3907,18 +4395,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.2: - resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.14.2: - resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==} + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true /@rollup/rollup-linux-x64-gnu@4.9.6: @@ -3928,11 +4410,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.2: - resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==} + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true /@rollup/rollup-linux-x64-musl@4.9.6: @@ -3942,11 +4425,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.2: - resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==} + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} cpu: [arm64] os: [win32] requiresBuild: true + dev: false optional: true /@rollup/rollup-win32-arm64-msvc@4.9.6: @@ -3956,11 +4440,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.2: - resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==} + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} cpu: [ia32] os: [win32] requiresBuild: true + dev: false optional: true /@rollup/rollup-win32-ia32-msvc@4.9.6: @@ -3970,11 +4455,12 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.14.2: - resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==} + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} cpu: [x64] os: [win32] requiresBuild: true + dev: false optional: true /@rollup/rollup-win32-x64-msvc@4.9.6: @@ -4027,6 +4513,11 @@ packages: engines: {node: '>=18'} dev: false + /@sindresorhus/merge-streams@2.3.0: + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + dev: false + /@solidjs/router@0.8.4(solid-js@1.8.12): resolution: {integrity: sha512-Gi/WVoVseGMKS1DBdT3pNAMgOzEOp6Q3dpgNd2mW9GUEnVocPmtyBjDvXwN6m7tjSGsqqfqJFXk7bm1hxabSRw==} peerDependencies: @@ -4744,7 +5235,29 @@ packages: - supports-color dev: false - /@vinxi/devtools@0.1.1(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.14.2)(vite@4.5.0): + /@vercel/nft@0.26.4: + resolution: {integrity: sha512-j4jCOOXke2t8cHZCIxu1dzKLHLcFmYzC3yqAK6MfZznOL1QIJKd0xcFsXK3zcqzU7ScsE2zWkiMMNHGMHgp+FA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + '@rollup/pluginutils': 4.2.1 + acorn: 8.11.3 + acorn-import-attributes: 1.9.2(acorn@8.11.3) + async-sema: 3.1.1 + bindings: 1.5.0 + estree-walker: 2.0.2 + glob: 7.1.4 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + node-gyp-build: 4.8.0 + resolve-from: 5.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@vinxi/devtools@0.1.1(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.9.6)(vite@4.5.0): resolution: {integrity: sha512-/A7X1hoNBsgC2n7nKOWbIa4cTt9dJq9nehyLGdNxgjEcGzbsaJrofUDrFLt+0YJlyb7OOhFEPYHRCat3tsrytw==} dependencies: '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.0) @@ -4788,6 +5301,28 @@ packages: - vite dev: false + /@vinxi/devtools@0.2.0(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.9.6)(vite@5.1.5): + resolution: {integrity: sha512-LpQp5zbiBhV4eo2w6AiJFtpZZj4LaRBOnzggIPTeSJYvgrxRMAqe/34Har3vVo+b7sPOjxFbE1zHZhLzaAcidw==} + dependencies: + '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@5.1.5) + '@solidjs/router': 0.8.4(solid-js@1.8.12) + birpc: 0.2.15 + solid-js: 1.8.12 + vite-plugin-inspect: 0.7.42(rollup@4.9.6)(vite@5.1.5) + vite-plugin-solid: 2.9.1(solid-js@1.8.12)(vite@5.1.5) + ws: 8.16.0 + transitivePeerDependencies: + - '@babel/core' + - '@nuxt/kit' + - '@testing-library/jest-dom' + - bufferutil + - preact + - rollup + - supports-color + - utf-8-validate + - vite + dev: false + /@vinxi/listhen@1.5.6: resolution: {integrity: sha512-WSN1z931BtasZJlgPp704zJFnQFRg7yzSjkm3MzAWQYe4uXFXlFr1hc5Ac2zae5/HDOz5x1/zDM5Cb54vTCnWw==} hasBin: true @@ -4799,7 +5334,7 @@ packages: consola: 3.2.3 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.10.1 + h3: 1.11.1 http-shutdown: 1.2.2 jiti: 1.21.0 mlly: 1.5.0 @@ -4809,6 +5344,8 @@ packages: ufo: 1.3.2 untun: 0.1.3 uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js dev: false /@vinxi/plugin-directives@0.1.2(vinxi@0.1.2): @@ -4828,10 +5365,31 @@ packages: vinxi: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) dev: false + /@vinxi/plugin-directives@0.3.0(vinxi@0.3.9): + resolution: {integrity: sha512-diwK2D6mZGffF5z+CgG7DcRnpKrOgqyv8SfxdbOTLGQcxtrQ9IpuHfX+mbOttaIJFvoZ3pHGUKe7Gfgd0BuQ1A==} + peerDependencies: + vinxi: ^0.3.0 + dependencies: + '@babel/parser': 7.23.9 + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + acorn-loose: 8.3.0 + acorn-typescript: 1.4.13(acorn@8.11.3) + astring: 1.8.6 + magicast: 0.2.11 + recast: 0.23.4 + tslib: 2.6.2 + vinxi: 0.3.9(@types/node@20.11.10)(preact@10.19.3)(rollup@4.9.6) + dev: false + /@vinxi/react@0.1.1: resolution: {integrity: sha512-cxQsDA42MOhsNQJla6jIPvPvkXvTOfvSPyHwKprWDxOHO808HWvZ6rNf+HZWyGjrzrYyhJhYS490/FsOy/OyzQ==} dev: false + /@vinxi/react@0.2.2: + resolution: {integrity: sha512-70tVy08zrWp3b8FbUuUKXsESmUC2D16ddy/Y++C3GA0Zcx61ax5WnNXMVSLWv2WQU3CQEV0ObnpVzcfuxSYMvw==} + dev: false + /@vinxi/server-functions@0.1.2(vinxi@0.1.2): resolution: {integrity: sha512-KhKn8DnsbTu6Ea1JhXbanet8SBiuEmJ+/FLV3+c5++Z3STg+XkfQodCIzH9T05b3xlh/d40iDOK1gnv2ubqAQg==} peerDependencies: @@ -5163,6 +5721,14 @@ packages: acorn: 8.11.3 dev: false + /acorn-import-attributes@1.9.2(acorn@8.11.3): + resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.11.3 + dev: false + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -5761,6 +6327,23 @@ packages: rc9: 2.1.1 dev: false + /c12@1.9.0: + resolution: {integrity: sha512-7KTCZXdIbOA2hLRQ+1KzJ15Qp9Wn58one74dkihMVp2H6EzKTa3OYBy0BSfS1CCcmxYyqeX8L02m40zjQ+dstg==} + dependencies: + chokidar: 3.6.0 + confbox: 0.1.3 + defu: 6.1.4 + dotenv: 16.4.1 + giget: 1.2.1 + jiti: 1.21.0 + mlly: 1.6.1 + ohash: 1.1.3 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + dev: false + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -5850,6 +6433,21 @@ packages: fsevents: 2.3.3 dev: false + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -5866,6 +6464,12 @@ packages: consola: 3.2.3 dev: false + /citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + dependencies: + consola: 3.2.3 + dev: false + /cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -6024,6 +6628,10 @@ packages: yargs: 17.7.2 dev: true + /confbox@0.1.3: + resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + dev: false + /consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -6099,6 +6707,11 @@ packages: readable-stream: 3.6.2 dev: false + /croner@8.0.1: + resolution: {integrity: sha512-Hq1+lXVgjJjcS/U+uk6+yVmtxami0r0b+xVtlGyABgdz110l/kOnHWvlSI7nVzrTl8GCdZHwZS4pbBFT7hSL/g==} + engines: {node: '>=18.0'} + dev: false + /cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} dependencies: @@ -6119,6 +6732,15 @@ packages: resolution: {integrity: sha512-c9c/o7bS3OjsdpSkvexpka0JNlesBF2JU9B2V1yNsYGwRbAafxhJQ7VI9b48D5bpONz/oxbPGMzBojy9sXoQIQ==} dev: false + /crossws@0.2.4: + resolution: {integrity: sha512-DAxroI2uSOgUKLz00NX6A8U/8EE3SZHmIND+10jkVSaypvyt57J5JEOxAQOL6lQxyzi/wZbTIwssU1uy69h5Vg==} + peerDependencies: + uWebSockets.js: '*' + peerDependenciesMeta: + uWebSockets.js: + optional: true + dev: false + /css-select@5.1.0: resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} dependencies: @@ -6187,6 +6809,28 @@ packages: dependencies: '@babel/runtime': 7.23.5 + /dax-sh@0.39.2: + resolution: {integrity: sha512-gpuGEkBQM+5y6p4cWaw9+ePy5TNon+fdwFVtTI8leU3UhwhsBfPewRxMXGuQNC+M2b/MDGMlfgpqynkcd0C3FQ==} + dependencies: + '@deno/shim-deno': 0.19.1 + undici-types: 5.26.5 + dev: false + + /db0@0.1.3: + resolution: {integrity: sha512-g8mXmj+t5MRXiA1ARjhfLd6Acy98VLVd8VL5LOBZ49P4A7qzoGgt6pC/gDWuP4zS3BiqSnKXTjTQXviMsD/sxA==} + peerDependencies: + '@libsql/client': ^0.5.2 + better-sqlite3: ^9.4.3 + drizzle-orm: ^0.29.4 + peerDependenciesMeta: + '@libsql/client': + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + dev: false + /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} dev: true @@ -6318,6 +6962,10 @@ packages: resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} dev: false + /destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + dev: false + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -6752,6 +7400,37 @@ packages: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 + /esbuild@0.20.1: + resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.1 + '@esbuild/android-arm': 0.20.1 + '@esbuild/android-arm64': 0.20.1 + '@esbuild/android-x64': 0.20.1 + '@esbuild/darwin-arm64': 0.20.1 + '@esbuild/darwin-x64': 0.20.1 + '@esbuild/freebsd-arm64': 0.20.1 + '@esbuild/freebsd-x64': 0.20.1 + '@esbuild/linux-arm': 0.20.1 + '@esbuild/linux-arm64': 0.20.1 + '@esbuild/linux-ia32': 0.20.1 + '@esbuild/linux-loong64': 0.20.1 + '@esbuild/linux-mips64el': 0.20.1 + '@esbuild/linux-ppc64': 0.20.1 + '@esbuild/linux-riscv64': 0.20.1 + '@esbuild/linux-s390x': 0.20.1 + '@esbuild/linux-x64': 0.20.1 + '@esbuild/netbsd-x64': 0.20.1 + '@esbuild/openbsd-x64': 0.20.1 + '@esbuild/sunos-x64': 0.20.1 + '@esbuild/win32-arm64': 0.20.1 + '@esbuild/win32-ia32': 0.20.1 + '@esbuild/win32-x64': 0.20.1 + dev: false + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -7713,11 +8392,23 @@ packages: slash: 3.0.0 dev: true - /globby@14.0.0: - resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==} + /globby@14.0.0: + resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 1.0.0 + fast-glob: 3.3.2 + ignore: 5.3.0 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + dev: false + + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} engines: {node: '>=18'} dependencies: - '@sindresorhus/merge-streams': 1.0.0 + '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 ignore: 5.3.0 path-type: 5.0.0 @@ -7770,6 +8461,23 @@ packages: unenv: 1.9.0 dev: false + /h3@1.11.1: + resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + dependencies: + cookie-es: 1.0.0 + crossws: 0.2.4 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.0.0 + ohash: 1.1.3 + radix3: 1.1.0 + ufo: 1.4.0 + uncrypto: 0.1.3 + unenv: 1.9.0 + transitivePeerDependencies: + - uWebSockets.js + dev: false + /h3@1.9.0: resolution: {integrity: sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA==} dependencies: @@ -8379,6 +9087,11 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + dev: false + /isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} @@ -8628,6 +9341,32 @@ packages: uqr: 0.1.2 dev: false + /listhen@1.7.2: + resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} + hasBin: true + dependencies: + '@parcel/watcher': 2.4.1 + '@parcel/watcher-wasm': 2.4.1 + citty: 0.1.6 + clipboardy: 4.0.0 + consola: 3.2.3 + crossws: 0.2.4 + defu: 6.1.4 + get-port-please: 3.1.2 + h3: 1.11.1 + http-shutdown: 1.2.2 + jiti: 1.21.0 + mlly: 1.6.1 + node-forge: 1.3.1 + pathe: 1.1.2 + std-env: 3.7.0 + ufo: 1.4.0 + untun: 0.1.3 + uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js + dev: false + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -8732,6 +9471,13 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + /magicast@0.2.11: resolution: {integrity: sha512-6saXbRDA1HMkqbsvHOU6HBjCVgZT460qheRkLhJQHWAbhXoWESI3Kn/dGGXyKs15FFKR85jsUqFx2sMK0wy/5g==} dependencies: @@ -8822,6 +9568,12 @@ packages: hasBin: true dev: false + /mime@4.0.1: + resolution: {integrity: sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==} + engines: {node: '>=16'} + hasBin: true + dev: false + /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -9032,6 +9784,104 @@ packages: - encoding - idb-keyval - supports-color + - uWebSockets.js + dev: false + + /nitropack@2.9.1: + resolution: {integrity: sha512-qgz2VKJoiFvEtC6JnFlaqVx5hirD/oonb6SIM6kQODeDjEHVaiOViZxg7pnAGq13Zu2vNHhaJe6Sf49AEG3J+A==} + engines: {node: ^16.11.0 || >=17.0.0} + hasBin: true + peerDependencies: + xml2js: ^0.6.2 + peerDependenciesMeta: + xml2js: + optional: true + dependencies: + '@cloudflare/kv-asset-handler': 0.3.1 + '@netlify/functions': 2.6.0 + '@rollup/plugin-alias': 5.1.0(rollup@4.12.0) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.12.0) + '@rollup/plugin-json': 6.1.0(rollup@4.12.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.0) + '@rollup/plugin-replace': 5.0.5(rollup@4.12.0) + '@rollup/plugin-terser': 0.4.4(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@types/http-proxy': 1.17.14 + '@vercel/nft': 0.26.4 + archiver: 6.0.1 + c12: 1.9.0 + chalk: 5.3.0 + chokidar: 3.6.0 + citty: 0.1.6 + consola: 3.2.3 + cookie-es: 1.0.0 + croner: 8.0.1 + crossws: 0.2.4 + db0: 0.1.3 + defu: 6.1.4 + destr: 2.0.3 + dot-prop: 8.0.2 + esbuild: 0.20.1 + escape-string-regexp: 5.0.0 + etag: 1.8.1 + fs-extra: 11.2.0 + globby: 14.0.1 + gzip-size: 7.0.0 + h3: 1.11.1 + hookable: 5.5.3 + httpxy: 0.1.5 + is-primitive: 3.0.1 + jiti: 1.21.0 + klona: 2.0.6 + knitwork: 1.0.0 + listhen: 1.7.2 + magic-string: 0.30.8 + mime: 4.0.1 + mlly: 1.6.1 + mri: 1.2.0 + node-fetch-native: 1.6.2 + ofetch: 1.3.3 + ohash: 1.1.3 + openapi-typescript: 6.7.4 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + pretty-bytes: 6.1.1 + radix3: 1.1.0 + rollup: 4.12.0 + rollup-plugin-visualizer: 5.12.0(rollup@4.12.0) + scule: 1.3.0 + semver: 7.6.0 + serve-placeholder: 2.0.1 + serve-static: 1.15.0 + std-env: 3.7.0 + ufo: 1.4.0 + uncrypto: 0.1.3 + unctx: 2.3.1 + unenv: 1.9.0 + unimport: 3.7.1(rollup@4.12.0) + unstorage: 1.10.1 + unwasm: 0.3.7 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - drizzle-orm + - encoding + - idb-keyval + - supports-color + - uWebSockets.js dev: false /node-addon-api@7.1.0: @@ -9048,6 +9898,10 @@ packages: resolution: {integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==} dev: false + /node-fetch-native@1.6.2: + resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} + dev: false + /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -9620,13 +10474,14 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.2.0 + source-map-js: 1.0.2 + dev: false /preact@10.19.3: resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} @@ -10109,7 +10964,7 @@ packages: rollup: 4.14.2 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.14.2): + /rollup-plugin-visualizer@5.12.0(rollup@4.12.0): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true @@ -10121,7 +10976,7 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.14.2 + rollup: 4.12.0 source-map: 0.7.4 yargs: 17.7.2 dev: false @@ -10151,29 +11006,28 @@ packages: fsevents: 2.3.3 dev: false - /rollup@4.14.2: - resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==} + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.2 - '@rollup/rollup-android-arm64': 4.14.2 - '@rollup/rollup-darwin-arm64': 4.14.2 - '@rollup/rollup-darwin-x64': 4.14.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.2 - '@rollup/rollup-linux-arm64-gnu': 4.14.2 - '@rollup/rollup-linux-arm64-musl': 4.14.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2 - '@rollup/rollup-linux-riscv64-gnu': 4.14.2 - '@rollup/rollup-linux-s390x-gnu': 4.14.2 - '@rollup/rollup-linux-x64-gnu': 4.14.2 - '@rollup/rollup-linux-x64-musl': 4.14.2 - '@rollup/rollup-win32-arm64-msvc': 4.14.2 - '@rollup/rollup-win32-ia32-msvc': 4.14.2 - '@rollup/rollup-win32-x64-msvc': 4.14.2 + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 fsevents: 2.3.3 + dev: false /rollup@4.9.6: resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} @@ -10290,6 +11144,10 @@ packages: resolution: {integrity: sha512-CRCmi5zHQnSoeCik9565PONMg0kfkvYmcSqrbOJY4txFfy1wvVULV4FDaiXhUblUgahdqz3F2NwHZ8i4eBTwUw==} dev: false + /scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + dev: false + /secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false @@ -10313,6 +11171,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: false + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -11157,20 +12023,20 @@ packages: engines: {node: '>=18'} dev: false - /unimport@3.7.1(rollup@4.14.2): + /unimport@3.7.1(rollup@4.12.0): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.12.0) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.5 - mlly: 1.5.0 + magic-string: 0.30.8 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.2.0 + scule: 1.3.0 strip-literal: 1.3.0 unplugin: 1.6.0 transitivePeerDependencies: @@ -11186,11 +12052,11 @@ packages: estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.5 - mlly: 1.5.0 + magic-string: 0.30.8 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - scule: 1.2.0 + scule: 1.3.0 strip-literal: 1.3.0 unplugin: 1.6.0 transitivePeerDependencies: @@ -11263,7 +12129,7 @@ packages: anymatch: 3.1.3 chokidar: 3.5.3 destr: 2.0.2 - h3: 1.10.1 + h3: 1.11.1 ioredis: 5.3.2 listhen: 1.6.0 lru-cache: 10.1.0 @@ -11273,6 +12139,7 @@ packages: ufo: 1.3.2 transitivePeerDependencies: - supports-color + - uWebSockets.js dev: false /untildify@4.0.0: @@ -11289,6 +12156,16 @@ packages: pathe: 1.1.2 dev: false + /unwasm@0.3.7: + resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} + dependencies: + magic-string: 0.30.8 + mlly: 1.6.1 + pathe: 1.1.2 + pkg-types: 1.0.3 + unplugin: 1.6.0 + dev: false + /update-browserslist-db@1.0.13(browserslist@4.22.3): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -11468,6 +12345,7 @@ packages: - sugarss - supports-color - terser + - uWebSockets.js - utf-8-validate - xml2js dev: false @@ -11549,6 +12427,85 @@ packages: - sugarss - supports-color - terser + - uWebSockets.js + - utf-8-validate + - xml2js + dev: false + + /vinxi@0.3.9(@types/node@20.11.10)(preact@10.19.3)(rollup@4.9.6): + resolution: {integrity: sha512-+TKbWrmbNpDGn4QvJcbO3LonFpH4L0SVWOyI63WZ2zT94pJrSvyt+BefEcTlvYAJiKZUFPxkjUlNzsUdCRjZpg==} + hasBin: true + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + '@types/micromatch': 4.0.6 + '@types/serve-static': 1.15.5 + '@types/ws': 8.5.10 + '@vinxi/devtools': 0.2.0(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.9.6)(vite@5.1.5) + '@vinxi/listhen': 1.5.6 + boxen: 7.1.1 + chokidar: 3.5.3 + citty: 0.1.5 + consola: 3.2.3 + crossws: 0.2.4 + dax-sh: 0.39.2 + defu: 6.1.4 + es-module-lexer: 1.4.1 + esbuild: 0.18.20 + fast-glob: 3.3.2 + get-port-please: 3.1.2 + h3: 1.11.1 + hookable: 5.5.3 + http-proxy: 1.18.1 + micromatch: 4.0.5 + nitropack: 2.9.1 + node-fetch-native: 1.6.1 + path-to-regexp: 6.2.1 + pathe: 1.1.2 + radix3: 1.1.0 + resolve: 1.22.8 + serve-placeholder: 2.0.1 + serve-static: 1.15.0 + ufo: 1.3.2 + unctx: 2.3.1 + unenv: 1.9.0 + unstorage: 1.10.1 + vite: 5.1.5(@types/node@20.11.10) + ws: 8.16.0 + zod: 3.22.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@libsql/client' + - '@netlify/blobs' + - '@nuxt/kit' + - '@planetscale/database' + - '@testing-library/jest-dom' + - '@types/node' + - '@upstash/redis' + - '@vercel/kv' + - better-sqlite3 + - bufferutil + - debug + - drizzle-orm + - encoding + - idb-keyval + - less + - lightningcss + - preact + - rollup + - sass + - stylus + - sugarss + - supports-color + - terser + - uWebSockets.js - utf-8-validate - xml2js dev: false @@ -11661,6 +12618,30 @@ packages: - supports-color dev: false + /vite-plugin-inspect@0.7.42(rollup@4.9.6)(vite@5.1.5): + resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.7 + '@rollup/pluginutils': 5.1.0(rollup@4.9.6) + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.2.0 + open: 9.1.0 + picocolors: 1.0.0 + sirv: 2.0.4 + vite: 5.1.5(@types/node@20.11.10) + transitivePeerDependencies: + - rollup + - supports-color + dev: false + /vite-plugin-solid@2.9.1(solid-js@1.8.12)(vite@4.5.0): resolution: {integrity: sha512-RC4hj+lbvljw57BbMGDApvEOPEh14lwrr/GeXRLNQLcR1qnOdzOwwTSFy13Gj/6FNIZpBEl0bWPU+VYFawrqUw==} peerDependencies: @@ -11683,6 +12664,28 @@ packages: - supports-color dev: false + /vite-plugin-solid@2.9.1(solid-js@1.8.12)(vite@5.1.5): + resolution: {integrity: sha512-RC4hj+lbvljw57BbMGDApvEOPEh14lwrr/GeXRLNQLcR1qnOdzOwwTSFy13Gj/6FNIZpBEl0bWPU+VYFawrqUw==} + peerDependencies: + '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* + solid-js: ^1.7.2 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + '@testing-library/jest-dom': + optional: true + dependencies: + '@babel/core': 7.23.9 + '@types/babel__core': 7.20.5 + babel-preset-solid: 1.8.12(@babel/core@7.23.9) + merge-anything: 5.1.7 + solid-js: 1.8.12 + solid-refresh: 0.6.3(solid-js@1.8.12) + vite: 5.1.5(@types/node@20.11.10) + vitefu: 0.2.5(vite@5.1.5) + transitivePeerDependencies: + - supports-color + dev: false + /vite@4.5.0(@types/node@20.11.10): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -11754,8 +12757,8 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@5.2.8(@types/node@20.11.10): - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + /vite@5.1.5(@types/node@20.11.10): + resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -11783,11 +12786,12 @@ packages: optional: true dependencies: '@types/node': 20.11.10 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.14.2 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.9.6 optionalDependencies: fsevents: 2.3.3 + dev: false /vitefu@0.2.5(vite@4.5.0): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} @@ -11800,8 +12804,19 @@ packages: vite: 4.5.0(@types/node@20.11.10) dev: false - /vitest@1.5.0(@types/node@20.11.10): - resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} + /vitefu@0.2.5(vite@5.1.5): + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 5.1.5(@types/node@20.11.10) + dev: false + + /vitest@1.2.2(@types/node@20.11.10): + resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -12066,6 +13081,14 @@ packages: dependencies: isexe: 2.0.0 + /which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + isexe: 3.1.1 + dev: false + /why-is-node-running@2.2.2: resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} engines: {node: '>=8'} From 9533310db57ada20b48b40b5d268be07cd6b442b Mon Sep 17 00:00:00 2001 From: Alessandro Cuppari Date: Tue, 5 Mar 2024 11:37:03 +0000 Subject: [PATCH 03/11] chore: unused imports --- .../app/routes/__root.tsx | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx index 7f4816b2178..486bbc75765 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx @@ -1,14 +1,7 @@ -import * as React from "react"; -import { - Link, - Outlet, - createRootRouteWithContext, - useRouter, -} from "@tanstack/react-router"; -import { TanStackRouterDevtools } from "@tanstack/router-devtools"; -import { Meta, Scripts, Asset } from "@tanstack/react-router-server/client"; - -// import '../style.css' +import * as React from 'react' +import { createRootRouteWithContext, Link, Outlet } from '@tanstack/react-router' +import { TanStackRouterDevtools } from '@tanstack/router-devtools' +import { Meta, Scripts } from '@tanstack/react-router-server/client' export const Route = createRootRouteWithContext<{ assets: React.ReactNode; @@ -34,7 +27,6 @@ export const Route = createRootRouteWithContext<{ }); function RootComponent() { - const router = useRouter(); return ( From e3c68513bc69ad06ff3961e5df0df72220cce1b6 Mon Sep 17 00:00:00 2001 From: Alessandro Cuppari Date: Wed, 6 Mar 2024 08:48:18 +0000 Subject: [PATCH 04/11] fix: use type instead of mode --- examples/react/vinxi-basic-ssr-streaming/app.config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/app.config.js b/examples/react/vinxi-basic-ssr-streaming/app.config.js index ea6866446c0..00acfd922f7 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app.config.js +++ b/examples/react/vinxi-basic-ssr-streaming/app.config.js @@ -7,13 +7,13 @@ export default createApp({ routers: [ { name: 'public', - mode: 'static', + type: 'static', dir: './public', base: '/', }, { name: 'ssr', - mode: 'http', + type: 'http', middleware: './app/middleware.tsx', handler: './app/server.tsx', target: 'server', @@ -21,7 +21,7 @@ export default createApp({ }, { name: 'client', - mode: 'client', + type: 'client', handler: './app/client.tsx', target: 'browser', plugins: () => [ From da8dda0a02a5fee1f29109816f0e814dfbd3c2cd Mon Sep 17 00:00:00 2001 From: Alessandro Cuppari Date: Sat, 13 Apr 2024 20:28:37 +0100 Subject: [PATCH 05/11] fix: updated vinxi example to latest tsr --- .../vinxi-basic-ssr-streaming/app/client.tsx | 36 +- .../vinxi-basic-ssr-streaming/app/router.tsx | 13 +- .../vinxi-basic-ssr-streaming/app/server.tsx | 122 +- .../vinxi-basic-ssr-streaming/package.json | 5 +- pnpm-lock.yaml | 1462 ++++++++++------- 5 files changed, 953 insertions(+), 685 deletions(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/client.tsx b/examples/react/vinxi-basic-ssr-streaming/app/client.tsx index 6d465664ff5..d19f11abb12 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/client.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/client.tsx @@ -1,37 +1,13 @@ /// -import { Root, hydrateRoot } from 'react-dom/client' +import { hydrateRoot } from 'react-dom/client' import 'vinxi/client' import { createRouter } from './router' -import { StartClient } from '@tanstack/react-router-server/client' +import { StartClient } from '@tanstack/react-router-server' -render() +const router = createRouter() -function render(mod?: any) { - const router = createRouter() +const app = - const app = - - if (!mod) { - // Initial - router.hydrate() - window.$root = hydrateRoot(document, app) - } else { - // Hot - window.$root?.render(app) - } -} - -if (import.meta.hot) { - import.meta.hot.accept((mod) => { - if (mod) { - render(mod) - } - }) -} - -declare global { - interface Window { - $root?: Root - } -} \ No newline at end of file +router.hydrate() +hydrateRoot(document, app) \ No newline at end of file diff --git a/examples/react/vinxi-basic-ssr-streaming/app/router.tsx b/examples/react/vinxi-basic-ssr-streaming/app/router.tsx index 6a5b9ce9720..be655f30939 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/router.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/router.tsx @@ -1,15 +1,24 @@ -import { createRouter as tsrCR } from '@tanstack/react-router' +import { Router } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' export function createRouter() { - return tsrCR({ + const router= new Router({ routeTree, defaultPreload: 'intent', defaultStaleTime: 1, context: { assets: [], }, + dehydrate: (() => { + return { + assets: router.options.context.assets, + } + }) as any, + hydrate: (data) => { + router.options.context.assets = data.assets + }, }) + return router } declare module '@tanstack/react-router' { diff --git a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx index c3109adf17f..102047b996d 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx @@ -1,13 +1,18 @@ /// import type { PipeableStream } from 'react-dom/server' import { renderToPipeableStream } from 'react-dom/server' -import { eventHandler, toWebRequest } from 'vinxi/server' +import { eventHandler, toWebRequest, getResponseHeaders } from 'vinxi/server' import { getManifest } from 'vinxi/manifest' import { StartServer, transformStreamWithRouter } from '@tanstack/react-router-server/server' import { createRouter } from './router' import { createMemoryHistory } from '@tanstack/react-router' +import { + serverFnPayloadTypeHeader, + serverFnReturnTypeHeader, +} from '@tanstack/react-router-server' import React from 'react' +import { isbot } from 'isbot' export default eventHandler(async (event) => { const req = toWebRequest(event) @@ -21,26 +26,28 @@ export default eventHandler(async (event) => { ).filter((d: any) => { return !d.children?.includes('nuxt-devtools') }) as any + if (import.meta.env.DEV) { + assets.push( + { + tag: 'script', + attrs: {}, + children: getHydrationOverlayScriptContext(), + }, + { + tag: 'script', + children: `window.__vite_plugin_react_preamble_installed__ = true`, + } + ) + } - assets.push( - { - tag: 'script', - attrs: {}, - children: getHydrationOverlayScriptContext(), - }, - { - tag: 'script', - children: `window.__vite_plugin_react_preamble_installed__ = true`, + assets.push({ + tag: 'script', + attrs: { + src: clientManifest.inputs[clientManifest.handler].output.path, + type: 'module', + async: true, }, - { - tag: 'script', - attrs: { - src: clientManifest.inputs[clientManifest.handler].output.path, - type: 'module', - async: true, - }, - } - ) + }) // Create a router const router = createRouter() @@ -59,12 +66,36 @@ export default eventHandler(async (event) => { }) await router.load() + // Handle Redirects + const { redirect } = router.state + + if (redirect) { + console.info('Redirecting...', redirect.statusCode, redirect.href) + return new Response(null, { + status: redirect.statusCode, + headers: { + ...redirect.headers, + Location: redirect.href, + }, + }) + } + + const isRobot = isbot(req.headers.get('User-Agent')) + const stream = await new Promise(async (resolve) => { const stream = renderToPipeableStream(, { - onShellReady() { - resolve(stream) - }, + ...(isRobot + ? { + onAllReady() { + resolve(stream) + }, + } + : { + onShellReady() { + resolve(stream) + }, + }), }) }) @@ -78,25 +109,54 @@ export default eventHandler(async (event) => { (stream, transform) => stream.pipe(transform as any), stream ) + ;(event as any).__tsrHeadersSent = true - const headers = router.state.matches.reduce((acc, match) => { - if (match.headers) { - Object.assign(acc, match.headers) + let headers = { + ...getResponseHeaders(event), + 'Content-Type': 'text/html', + ...router.state.matches.reduce((acc, match) => { + if (match.headers) { + Object.assign(acc, match.headers) + } + return acc + }, {}), } - return acc - }, {}) + + // Remove server function headers + ;[serverFnReturnTypeHeader, serverFnPayloadTypeHeader].forEach((header) => { + delete headers[header] + }) + + // Dedupe headers + headers = dedupeHeaders(Object.entries(headers)) return new Response(transformedStream as any, { status: router.state.statusCode, statusText: router.state.statusCode === 200 ? 'OK' : 'Internal Server Error', - headers: { - 'Content-Type': 'text/html', - ...headers, - }, + headers, }) }) + +function dedupeHeaders(headerList: [string, string][]): [string, string][] { + // Object to store the deduplicated headers + const seen = new Set() + + // Reverse, filter with seen, then reverse again + return [...headerList] + .reverse() + .filter(([name]) => { + const key = name.toLowerCase() + if (seen.has(key)) { + return false + } + seen.add(key) + return true + }) + .reverse() +} + function getHydrationOverlayScriptContext() { return ` window.BUILDER_HYDRATION_OVERLAY = {} diff --git a/examples/react/vinxi-basic-ssr-streaming/package.json b/examples/react/vinxi-basic-ssr-streaming/package.json index 266ad4a5e78..c196c187054 100644 --- a/examples/react/vinxi-basic-ssr-streaming/package.json +++ b/examples/react/vinxi-basic-ssr-streaming/package.json @@ -10,12 +10,11 @@ "dependencies": { "@tanstack/react-router": "^1.28.1", "@tanstack/react-router-server": "^1.28.1", - "@vinxi/react": "0.1.1", - "@vinxi/server-functions": "^0.1.1", + "isbot": "^4.3.0", "autoprefixer": "^10.4.15", "react": "18.2.0", "react-dom": "18.2.0", - "vinxi": "^0.3.8" + "vinxi": "^0.3.11" }, "devDependencies": { "@tanstack/router-devtools": "^1.28.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ac93d1673f..6fcd4d4507b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1012,8 +1012,8 @@ importers: specifier: 0.2.2 version: 0.2.2 '@vinxi/server-functions': - specifier: 0.3.1 - version: 0.3.1(vinxi@0.3.9) + specifier: ^0.3.2 + version: 0.3.2(vinxi@0.3.11) autoprefixer: specifier: ^10.4.15 version: 10.4.16(postcss@8.4.38) @@ -1024,21 +1024,21 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) vinxi: - specifier: ^0.3.8 - version: 0.3.9(@types/node@20.11.10)(preact@10.19.3)(rollup@4.9.6) + specifier: ^0.3.11 + version: 0.3.11(@types/node@20.11.10) devDependencies: '@tanstack/router-devtools': specifier: ^1.28.1 version: link:../../../packages/router-devtools '@tanstack/router-vite-plugin': - specifier: ^1.26.21 + specifier: workspace:^ version: link:../../../packages/router-vite-plugin '@types/react': - specifier: ^18.2.47 - version: 18.2.48 + specifier: ^18.2.78 + version: 18.2.78 '@types/react-dom': - specifier: ^18.2.18 - version: 18.2.18 + specifier: ^18.2.25 + version: 18.2.25 '@vitejs/plugin-react': specifier: ^4.2.1 version: 4.2.1(vite@5.2.8) @@ -1129,7 +1129,7 @@ importers: version: 18.3.0-canary-0cdfef19b-20231211(react@18.3.0-canary-0cdfef19b-20231211) react-server-dom-webpack: specifier: 18.3.0-canary-0cdfef19b-20231211 - version: 18.3.0-canary-0cdfef19b-20231211(react-dom@18.3.0-canary-0cdfef19b-20231211)(react@18.3.0-canary-0cdfef19b-20231211)(webpack@5.90.0) + version: 18.3.0-canary-0cdfef19b-20231211(react-dom@18.3.0-canary-0cdfef19b-20231211)(react@18.3.0-canary-0cdfef19b-20231211)(webpack@5.91.0) waku: specifier: 0.18.1 version: 0.18.1(@hono/node-server@1.4.1)(@swc/core@1.3.102)(@vitejs/plugin-react@4.2.1)(hono@3.12.0)(react-server-dom-webpack@18.3.0-canary-0cdfef19b-20231211)(react@18.3.0-canary-0cdfef19b-20231211)(vite@5.0.13) @@ -1527,6 +1527,13 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + /@antfu/utils@0.7.7: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} dev: false @@ -1572,6 +1579,28 @@ packages: transitivePeerDependencies: - supports-color + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} @@ -1590,6 +1619,15 @@ packages: '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -1675,6 +1713,19 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} @@ -1743,6 +1794,16 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} @@ -1774,6 +1835,13 @@ packages: dependencies: '@babel/types': 7.24.0 + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} @@ -1794,6 +1862,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: false + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.23.9): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} @@ -1803,6 +1881,16 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.24.0 + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.9): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} @@ -1822,6 +1910,15 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} @@ -1831,6 +1928,15 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} @@ -1952,6 +2058,17 @@ packages: chalk: 4.1.2 dev: true + /@deno/shim-deno-test@0.5.0: + resolution: {integrity: sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w==} + dev: false + + /@deno/shim-deno@0.19.1: + resolution: {integrity: sha512-8hYIpmDqpG76sn+UY1853RCi+CI7ZWz9tt37nfyDL8rwr6xbW0+GHUwCLcsGbh1uMIKURuJy6xtrIcnW+a0duA==} + dependencies: + '@deno/shim-deno-test': 0.5.0 + which: 4.0.0 + dev: false + /@emotion/hash@0.9.1: resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} @@ -1985,15 +2102,6 @@ packages: requiresBuild: true optional: true - /@esbuild/aix-ppc64@0.20.1: - resolution: {integrity: sha512-m55cpeupQ2DbuRGQMMZDzbv9J9PgVelPjlcmM5kxHnrBdBx6REaEd7LamYV7Dm8N7rCyR/XwU6rVP8ploKtIkA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-arm64@0.16.17: resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} engines: {node: '>=12'} @@ -2028,15 +2136,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.20.1: - resolution: {integrity: sha512-hCnXNF0HM6AjowP+Zou0ZJMWWa1VkD77BXe959zERgGJBBxB+sV+J9f/rcjeg2c5bsukD/n17RKWXGFCO5dD5A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-arm@0.16.17: resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} engines: {node: '>=12'} @@ -2071,15 +2170,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.20.1: - resolution: {integrity: sha512-4j0+G27/2ZXGWR5okcJi7pQYhmkVgb4D7UKwxcqrjhvp5TKWx3cUjgB1CGj1mfdmJBQ9VnUGgUhign+FPF2Zgw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/android-x64@0.16.17: resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} engines: {node: '>=12'} @@ -2114,15 +2204,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.20.1: - resolution: {integrity: sha512-MSfZMBoAsnhpS+2yMFYIQUPs8Z19ajwfuaSZx+tSl09xrHZCjbeXXMsUF/0oq7ojxYEpsSo4c0SfjxOYXRbpaA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: false - optional: true - /@esbuild/darwin-arm64@0.16.17: resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} engines: {node: '>=12'} @@ -2157,15 +2238,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.20.1: - resolution: {integrity: sha512-Ylk6rzgMD8klUklGPzS414UQLa5NPXZD5tf8JmQU8GQrj6BrFA/Ic9tb2zRe1kOZyCbGl+e8VMbDRazCEBqPvA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@esbuild/darwin-x64@0.16.17: resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} engines: {node: '>=12'} @@ -2200,15 +2272,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.20.1: - resolution: {integrity: sha512-pFIfj7U2w5sMp52wTY1XVOdoxw+GDwy9FsK3OFz4BpMAjvZVs0dT1VXs8aQm22nhwoIWUmIRaE+4xow8xfIDZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@esbuild/freebsd-arm64@0.16.17: resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} engines: {node: '>=12'} @@ -2243,15 +2306,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.20.1: - resolution: {integrity: sha512-UyW1WZvHDuM4xDz0jWun4qtQFauNdXjXOtIy7SYdf7pbxSWWVlqhnR/T2TpX6LX5NI62spt0a3ldIIEkPM6RHw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/freebsd-x64@0.16.17: resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} engines: {node: '>=12'} @@ -2286,15 +2340,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.20.1: - resolution: {integrity: sha512-itPwCw5C+Jh/c624vcDd9kRCCZVpzpQn8dtwoYIt2TJF3S9xJLiRohnnNrKwREvcZYx0n8sCSbvGH349XkcQeg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-arm64@0.16.17: resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} engines: {node: '>=12'} @@ -2329,15 +2374,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.20.1: - resolution: {integrity: sha512-cX8WdlF6Cnvw/DO9/X7XLH2J6CkBnz7Twjpk56cshk9sjYVcuh4sXQBy5bmTwzBjNVZze2yaV1vtcJS04LbN8w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-arm@0.16.17: resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} engines: {node: '>=12'} @@ -2372,15 +2408,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.20.1: - resolution: {integrity: sha512-LojC28v3+IhIbfQ+Vu4Ut5n3wKcgTu6POKIHN9Wpt0HnfgUGlBuyDDQR4jWZUZFyYLiz4RBBBmfU6sNfn6RhLw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-ia32@0.16.17: resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} engines: {node: '>=12'} @@ -2415,15 +2442,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.20.1: - resolution: {integrity: sha512-4H/sQCy1mnnGkUt/xszaLlYJVTz3W9ep52xEefGtd6yXDQbz/5fZE5dFLUgsPdbUOQANcVUa5iO6g3nyy5BJiw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-loong64@0.16.17: resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} engines: {node: '>=12'} @@ -2458,15 +2476,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.20.1: - resolution: {integrity: sha512-c0jgtB+sRHCciVXlyjDcWb2FUuzlGVRwGXgI+3WqKOIuoo8AmZAddzeOHeYLtD+dmtHw3B4Xo9wAUdjlfW5yYA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-mips64el@0.16.17: resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} engines: {node: '>=12'} @@ -2501,15 +2510,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.20.1: - resolution: {integrity: sha512-TgFyCfIxSujyuqdZKDZ3yTwWiGv+KnlOeXXitCQ+trDODJ+ZtGOzLkSWngynP0HZnTsDyBbPy7GWVXWaEl6lhA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-ppc64@0.16.17: resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} engines: {node: '>=12'} @@ -2544,15 +2544,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.20.1: - resolution: {integrity: sha512-b+yuD1IUeL+Y93PmFZDZFIElwbmFfIKLKlYI8M6tRyzE6u7oEP7onGk0vZRh8wfVGC2dZoy0EqX1V8qok4qHaw==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-riscv64@0.16.17: resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} engines: {node: '>=12'} @@ -2587,15 +2578,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.20.1: - resolution: {integrity: sha512-wpDlpE0oRKZwX+GfomcALcouqjjV8MIX8DyTrxfyCfXxoKQSDm45CZr9fanJ4F6ckD4yDEPT98SrjvLwIqUCgg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-s390x@0.16.17: resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} engines: {node: '>=12'} @@ -2630,15 +2612,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.20.1: - resolution: {integrity: sha512-5BepC2Au80EohQ2dBpyTquqGCES7++p7G+7lXe1bAIvMdXm4YYcEfZtQrP4gaoZ96Wv1Ute61CEHFU7h4FMueQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/linux-x64@0.16.17: resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} engines: {node: '>=12'} @@ -2673,15 +2646,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.20.1: - resolution: {integrity: sha512-5gRPk7pKuaIB+tmH+yKd2aQTRpqlf1E4f/mC+tawIm/CGJemZcHZpp2ic8oD83nKgUPMEd0fNanrnFljiruuyA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@esbuild/netbsd-x64@0.16.17: resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} engines: {node: '>=12'} @@ -2716,15 +2680,6 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.20.1: - resolution: {integrity: sha512-4fL68JdrLV2nVW2AaWZBv3XEm3Ae3NZn/7qy2KGAt3dexAgSVT+Hc97JKSZnqezgMlv9x6KV0ZkZY7UO5cNLCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/openbsd-x64@0.16.17: resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} engines: {node: '>=12'} @@ -2759,15 +2714,6 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.20.1: - resolution: {integrity: sha512-GhRuXlvRE+twf2ES+8REbeCb/zeikNqwD3+6S5y5/x+DYbAQUNl0HNBs4RQJqrechS4v4MruEr8ZtAin/hK5iw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: false - optional: true - /@esbuild/sunos-x64@0.16.17: resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} engines: {node: '>=12'} @@ -2802,15 +2748,6 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.20.1: - resolution: {integrity: sha512-ZnWEyCM0G1Ex6JtsygvC3KUUrlDXqOihw8RicRuQAzw+c4f1D66YlPNNV3rkjVW90zXVsHwZYWbJh3v+oQFM9Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-arm64@0.16.17: resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} engines: {node: '>=12'} @@ -2845,15 +2782,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.20.1: - resolution: {integrity: sha512-QZ6gXue0vVQY2Oon9WyLFCdSuYbXSoxaZrPuJ4c20j6ICedfsDilNPYfHLlMH7vGfU5DQR0czHLmJvH4Nzis/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-ia32@0.16.17: resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} engines: {node: '>=12'} @@ -2888,15 +2816,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.20.1: - resolution: {integrity: sha512-HzcJa1NcSWTAU0MJIxOho8JftNp9YALui3o+Ny7hCh0v5f90nprly1U3Sj1Ldj/CvKKdvvFsCRvDkpsEMp4DNw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@esbuild/win32-x64@0.16.17: resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} engines: {node: '>=12'} @@ -2981,6 +2900,11 @@ packages: engines: {node: '>=14'} dev: false + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: false + /@fastify/deepmerge@1.3.0: resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} dev: false @@ -3034,7 +2958,6 @@ packages: strip-ansi-cjs: /strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true /@jest/schemas@29.6.3: resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} @@ -3078,6 +3001,13 @@ packages: '@jridgewell/trace-mapping': 0.3.22 dev: false + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: false + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} @@ -3500,6 +3430,7 @@ packages: dependencies: is-glob: 4.0.3 micromatch: 4.0.5 + napi-wasm: 1.1.0 dev: false bundledDependencies: - napi-wasm @@ -3601,44 +3532,20 @@ packages: '@parcel/watcher-linux-x64-musl': 2.4.1 '@parcel/watcher-win32-arm64': 2.4.1 '@parcel/watcher-win32-ia32': 2.4.1 - '@parcel/watcher-win32-x64': 2.4.1 - dev: false - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: true - optional: true - - /@polka/url@1.0.0-next.24: - resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} - dev: false - - /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.0): - resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} - peerDependencies: - '@babel/core': 7.x - vite: 2.x || 3.x || 4.x || 5.x - dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) - '@prefresh/vite': 2.4.5(preact@10.19.3)(vite@4.5.0) - '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.9) - debug: 4.3.4 - kolorist: 1.8.0 - magic-string: 0.30.5 - node-html-parser: 6.1.12 - resolve: 1.22.8 - vite: 4.5.0(@types/node@20.11.10) - transitivePeerDependencies: - - preact - - supports-color + '@parcel/watcher-win32-x64': 2.4.1 + dev: false + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + optional: true + + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: false - /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@5.1.5): + /@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.20.2)(vite@4.5.0): resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} peerDependencies: '@babel/core': 7.x @@ -3647,7 +3554,7 @@ packages: '@babel/core': 7.23.9 '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) - '@prefresh/vite': 2.4.5(preact@10.19.3)(vite@5.1.5) + '@prefresh/vite': 2.4.5(preact@10.20.2)(vite@4.5.0) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.9) debug: 4.3.4 @@ -3655,7 +3562,7 @@ packages: magic-string: 0.30.5 node-html-parser: 6.1.12 resolve: 1.22.8 - vite: 5.1.5(@types/node@20.11.10) + vite: 4.5.0(@types/node@20.11.10) transitivePeerDependencies: - preact - supports-color @@ -3665,19 +3572,19 @@ packages: resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} dev: false - /@prefresh/core@1.5.2(preact@10.19.3): + /@prefresh/core@1.5.2(preact@10.20.2): resolution: {integrity: sha512-A/08vkaM1FogrCII5PZKCrygxSsc11obExBScm3JF1CryK2uDS3ZXeni7FeKCx1nYdUkj4UcJxzPzc1WliMzZA==} peerDependencies: preact: ^10.0.0 dependencies: - preact: 10.19.3 + preact: 10.20.2 dev: false /@prefresh/utils@1.2.0: resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} dev: false - /@prefresh/vite@2.4.5(preact@10.19.3)(vite@4.5.0): + /@prefresh/vite@2.4.5(preact@10.20.2)(vite@4.5.0): resolution: {integrity: sha512-iForDVJ2M8gQYnm5pHumvTEJjGGc7YNYC0GVKnHFL+GvFfKHfH9Rpq67nUAzNbjuLEpqEOUuQVQajMazWu2ZNQ==} peerDependencies: preact: ^10.4.0 @@ -3685,32 +3592,15 @@ packages: dependencies: '@babel/core': 7.23.9 '@prefresh/babel-plugin': 0.5.1 - '@prefresh/core': 1.5.2(preact@10.19.3) + '@prefresh/core': 1.5.2(preact@10.20.2) '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 - preact: 10.19.3 + preact: 10.20.2 vite: 4.5.0(@types/node@20.11.10) transitivePeerDependencies: - supports-color dev: false - /@prefresh/vite@2.4.5(preact@10.19.3)(vite@5.1.5): - resolution: {integrity: sha512-iForDVJ2M8gQYnm5pHumvTEJjGGc7YNYC0GVKnHFL+GvFfKHfH9Rpq67nUAzNbjuLEpqEOUuQVQajMazWu2ZNQ==} - peerDependencies: - preact: ^10.4.0 - vite: '>=2.0.0' - dependencies: - '@babel/core': 7.23.9 - '@prefresh/babel-plugin': 0.5.1 - '@prefresh/core': 1.5.2(preact@10.19.3) - '@prefresh/utils': 1.2.0 - '@rollup/pluginutils': 4.2.1 - preact: 10.19.3 - vite: 5.1.5(@types/node@20.11.10) - transitivePeerDependencies: - - supports-color - dev: false - /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: @@ -3993,7 +3883,7 @@ packages: react: 18.2.0 dev: false - /@rollup/plugin-alias@5.1.0(rollup@4.12.0): + /@rollup/plugin-alias@5.1.0(rollup@4.14.2): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4002,7 +3892,7 @@ packages: rollup: optional: true dependencies: - rollup: 4.12.0 + rollup: 4.14.2 slash: 4.0.0 dev: false @@ -4038,7 +3928,7 @@ packages: rollup: 4.14.2 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.12.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.14.2): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4047,13 +3937,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.5 - rollup: 4.12.0 + rollup: 4.14.2 dev: false /@rollup/plugin-commonjs@25.0.7(rollup@4.9.6): @@ -4074,7 +3964,7 @@ packages: rollup: 4.9.6 dev: false - /@rollup/plugin-inject@5.0.5(rollup@4.12.0): + /@rollup/plugin-inject@5.0.5(rollup@4.14.2): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4083,10 +3973,10 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) estree-walker: 2.0.2 magic-string: 0.30.5 - rollup: 4.12.0 + rollup: 4.14.2 dev: false /@rollup/plugin-inject@5.0.5(rollup@4.9.6): @@ -4104,7 +3994,7 @@ packages: rollup: 4.9.6 dev: false - /@rollup/plugin-json@6.1.0(rollup@4.12.0): + /@rollup/plugin-json@6.1.0(rollup@4.14.2): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4113,8 +4003,8 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) - rollup: 4.12.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) + rollup: 4.14.2 dev: false /@rollup/plugin-json@6.1.0(rollup@4.9.6): @@ -4130,7 +4020,7 @@ packages: rollup: 4.9.6 dev: false - /@rollup/plugin-node-resolve@15.2.3(rollup@4.12.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.2): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4139,13 +4029,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.12.0 + rollup: 4.14.2 dev: false /@rollup/plugin-node-resolve@15.2.3(rollup@4.9.6): @@ -4166,7 +4056,7 @@ packages: rollup: 4.9.6 dev: false - /@rollup/plugin-replace@5.0.5(rollup@4.12.0): + /@rollup/plugin-replace@5.0.5(rollup@4.14.2): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4175,10 +4065,9 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) magic-string: 0.30.5 - rollup: 4.12.0 - dev: false + rollup: 4.14.2 /@rollup/plugin-replace@5.0.5(rollup@4.9.6): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} @@ -4194,7 +4083,7 @@ packages: rollup: 4.9.6 dev: false - /@rollup/plugin-terser@0.4.4(rollup@4.12.0): + /@rollup/plugin-terser@0.4.4(rollup@4.14.2): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4203,7 +4092,7 @@ packages: rollup: optional: true dependencies: - rollup: 4.12.0 + rollup: 4.14.2 serialize-javascript: 6.0.2 smob: 1.4.1 terser: 5.27.0 @@ -4245,7 +4134,7 @@ packages: picomatch: 2.3.1 dev: false - /@rollup/pluginutils@5.1.0(rollup@4.12.0): + /@rollup/pluginutils@5.1.0(rollup@4.14.2): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -4257,8 +4146,7 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.12.0 - dev: false + rollup: 4.14.2 /@rollup/pluginutils@5.1.0(rollup@4.9.6): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} @@ -4275,12 +4163,11 @@ packages: rollup: 4.9.6 dev: false - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + /@rollup/rollup-android-arm-eabi@4.14.2: + resolution: {integrity: sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==} cpu: [arm] os: [android] requiresBuild: true - dev: false optional: true /@rollup/rollup-android-arm-eabi@4.9.6: @@ -4290,12 +4177,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + /@rollup/rollup-android-arm64@4.14.2: + resolution: {integrity: sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==} cpu: [arm64] os: [android] requiresBuild: true - dev: false optional: true /@rollup/rollup-android-arm64@4.9.6: @@ -4305,12 +4191,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + /@rollup/rollup-darwin-arm64@4.14.2: + resolution: {integrity: sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==} cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@rollup/rollup-darwin-arm64@4.9.6: @@ -4320,12 +4205,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + /@rollup/rollup-darwin-x64@4.14.2: + resolution: {integrity: sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==} cpu: [x64] os: [darwin] requiresBuild: true - dev: false optional: true /@rollup/rollup-darwin-x64@4.9.6: @@ -4335,12 +4219,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + /@rollup/rollup-linux-arm-gnueabihf@4.14.2: + resolution: {integrity: sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==} cpu: [arm] os: [linux] requiresBuild: true - dev: false optional: true /@rollup/rollup-linux-arm-gnueabihf@4.9.6: @@ -4350,12 +4233,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + /@rollup/rollup-linux-arm64-gnu@4.14.2: + resolution: {integrity: sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==} cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@rollup/rollup-linux-arm64-gnu@4.9.6: @@ -4365,12 +4247,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + /@rollup/rollup-linux-arm64-musl@4.14.2: + resolution: {integrity: sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==} cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@rollup/rollup-linux-arm64-musl@4.9.6: @@ -4380,12 +4261,18 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + /@rollup/rollup-linux-powerpc64le-gnu@4.14.2: + resolution: {integrity: sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.14.2: + resolution: {integrity: sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==} cpu: [riscv64] os: [linux] requiresBuild: true - dev: false optional: true /@rollup/rollup-linux-riscv64-gnu@4.9.6: @@ -4395,12 +4282,18 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + /@rollup/rollup-linux-s390x-gnu@4.14.2: + resolution: {integrity: sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.14.2: + resolution: {integrity: sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==} cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@rollup/rollup-linux-x64-gnu@4.9.6: @@ -4410,12 +4303,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + /@rollup/rollup-linux-x64-musl@4.14.2: + resolution: {integrity: sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==} cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@rollup/rollup-linux-x64-musl@4.9.6: @@ -4425,12 +4317,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + /@rollup/rollup-win32-arm64-msvc@4.14.2: + resolution: {integrity: sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==} cpu: [arm64] os: [win32] requiresBuild: true - dev: false optional: true /@rollup/rollup-win32-arm64-msvc@4.9.6: @@ -4440,12 +4331,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + /@rollup/rollup-win32-ia32-msvc@4.14.2: + resolution: {integrity: sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==} cpu: [ia32] os: [win32] requiresBuild: true - dev: false optional: true /@rollup/rollup-win32-ia32-msvc@4.9.6: @@ -4455,12 +4345,11 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + /@rollup/rollup-win32-x64-msvc@4.14.2: + resolution: {integrity: sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==} cpu: [x64] os: [win32] requiresBuild: true - dev: false optional: true /@rollup/rollup-win32-x64-msvc@4.9.6: @@ -4874,7 +4763,7 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.56.2 + '@types/eslint': 8.56.9 '@types/estree': 1.0.5 dev: false @@ -4883,6 +4772,14 @@ packages: dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 + dev: true + + /@types/eslint@8.56.9: + resolution: {integrity: sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + dev: false /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -4943,9 +4840,19 @@ packages: dependencies: undici-types: 5.26.5 + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + dependencies: + undici-types: 5.26.5 + dev: false + /@types/prop-types@15.7.11: resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + /@types/prop-types@15.7.12: + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + dev: true + /@types/qs@6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true @@ -4959,6 +4866,12 @@ packages: dependencies: '@types/react': 18.2.48 + /@types/react-dom@18.2.25: + resolution: {integrity: sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==} + dependencies: + '@types/react': 18.2.78 + dev: true + /@types/react@18.2.48: resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==} dependencies: @@ -4966,6 +4879,13 @@ packages: '@types/scheduler': 0.16.8 csstype: 3.1.3 + /@types/react@18.2.78: + resolution: {integrity: sha512-qOwdPnnitQY4xKlKayt42q5W5UQrSHjgoXNVEtxeqdITJ99k4VXJOP3vt8Rkm9HmgJpH50UNU+rlqfkfWOqp0A==} + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + dev: true + /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: false @@ -5243,11 +5163,11 @@ packages: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 acorn: 8.11.3 - acorn-import-attributes: 1.9.2(acorn@8.11.3) + acorn-import-attributes: 1.9.5(acorn@8.11.3) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 - glob: 7.1.4 + glob: 7.2.3 graceful-fs: 4.2.11 micromatch: 4.0.5 node-gyp-build: 4.8.0 @@ -5257,10 +5177,10 @@ packages: - supports-color dev: false - /@vinxi/devtools@0.1.1(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.9.6)(vite@4.5.0): + /@vinxi/devtools@0.1.1(@babel/core@7.23.9)(preact@10.20.2)(rollup@4.14.2)(vite@4.5.0): resolution: {integrity: sha512-/A7X1hoNBsgC2n7nKOWbIa4cTt9dJq9nehyLGdNxgjEcGzbsaJrofUDrFLt+0YJlyb7OOhFEPYHRCat3tsrytw==} dependencies: - '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.0) + '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.20.2)(vite@4.5.0) '@solidjs/router': 0.8.4(solid-js@1.8.12) birpc: 0.2.15 solid-js: 1.8.12 @@ -5282,7 +5202,7 @@ packages: /@vinxi/devtools@0.2.0(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.14.2)(vite@4.5.0): resolution: {integrity: sha512-LpQp5zbiBhV4eo2w6AiJFtpZZj4LaRBOnzggIPTeSJYvgrxRMAqe/34Har3vVo+b7sPOjxFbE1zHZhLzaAcidw==} dependencies: - '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.0) + '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.20.2)(vite@4.5.0) '@solidjs/router': 0.8.4(solid-js@1.8.12) birpc: 0.2.15 solid-js: 1.8.12 @@ -5301,28 +5221,6 @@ packages: - vite dev: false - /@vinxi/devtools@0.2.0(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.9.6)(vite@5.1.5): - resolution: {integrity: sha512-LpQp5zbiBhV4eo2w6AiJFtpZZj4LaRBOnzggIPTeSJYvgrxRMAqe/34Har3vVo+b7sPOjxFbE1zHZhLzaAcidw==} - dependencies: - '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@5.1.5) - '@solidjs/router': 0.8.4(solid-js@1.8.12) - birpc: 0.2.15 - solid-js: 1.8.12 - vite-plugin-inspect: 0.7.42(rollup@4.9.6)(vite@5.1.5) - vite-plugin-solid: 2.9.1(solid-js@1.8.12)(vite@5.1.5) - ws: 8.16.0 - transitivePeerDependencies: - - '@babel/core' - - '@nuxt/kit' - - '@testing-library/jest-dom' - - bufferutil - - preact - - rollup - - supports-color - - utf-8-validate - - vite - dev: false - /@vinxi/listhen@1.5.6: resolution: {integrity: sha512-WSN1z931BtasZJlgPp704zJFnQFRg7yzSjkm3MzAWQYe4uXFXlFr1hc5Ac2zae5/HDOz5x1/zDM5Cb54vTCnWw==} hasBin: true @@ -5365,21 +5263,21 @@ packages: vinxi: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) dev: false - /@vinxi/plugin-directives@0.3.0(vinxi@0.3.9): - resolution: {integrity: sha512-diwK2D6mZGffF5z+CgG7DcRnpKrOgqyv8SfxdbOTLGQcxtrQ9IpuHfX+mbOttaIJFvoZ3pHGUKe7Gfgd0BuQ1A==} + /@vinxi/plugin-directives@0.3.1(vinxi@0.3.11): + resolution: {integrity: sha512-4qz5WifjmJ864VS8Ik9nUG0wAkt/xIcxFpP29RXogGLgccRnceBpWQi+ghw5rm0F6LP/YMAhhO5iFORXclWd0Q==} peerDependencies: - vinxi: ^0.3.0 + vinxi: ^0.3.10 dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.4 acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) - acorn-loose: 8.3.0 + acorn-loose: 8.4.0 acorn-typescript: 1.4.13(acorn@8.11.3) astring: 1.8.6 magicast: 0.2.11 - recast: 0.23.4 + recast: 0.23.6 tslib: 2.6.2 - vinxi: 0.3.9(@types/node@20.11.10)(preact@10.19.3)(rollup@4.9.6) + vinxi: 0.3.11(@types/node@20.11.10) dev: false /@vinxi/react@0.1.1: @@ -5405,6 +5303,21 @@ packages: vinxi: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) dev: false + /@vinxi/server-functions@0.3.2(vinxi@0.3.11): + resolution: {integrity: sha512-PoARb1X480UE9jysPqltpzginBftna34GmZ3HyvRT+pnPfsGcuHOzZe/a18V/K04qk2yMRd7eeW42JF5O+wunw==} + peerDependencies: + vinxi: ^0.3.10 + dependencies: + '@vinxi/plugin-directives': 0.3.1(vinxi@0.3.11) + acorn: 8.11.3 + acorn-loose: 8.4.0 + acorn-typescript: 1.4.13(acorn@8.11.3) + astring: 1.8.6 + magicast: 0.2.11 + recast: 0.23.6 + vinxi: 0.3.11(@types/node@20.11.10) + dev: false + /@vitejs/plugin-react@3.1.0(vite@5.0.13): resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} engines: {node: ^14.18.0 || >=16.0.0} @@ -5550,8 +5463,8 @@ packages: resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} dev: true - /@webassemblyjs/ast@1.11.6: - resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -5565,8 +5478,8 @@ packages: resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} dev: false - /@webassemblyjs/helper-buffer@1.11.6: - resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} dev: false /@webassemblyjs/helper-numbers@1.11.6: @@ -5581,13 +5494,13 @@ packages: resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} dev: false - /@webassemblyjs/helper-wasm-section@1.11.6: - resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 dev: false /@webassemblyjs/ieee754@1.11.6: @@ -5606,42 +5519,42 @@ packages: resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} dev: false - /@webassemblyjs/wasm-edit@1.11.6: - resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 - '@webassemblyjs/wasm-opt': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 - '@webassemblyjs/wast-printer': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 dev: false - /@webassemblyjs/wasm-gen@1.11.6: - resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 dev: false - /@webassemblyjs/wasm-opt@1.11.6: - resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} dependencies: - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/helper-buffer': 1.11.6 - '@webassemblyjs/wasm-gen': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 dev: false - /@webassemblyjs/wasm-parser@1.11.6: - resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-api-error': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 @@ -5649,10 +5562,10 @@ packages: '@webassemblyjs/utf8': 1.11.6 dev: false - /@webassemblyjs/wast-printer@1.11.6: - resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: - '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 dev: false @@ -5721,8 +5634,8 @@ packages: acorn: 8.11.3 dev: false - /acorn-import-attributes@1.9.2(acorn@8.11.3): - resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} + /acorn-import-attributes@1.9.5(acorn@8.11.3): + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 dependencies: @@ -5743,6 +5656,13 @@ packages: acorn: 8.11.3 dev: false + /acorn-loose@8.4.0: + resolution: {integrity: sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==} + engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.11.3 + dev: false + /acorn-typescript@1.4.13(acorn@8.11.3): resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} peerDependencies: @@ -5873,6 +5793,19 @@ packages: readable-stream: 3.6.2 dev: false + /archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + dependencies: + glob: 10.3.12 + graceful-fs: 4.2.11 + is-stream: 2.0.1 + lazystream: 1.0.1 + lodash: 4.17.21 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + dev: false + /archiver@6.0.1: resolution: {integrity: sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==} engines: {node: '>= 12.0.0'} @@ -5886,6 +5819,19 @@ packages: zip-stream: 5.0.1 dev: false + /archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + dependencies: + archiver-utils: 5.0.2 + async: 3.2.5 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 + readdir-glob: 1.1.3 + tar-stream: 3.1.7 + zip-stream: 6.0.1 + dev: false + /archy@1.0.0: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} dev: false @@ -6095,6 +6041,22 @@ packages: postcss-value-parser: 4.2.0 dev: false + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001609 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.38 + postcss-value-parser: 4.2.0 + dev: false + /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} @@ -6129,6 +6091,10 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: false + /b4a@1.6.6: + resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} + dev: false + /babel-plugin-add-module-exports@0.2.1: resolution: {integrity: sha512-3AN/9V/rKuv90NG65m4tTHsI04XrCKsWbztIcW7a8H5iIN7WlvWucRtVV0V/rT4QvtA11n5Vmp20fLwfMWqp6g==} dev: true @@ -6166,6 +6132,12 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + /bare-events@2.2.2: + resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} + requiresBuild: true + dev: false + optional: true + /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -6268,10 +6240,26 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.3) + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001609 + electron-to-chromium: 1.4.736 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: false + /buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + dev: false + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: false @@ -6311,32 +6299,32 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - /c12@1.6.1: - resolution: {integrity: sha512-fAZOi3INDvIbmjuwAVVggusyRTxwNdTAnwLay8IsXwhFzDwPPGzFxzrx6L55CPFGPulUSZI0eyFUvRDXveoE3g==} + /c12@1.10.0: + resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 + confbox: 0.1.6 defu: 6.1.4 - dotenv: 16.4.1 - giget: 1.2.1 + dotenv: 16.4.5 + giget: 1.2.3 jiti: 1.21.0 - mlly: 1.5.0 + mlly: 1.6.1 ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 - rc9: 2.1.1 + rc9: 2.1.2 dev: false - /c12@1.9.0: - resolution: {integrity: sha512-7KTCZXdIbOA2hLRQ+1KzJ15Qp9Wn58one74dkihMVp2H6EzKTa3OYBy0BSfS1CCcmxYyqeX8L02m40zjQ+dstg==} + /c12@1.6.1: + resolution: {integrity: sha512-fAZOi3INDvIbmjuwAVVggusyRTxwNdTAnwLay8IsXwhFzDwPPGzFxzrx6L55CPFGPulUSZI0eyFUvRDXveoE3g==} dependencies: - chokidar: 3.6.0 - confbox: 0.1.3 + chokidar: 3.5.3 defu: 6.1.4 dotenv: 16.4.1 giget: 1.2.1 jiti: 1.21.0 - mlly: 1.6.1 + mlly: 1.5.0 ohash: 1.1.3 pathe: 1.1.2 perfect-debounce: 1.0.0 @@ -6380,6 +6368,10 @@ packages: /caniuse-lite@1.0.30001581: resolution: {integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==} + /caniuse-lite@1.0.30001609: + resolution: {integrity: sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==} + dev: false + /chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -6583,6 +6575,17 @@ packages: readable-stream: 3.6.2 dev: false + /compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + dependencies: + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 + normalize-path: 3.0.0 + readable-stream: 4.5.2 + dev: false + /compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -6628,8 +6631,8 @@ packages: yargs: 17.7.2 dev: true - /confbox@0.1.3: - resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} + /confbox@0.1.6: + resolution: {integrity: sha512-ONc4FUXne/1UBN1EuxvQ5rAjjAbo+N4IxrxWI8bzGHbd1PyrFlI/E3G23/yoJZDFBaFFxPGfI0EOq0fa4dgX7A==} dev: false /consola@3.2.3: @@ -6676,6 +6679,10 @@ packages: resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} dev: false + /cookie-es@1.1.0: + resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==} + dev: false + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -6707,8 +6714,16 @@ packages: readable-stream: 3.6.2 dev: false - /croner@8.0.1: - resolution: {integrity: sha512-Hq1+lXVgjJjcS/U+uk6+yVmtxami0r0b+xVtlGyABgdz110l/kOnHWvlSI7nVzrTl8GCdZHwZS4pbBFT7hSL/g==} + /crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + dependencies: + crc-32: 1.2.2 + readable-stream: 4.5.2 + dev: false + + /croner@8.0.2: + resolution: {integrity: sha512-HgSdlSUX8mIgDTTiQpWUP4qY4IFRMsduPCYdca34Pelt8MVdxdaDOzreFtCscA6R+cRZd7UbD1CD3uyx6J3X1A==} engines: {node: '>=18.0'} dev: false @@ -6813,11 +6828,11 @@ packages: resolution: {integrity: sha512-gpuGEkBQM+5y6p4cWaw9+ePy5TNon+fdwFVtTI8leU3UhwhsBfPewRxMXGuQNC+M2b/MDGMlfgpqynkcd0C3FQ==} dependencies: '@deno/shim-deno': 0.19.1 - undici-types: 5.26.5 + undici-types: 5.28.4 dev: false - /db0@0.1.3: - resolution: {integrity: sha512-g8mXmj+t5MRXiA1ARjhfLd6Acy98VLVd8VL5LOBZ49P4A7qzoGgt6pC/gDWuP4zS3BiqSnKXTjTQXviMsD/sxA==} + /db0@0.1.4: + resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==} peerDependencies: '@libsql/client': ^0.5.2 better-sqlite3: ^9.4.3 @@ -7072,6 +7087,11 @@ packages: engines: {node: '>=12'} dev: false + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: false + /dts-buddy@0.2.5: resolution: {integrity: sha512-66HTWHyXS3JwgpRwcu88rsDyZfPUb0oPYmiNg5f4BgCAFTVorJXpygf339QyXOXX1PuqHpvB+qo7O+8Ni1vXUQ==} hasBin: true @@ -7106,6 +7126,10 @@ packages: /electron-to-chromium@1.4.650: resolution: {integrity: sha512-sYSQhJCJa4aGA1wYol5cMQgekDBlbVfTRavlGZVr3WZpDdOPcp6a6xUnFfrt8TqZhsBYYbDxJZCjGfHuGupCRQ==} + /electron-to-chromium@1.4.736: + resolution: {integrity: sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==} + dev: false + /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -7128,6 +7152,15 @@ packages: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 + dev: true + + /enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: false /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} @@ -7232,6 +7265,10 @@ packages: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: false + /es-module-lexer@1.5.0: + resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} + dev: false + /es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -7400,37 +7437,6 @@ packages: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - /esbuild@0.20.1: - resolution: {integrity: sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.1 - '@esbuild/android-arm': 0.20.1 - '@esbuild/android-arm64': 0.20.1 - '@esbuild/android-x64': 0.20.1 - '@esbuild/darwin-arm64': 0.20.1 - '@esbuild/darwin-x64': 0.20.1 - '@esbuild/freebsd-arm64': 0.20.1 - '@esbuild/freebsd-x64': 0.20.1 - '@esbuild/linux-arm': 0.20.1 - '@esbuild/linux-arm64': 0.20.1 - '@esbuild/linux-ia32': 0.20.1 - '@esbuild/linux-loong64': 0.20.1 - '@esbuild/linux-mips64el': 0.20.1 - '@esbuild/linux-ppc64': 0.20.1 - '@esbuild/linux-riscv64': 0.20.1 - '@esbuild/linux-s390x': 0.20.1 - '@esbuild/linux-x64': 0.20.1 - '@esbuild/netbsd-x64': 0.20.1 - '@esbuild/openbsd-x64': 0.20.1 - '@esbuild/sunos-x64': 0.20.1 - '@esbuild/win32-arm64': 0.20.1 - '@esbuild/win32-ia32': 0.20.1 - '@esbuild/win32-x64': 0.20.1 - dev: false - /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -8068,7 +8074,6 @@ packages: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - dev: true /form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} @@ -8278,6 +8283,20 @@ packages: tar: 6.2.0 dev: false + /giget@1.2.3: + resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} + hasBin: true + dependencies: + citty: 0.1.6 + consola: 3.2.3 + defu: 6.1.4 + node-fetch-native: 1.6.4 + nypm: 0.3.8 + ohash: 1.1.3 + pathe: 1.1.2 + tar: 6.2.1 + dev: false + /git-log-parser@1.2.0: resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} dependencies: @@ -8318,6 +8337,18 @@ packages: path-scurry: 1.10.1 dev: true + /glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.4 + minipass: 7.0.4 + path-scurry: 1.10.2 + dev: false + /glob@7.1.4: resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} dependencies: @@ -8328,6 +8359,17 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + /glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} @@ -8410,7 +8452,7 @@ packages: dependencies: '@sindresorhus/merge-streams': 2.3.0 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -8471,7 +8513,7 @@ packages: iron-webcrypto: 1.0.0 ohash: 1.1.3 radix3: 1.1.0 - ufo: 1.4.0 + ufo: 1.5.3 uncrypto: 0.1.3 unenv: 1.9.0 transitivePeerDependencies: @@ -8663,6 +8705,11 @@ packages: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: false + /immer@10.0.3: resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==} dev: false @@ -9082,7 +9129,6 @@ packages: /isbot@4.3.0: resolution: {integrity: sha512-cohu4X66cXP120xwF+UubL+BQzOQLN1O0DOPOmkci6elgZ7o6XIn8B3FARk59RL0aX3cGTq8Ta7MVOWpay3rbw==} engines: {node: '>=18'} - dev: true /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -9114,7 +9160,6 @@ packages: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: true /javascript-stringify@2.1.0: resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} @@ -9139,7 +9184,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.10 + '@types/node': 20.12.7 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -9272,6 +9317,10 @@ packages: resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==} dev: false + /knitwork@1.1.0: + resolution: {integrity: sha512-oHnmiBUVHz1V+URE77PNot2lv3QiYU2zQf1JjOVkMt3YDKGbu8NAFr+c4mcNOhdsGrB/VpVbRwPwhiXrPhxQbw==} + dev: false + /kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -9360,7 +9409,7 @@ packages: node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.4.0 + ufo: 1.5.3 untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: @@ -9429,6 +9478,11 @@ packages: resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} engines: {node: 14 || >=16.14} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: false + /lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} dependencies: @@ -9478,6 +9532,13 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: false + /magic-string@0.30.9: + resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + /magicast@0.2.11: resolution: {integrity: sha512-6saXbRDA1HMkqbsvHOU6HBjCVgZT460qheRkLhJQHWAbhXoWESI3Kn/dGGXyKs15FFKR85jsUqFx2sMK0wy/5g==} dependencies: @@ -9606,6 +9667,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true @@ -9625,7 +9693,6 @@ packages: /minipass@7.0.4: resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} - dev: true /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} @@ -9649,6 +9716,15 @@ packages: pkg-types: 1.0.3 ufo: 1.3.2 + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.5.3 + dev: false + /modern-ahocorasick@1.0.1: resolution: {integrity: sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==} @@ -9787,8 +9863,8 @@ packages: - uWebSockets.js dev: false - /nitropack@2.9.1: - resolution: {integrity: sha512-qgz2VKJoiFvEtC6JnFlaqVx5hirD/oonb6SIM6kQODeDjEHVaiOViZxg7pnAGq13Zu2vNHhaJe6Sf49AEG3J+A==} + /nitropack@2.9.6: + resolution: {integrity: sha512-HP2PE0dREcDIBVkL8Zm6eVyrDd10/GI9hTL00PHvjUM8I9Y/2cv73wRDmxNyInfrx/CJKHATb2U/pQrqpzJyXA==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -9799,30 +9875,30 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.12.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.12.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.12.0) - '@rollup/plugin-json': 6.1.0(rollup@4.12.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.12.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.12.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.12.0) - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.2) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.2) + '@rollup/plugin-inject': 5.0.5(rollup@4.14.2) + '@rollup/plugin-json': 6.1.0(rollup@4.14.2) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.2) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.2) + '@rollup/plugin-terser': 0.4.4(rollup@4.14.2) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 - archiver: 6.0.1 - c12: 1.9.0 + archiver: 7.0.1 + c12: 1.10.0 chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.6 consola: 3.2.3 - cookie-es: 1.0.0 - croner: 8.0.1 + cookie-es: 1.1.0 + croner: 8.0.2 crossws: 0.2.4 - db0: 0.1.3 + db0: 0.1.4 defu: 6.1.4 destr: 2.0.3 dot-prop: 8.0.2 - esbuild: 0.20.1 + esbuild: 0.20.2 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.2.0 @@ -9831,38 +9907,39 @@ packages: h3: 1.11.1 hookable: 5.5.3 httpxy: 0.1.5 + ioredis: 5.3.2 is-primitive: 3.0.1 jiti: 1.21.0 klona: 2.0.6 - knitwork: 1.0.0 + knitwork: 1.1.0 listhen: 1.7.2 - magic-string: 0.30.8 + magic-string: 0.30.9 mime: 4.0.1 mlly: 1.6.1 mri: 1.2.0 - node-fetch-native: 1.6.2 - ofetch: 1.3.3 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 ohash: 1.1.3 - openapi-typescript: 6.7.4 + openapi-typescript: 6.7.5 pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - radix3: 1.1.0 - rollup: 4.12.0 - rollup-plugin-visualizer: 5.12.0(rollup@4.12.0) + radix3: 1.1.2 + rollup: 4.14.2 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.2) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 - ufo: 1.4.0 + ufo: 1.5.3 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.12.0) - unstorage: 1.10.1 - unwasm: 0.3.7 + unimport: 3.7.1(rollup@4.14.2) + unstorage: 1.10.2(ioredis@5.3.2) + unwasm: 0.3.9 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -9898,8 +9975,8 @@ packages: resolution: {integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==} dev: false - /node-fetch-native@1.6.2: - resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} + /node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} dev: false /node-fetch@2.7.0: @@ -10095,6 +10172,18 @@ packages: ufo: 1.3.2 dev: false + /nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + dependencies: + citty: 0.1.6 + consola: 3.2.3 + execa: 8.0.1 + pathe: 1.1.2 + ufo: 1.5.3 + dev: false + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -10206,6 +10295,14 @@ packages: ufo: 1.3.2 dev: false + /ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.3 + dev: false + /ohash@1.1.3: resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} dev: false @@ -10272,6 +10369,18 @@ packages: yargs-parser: 21.1.1 dev: false + /openapi-typescript@6.7.5: + resolution: {integrity: sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA==} + hasBin: true + dependencies: + ansi-colors: 4.1.3 + fast-glob: 3.3.2 + js-yaml: 4.1.0 + supports-color: 9.4.0 + undici: 5.28.4 + yargs-parser: 21.1.1 + dev: false + /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -10387,6 +10496,14 @@ packages: minipass: 7.0.4 dev: true + /path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: false + /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -10394,6 +10511,10 @@ packages: resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} dev: false + /path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + dev: false + /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -10474,17 +10595,16 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false + source-map-js: 1.2.0 - /preact@10.19.3: - resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} + /preact@10.20.2: + resolution: {integrity: sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==} dev: false /prelude-ls@1.2.1: @@ -10589,6 +10709,10 @@ packages: resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} dev: false + /radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + dev: false + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -10616,6 +10740,13 @@ packages: flat: 5.0.2 dev: false + /rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + dependencies: + defu: 6.1.4 + destr: 2.0.3 + dev: false + /react-dom@18.2.0(react@18.2.0): resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -10692,7 +10823,7 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.48)(react@18.2.0) dev: false - /react-server-dom-webpack@18.3.0-canary-0cdfef19b-20231211(react-dom@18.3.0-canary-0cdfef19b-20231211)(react@18.3.0-canary-0cdfef19b-20231211)(webpack@5.90.0): + /react-server-dom-webpack@18.3.0-canary-0cdfef19b-20231211(react-dom@18.3.0-canary-0cdfef19b-20231211)(react@18.3.0-canary-0cdfef19b-20231211)(webpack@5.91.0): resolution: {integrity: sha512-t/73DT1K3sd3ra1HLeWdLyE3n9O6uuWLsGrbkzw3mHAyMbMYh/09Ux9uQCKvGS2Y5uLUdXZGDzALrhRv77LX/w==} engines: {node: '>=0.10.0'} peerDependencies: @@ -10775,6 +10906,17 @@ packages: string_decoder: 1.3.0 dev: false + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + /readdir-glob@1.1.3: resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: @@ -10804,6 +10946,17 @@ packages: tslib: 2.6.2 dev: false + /recast@0.23.6: + resolution: {integrity: sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==} + engines: {node: '>= 4'} + dependencies: + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tiny-invariant: 1.3.3 + tslib: 2.6.2 + dev: false + /rechoir@0.8.0: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} engines: {node: '>= 10.13.0'} @@ -10964,7 +11117,7 @@ packages: rollup: 4.14.2 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.12.0): + /rollup-plugin-visualizer@5.12.0(rollup@4.14.2): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true @@ -10976,7 +11129,7 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.12.0 + rollup: 4.14.2 source-map: 0.7.4 yargs: 17.7.2 dev: false @@ -11006,28 +11159,29 @@ packages: fsevents: 2.3.3 dev: false - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + /rollup@4.14.2: + resolution: {integrity: sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 + '@rollup/rollup-android-arm-eabi': 4.14.2 + '@rollup/rollup-android-arm64': 4.14.2 + '@rollup/rollup-darwin-arm64': 4.14.2 + '@rollup/rollup-darwin-x64': 4.14.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.2 + '@rollup/rollup-linux-arm64-gnu': 4.14.2 + '@rollup/rollup-linux-arm64-musl': 4.14.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.2 + '@rollup/rollup-linux-riscv64-gnu': 4.14.2 + '@rollup/rollup-linux-s390x-gnu': 4.14.2 + '@rollup/rollup-linux-x64-gnu': 4.14.2 + '@rollup/rollup-linux-x64-musl': 4.14.2 + '@rollup/rollup-win32-arm64-msvc': 4.14.2 + '@rollup/rollup-win32-ia32-msvc': 4.14.2 + '@rollup/rollup-win32-x64-msvc': 4.14.2 fsevents: 2.3.3 - dev: false /rollup@4.9.6: resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} @@ -11471,6 +11625,15 @@ packages: queue-tick: 1.0.1 dev: false + /streamx@2.16.1: + resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} + dependencies: + fast-fifo: 1.3.2 + queue-tick: 1.0.1 + optionalDependencies: + bare-events: 2.2.2 + dev: false + /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -11674,6 +11837,14 @@ packages: streamx: 2.15.6 dev: false + /tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + dependencies: + b4a: 1.6.6 + fast-fifo: 1.3.2 + streamx: 2.16.1 + dev: false + /tar@6.2.0: resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} @@ -11723,6 +11894,17 @@ packages: source-map-support: 0.5.21 dev: false + /terser@5.30.3: + resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.11.3 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: false + /text-extensions@2.4.0: resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} engines: {node: '>=8'} @@ -11760,6 +11942,10 @@ packages: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} dev: false + /tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + dev: false + /tiny-warning@1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false @@ -11971,6 +12157,10 @@ packages: /ufo@1.3.2: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + dev: false + /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -12001,6 +12191,10 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + /undici-types@5.28.4: + resolution: {integrity: sha512-3OeMF5Lyowe8VW0skf5qaIE7Or3yS9LS7fvMUI0gg4YxpIBVg0L8BxCmROw2CcYhSkpR68Epz7CGc8MPj94Uww==} + dev: false + /undici@5.28.2: resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==} engines: {node: '>=14.0'} @@ -12008,6 +12202,13 @@ packages: '@fastify/busboy': 2.1.0 dev: false + /undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} + dependencies: + '@fastify/busboy': 2.1.1 + dev: false + /unenv@1.9.0: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} dependencies: @@ -12023,17 +12224,17 @@ packages: engines: {node: '>=18'} dev: false - /unimport@3.7.1(rollup@4.12.0): + /unimport@3.7.1(rollup@4.14.2): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.12.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.2) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.8 - mlly: 1.6.1 + mlly: 1.5.0 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 @@ -12053,7 +12254,7 @@ packages: fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.8 - mlly: 1.6.1 + mlly: 1.5.0 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 @@ -12076,6 +12277,16 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + /unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + engines: {node: '>=14.0.0'} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: false + /unplugin@1.6.0: resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==} dependencies: @@ -12142,6 +12353,65 @@ packages: - uWebSockets.js dev: false + /unstorage@1.10.2(ioredis@5.3.2): + resolution: {integrity: sha512-cULBcwDqrS8UhlIysUJs2Dk0Mmt8h7B0E6mtR+relW9nZvsf/u4SkAYyNliPiPW7XtFNb5u3IUMkxGxFTTRTgQ==} + peerDependencies: + '@azure/app-configuration': ^1.5.0 + '@azure/cosmos': ^4.0.0 + '@azure/data-tables': ^13.2.2 + '@azure/identity': ^4.0.1 + '@azure/keyvault-secrets': ^4.8.0 + '@azure/storage-blob': ^12.17.0 + '@capacitor/preferences': ^5.0.7 + '@netlify/blobs': ^6.5.0 || ^7.0.0 + '@planetscale/database': ^1.16.0 + '@upstash/redis': ^1.28.4 + '@vercel/kv': ^1.0.1 + idb-keyval: ^6.2.1 + ioredis: ^5.3.2 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/kv': + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + dependencies: + anymatch: 3.1.3 + chokidar: 3.6.0 + destr: 2.0.3 + h3: 1.11.1 + ioredis: 5.3.2 + listhen: 1.7.2 + lru-cache: 10.2.0 + mri: 1.2.0 + node-fetch-native: 1.6.4 + ofetch: 1.3.4 + ufo: 1.5.3 + transitivePeerDependencies: + - uWebSockets.js + dev: false + /untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -12156,14 +12426,15 @@ packages: pathe: 1.1.2 dev: false - /unwasm@0.3.7: - resolution: {integrity: sha512-+s4iWvHHYnLuwNo+9mqVFLBmBzGc3gIuzkVZ8fdMN9K/kWopCnfaUVnDagd2OX3It5nRR5EenI5nSQb8FOd0fA==} + /unwasm@0.3.9: + resolution: {integrity: sha512-LDxTx/2DkFURUd+BU1vUsF/moj0JsoTvl+2tcg2AUOiEzVturhGGx17/IMgGvKUYdZwr33EJHtChCJuhu9Ouvg==} dependencies: - magic-string: 0.30.8 + knitwork: 1.1.0 + magic-string: 0.30.9 mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 - unplugin: 1.6.0 + unplugin: 1.10.1 dev: false /update-browserslist-db@1.0.13(browserslist@4.22.3): @@ -12176,6 +12447,17 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: false + /uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} dev: false @@ -12432,26 +12714,23 @@ packages: - xml2js dev: false - /vinxi@0.3.9(@types/node@20.11.10)(preact@10.19.3)(rollup@4.9.6): - resolution: {integrity: sha512-+TKbWrmbNpDGn4QvJcbO3LonFpH4L0SVWOyI63WZ2zT94pJrSvyt+BefEcTlvYAJiKZUFPxkjUlNzsUdCRjZpg==} + /vinxi@0.3.11(@types/node@20.11.10): + resolution: {integrity: sha512-ASEpiwldZIsViv2/ZlO6qnRhDAwxr92nKXxMOinA+5nCY7nlaKgekaLDjTyUmFzB8DSiXVZqmHnd6OZVkn4vzw==} hasBin: true dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + '@babel/core': 7.24.4 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) '@types/micromatch': 4.0.6 - '@types/serve-static': 1.15.5 - '@types/ws': 8.5.10 - '@vinxi/devtools': 0.2.0(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.9.6)(vite@5.1.5) '@vinxi/listhen': 1.5.6 boxen: 7.1.1 - chokidar: 3.5.3 - citty: 0.1.5 + chokidar: 3.6.0 + citty: 0.1.6 consola: 3.2.3 crossws: 0.2.4 dax-sh: 0.39.2 defu: 6.1.4 - es-module-lexer: 1.4.1 + es-module-lexer: 1.5.0 esbuild: 0.18.20 fast-glob: 3.3.2 get-port-please: 3.1.2 @@ -12459,20 +12738,19 @@ packages: hookable: 5.5.3 http-proxy: 1.18.1 micromatch: 4.0.5 - nitropack: 2.9.1 - node-fetch-native: 1.6.1 - path-to-regexp: 6.2.1 + nitropack: 2.9.6 + node-fetch-native: 1.6.4 + path-to-regexp: 6.2.2 pathe: 1.1.2 - radix3: 1.1.0 + radix3: 1.1.2 resolve: 1.22.8 serve-placeholder: 2.0.1 serve-static: 1.15.0 - ufo: 1.3.2 + ufo: 1.5.3 unctx: 2.3.1 unenv: 1.9.0 - unstorage: 1.10.1 - vite: 5.1.5(@types/node@20.11.10) - ws: 8.16.0 + unstorage: 1.10.2(ioredis@5.3.2) + vite: 5.2.8(@types/node@20.11.10) zod: 3.22.4 transitivePeerDependencies: - '@azure/app-configuration' @@ -12484,29 +12762,24 @@ packages: - '@capacitor/preferences' - '@libsql/client' - '@netlify/blobs' - - '@nuxt/kit' - '@planetscale/database' - - '@testing-library/jest-dom' - '@types/node' - '@upstash/redis' - '@vercel/kv' - better-sqlite3 - - bufferutil - debug - drizzle-orm - encoding - idb-keyval + - ioredis - less - lightningcss - - preact - - rollup - sass - stylus - sugarss - supports-color - terser - uWebSockets.js - - utf-8-validate - xml2js dev: false @@ -12618,30 +12891,6 @@ packages: - supports-color dev: false - /vite-plugin-inspect@0.7.42(rollup@4.9.6)(vite@5.1.5): - resolution: {integrity: sha512-JCyX86wr3siQc+p9Kd0t8VkFHAJag0RaQVIpdFGSv5FEaePEVB6+V/RGtz2dQkkGSXQzRWrPs4cU3dRKg32bXw==} - engines: {node: '>=14'} - peerDependencies: - '@nuxt/kit': '*' - vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 - peerDependenciesMeta: - '@nuxt/kit': - optional: true - dependencies: - '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@4.9.6) - debug: 4.3.4 - error-stack-parser-es: 0.1.1 - fs-extra: 11.2.0 - open: 9.1.0 - picocolors: 1.0.0 - sirv: 2.0.4 - vite: 5.1.5(@types/node@20.11.10) - transitivePeerDependencies: - - rollup - - supports-color - dev: false - /vite-plugin-solid@2.9.1(solid-js@1.8.12)(vite@4.5.0): resolution: {integrity: sha512-RC4hj+lbvljw57BbMGDApvEOPEh14lwrr/GeXRLNQLcR1qnOdzOwwTSFy13Gj/6FNIZpBEl0bWPU+VYFawrqUw==} peerDependencies: @@ -12664,28 +12913,6 @@ packages: - supports-color dev: false - /vite-plugin-solid@2.9.1(solid-js@1.8.12)(vite@5.1.5): - resolution: {integrity: sha512-RC4hj+lbvljw57BbMGDApvEOPEh14lwrr/GeXRLNQLcR1qnOdzOwwTSFy13Gj/6FNIZpBEl0bWPU+VYFawrqUw==} - peerDependencies: - '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* - solid-js: ^1.7.2 - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - '@testing-library/jest-dom': - optional: true - dependencies: - '@babel/core': 7.23.9 - '@types/babel__core': 7.20.5 - babel-preset-solid: 1.8.12(@babel/core@7.23.9) - merge-anything: 5.1.7 - solid-js: 1.8.12 - solid-refresh: 0.6.3(solid-js@1.8.12) - vite: 5.1.5(@types/node@20.11.10) - vitefu: 0.2.5(vite@5.1.5) - transitivePeerDependencies: - - supports-color - dev: false - /vite@4.5.0(@types/node@20.11.10): resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12757,8 +12984,8 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@5.1.5(@types/node@20.11.10): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.2.8(@types/node@20.11.10): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -12786,12 +13013,11 @@ packages: optional: true dependencies: '@types/node': 20.11.10 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.9.6 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.14.2 optionalDependencies: fsevents: 2.3.3 - dev: false /vitefu@0.2.5(vite@4.5.0): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} @@ -12804,17 +13030,6 @@ packages: vite: 4.5.0(@types/node@20.11.10) dev: false - /vitefu@0.2.5(vite@5.1.5): - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - vite: 5.1.5(@types/node@20.11.10) - dev: false - /vitest@1.2.2(@types/node@20.11.10): resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} @@ -12931,12 +13146,12 @@ packages: '@vitejs/plugin-react': 4.2.1(vite@5.0.13) hono: 3.12.0 react: 18.3.0-canary-0cdfef19b-20231211 - react-server-dom-webpack: 18.3.0-canary-0cdfef19b-20231211(react-dom@18.3.0-canary-0cdfef19b-20231211)(react@18.3.0-canary-0cdfef19b-20231211)(webpack@5.90.0) + react-server-dom-webpack: 18.3.0-canary-0cdfef19b-20231211(react-dom@18.3.0-canary-0cdfef19b-20231211)(react@18.3.0-canary-0cdfef19b-20231211)(webpack@5.91.0) vite: 5.0.13(@types/node@20.11.10) dev: false - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 @@ -12973,15 +13188,15 @@ packages: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/wasm-edit': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.3 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 - es-module-lexer: 1.4.1 + enhanced-resolve: 5.16.0 + es-module-lexer: 1.5.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -13209,5 +13424,14 @@ packages: readable-stream: 3.6.2 dev: false + /zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.5.2 + dev: false + /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} From b0e8187d6961dd7e57280f892849d4b68eae3727 Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Sun, 14 Apr 2024 11:18:07 +1200 Subject: [PATCH 06/11] chore: cleanup --- .../vinxi-basic-ssr-streaming/app.config.js | 15 ++++- .../app/routeTree.gen.ts | 4 +- .../app/routes/hello.lazy.tsx | 20 ------- .../app/routes/hello.tsx | 19 +++++- .../app/routes/no-title.lazy.tsx | 14 ----- .../app/routes/no-title.tsx | 29 +++++---- .../vinxi-basic-ssr-streaming/app/server.tsx | 55 +++++++++--------- .../public/favicon.ico | Bin 370070 -> 15406 bytes 8 files changed, 73 insertions(+), 83 deletions(-) delete mode 100644 examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx delete mode 100644 examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.lazy.tsx diff --git a/examples/react/vinxi-basic-ssr-streaming/app.config.js b/examples/react/vinxi-basic-ssr-streaming/app.config.js index 00acfd922f7..e8747966b5e 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app.config.js +++ b/examples/react/vinxi-basic-ssr-streaming/app.config.js @@ -17,7 +17,14 @@ export default createApp({ middleware: './app/middleware.tsx', handler: './app/server.tsx', target: 'server', - plugins: () => [reactRefresh(), TanStackRouterVite()], + plugins: () => [ + TanStackRouterVite({ + experimental: { + enableCodeSplitting: true, + }, + }), + reactRefresh(), + ], }, { name: 'client', @@ -26,8 +33,12 @@ export default createApp({ target: 'browser', plugins: () => [ serverFunctions.client(), + TanStackRouterVite({ + experimental: { + enableCodeSplitting: true, + }, + }), reactRefresh(), - TanStackRouterVite(), ], base: '/_build', }, diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts b/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts index f1b2e4c4ee4..b12e981efed 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts +++ b/examples/react/vinxi-basic-ssr-streaming/app/routeTree.gen.ts @@ -26,12 +26,12 @@ const TestRoute = TestImport.update({ const NoTitleRoute = NoTitleImport.update({ path: '/no-title', getParentRoute: () => rootRoute, -} as any).lazy(() => import('./routes/no-title.lazy').then((d) => d.Route)) +} as any) const HelloRoute = HelloImport.update({ path: '/hello', getParentRoute: () => rootRoute, -} as any).lazy(() => import('./routes/hello.lazy').then((d) => d.Route)) +} as any) const IndexRoute = IndexImport.update({ path: '/', diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx deleted file mode 100644 index b673e32891a..00000000000 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.lazy.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from 'react' -import { Await, createLazyFileRoute } from '@tanstack/react-router' - -export const Route = createLazyFileRoute("/hello")({ - component: Hello, -}); - -function Hello() { - const { data, slowData } = Route.useLoaderData(); - - return ( -
-

Hello from the client!

-

{data}

- Loading...

}> - {(slowData) =>

{slowData}

}
-
-
- ); -} diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx index 2e587aedec0..558e5387a45 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/hello.tsx @@ -1,9 +1,9 @@ -import {createFileRoute, defer} from '@tanstack/react-router' +import * as React from 'react' +import { createFileRoute, defer, Await } from '@tanstack/react-router' async function getData() { 'use server' - return new Promise((r) => { setTimeout(() => r('Server says hello, too!'), 500) }) @@ -37,4 +37,19 @@ export const Route = createFileRoute('/hello')({ content: `Hello ${ctx.loaderData.data}`, }, ], + component: Hello, }) + +function Hello() { + const { data, slowData } = Route.useLoaderData() + + return ( +
+

Hello from the client!

+

{data}

+ Loading...

}> + {(slowData) =>

{slowData}

}
+
+
+ ) +} diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.lazy.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.lazy.tsx deleted file mode 100644 index 0997c865126..00000000000 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.lazy.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { createLazyFileRoute } from '@tanstack/react-router' - -export const Route = createLazyFileRoute('/no-title')({ - component: NoTitle, -}) - -function NoTitle() { - return ( -
-

Hello!

-

This page has no title.

-
- ) -} diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx index 372f6dc56c8..a2a5f695b24 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/no-title.tsx @@ -1,31 +1,30 @@ -import { createFileRoute } from "@tanstack/react-router"; -import { useEffect, useState, useTransition } from "react"; +import * as React from 'react' +import { createFileRoute } from '@tanstack/react-router' async function action() { - "use server"; - console.log("hola from the server"); + 'use server' + console.log('hola from the server') return new Promise((r) => { - setTimeout(() => r("Server says hello, too!"), 500); - }); + setTimeout(() => r('Server says hello, too!'), 500) + }) } -export const Route = createFileRoute("/no-title")({ +export const Route = createFileRoute('/no-title')({ component: NoTitle, -}); +}) function NoTitle() { - const [isHelloling, startHellling] = useTransition(); - const [hola, setHola] = useState(""); - useEffect(() => { + const [hola, setHola] = React.useState('') + React.useEffect(() => { action().then((h) => { - setHola(h); - }); - }, []); + setHola(h) + }) + }, []) return (
{hola}

Hello!

This page has no title.

- ); + ) } diff --git a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx index 102047b996d..7219625bff8 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx @@ -1,9 +1,13 @@ /// +import * as React from 'react' import type { PipeableStream } from 'react-dom/server' import { renderToPipeableStream } from 'react-dom/server' import { eventHandler, toWebRequest, getResponseHeaders } from 'vinxi/server' import { getManifest } from 'vinxi/manifest' -import { StartServer, transformStreamWithRouter } from '@tanstack/react-router-server/server' +import { + StartServer, + transformStreamWithRouter, +} from '@tanstack/react-router-server/server' import { createRouter } from './router' import { createMemoryHistory } from '@tanstack/react-router' @@ -11,7 +15,6 @@ import { serverFnPayloadTypeHeader, serverFnReturnTypeHeader, } from '@tanstack/react-router-server' -import React from 'react' import { isbot } from 'isbot' export default eventHandler(async (event) => { @@ -36,7 +39,7 @@ export default eventHandler(async (event) => { { tag: 'script', children: `window.__vite_plugin_react_preamble_installed__ = true`, - } + }, ) } @@ -82,47 +85,44 @@ export default eventHandler(async (event) => { const isRobot = isbot(req.headers.get('User-Agent')) - const stream = await new Promise(async (resolve) => { const stream = renderToPipeableStream(, { ...(isRobot ? { - onAllReady() { - resolve(stream) - }, - } + onAllReady() { + resolve(stream) + }, + } : { - onShellReady() { - resolve(stream) - }, - }), + onShellReady() { + resolve(stream) + }, + }), }) }) // Add our Router transform to the stream - const transforms = [ - transformStreamWithRouter(router), - ] + const transforms = [transformStreamWithRouter(router)] // Pipe the stream through our transforms const transformedStream = transforms.reduce( (stream, transform) => stream.pipe(transform as any), - stream + stream, ) ;(event as any).__tsrHeadersSent = true let headers = { - ...getResponseHeaders(event), - 'Content-Type': 'text/html', - ...router.state.matches.reduce((acc, match) => { - if (match.headers) { - Object.assign(acc, match.headers) - } - return acc - }, {}), - } + ...getResponseHeaders(event), + 'Content-Type': 'text/html', + ...router.state.matches.reduce((acc, match) => { + if (match.headers) { + Object.assign(acc, match.headers) + } + return acc + }, {}), + } - // Remove server function headers + // Remove server function headers ;[serverFnReturnTypeHeader, serverFnPayloadTypeHeader].forEach((header) => { delete headers[header] }) @@ -138,7 +138,6 @@ export default eventHandler(async (event) => { }) }) - function dedupeHeaders(headerList: [string, string][]): [string, string][] { // Object to store the deduplicated headers const seen = new Set() @@ -202,4 +201,4 @@ window.BUILDER_HYDRATION_OVERLAY.SSR_HTML = BUILDER_HYDRATION_OVERLAY_ELEMENT.innerHTML } ` -} \ No newline at end of file +} diff --git a/examples/react/vinxi-basic-ssr-streaming/public/favicon.ico b/examples/react/vinxi-basic-ssr-streaming/public/favicon.ico index 129ee136870848270517aeee93fed8b4d148e065..27d3ef719abb2eaeeae19175e2743b671c14ee83 100644 GIT binary patch literal 15406 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

1-*`B!9Y^U^z?`1sUl*R3Z;I|}}M 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 Date: Sun, 14 Apr 2024 11:20:34 +1200 Subject: [PATCH 07/11] chore: use createTanStackRouter --- examples/react/vinxi-basic-ssr-streaming/app/router.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/router.tsx b/examples/react/vinxi-basic-ssr-streaming/app/router.tsx index be655f30939..07f4a3c9df6 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/router.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/router.tsx @@ -1,8 +1,8 @@ -import { Router } from '@tanstack/react-router' +import { createRouter as createTanStackRouter } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' export function createRouter() { - const router= new Router({ + const router = createTanStackRouter({ routeTree, defaultPreload: 'intent', defaultStaleTime: 1, @@ -29,7 +29,7 @@ declare module '@tanstack/react-router' { baseParent?: boolean } - interface RouterState { + interface RouterState { statusCode: number } -} \ No newline at end of file +} From 117f7949b1626aada8e88d96b5e4df0305b4b51b Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Sun, 14 Apr 2024 11:20:54 +1200 Subject: [PATCH 08/11] style: run prettier --- .../vinxi-basic-ssr-streaming/app/client.tsx | 2 +- .../app/routes/__root.tsx | 29 ++++++++++--------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/client.tsx b/examples/react/vinxi-basic-ssr-streaming/app/client.tsx index d19f11abb12..42b92f12f5b 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/client.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/client.tsx @@ -10,4 +10,4 @@ const router = createRouter() const app = router.hydrate() -hydrateRoot(document, app) \ No newline at end of file +hydrateRoot(document, app) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx b/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx index 486bbc75765..86e46237086 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/routes/__root.tsx @@ -1,33 +1,36 @@ import * as React from 'react' -import { createRootRouteWithContext, Link, Outlet } from '@tanstack/react-router' +import { + createRootRouteWithContext, + Link, + Outlet, +} from '@tanstack/react-router' import { TanStackRouterDevtools } from '@tanstack/router-devtools' import { Meta, Scripts } from '@tanstack/react-router-server/client' export const Route = createRootRouteWithContext<{ - assets: React.ReactNode; + assets: React.ReactNode }>()({ component: RootComponent, meta: () => [ { - title: "Root", + title: 'Root', }, ], links: () => [ { - rel: "apple-touch-icon", - sizes: "180x180", - href: "/favicons/apple-touch-icon.png", + rel: 'apple-touch-icon', + sizes: '180x180', + href: '/favicons/apple-touch-icon.png', }, ], scripts: () => [ { - src: "https://cdn.tailwindcss.com", + src: 'https://cdn.tailwindcss.com', }, ], -}); +}) function RootComponent() { - return ( @@ -40,7 +43,7 @@ function RootComponent() { @@ -49,7 +52,7 @@ function RootComponent() { @@ -58,7 +61,7 @@ function RootComponent() { @@ -71,5 +74,5 @@ function RootComponent() { - ); + ) } From 8718b02d5b68a54ba6e358634e8905e2f9d631f4 Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Sun, 14 Apr 2024 11:31:04 +1200 Subject: [PATCH 09/11] chore: package json to reflect the other examples --- .../react/vinxi-basic-ssr-streaming/package.json | 4 ++++ pnpm-lock.yaml | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/package.json b/examples/react/vinxi-basic-ssr-streaming/package.json index c196c187054..67f96fb9135 100644 --- a/examples/react/vinxi-basic-ssr-streaming/package.json +++ b/examples/react/vinxi-basic-ssr-streaming/package.json @@ -10,6 +10,10 @@ "dependencies": { "@tanstack/react-router": "^1.28.1", "@tanstack/react-router-server": "^1.28.1", + "@tanstack/router-devtools": "^1.27.0", + "@vinxi/react": "0.2.2", + "@vinxi/server-functions": "^0.3.2", + "autoprefixer": "^10.4.19", "isbot": "^4.3.0", "autoprefixer": "^10.4.15", "react": "18.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6fcd4d4507b..ac6f014f18f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1008,6 +1008,9 @@ importers: '@tanstack/react-router-server': specifier: ^1.28.1 version: link:../../../packages/react-router-server + '@tanstack/router-devtools': + specifier: ^1.27.0 + version: link:../../../packages/router-devtools '@vinxi/react': specifier: 0.2.2 version: 0.2.2 @@ -1031,7 +1034,7 @@ importers: specifier: ^1.28.1 version: link:../../../packages/router-devtools '@tanstack/router-vite-plugin': - specifier: workspace:^ + specifier: ^1.26.21 version: link:../../../packages/router-vite-plugin '@types/react': specifier: ^18.2.78 @@ -1736,6 +1739,7 @@ packages: /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} + dev: false /@babel/helper-plugin-utils@7.24.0: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} @@ -1909,6 +1913,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} @@ -1927,6 +1932,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + dev: false /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} @@ -5340,9 +5346,9 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 vite: 5.0.13(@types/node@20.11.10) From 3f17342ce412ba56d8583412623e3fd1f17add28 Mon Sep 17 00:00:00 2001 From: Alessandro Cuppari Date: Mon, 15 Apr 2024 17:16:43 +0100 Subject: [PATCH 10/11] chore: rebased with latest main --- .../vinxi-basic-ssr-streaming/app/server.tsx | 10 +- .../vinxi-basic-ssr-streaming/package.json | 1 - pnpm-lock.yaml | 114 +++++++++--------- 3 files changed, 60 insertions(+), 65 deletions(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx index 7219625bff8..e1995c73fa6 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx @@ -1,21 +1,21 @@ /// import * as React from 'react' -import type { PipeableStream } from 'react-dom/server' import { renderToPipeableStream } from 'react-dom/server' -import { eventHandler, toWebRequest, getResponseHeaders } from 'vinxi/server' +import { eventHandler, getResponseHeaders, toWebRequest } from 'vinxi/server' import { getManifest } from 'vinxi/manifest' import { StartServer, transformStreamWithRouter, } from '@tanstack/react-router-server/server' -import { createRouter } from './router' import { createMemoryHistory } from '@tanstack/react-router' import { serverFnPayloadTypeHeader, serverFnReturnTypeHeader, } from '@tanstack/react-router-server' import { isbot } from 'isbot' +import { createRouter } from './router' +import type { PipeableStream } from 'react-dom/server' export default eventHandler(async (event) => { const req = toWebRequest(event) @@ -24,7 +24,7 @@ export default eventHandler(async (event) => { // Get assets for the server/client const clientManifest = getManifest('client') - let assets = ( + const assets = ( await clientManifest.inputs[clientManifest.handler].assets() ).filter((d: any) => { return !d.children?.includes('nuxt-devtools') @@ -86,6 +86,7 @@ export default eventHandler(async (event) => { const isRobot = isbot(req.headers.get('User-Agent')) const stream = await new Promise(async (resolve) => { + // eslint-disable-next-line no-shadow const stream = renderToPipeableStream(, { ...(isRobot ? { @@ -106,6 +107,7 @@ export default eventHandler(async (event) => { // Pipe the stream through our transforms const transformedStream = transforms.reduce( + // eslint-disable-next-line no-shadow (stream, transform) => stream.pipe(transform as any), stream, ) diff --git a/examples/react/vinxi-basic-ssr-streaming/package.json b/examples/react/vinxi-basic-ssr-streaming/package.json index 67f96fb9135..986f69fa5a4 100644 --- a/examples/react/vinxi-basic-ssr-streaming/package.json +++ b/examples/react/vinxi-basic-ssr-streaming/package.json @@ -15,7 +15,6 @@ "@vinxi/server-functions": "^0.3.2", "autoprefixer": "^10.4.19", "isbot": "^4.3.0", - "autoprefixer": "^10.4.15", "react": "18.2.0", "react-dom": "18.2.0", "vinxi": "^0.3.11" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac6f014f18f..a9393a16e87 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -939,7 +939,7 @@ importers: version: 18.2.0(react@18.2.0) vinxi: specifier: 0.1.2 - version: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) + version: 0.1.2(@types/node@20.11.10)(preact@10.20.2)(rollup@4.14.2) devDependencies: '@tanstack/router-devtools': specifier: ^1.28.1 @@ -982,7 +982,7 @@ importers: version: 18.2.0(react@18.2.0) vinxi: specifier: 0.1.2 - version: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) + version: 0.1.2(@types/node@20.11.10)(preact@10.20.2)(rollup@4.14.2) devDependencies: '@tanstack/router-devtools': specifier: ^1.28.1 @@ -1018,8 +1018,11 @@ importers: specifier: ^0.3.2 version: 0.3.2(vinxi@0.3.11) autoprefixer: - specifier: ^10.4.15 - version: 10.4.16(postcss@8.4.38) + specifier: ^10.4.19 + version: 10.4.19(postcss@8.4.38) + isbot: + specifier: ^4.3.0 + version: 4.3.0 react: specifier: 18.2.0 version: 18.2.0 @@ -1030,17 +1033,14 @@ importers: specifier: ^0.3.11 version: 0.3.11(@types/node@20.11.10) devDependencies: - '@tanstack/router-devtools': - specifier: ^1.28.1 - version: link:../../../packages/router-devtools '@tanstack/router-vite-plugin': specifier: ^1.26.21 version: link:../../../packages/router-vite-plugin '@types/react': - specifier: ^18.2.78 + specifier: ^18.2.47 version: 18.2.78 '@types/react-dom': - specifier: ^18.2.25 + specifier: ^18.2.18 version: 18.2.25 '@vitejs/plugin-react': specifier: ^4.2.1 @@ -1403,7 +1403,7 @@ importers: version: 1.3.1 vinxi: specifier: 0.2.1 - version: 0.2.1(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) + version: 0.2.1(@types/node@20.11.10)(preact@10.20.2)(rollup@4.14.2) devDependencies: '@vitejs/plugin-react': specifier: ^4.2.1 @@ -1536,6 +1536,7 @@ packages: dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + dev: false /@antfu/utils@0.7.7: resolution: {integrity: sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==} @@ -1603,6 +1604,7 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: false /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} @@ -1630,6 +1632,7 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 + dev: false /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} @@ -1728,6 +1731,7 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 + dev: false /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} @@ -1739,7 +1743,6 @@ packages: /@babel/helper-plugin-utils@7.22.5: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - dev: false /@babel/helper-plugin-utils@7.24.0: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} @@ -1807,6 +1810,7 @@ packages: '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color + dev: false /@babel/highlight@7.23.4: resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} @@ -1845,6 +1849,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.24.0 + dev: false /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} @@ -1913,16 +1918,6 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} @@ -1932,16 +1927,6 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} @@ -5205,7 +5190,7 @@ packages: - vite dev: false - /@vinxi/devtools@0.2.0(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.14.2)(vite@4.5.0): + /@vinxi/devtools@0.2.0(@babel/core@7.23.9)(preact@10.20.2)(rollup@4.14.2)(vite@4.5.0): resolution: {integrity: sha512-LpQp5zbiBhV4eo2w6AiJFtpZZj4LaRBOnzggIPTeSJYvgrxRMAqe/34Har3vVo+b7sPOjxFbE1zHZhLzaAcidw==} dependencies: '@preact/preset-vite': 2.8.1(@babel/core@7.23.9)(preact@10.20.2)(vite@4.5.0) @@ -5266,7 +5251,7 @@ packages: magicast: 0.2.11 recast: 0.23.4 tslib: 2.6.2 - vinxi: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) + vinxi: 0.1.2(@types/node@20.11.10)(preact@10.20.2)(rollup@4.14.2) dev: false /@vinxi/plugin-directives@0.3.1(vinxi@0.3.11): @@ -5306,7 +5291,7 @@ packages: astring: 1.8.6 magicast: 0.2.11 recast: 0.23.4 - vinxi: 0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2) + vinxi: 0.1.2(@types/node@20.11.10)(preact@10.20.2)(rollup@4.14.2) dev: false /@vinxi/server-functions@0.3.2(vinxi@0.3.11): @@ -5346,9 +5331,9 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 vite: 5.0.13(@types/node@20.11.10) @@ -5389,7 +5374,7 @@ packages: /@vitest/snapshot@1.5.0: resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} dependencies: - magic-string: 0.30.5 + magic-string: 0.30.9 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -9431,7 +9416,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.5.0 + mlly: 1.6.1 pkg-types: 1.0.3 /locate-character@3.0.0: @@ -9543,7 +9528,6 @@ packages: engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: false /magicast@0.2.11: resolution: {integrity: sha512-6saXbRDA1HMkqbsvHOU6HBjCVgZT460qheRkLhJQHWAbhXoWESI3Kn/dGGXyKs15FFKR85jsUqFx2sMK0wy/5g==} @@ -9729,7 +9713,6 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.5.3 - dev: false /modern-ahocorasick@1.0.1: resolution: {integrity: sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA==} @@ -10842,7 +10825,7 @@ packages: neo-async: 2.6.2 react: 18.3.0-canary-0cdfef19b-20231211 react-dom: 18.3.0-canary-0cdfef19b-20231211(react@18.3.0-canary-0cdfef19b-20231211) - webpack: 5.90.0(@swc/core@1.3.102)(esbuild@0.20.2) + webpack: 5.91.0(@swc/core@1.3.102)(esbuild@0.20.2) dev: false /react-style-singleton@2.2.1(@types/react@18.2.48)(react@18.2.0): @@ -11863,7 +11846,19 @@ packages: yallist: 4.0.0 dev: false - /terser-webpack-plugin@5.3.10(@swc/core@1.3.102)(esbuild@0.20.2)(webpack@5.90.0): + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + + /terser-webpack-plugin@5.3.10(@swc/core@1.3.102)(esbuild@0.20.2)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -11885,8 +11880,8 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.27.0 - webpack: 5.90.0(@swc/core@1.3.102)(esbuild@0.20.2) + terser: 5.30.3 + webpack: 5.91.0(@swc/core@1.3.102)(esbuild@0.20.2) dev: false /terser@5.27.0: @@ -11960,8 +11955,8 @@ packages: resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} dev: true - /tinypool@0.8.3: - resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} + /tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} dev: true @@ -12165,7 +12160,6 @@ packages: /ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} - dev: false /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -12559,7 +12553,7 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vinxi@0.1.2(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2): + /vinxi@0.1.2(@types/node@20.11.10)(preact@10.20.2)(rollup@4.14.2): resolution: {integrity: sha512-DVeL3Asvq0HueAISzq/nPvrmrw5OqB6/8Q4bNJi7BbrDJ8+C/IaDDlyfViM/mhDbDGt8J/40GfuOyz8h+ndPNQ==} hasBin: true dependencies: @@ -12569,7 +12563,7 @@ packages: '@types/micromatch': 4.0.6 '@types/serve-static': 1.15.5 '@types/ws': 8.5.10 - '@vinxi/devtools': 0.1.1(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.14.2)(vite@4.5.0) + '@vinxi/devtools': 0.1.1(@babel/core@7.23.9)(preact@10.20.2)(rollup@4.14.2)(vite@4.5.0) '@vinxi/listhen': 1.5.6 boxen: 7.1.1 c12: 1.6.1 @@ -12638,7 +12632,7 @@ packages: - xml2js dev: false - /vinxi@0.2.1(@types/node@20.11.10)(preact@10.19.3)(rollup@4.14.2): + /vinxi@0.2.1(@types/node@20.11.10)(preact@10.20.2)(rollup@4.14.2): resolution: {integrity: sha512-zrgFO2XuKpdoW5VwlbieeQ0YhzMuuYCJyFWFyj41h9BnymHZ5dnKElALvFQn5JVzHhyrsdmlm8GU7tIuH786hw==} hasBin: true dependencies: @@ -12648,7 +12642,7 @@ packages: '@types/micromatch': 4.0.6 '@types/serve-static': 1.15.5 '@types/ws': 8.5.10 - '@vinxi/devtools': 0.2.0(@babel/core@7.23.9)(preact@10.19.3)(rollup@4.14.2)(vite@4.5.0) + '@vinxi/devtools': 0.2.0(@babel/core@7.23.9)(preact@10.20.2)(rollup@4.14.2)(vite@4.5.0) '@vinxi/listhen': 1.5.6 boxen: 7.1.1 c12: 1.6.1 @@ -13036,8 +13030,8 @@ packages: vite: 4.5.0(@types/node@20.11.10) dev: false - /vitest@1.2.2(@types/node@20.11.10): - resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} + /vitest@1.5.0(@types/node@20.11.10): + resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -13072,13 +13066,13 @@ packages: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.5 + magic-string: 0.30.9 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 2.1.0 tinybench: 2.6.0 - tinypool: 0.8.3 + tinypool: 0.8.4 vite: 5.2.8(@types/node@20.11.10) vite-node: 1.5.0(@types/node@20.11.10) why-is-node-running: 2.2.2 @@ -13182,8 +13176,8 @@ packages: resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} dev: false - /webpack@5.90.0(@swc/core@1.3.102)(esbuild@0.20.2): - resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==} + /webpack@5.91.0(@swc/core@1.3.102)(esbuild@0.20.2): + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -13213,8 +13207,8 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.3.102)(esbuild@0.20.2)(webpack@5.90.0) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(@swc/core@1.3.102)(esbuild@0.20.2)(webpack@5.91.0) + watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' From 078a61a50cb3c894e704f76e85bb868eb85a24ac Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Tue, 16 Apr 2024 08:45:46 +1200 Subject: [PATCH 11/11] style: prettier --- examples/react/vinxi-basic-ssr-streaming/app/server.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx index e1995c73fa6..eb29e2de172 100644 --- a/examples/react/vinxi-basic-ssr-streaming/app/server.tsx +++ b/examples/react/vinxi-basic-ssr-streaming/app/server.tsx @@ -107,7 +107,7 @@ export default eventHandler(async (event) => { // Pipe the stream through our transforms const transformedStream = transforms.reduce( - // eslint-disable-next-line no-shadow + // eslint-disable-next-line no-shadow (stream, transform) => stream.pipe(transform as any), stream, )