diff --git a/examples/hattip-app/.testRun.ts b/examples/hattip-app/.testRun.ts index 131deab..c6a1527 100644 --- a/examples/hattip-app/.testRun.ts +++ b/examples/hattip-app/.testRun.ts @@ -2,13 +2,17 @@ import { expect, fetchHtml, getServerUrl, page, run, test } from "@brillout/test export { testRun }; +let isProd: boolean; + function testRun(cmd: `pnpm run ${"dev" | "preview"}${string}`, options?: Parameters[1]) { run(cmd, options); + isProd = !cmd.startsWith("pnpm run dev"); + testUrl({ url: "/", title: "My Vike App", - text: "Rendered to HTML", + text: isProd ? "SSR running on Cloudflare" : "Rendered to HTML", textHydration: "Rendered to HTML", }); diff --git a/examples/hattip-app/hattip-entry.ts b/examples/hattip-app/hattip-entry.ts index 8f3f9be..aed2071 100644 --- a/examples/hattip-app/hattip-entry.ts +++ b/examples/hattip-app/hattip-entry.ts @@ -1,29 +1,18 @@ +import type { HattipHandler } from "@hattip/core"; +import { createRouter } from "@hattip/router"; +import { createHandler } from "@universal-middleware/hattip"; import { createTodoHandler } from "./server/create-todo-handler"; import { vikeHandler } from "./server/vike-handler"; -import type { HattipHandler } from "@hattip/core"; -import { createRouter, type RouteHandler } from "@hattip/router"; - -type Middleware> = (request: Request, context: Context) => Response | void | Promise | Promise - -function handlerAdapter>( - handler: Middleware, -): RouteHandler { - return (context) => { - const rawContext = context as unknown as Record; - rawContext.context ??= {}; - return handler(context.request, rawContext.context as Context); - }; -} const router = createRouter(); -router.post("/api/todo/create", handlerAdapter(createTodoHandler)); +router.post("/api/todo/create", createHandler(() => createTodoHandler)()); /** * Vike route * * @link {@see https://vike.dev} **/ -router.use(handlerAdapter(vikeHandler)); +router.use(createHandler(() => vikeHandler)()); export default router.buildHandler() as HattipHandler; diff --git a/examples/hattip-app/package.json b/examples/hattip-app/package.json index b686c95..c9e7444 100644 --- a/examples/hattip-app/package.json +++ b/examples/hattip-app/package.json @@ -17,18 +17,20 @@ "@hattip/adapter-cloudflare-workers": "^0.0.47", "@hattip/adapter-node": "^0.0.47", "@hattip/vite": "^0.0.47", + "@universal-middleware/core": "^0.2.6", "cross-env": "^7.0.3", "typescript": "^5.5.4", "vike-cloudflare": "^0.1.0", - "wrangler": "^3.72.2" + "wrangler": "^3.72.3" }, "dependencies": { "@hattip/core": "^0.0.47", "@hattip/router": "^0.0.47", + "@universal-middleware/hattip": "^0.2.3", "cross-fetch": "^4.0.0", "hattip": "^0.0.33", "lowdb": "^7.0.1", - "solid-js": "^1.8.21", + "solid-js": "^1.8.22", "vike": "^0.4.193", "vike-solid": "^0.7.3", "vite": "^5.4.2" diff --git a/examples/hattip-app/pages/index/+Page.tsx b/examples/hattip-app/pages/index/+Page.tsx index 8159b5b..4fba84e 100644 --- a/examples/hattip-app/pages/index/+Page.tsx +++ b/examples/hattip-app/pages/index/+Page.tsx @@ -1,12 +1,16 @@ +import { usePageContext } from "vike-solid/usePageContext"; import { Counter } from "./Counter.js"; export default function Page() { + const ctx = usePageContext(); + return ( <>

My Vike app

This page is:
  • Rendered to HTML.
  • + {typeof ctx?.ctx?.waitUntil === "function" ?
  • SSR running on Cloudflare
  • : null}
  • Interactive.
  • diff --git a/examples/hattip-app/server/create-todo-handler.ts b/examples/hattip-app/server/create-todo-handler.ts index b62fd52..035196e 100644 --- a/examples/hattip-app/server/create-todo-handler.ts +++ b/examples/hattip-app/server/create-todo-handler.ts @@ -1,7 +1,6 @@ -export async function createTodoHandler>( - request: Request, - _context?: Context, -): Promise { +import type { UniversalHandler } from "@universal-middleware/core"; + +export const createTodoHandler = (async (request: Request): Promise => { await request.json(); return new Response(JSON.stringify({ status: "OK" }), { @@ -10,4 +9,4 @@ export async function createTodoHandler>( - request: Request, - context?: Context, -): Promise { - const pageContextInit = { ...context, urlOriginal: request.url }; +export const vikeHandler = (async (request, context, runtime): Promise => { + const pageContextInit = { ...context, urlOriginal: request.url, ...runtime }; const pageContext = await renderPage(pageContextInit); const response = pageContext.httpResponse; @@ -16,4 +14,4 @@ export async function vikeHandler[1]) { run(cmd, options); - isProd = cmd !== "pnpm run dev"; + isProd = !cmd.startsWith("pnpm run dev"); testUrl({ url: "/", title: "My Vike App", - text: "Rendered to HTML", + text: "SSR running on Cloudflare", textHydration: "Rendered to HTML", }); diff --git a/examples/hono-app/hono-entry.ts b/examples/hono-app/hono-entry.ts index f3e8999..3704a6b 100644 --- a/examples/hono-app/hono-entry.ts +++ b/examples/hono-app/hono-entry.ts @@ -1,40 +1,17 @@ +import { createHandler } from "@universal-middleware/hono"; import { Hono } from "hono"; -import { createMiddleware } from "hono/factory"; import { createTodoHandler } from "./server/create-todo-handler.js"; import { vikeHandler } from "./server/vike-handler"; -type Middleware> = (request: Request, context: Context) => Response | void | Promise | Promise - -export function handlerAdapter>( - handler: Middleware, -) { - return createMiddleware(async (context, next) => { - let ctx = context.get("context"); - if (!ctx) { - ctx = {}; - context.set("context", ctx); - } - - const res = await handler(context.req.raw, ctx as Context); - context.set("context", ctx); - - if (!res) { - await next(); - } - - return res; - }); -} - const app = new Hono(); -app.post("/api/todo/create", handlerAdapter(createTodoHandler)); +app.post("/api/todo/create", createHandler(() => createTodoHandler)()); /** * Vike route * * @link {@see https://vike.dev} **/ -app.all("*", handlerAdapter(vikeHandler)); +app.all("*", createHandler(() => vikeHandler)()); export default app; diff --git a/examples/hono-app/package.json b/examples/hono-app/package.json index f9a30a3..69febe0 100644 --- a/examples/hono-app/package.json +++ b/examples/hono-app/package.json @@ -16,17 +16,19 @@ "devDependencies": { "@auth/core": "^0.34.2", "@hono/vite-cloudflare-pages": "^0.4.2", - "@hono/vite-dev-server": "^0.14.0", + "@hono/vite-dev-server": "^0.15.1", "@types/node": "^18.19.14", + "@universal-middleware/core": "^0.2.6", "typescript": "^5.5.4", "vike-cloudflare": "^0.1.0", - "wrangler": "^3.72.2" + "wrangler": "^3.72.3" }, "dependencies": { + "@universal-middleware/hono": "^0.2.4", "cross-fetch": "^4.0.0", - "hono": "^4.5.8", - "solid-js": "^1.8.21", - "tsx": "^4.18.0", + "hono": "^4.5.9", + "solid-js": "^1.8.22", + "tsx": "^4.19.0", "vike": "^0.4.193", "vike-solid": "^0.7.3", "vite": "^5.4.2" diff --git a/examples/hono-app/pages/index/+Page.tsx b/examples/hono-app/pages/index/+Page.tsx index 8159b5b..efbb878 100644 --- a/examples/hono-app/pages/index/+Page.tsx +++ b/examples/hono-app/pages/index/+Page.tsx @@ -1,12 +1,19 @@ +import { Show } from "solid-js"; +import { usePageContext } from "vike-solid/usePageContext"; import { Counter } from "./Counter.js"; export default function Page() { + const ctx = usePageContext(); + return ( <>

    My Vike app

    This page is:
    • Rendered to HTML.
    • + +
    • SSR running on Cloudflare
    • +
    • Interactive.
    • diff --git a/examples/hono-app/server/create-todo-handler.ts b/examples/hono-app/server/create-todo-handler.ts index b62fd52..035196e 100644 --- a/examples/hono-app/server/create-todo-handler.ts +++ b/examples/hono-app/server/create-todo-handler.ts @@ -1,7 +1,6 @@ -export async function createTodoHandler>( - request: Request, - _context?: Context, -): Promise { +import type { UniversalHandler } from "@universal-middleware/core"; + +export const createTodoHandler = (async (request: Request): Promise => { await request.json(); return new Response(JSON.stringify({ status: "OK" }), { @@ -10,4 +9,4 @@ export async function createTodoHandler>( - request: Request, - context?: Context, -): Promise { - const pageContextInit = { ...context, urlOriginal: request.url }; +export const vikeHandler = (async (request, context, runtime): Promise => { + const pageContextInit = { ...context, urlOriginal: request.url, headersOriginal: request.headers, ...runtime }; const pageContext = await renderPage(pageContextInit); const response = pageContext.httpResponse; @@ -16,4 +14,4 @@ export async function vikeHandler[1]) { run(cmd, options); - isProd = cmd !== "pnpm run dev"; + isProd = !cmd.startsWith("pnpm run dev"); testUrl({ url: "/", title: "My Vike App", - text: "Rendered to HTML", + text: isProd ? "SSR running on Cloudflare" : "Rendered to HTML", textHydration: "Rendered to HTML", }); diff --git a/examples/vike-app/package.json b/examples/vike-app/package.json index 46194e6..f1ba238 100644 --- a/examples/vike-app/package.json +++ b/examples/vike-app/package.json @@ -18,12 +18,12 @@ "@types/node": "^18.19.14", "typescript": "^5.5.4", "vike-cloudflare": "^0.1.0", - "wrangler": "^3.72.2" + "wrangler": "^3.72.3" }, "dependencies": { "cross-fetch": "^4.0.0", - "solid-js": "^1.8.21", - "tsx": "^4.18.0", + "solid-js": "^1.8.22", + "tsx": "^4.19.0", "vike": "^0.4.193", "vike-solid": "^0.7.3", "vite": "^5.4.2" diff --git a/examples/vike-app/pages/index/+Page.tsx b/examples/vike-app/pages/index/+Page.tsx index 8159b5b..4fba84e 100644 --- a/examples/vike-app/pages/index/+Page.tsx +++ b/examples/vike-app/pages/index/+Page.tsx @@ -1,12 +1,16 @@ +import { usePageContext } from "vike-solid/usePageContext"; import { Counter } from "./Counter.js"; export default function Page() { + const ctx = usePageContext(); + return ( <>

      My Vike app

      This page is:
      • Rendered to HTML.
      • + {typeof ctx?.ctx?.waitUntil === "function" ?
      • SSR running on Cloudflare
      • : null}
      • Interactive.
      • diff --git a/examples/vike-app/tsconfig.json b/examples/vike-app/tsconfig.json index 8691f0e..214d0cf 100644 --- a/examples/vike-app/tsconfig.json +++ b/examples/vike-app/tsconfig.json @@ -13,7 +13,7 @@ "moduleResolution": "Bundler", "target": "ES2022", "lib": ["DOM", "DOM.Iterable", "ESNext"], - "types": ["vite/client", "vike-solid/client"], + "types": ["vite/client", "vike-solid/client", "vike-cloudflare/types"], "jsx": "preserve", "jsxImportSource": "solid-js" }, diff --git a/package.json b/package.json index 36f13e2..4041e32 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@biomejs/biome": "^1.8.3", - "@brillout/test-e2e": "^0.5.34", + "@brillout/test-e2e": "^0.5.35", "@brillout/test-types": "^0.1.15", "playwright": "^1.46.1" }, diff --git a/packages/vike-cloudflare/assets/vike.js b/packages/vike-cloudflare/assets/vike.js index f50c69b..fb8d6c4 100644 --- a/packages/vike-cloudflare/assets/vike.js +++ b/packages/vike-cloudflare/assets/vike.js @@ -3,37 +3,40 @@ import { renderPage } from "vike/server"; /** * @param url {string} + * @param ctx {{ env: any, ctx: any }} * @returns {Promise} */ -async function handleSsr(url) { +async function handleSsr(url, ctx) { const pageContextInit = { urlOriginal: url, fetch, + ...ctx, }; const pageContext = await renderPage(pageContextInit); const { httpResponse } = pageContext; if (!httpResponse) { return new Response("Something went wrong", { status: 500 }); } - const { statusCode: status, headers } = httpResponse; + const { statusCode: status, headers } = httpResponse; - const { readable, writable } = new TransformStream(); + const { readable, writable } = new TransformStream(); - httpResponse.pipe(writable); + httpResponse.pipe(writable); - return new Response(readable, { - status, - headers, - }); + return new Response(readable, { + status, + headers, + }); } export default { /** * @param request {Request} - * @param env {{}} + * @param env {any} + * @param ctx {any} * @returns {Promise} */ - async fetch(request, env) { - return handleSsr(request.url); + async fetch(request, env, ctx) { + return handleSsr(request.url, { env, ctx }); }, }; diff --git a/packages/vike-cloudflare/package.json b/packages/vike-cloudflare/package.json index 02207ba..ab0a643 100644 --- a/packages/vike-cloudflare/package.json +++ b/packages/vike-cloudflare/package.json @@ -19,7 +19,7 @@ "@brillout/release-me": "^0.4.0", "@hattip/adapter-cloudflare-workers": "^0.0.47", "esbuild-plugin-raw": "^0.1.8", - "hono": "^4.5.8", + "hono": "^4.5.9", "tsup": "^8.2.4", "typescript": "^5.5.4", "vike": "^0.4.193", @@ -33,14 +33,19 @@ "@hattip/adapter-cloudflare-workers": "^0.0.47" }, "files": [ - "dist" + "dist", + "vike.d.ts" ], + "types": "./vike.d.ts", "exports": { ".": { "import": "./dist/index.js", "node": "./dist/index.js", "types": "./dist/index.d.ts", "default": "./dist/index.js" + }, + "./types": { + "types": "./vike.d.ts" } }, "repository": "github:vikejs/vike-cloudflare" diff --git a/packages/vike-cloudflare/vike.d.ts b/packages/vike-cloudflare/vike.d.ts new file mode 100644 index 0000000..749679f --- /dev/null +++ b/packages/vike-cloudflare/vike.d.ts @@ -0,0 +1,14 @@ +declare global { + namespace Vike { + interface PageContext { + ctx?: { + // biome-ignore lint/suspicious/noExplicitAny: + waitUntil(promise: Promise): void; + passThroughOnException(): void; + }; + env?: Record; + } + } +} + +export type {}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57eb607..06640d9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ importers: specifier: ^1.8.3 version: 1.8.3 '@brillout/test-e2e': - specifier: ^0.5.34 - version: 0.5.34 + specifier: ^0.5.35 + version: 0.5.35 '@brillout/test-types': specifier: ^0.1.15 version: 0.1.15(typescript@5.5.4) @@ -32,6 +32,9 @@ importers: '@hattip/router': specifier: ^0.0.47 version: 0.0.47 + '@universal-middleware/hattip': + specifier: ^0.2.3 + version: 0.2.3 cross-fetch: specifier: ^4.0.0 version: 4.0.0 @@ -42,17 +45,17 @@ importers: specifier: ^7.0.1 version: 7.0.1 solid-js: - specifier: ^1.8.21 - version: 1.8.21 + specifier: ^1.8.22 + version: 1.8.22 vike: specifier: ^0.4.193 - version: 0.4.193(vite@5.4.2(@types/node@22.5.0)) + version: 0.4.193(vite@5.4.2(@types/node@22.5.1)) vike-solid: specifier: ^0.7.3 - version: 0.7.3(solid-js@1.8.21)(vike@0.4.193(vite@5.4.2(@types/node@22.5.0)))(vite@5.4.2(@types/node@22.5.0)) + version: 0.7.3(solid-js@1.8.22)(vike@0.4.193(vite@5.4.2(@types/node@22.5.1)))(vite@5.4.2(@types/node@22.5.1)) vite: specifier: ^5.4.2 - version: 5.4.2(@types/node@22.5.0) + version: 5.4.2(@types/node@22.5.1) devDependencies: '@auth/core': specifier: ^0.34.2 @@ -65,7 +68,10 @@ importers: version: 0.0.47 '@hattip/vite': specifier: ^0.0.47 - version: 0.0.47(vite@5.4.2(@types/node@22.5.0)) + version: 0.0.47(vite@5.4.2(@types/node@22.5.1)) + '@universal-middleware/core': + specifier: ^0.2.6 + version: 0.2.6 cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -76,29 +82,32 @@ importers: specifier: link:../../packages/vike-cloudflare version: link:../../packages/vike-cloudflare wrangler: - specifier: ^3.72.2 - version: 3.72.2 + specifier: ^3.72.3 + version: 3.72.3(@cloudflare/workers-types@4.20240821.1) examples/hono-app: dependencies: + '@universal-middleware/hono': + specifier: ^0.2.4 + version: 0.2.4 cross-fetch: specifier: ^4.0.0 version: 4.0.0 hono: - specifier: ^4.5.8 - version: 4.5.8 + specifier: ^4.5.9 + version: 4.5.9 solid-js: - specifier: ^1.8.21 - version: 1.8.21 + specifier: ^1.8.22 + version: 1.8.22 tsx: - specifier: ^4.18.0 - version: 4.18.0 + specifier: ^4.19.0 + version: 4.19.0 vike: specifier: ^0.4.193 version: 0.4.193(vite@5.4.2(@types/node@18.19.44)) vike-solid: specifier: ^0.7.3 - version: 0.7.3(solid-js@1.8.21)(vike@0.4.193(vite@5.4.2(@types/node@18.19.44)))(vite@5.4.2(@types/node@18.19.44)) + version: 0.7.3(solid-js@1.8.22)(vike@0.4.193(vite@5.4.2(@types/node@18.19.44)))(vite@5.4.2(@types/node@18.19.44)) vite: specifier: ^5.4.2 version: 5.4.2(@types/node@18.19.44) @@ -108,13 +117,16 @@ importers: version: 0.34.2 '@hono/vite-cloudflare-pages': specifier: ^0.4.2 - version: 0.4.2(hono@4.5.8) + version: 0.4.2(hono@4.5.9) '@hono/vite-dev-server': - specifier: ^0.14.0 - version: 0.14.0(hono@4.5.8) + specifier: ^0.15.1 + version: 0.15.1(hono@4.5.9)(miniflare@3.20240821.0)(wrangler@3.72.3(@cloudflare/workers-types@4.20240821.1)) '@types/node': specifier: ^18.19.14 version: 18.19.44 + '@universal-middleware/core': + specifier: ^0.2.6 + version: 0.2.6 typescript: specifier: ^5.5.4 version: 5.5.4 @@ -122,8 +134,8 @@ importers: specifier: link:../../packages/vike-cloudflare version: link:../../packages/vike-cloudflare wrangler: - specifier: ^3.72.2 - version: 3.72.2 + specifier: ^3.72.3 + version: 3.72.3(@cloudflare/workers-types@4.20240821.1) examples/vike-app: dependencies: @@ -131,17 +143,17 @@ importers: specifier: ^4.0.0 version: 4.0.0 solid-js: - specifier: ^1.8.21 - version: 1.8.21 + specifier: ^1.8.22 + version: 1.8.22 tsx: - specifier: ^4.18.0 - version: 4.18.0 + specifier: ^4.19.0 + version: 4.19.0 vike: specifier: ^0.4.193 version: 0.4.193(vite@5.4.2(@types/node@18.19.44)) vike-solid: specifier: ^0.7.3 - version: 0.7.3(solid-js@1.8.21)(vike@0.4.193(vite@5.4.2(@types/node@18.19.44)))(vite@5.4.2(@types/node@18.19.44)) + version: 0.7.3(solid-js@1.8.22)(vike@0.4.193(vite@5.4.2(@types/node@18.19.44)))(vite@5.4.2(@types/node@18.19.44)) vite: specifier: ^5.4.2 version: 5.4.2(@types/node@18.19.44) @@ -159,8 +171,8 @@ importers: specifier: link:../../packages/vike-cloudflare version: link:../../packages/vike-cloudflare wrangler: - specifier: ^3.72.2 - version: 3.72.2 + specifier: ^3.72.3 + version: 3.72.3(@cloudflare/workers-types@4.20240821.1) packages/vike-cloudflare: optionalDependencies: @@ -175,20 +187,20 @@ importers: specifier: ^0.1.8 version: 0.1.8(esbuild@0.23.1) hono: - specifier: ^4.5.8 - version: 4.5.8 + specifier: ^4.5.9 + version: 4.5.9 tsup: specifier: ^8.2.4 - version: 8.2.4(postcss@8.4.41)(tsx@4.18.0)(typescript@5.5.4)(yaml@2.5.0) + version: 8.2.4(postcss@8.4.41)(tsx@4.19.0)(typescript@5.5.4)(yaml@2.5.0) typescript: specifier: ^5.5.4 version: 5.5.4 vike: specifier: ^0.4.193 - version: 0.4.193(vite@5.4.2(@types/node@22.5.0)) + version: 0.4.193(vite@5.4.2(@types/node@22.5.1)) vite: specifier: ^5.4.2 - version: 5.4.2(@types/node@22.5.0) + version: 5.4.2(@types/node@22.5.1) packages: @@ -367,8 +379,8 @@ packages: '@brillout/require-shim@0.1.2': resolution: {integrity: sha512-3I4LRHnVZXoSAsEoni5mosq9l6eiJED58d9V954W4CIZ88AUfYBanWGBGbJG3NztaRTpFHEA6wB3Hn93BmmJdg==} - '@brillout/test-e2e@0.5.34': - resolution: {integrity: sha512-7opuTq9Uy06RwgTtCc2GHoTDcdZafsF5WktZXLYl+FAwrn6xW3f2UTeRBFLdKTgGw7g1MPv0QnTOIzlM9r+G6A==} + '@brillout/test-e2e@0.5.35': + resolution: {integrity: sha512-x6wc1wT0afATaqCn6XMzSiqzBHSOF9fttpOdZlWkFvPofeITSy/uQ0bYlLlhGdfRgkWkXVS58EO8x6cv1+BVaQ==} hasBin: true '@brillout/test-types@0.1.15': @@ -414,12 +426,12 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-shared@0.3.0': - resolution: {integrity: sha512-cqtLW1QiBC/ABaZIhAdyGCsnHHY6pAb6hsVUZg82Co2gQtf/faxRYV1FgpCwUYroTdk6A66xUMSTmFqreKCJow==} + '@cloudflare/workers-shared@0.4.0': + resolution: {integrity: sha512-XAFOldVQsbxQ7mjbqX2q1dNIgcLbKSytk41pwuZTn9e0p7OeTpFTosJef8uwosL6CcOAHqcW1f1HJxyjwmtGxw==} engines: {node: '>=16.7.0'} - '@cloudflare/workers-types@4.20240806.0': - resolution: {integrity: sha512-8lvgrwXGTZEBsUQJ8YUnMk72Anh9omwr6fqWLw/EwVgcw1nQxs/bfdadBEbdP48l9fWXjE4E5XERLUrrFuEpsg==} + '@cloudflare/workers-types@4.20240821.1': + resolution: {integrity: sha512-icAkbnAqgVl6ef9lgLTom8na+kj2RBw2ViPAQ586hbdj0xZcnrjK7P46Eu08OU9D/lNDgN2sKU/sxhe2iK/gIg==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -447,12 +459,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.16.17': - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -471,12 +477,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.16.17': - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} @@ -495,12 +495,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.16.17': - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -519,12 +513,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.16.17': - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -543,12 +531,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.16.17': - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -567,12 +549,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.16.17': - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -591,12 +567,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.16.17': - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -615,12 +585,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.16.17': - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -639,12 +603,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.16.17': - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -663,12 +621,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.16.17': - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -687,12 +639,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.16.17': - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.17.19': resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} engines: {node: '>=12'} @@ -711,12 +657,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.16.17': - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -735,12 +675,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.16.17': - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -759,12 +693,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.16.17': - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -783,12 +711,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.16.17': - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -807,12 +729,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.16.17': - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -831,12 +747,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.16.17': - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -861,12 +771,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.16.17': - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -885,12 +789,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.16.17': - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -909,12 +807,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.16.17': - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -933,12 +825,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.16.17': - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -957,12 +843,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.16.17': - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -1016,9 +896,11 @@ packages: resolution: {integrity: sha512-kCEdC2kG3mbFCc2gHs13GFI5VaWfvYYYxZwu7u3wax3R7JkLqztyxno35TT9cMv33XhuN5hf+CkDGCPoO0DIag==} hasBin: true - '@hono/node-server@1.12.0': - resolution: {integrity: sha512-e6oHjNiErRxsZRZBmc2KucuvY3btlO/XPncIpP2X75bRdTilF9GLjm3NHvKKunpJbbJJj31/FoPTksTf8djAVw==} + '@hono/node-server@1.12.2': + resolution: {integrity: sha512-xjzhqhSWUE/OhN0g3KCNVzNsQMlFUAL+/8GgPUr3TKcU7cvgZVBGswFofJ8WwGEHTqobzze1lDpGJl9ZNckDhA==} engines: {node: '>=18.14.1'} + peerDependencies: + hono: ^4 '@hono/vite-cloudflare-pages@0.4.2': resolution: {integrity: sha512-fvSmWNtL7rMTa6tfj0dJNu0UStp8veb2r1BfutoKtJ6GaTzO1sR5ElQw9jIYo46oTBcx8+i/9+NzyGR56awtrQ==} @@ -1026,11 +908,18 @@ packages: peerDependencies: hono: '*' - '@hono/vite-dev-server@0.14.0': - resolution: {integrity: sha512-rhd+hxIIG6wSS73WQxXF7/CiOHBlxdynrRUihSwEszpysB0HWOMN2Q7QprnPHsZSNmGohoTXZxwo7iM4hukGzw==} + '@hono/vite-dev-server@0.15.1': + resolution: {integrity: sha512-9o4Up7zDlBuYLsfz1rN2EdiOxDWgSHoMM248JIZVgZ5mlrdGASBj+gyNWAlQ7pgE/A8UBoLYaXgnbJsW9nxesw==} engines: {node: '>=18.14.1'} peerDependencies: hono: '*' + miniflare: '*' + wrangler: '*' + peerDependenciesMeta: + miniflare: + optional: true + wrangler: + optional: true '@hutson/parse-repository-url@5.0.0': resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} @@ -1190,12 +1079,21 @@ packages: '@types/node@18.19.44': resolution: {integrity: sha512-ZsbGerYg72WMXUIE9fYxtvfzLEuq6q8mKERdWFnqTmOvudMxnz+CBNRoOwJ2kNpFOncrKjT1hZwxjlFgQ9qvQA==} - '@types/node@22.5.0': - resolution: {integrity: sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg==} + '@types/node@22.5.1': + resolution: {integrity: sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + '@universal-middleware/core@0.2.6': + resolution: {integrity: sha512-MLkmKuf9uGQxQ3PddoXkyozowTRNXkSNYSHHwlRbF6Yu7UnGw+KST5tpOfax8UHzJHjxIuIwRviLtVINHakVOw==} + + '@universal-middleware/hattip@0.2.3': + resolution: {integrity: sha512-vji9laimgfCzjQzBysCEuY2u7c410Fd5zfTm/LkDaZaxQTb7yGKU8IpbwQ/U0ZC4jvPzSE4JmHGFL5N26SyK1g==} + + '@universal-middleware/hono@0.2.4': + resolution: {integrity: sha512-q6C72mw5rQdPGQoDRee9mrMFkF3G1h0AB34LKzkxeBN0e6QYvPvMAbB35WTqNSzx3Sf7wKK1j9Lf3gMaFpSlEQ==} + '@vavite/connect@4.1.2': resolution: {integrity: sha512-BeyDUMHM+OGlqrZkJaPj7JLmDzd00nmqg6baU/jgOmKKfvmtWl/Ybvss8k2G8d93jhcPjg6Bp3sbEXILLIRoSA==} peerDependencies: @@ -1519,11 +1417,6 @@ packages: peerDependencies: esbuild: ^0.14.36 || ^0.15.0 || ^0.16.0 || ^0.17.0 || ^0.18.0 || ^0.19.0 || ^0.20.0 - esbuild@0.16.17: - resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} @@ -1614,8 +1507,8 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - get-tsconfig@4.7.6: - resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} + get-tsconfig@4.8.0: + resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==} git-raw-commits@4.0.0: resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} @@ -1662,8 +1555,8 @@ packages: hattip@0.0.33: resolution: {integrity: sha512-FG0IHeOdoTceFF4ta0eZ+GKEXCvqvSzLgmX3RZi3ia/OtczKn74OwjYRfyL9fBtUiyc1Z27F9daiLowfzgZ/Gg==} - hono@4.5.8: - resolution: {integrity: sha512-pqpSlcdqGkpTTRpLYU1PnCz52gVr0zVR9H5GzMyJWuKQLLEBQxh96q45QizJ2PPX8NATtz2mu31/PKW/Jt+90Q==} + hono@4.5.9: + resolution: {integrity: sha512-zz8ktqMDRrZETjxBrv8C5PQRFbrTRCLNVAjD1SNQyOzv4VjmX68Uxw83xQ6oxdAB60HiWnGEatiKA8V3SZLDkQ==} engines: {node: '>=16.0.0'} hosted-git-info@7.0.2: @@ -2133,8 +2026,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - solid-js@1.8.21: - resolution: {integrity: sha512-FHUGdoo7GVa1BTpGh/4UtwIISde0vSXoqNB6KFpHiTgkIY959tmCJ7NYQAWDfScBfnpoMGZR8lFz0DiwW/gFlw==} + solid-js@1.8.22: + resolution: {integrity: sha512-VBzN5j+9Y4rqIKEnK301aBk+S7fvFSTs9ljg+YEdFxjNjH0hkjXPiQRcws9tE5fUzMznSS6KToL5hwMfHDgpLA==} solid-refresh@0.6.3: resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} @@ -2263,8 +2156,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} tsup@8.2.4: resolution: {integrity: sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==} @@ -2285,8 +2178,8 @@ packages: typescript: optional: true - tsx@4.18.0: - resolution: {integrity: sha512-a1jaKBSVQkd6yEc1/NI7G6yHFfefIcuf3QJST7ZEyn4oQnxLYrZR5uZAM8UrwUa3Ge8suiZHcNS1gNrEvmobqg==} + tsx@4.19.0: + resolution: {integrity: sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==} engines: {node: '>=18.0.0'} hasBin: true @@ -2434,8 +2327,8 @@ packages: engines: {node: '>=16'} hasBin: true - wrangler@3.72.2: - resolution: {integrity: sha512-7nxkJ4md+KtESNJ/0DwTM7bHZP+uNRpJT5gMDT9WllP9UVzYdtXCTF+p4CHtxIReUpe6pOi7tb05hK9/Q6WaiA==} + wrangler@3.72.3: + resolution: {integrity: sha512-EBlJGOcwanbzFkiJkRB47WKhvevh1AZK0ty0MyD0gptsgWnAxBfmFGiBuzOuRXbvH45ZrFrTqgi8c67EwcV1nA==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: @@ -2678,12 +2571,12 @@ snapshots: '@brillout/require-shim@0.1.2': {} - '@brillout/test-e2e@0.5.34': + '@brillout/test-e2e@0.5.35': dependencies: '@brillout/part-regex': 0.1.4 '@brillout/picocolors': 1.0.14 chai: 4.5.0 - esbuild: 0.16.17 + esbuild: 0.23.1 fast-glob: 3.3.2 node-fetch: 2.7.0 pixelmatch: 5.3.0 @@ -2724,9 +2617,9 @@ snapshots: '@cloudflare/workerd-windows-64@1.20240821.1': optional: true - '@cloudflare/workers-shared@0.3.0': {} + '@cloudflare/workers-shared@0.4.0': {} - '@cloudflare/workers-types@4.20240806.0': {} + '@cloudflare/workers-types@4.20240821.1': {} '@cspotcode/source-map-support@0.8.1': dependencies: @@ -2748,9 +2641,6 @@ snapshots: '@esbuild/aix-ppc64@0.23.1': optional: true - '@esbuild/android-arm64@0.16.17': - optional: true - '@esbuild/android-arm64@0.17.19': optional: true @@ -2760,9 +2650,6 @@ snapshots: '@esbuild/android-arm64@0.23.1': optional: true - '@esbuild/android-arm@0.16.17': - optional: true - '@esbuild/android-arm@0.17.19': optional: true @@ -2772,9 +2659,6 @@ snapshots: '@esbuild/android-arm@0.23.1': optional: true - '@esbuild/android-x64@0.16.17': - optional: true - '@esbuild/android-x64@0.17.19': optional: true @@ -2784,9 +2668,6 @@ snapshots: '@esbuild/android-x64@0.23.1': optional: true - '@esbuild/darwin-arm64@0.16.17': - optional: true - '@esbuild/darwin-arm64@0.17.19': optional: true @@ -2796,9 +2677,6 @@ snapshots: '@esbuild/darwin-arm64@0.23.1': optional: true - '@esbuild/darwin-x64@0.16.17': - optional: true - '@esbuild/darwin-x64@0.17.19': optional: true @@ -2808,9 +2686,6 @@ snapshots: '@esbuild/darwin-x64@0.23.1': optional: true - '@esbuild/freebsd-arm64@0.16.17': - optional: true - '@esbuild/freebsd-arm64@0.17.19': optional: true @@ -2820,9 +2695,6 @@ snapshots: '@esbuild/freebsd-arm64@0.23.1': optional: true - '@esbuild/freebsd-x64@0.16.17': - optional: true - '@esbuild/freebsd-x64@0.17.19': optional: true @@ -2832,9 +2704,6 @@ snapshots: '@esbuild/freebsd-x64@0.23.1': optional: true - '@esbuild/linux-arm64@0.16.17': - optional: true - '@esbuild/linux-arm64@0.17.19': optional: true @@ -2844,9 +2713,6 @@ snapshots: '@esbuild/linux-arm64@0.23.1': optional: true - '@esbuild/linux-arm@0.16.17': - optional: true - '@esbuild/linux-arm@0.17.19': optional: true @@ -2856,9 +2722,6 @@ snapshots: '@esbuild/linux-arm@0.23.1': optional: true - '@esbuild/linux-ia32@0.16.17': - optional: true - '@esbuild/linux-ia32@0.17.19': optional: true @@ -2868,9 +2731,6 @@ snapshots: '@esbuild/linux-ia32@0.23.1': optional: true - '@esbuild/linux-loong64@0.16.17': - optional: true - '@esbuild/linux-loong64@0.17.19': optional: true @@ -2880,9 +2740,6 @@ snapshots: '@esbuild/linux-loong64@0.23.1': optional: true - '@esbuild/linux-mips64el@0.16.17': - optional: true - '@esbuild/linux-mips64el@0.17.19': optional: true @@ -2892,9 +2749,6 @@ snapshots: '@esbuild/linux-mips64el@0.23.1': optional: true - '@esbuild/linux-ppc64@0.16.17': - optional: true - '@esbuild/linux-ppc64@0.17.19': optional: true @@ -2904,9 +2758,6 @@ snapshots: '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.16.17': - optional: true - '@esbuild/linux-riscv64@0.17.19': optional: true @@ -2916,9 +2767,6 @@ snapshots: '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-s390x@0.16.17': - optional: true - '@esbuild/linux-s390x@0.17.19': optional: true @@ -2928,9 +2776,6 @@ snapshots: '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-x64@0.16.17': - optional: true - '@esbuild/linux-x64@0.17.19': optional: true @@ -2940,9 +2785,6 @@ snapshots: '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/netbsd-x64@0.16.17': - optional: true - '@esbuild/netbsd-x64@0.17.19': optional: true @@ -2955,9 +2797,6 @@ snapshots: '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/openbsd-x64@0.16.17': - optional: true - '@esbuild/openbsd-x64@0.17.19': optional: true @@ -2967,9 +2806,6 @@ snapshots: '@esbuild/openbsd-x64@0.23.1': optional: true - '@esbuild/sunos-x64@0.16.17': - optional: true - '@esbuild/sunos-x64@0.17.19': optional: true @@ -2979,9 +2815,6 @@ snapshots: '@esbuild/sunos-x64@0.23.1': optional: true - '@esbuild/win32-arm64@0.16.17': - optional: true - '@esbuild/win32-arm64@0.17.19': optional: true @@ -2991,9 +2824,6 @@ snapshots: '@esbuild/win32-arm64@0.23.1': optional: true - '@esbuild/win32-ia32@0.16.17': - optional: true - '@esbuild/win32-ia32@0.17.19': optional: true @@ -3003,9 +2833,6 @@ snapshots: '@esbuild/win32-ia32@0.23.1': optional: true - '@esbuild/win32-x64@0.16.17': - optional: true - '@esbuild/win32-x64@0.17.19': optional: true @@ -3020,7 +2847,7 @@ snapshots: '@hattip/adapter-cloudflare-workers@0.0.47': dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-types': 4.20240806.0 + '@cloudflare/workers-types': 4.20240821.1 '@hattip/core': 0.0.47 '@hattip/adapter-node@0.0.47': @@ -3050,17 +2877,17 @@ snapshots: '@hattip/compose': 0.0.47 '@hattip/core': 0.0.47 - '@hattip/vite@0.0.47(vite@5.4.2(@types/node@22.5.0))': + '@hattip/vite@0.0.47(vite@5.4.2(@types/node@22.5.1))': dependencies: '@hattip/adapter-node': 0.0.47 - '@vavite/connect': 4.1.2(vite@5.4.2(@types/node@22.5.0)) - '@vavite/multibuild': 4.1.2(vite@5.4.2(@types/node@22.5.0)) - '@vavite/node-loader': 4.1.2(vite@5.4.2(@types/node@22.5.0)) + '@vavite/connect': 4.1.2(vite@5.4.2(@types/node@22.5.1)) + '@vavite/multibuild': 4.1.2(vite@5.4.2(@types/node@22.5.1)) + '@vavite/node-loader': 4.1.2(vite@5.4.2(@types/node@22.5.1)) cac: 6.7.14 import-meta-resolve: 4.1.0 picocolors: 1.0.1 resolve.exports: 2.0.2 - vite: 5.4.2(@types/node@22.5.0) + vite: 5.4.2(@types/node@22.5.1) '@hattip/walk@0.0.47': dependencies: @@ -3068,22 +2895,22 @@ snapshots: cac: 6.7.14 mime-types: 2.1.35 - '@hono/node-server@1.12.0': {} + '@hono/node-server@1.12.2(hono@4.5.9)': + dependencies: + hono: 4.5.9 - '@hono/vite-cloudflare-pages@0.4.2(hono@4.5.8)': + '@hono/vite-cloudflare-pages@0.4.2(hono@4.5.9)': dependencies: - hono: 4.5.8 + hono: 4.5.9 - '@hono/vite-dev-server@0.14.0(hono@4.5.8)': + '@hono/vite-dev-server@0.15.1(hono@4.5.9)(miniflare@3.20240821.0)(wrangler@3.72.3(@cloudflare/workers-types@4.20240821.1))': dependencies: - '@hono/node-server': 1.12.0 - hono: 4.5.8 - miniflare: 3.20240821.0 + '@hono/node-server': 1.12.2(hono@4.5.9) + hono: 4.5.9 minimatch: 9.0.5 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + optionalDependencies: + miniflare: 3.20240821.0 + wrangler: 3.72.3(@cloudflare/workers-types@4.20240821.1) '@hutson/parse-repository-url@5.0.0': {} @@ -3220,28 +3047,38 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@22.5.0': + '@types/node@22.5.1': dependencies: undici-types: 6.19.8 optional: true '@types/normalize-package-data@2.4.4': {} - '@vavite/connect@4.1.2(vite@5.4.2(@types/node@22.5.0))': + '@universal-middleware/core@0.2.6': {} + + '@universal-middleware/hattip@0.2.3': + dependencies: + '@universal-middleware/core': 0.2.6 + + '@universal-middleware/hono@0.2.4': + dependencies: + '@universal-middleware/core': 0.2.6 + + '@vavite/connect@4.1.2(vite@5.4.2(@types/node@22.5.1))': dependencies: '@types/node': 18.19.44 - vite: 5.4.2(@types/node@22.5.0) + vite: 5.4.2(@types/node@22.5.1) - '@vavite/multibuild@4.1.2(vite@5.4.2(@types/node@22.5.0))': + '@vavite/multibuild@4.1.2(vite@5.4.2(@types/node@22.5.1))': dependencies: '@types/node': 18.19.44 cac: 6.7.14 picocolors: 1.0.1 - vite: 5.4.2(@types/node@22.5.0) + vite: 5.4.2(@types/node@22.5.1) - '@vavite/node-loader@4.1.2(vite@5.4.2(@types/node@22.5.0))': + '@vavite/node-loader@4.1.2(vite@5.4.2(@types/node@22.5.1))': dependencies: - vite: 5.4.2(@types/node@22.5.0) + vite: 5.4.2(@types/node@22.5.1) '@whatwg-node/fetch@0.9.19': dependencies: @@ -3253,7 +3090,7 @@ snapshots: '@kamilkisiela/fast-url-parser': 1.1.4 busboy: 1.6.0 fast-querystring: 1.1.2 - tslib: 2.6.3 + tslib: 2.7.0 JSONStream@1.3.5: dependencies: @@ -3352,7 +3189,7 @@ snapshots: capnp-ts@0.7.0: dependencies: debug: 4.3.6 - tslib: 2.6.3 + tslib: 2.7.0 transitivePeerDependencies: - supports-color @@ -3548,31 +3385,6 @@ snapshots: dependencies: esbuild: 0.23.1 - esbuild@0.16.17: - optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 - esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -3724,7 +3536,7 @@ snapshots: get-stream@6.0.1: {} - get-tsconfig@4.7.6: + get-tsconfig@4.8.0: dependencies: resolve-pkg-maps: 1.0.0 @@ -3782,7 +3594,7 @@ snapshots: hattip@0.0.33: {} - hono@4.5.8: {} + hono@4.5.9: {} hosted-git-info@7.0.2: dependencies: @@ -4041,12 +3853,12 @@ snapshots: pngjs@6.0.0: {} - postcss-load-config@6.0.1(postcss@8.4.41)(tsx@4.18.0)(yaml@2.5.0): + postcss-load-config@6.0.1(postcss@8.4.41)(tsx@4.19.0)(yaml@2.5.0): dependencies: lilconfig: 3.1.2 optionalDependencies: postcss: 8.4.41 - tsx: 4.18.0 + tsx: 4.19.0 yaml: 2.5.0 postcss@8.4.41: @@ -4174,18 +3986,18 @@ snapshots: slash@3.0.0: {} - solid-js@1.8.21: + solid-js@1.8.22: dependencies: csstype: 3.1.3 seroval: 1.1.1 seroval-plugins: 1.1.1(seroval@1.1.1) - solid-refresh@0.6.3(solid-js@1.8.21): + solid-refresh@0.6.3(solid-js@1.8.22): dependencies: '@babel/generator': 7.25.5 '@babel/helper-module-imports': 7.24.7 '@babel/types': 7.25.4 - solid-js: 1.8.21 + solid-js: 1.8.22 transitivePeerDependencies: - supports-color @@ -4299,9 +4111,9 @@ snapshots: ts-interface-checker@0.1.13: {} - tslib@2.6.3: {} + tslib@2.7.0: {} - tsup@8.2.4(postcss@8.4.41)(tsx@4.18.0)(typescript@5.5.4)(yaml@2.5.0): + tsup@8.2.4(postcss@8.4.41)(tsx@4.19.0)(typescript@5.5.4)(yaml@2.5.0): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 @@ -4313,7 +4125,7 @@ snapshots: globby: 11.1.0 joycon: 3.1.1 picocolors: 1.0.1 - postcss-load-config: 6.0.1(postcss@8.4.41)(tsx@4.18.0)(yaml@2.5.0) + postcss-load-config: 6.0.1(postcss@8.4.41)(tsx@4.19.0)(yaml@2.5.0) resolve-from: 5.0.0 rollup: 4.21.0 source-map: 0.8.0-beta.0 @@ -4328,10 +4140,10 @@ snapshots: - tsx - yaml - tsx@4.18.0: + tsx@4.19.0: dependencies: esbuild: 0.23.1 - get-tsconfig: 4.7.6 + get-tsconfig: 4.8.0 optionalDependencies: fsevents: 2.3.3 @@ -4381,21 +4193,21 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vike-solid@0.7.3(solid-js@1.8.21)(vike@0.4.193(vite@5.4.2(@types/node@18.19.44)))(vite@5.4.2(@types/node@18.19.44)): + vike-solid@0.7.3(solid-js@1.8.22)(vike@0.4.193(vite@5.4.2(@types/node@18.19.44)))(vite@5.4.2(@types/node@18.19.44)): dependencies: - solid-js: 1.8.21 + solid-js: 1.8.22 vike: 0.4.193(vite@5.4.2(@types/node@18.19.44)) - vite-plugin-solid: 2.10.2(solid-js@1.8.21)(vite@5.4.2(@types/node@18.19.44)) + vite-plugin-solid: 2.10.2(solid-js@1.8.22)(vite@5.4.2(@types/node@18.19.44)) transitivePeerDependencies: - '@testing-library/jest-dom' - supports-color - vite - vike-solid@0.7.3(solid-js@1.8.21)(vike@0.4.193(vite@5.4.2(@types/node@22.5.0)))(vite@5.4.2(@types/node@22.5.0)): + vike-solid@0.7.3(solid-js@1.8.22)(vike@0.4.193(vite@5.4.2(@types/node@22.5.1)))(vite@5.4.2(@types/node@22.5.1)): dependencies: - solid-js: 1.8.21 - vike: 0.4.193(vite@5.4.2(@types/node@22.5.0)) - vite-plugin-solid: 2.10.2(solid-js@1.8.21)(vite@5.4.2(@types/node@22.5.0)) + solid-js: 1.8.22 + vike: 0.4.193(vite@5.4.2(@types/node@22.5.1)) + vite-plugin-solid: 2.10.2(solid-js@1.8.22)(vite@5.4.2(@types/node@22.5.1)) transitivePeerDependencies: - '@testing-library/jest-dom' - supports-color @@ -4418,7 +4230,7 @@ snapshots: source-map-support: 0.5.21 vite: 5.4.2(@types/node@18.19.44) - vike@0.4.193(vite@5.4.2(@types/node@22.5.0)): + vike@0.4.193(vite@5.4.2(@types/node@22.5.1)): dependencies: '@brillout/import': 0.2.3 '@brillout/json-serializer': 0.5.13 @@ -4433,31 +4245,31 @@ snapshots: semver: 7.6.3 sirv: 2.0.4 source-map-support: 0.5.21 - vite: 5.4.2(@types/node@22.5.0) + vite: 5.4.2(@types/node@22.5.1) - vite-plugin-solid@2.10.2(solid-js@1.8.21)(vite@5.4.2(@types/node@18.19.44)): + vite-plugin-solid@2.10.2(solid-js@1.8.22)(vite@5.4.2(@types/node@18.19.44)): dependencies: '@babel/core': 7.25.2 '@types/babel__core': 7.20.5 babel-preset-solid: 1.8.19(@babel/core@7.25.2) merge-anything: 5.1.7 - solid-js: 1.8.21 - solid-refresh: 0.6.3(solid-js@1.8.21) + solid-js: 1.8.22 + solid-refresh: 0.6.3(solid-js@1.8.22) vite: 5.4.2(@types/node@18.19.44) vitefu: 0.2.5(vite@5.4.2(@types/node@18.19.44)) transitivePeerDependencies: - supports-color - vite-plugin-solid@2.10.2(solid-js@1.8.21)(vite@5.4.2(@types/node@22.5.0)): + vite-plugin-solid@2.10.2(solid-js@1.8.22)(vite@5.4.2(@types/node@22.5.1)): dependencies: '@babel/core': 7.25.2 '@types/babel__core': 7.20.5 babel-preset-solid: 1.8.19(@babel/core@7.25.2) merge-anything: 5.1.7 - solid-js: 1.8.21 - solid-refresh: 0.6.3(solid-js@1.8.21) - vite: 5.4.2(@types/node@22.5.0) - vitefu: 0.2.5(vite@5.4.2(@types/node@22.5.0)) + solid-js: 1.8.22 + solid-refresh: 0.6.3(solid-js@1.8.22) + vite: 5.4.2(@types/node@22.5.1) + vitefu: 0.2.5(vite@5.4.2(@types/node@22.5.1)) transitivePeerDependencies: - supports-color @@ -4470,22 +4282,22 @@ snapshots: '@types/node': 18.19.44 fsevents: 2.3.3 - vite@5.4.2(@types/node@22.5.0): + vite@5.4.2(@types/node@22.5.1): dependencies: esbuild: 0.21.5 postcss: 8.4.41 rollup: 4.21.0 optionalDependencies: - '@types/node': 22.5.0 + '@types/node': 22.5.1 fsevents: 2.3.3 vitefu@0.2.5(vite@5.4.2(@types/node@18.19.44)): optionalDependencies: vite: 5.4.2(@types/node@18.19.44) - vitefu@0.2.5(vite@5.4.2(@types/node@22.5.0)): + vitefu@0.2.5(vite@5.4.2(@types/node@22.5.1)): optionalDependencies: - vite: 5.4.2(@types/node@22.5.0) + vite: 5.4.2(@types/node@22.5.1) webidl-conversions@3.0.1: {} @@ -4516,10 +4328,10 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20240821.1 '@cloudflare/workerd-windows-64': 1.20240821.1 - wrangler@3.72.2: + wrangler@3.72.3(@cloudflare/workers-types@4.20240821.1): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@cloudflare/workers-shared': 0.3.0 + '@cloudflare/workers-shared': 0.4.0 '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) blake3-wasm: 2.1.5 @@ -4537,6 +4349,7 @@ snapshots: workerd: 1.20240821.1 xxhash-wasm: 1.0.2 optionalDependencies: + '@cloudflare/workers-types': 4.20240821.1 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil