diff --git a/deno.lock b/deno.lock index 78bdcde6b92..6a3f3eb1842 100644 --- a/deno.lock +++ b/deno.lock @@ -7,6 +7,8 @@ "jsr:@deno/cache-dir@0.22.2": "0.22.2", "jsr:@deno/doc@0.172": "0.172.0", "jsr:@deno/esbuild-plugin@^1.2.0": "1.2.1", + "jsr:@deno/graph@0.86": "0.86.9", + "jsr:@deno/graph@~0.82.3": "0.82.3", "jsr:@deno/loader@~0.3.10": "0.3.10", "jsr:@fresh/build-id@1": "1.0.1", "jsr:@fresh/core@2": "2.2.0", @@ -16,6 +18,7 @@ "jsr:@std/assert@^1.0.15": "1.0.16", "jsr:@std/async@1": "1.0.16", "jsr:@std/async@^1.0.13": "1.0.16", + "jsr:@std/async@^1.0.15": "1.0.16", "jsr:@std/bytes@^1.0.5": "1.0.6", "jsr:@std/bytes@^1.0.6": "1.0.6", "jsr:@std/cli@^1.0.19": "1.0.25", @@ -45,6 +48,7 @@ "jsr:@std/internal@^1.0.12": "1.0.12", "jsr:@std/io@0.225": "0.225.2", "jsr:@std/io@0.225.0": "0.225.0", + "jsr:@std/json@^1.0.2": "1.0.3", "jsr:@std/jsonc@1": "1.0.2", "jsr:@std/jsonc@^1.0.2": "1.0.2", "jsr:@std/media-types@1": "1.1.0", @@ -68,10 +72,10 @@ "npm:@babel/core@^7.28.0": "7.28.5", "npm:@babel/preset-react@^7.27.1": "7.28.5_@babel+core@7.28.5", "npm:@opentelemetry/api@^1.9.0": "1.9.0", - "npm:@preact/signals@2": "2.5.1_preact@10.28.2", - "npm:@preact/signals@^2.2.1": "2.5.1_preact@10.28.2", - "npm:@preact/signals@^2.5.1": "2.5.1_preact@10.28.2", - "npm:@prefresh/vite@^2.4.8": "2.4.11_preact@10.28.2_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_@types+node@24.9.2", + "npm:@preact/signals@2": "2.5.1_preact@10.28.4", + "npm:@preact/signals@^2.2.1": "2.5.1_preact@10.28.4", + "npm:@preact/signals@^2.5.1": "2.5.1_preact@10.28.4", + "npm:@prefresh/vite@^2.4.8": "2.4.11_preact@10.28.4_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_@types+node@24.9.2", "npm:@radix-ui/themes@^3.2.1": "3.2.1_react@19.1.1_react-dom@19.1.1__react@19.1.1", "npm:@remix-run/node-fetch-server@0.12": "0.12.0", "npm:@supabase/postgrest-js@^1.21.4": "1.21.4", @@ -90,6 +94,7 @@ "npm:esbuild-wasm@0.25.7": "0.25.7", "npm:esbuild-wasm@~0.25.11": "0.25.12", "npm:esbuild@0.25.7": "0.25.7", + "npm:esbuild@~0.25.5": "0.25.7", "npm:feed@^5.1.0": "5.1.0", "npm:github-slugger@2": "2.0.0", "npm:ioredis@^5.7.0": "5.8.2", @@ -100,13 +105,13 @@ "npm:pg@^8.16.3": "8.16.3", "npm:postcss@8.5.6": "8.5.6", "npm:postcss@^8.5.6": "8.5.6", - "npm:preact-render-to-string@^6.6.3": "6.6.5_preact@10.28.2", - "npm:preact-render-to-string@^6.6.5": "6.6.5_preact@10.28.2", - "npm:preact@^10.22.0": "10.28.2", - "npm:preact@^10.26.9": "10.28.2", - "npm:preact@^10.27.0": "10.28.2", - "npm:preact@^10.27.2": "10.28.2", - "npm:preact@^10.28.2": "10.28.2", + "npm:preact-render-to-string@^6.6.3": "6.6.5_preact@10.28.4", + "npm:preact-render-to-string@^6.6.5": "6.6.5_preact@10.28.4", + "npm:preact@^10.22.0": "10.28.4", + "npm:preact@^10.26.9": "10.28.4", + "npm:preact@^10.27.0": "10.28.4", + "npm:preact@^10.28.2": "10.28.4", + "npm:preact@^10.28.3": "10.28.4", "npm:prismjs@^1.29.0": "1.30.0", "npm:qs@^6.14.0": "6.14.0", "npm:redis@^5.8.2": "5.9.0_@redis+client@5.9.0", @@ -143,6 +148,7 @@ "@deno/cache-dir@0.14.0": { "integrity": "729f0b68e7fc96443c09c2c544b830ca70897bdd5168598446d752f7a4c731ad", "dependencies": [ + "jsr:@deno/graph@0.86", "jsr:@std/fmt@^1.0.3", "jsr:@std/fs@^1.0.6", "jsr:@std/io@0.225", @@ -152,6 +158,7 @@ "@deno/cache-dir@0.22.2": { "integrity": "0c84b8db6175618cc2e25ed7d7648d83b38e298c14c1aae1e4b4e1b2219b840c", "dependencies": [ + "jsr:@deno/graph@0.86", "jsr:@std/fmt@^1.0.3", "jsr:@std/fs@^1.0.6", "jsr:@std/io@0.225", @@ -161,16 +168,24 @@ "@deno/doc@0.172.0": { "integrity": "72a68ed533576a06feb930a84784ad9ba6d83ca9d581fc734d498c58e32b7cf5", "dependencies": [ - "jsr:@deno/cache-dir@0.14" + "jsr:@deno/cache-dir@0.14", + "jsr:@deno/graph@~0.82.3" ] }, "@deno/esbuild-plugin@1.2.1": { "integrity": "df629467913adc1f960149fdfa3a3430ba8c20381c310fba096db244e6c3c9f6", "dependencies": [ "jsr:@deno/loader", - "jsr:@std/path@^1.1.1" + "jsr:@std/path@^1.1.1", + "npm:esbuild@~0.25.5" ] }, + "@deno/graph@0.82.3": { + "integrity": "5c1fe944368172a9c87588ac81b82eb027ca78002a57521567e6264be322637e" + }, + "@deno/graph@0.86.9": { + "integrity": "c4f353a695bcc5246c099602977dabc6534eacea9999a35a8cb24e807192e6a1" + }, "@deno/loader@0.3.10": { "integrity": "a9c0aa44a0499e7fecef52c29fbc206c1c8f8946388f25d9d0789a23313bfd43" }, @@ -196,11 +211,9 @@ "jsr:@std/uuid@^1.0.9", "npm:@opentelemetry/api", "npm:@preact/signals@^2.2.1", - "npm:esbuild", "npm:esbuild-wasm@~0.25.11", - "npm:preact-render-to-string@^6.6.3", - "npm:preact@^10.27.0", - "npm:preact@^10.27.2" + "npm:esbuild@0.25.7", + "npm:preact-render-to-string@^6.6.3" ] }, "@marvinh-test/fresh-island@0.0.3": { @@ -305,8 +318,14 @@ "jsr:@std/bytes@^1.0.5" ] }, + "@std/json@1.0.3": { + "integrity": "97d5710996293a027b7aa5f0d1f4fa29f246f269e6b5597e08807613f37d426c" + }, "@std/jsonc@1.0.2": { - "integrity": "909605dae3af22bd75b1cbda8d64a32cf1fd2cf6efa3f9e224aba6d22c0f44c7" + "integrity": "909605dae3af22bd75b1cbda8d64a32cf1fd2cf6efa3f9e224aba6d22c0f44c7", + "dependencies": [ + "jsr:@std/json" + ] }, "@std/media-types@1.1.0": { "integrity": "c9d093f0c05c3512932b330e3cc1fe1d627b301db33a4c2c2185c02471d6eaa4" @@ -336,6 +355,7 @@ "integrity": "a917ffdeb5924c9be436dc78bc32e511760e14d3a96e49c607fc5ecca86d0092", "dependencies": [ "jsr:@std/assert@^1.0.15", + "jsr:@std/async@^1.0.15", "jsr:@std/data-structures", "jsr:@std/fs@^1.0.19", "jsr:@std/internal@^1.0.12", @@ -919,7 +939,7 @@ "@preact/signals-core@1.12.1": { "integrity": "sha512-BwbTXpj+9QutoZLQvbttRg5x3l5468qaV2kufh+51yha1c53ep5dY4kTuZR35+3pAZxpfQerGJiQqg34ZNZ6uA==" }, - "@preact/signals@2.5.1_preact@10.28.2": { + "@preact/signals@2.5.1_preact@10.28.4": { "integrity": "sha512-VPjk5YFt7i11Fi4UK0tzaEe5xLwfhUxXL3l89ocxQ5aPz7bRo8M5+N73LjBMPklyXKYKz6YsNo4Smp8n6nplng==", "dependencies": [ "@preact/signals-core", @@ -929,7 +949,7 @@ "@prefresh/babel-plugin@0.5.2": { "integrity": "sha512-AOl4HG6dAxWkJ5ndPHBgBa49oo/9bOiJuRDKHLSTyH+Fd9x00shTXpdiTj1W41l6oQIwUOAgJeHMn4QwIDpHkA==" }, - "@prefresh/core@1.5.8_preact@10.28.2": { + "@prefresh/core@1.5.8_preact@10.28.4": { "integrity": "sha512-T7HMpakS1iPVCFZvfDLMGyrWAcO3toUN9/RkJUqqoRr/vNhQrZgHjidfhq3awDzAQtw1emDWH8dsOeu0DWqtgA==", "dependencies": [ "preact" @@ -938,7 +958,7 @@ "@prefresh/utils@1.2.1": { "integrity": "sha512-vq/sIuN5nYfYzvyayXI4C2QkprfNaHUQ9ZX+3xLD8nL3rWyzpxOm1+K7RtMbhd+66QcaISViK7amjnheQ/4WZw==" }, - "@prefresh/vite@2.4.11_preact@10.28.2_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_@types+node@24.9.2": { + "@prefresh/vite@2.4.11_preact@10.28.4_vite@7.3.1__@types+node@24.9.2__picomatch@4.0.3_@types+node@24.9.2": { "integrity": "sha512-/XjURQqdRiCG3NpMmWqE9kJwrg9IchIOWHzulCfqg2sRe/8oQ1g5De7xrk9lbqPIQLn7ntBkKdqWXIj4E9YXyg==", "dependencies": [ "@babel/core", @@ -2604,6 +2624,7 @@ "package-json-from-dist", "path-scurry" ], + "deprecated": true, "bin": true }, "gopd@1.2.0": { @@ -3314,14 +3335,14 @@ "xtend" ] }, - "preact-render-to-string@6.6.5_preact@10.28.2": { + "preact-render-to-string@6.6.5_preact@10.28.4": { "integrity": "sha512-O6MHzYNIKYaiSX3bOw0gGZfEbOmlIDtDfWwN1JJdc/T3ihzRT6tGGSEWE088dWrEDGa1u7101q+6fzQnO9XCPA==", "dependencies": [ "preact" ] }, - "preact@10.28.2": { - "integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==" + "preact@10.28.4": { + "integrity": "sha512-uKFfOHWuSNpRFVTnljsCluEFq57OKT+0QdOiQo8XWnQ/pSvg7OpX5eNOejELXJMWy+BwM2nobz0FkvzmnpCNsQ==" }, "prismjs@1.30.0": { "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==" @@ -4076,7 +4097,7 @@ "npm:@types/node@^24.2.1", "npm:esbuild-wasm@~0.25.11", "npm:preact-render-to-string@^6.6.3", - "npm:preact@^10.27.2" + "npm:preact@^10.28.3" ] }, "packages/plugin-tailwindcss-v3": { diff --git a/www/components/homepage/FormsSection.tsx b/www/components/homepage/FormsSection.tsx index 8b2ca3680a6..fa6305b3c0a 100644 --- a/www/components/homepage/FormsSection.tsx +++ b/www/components/homepage/FormsSection.tsx @@ -8,23 +8,21 @@ import { ExampleArrow } from "../homepage/ExampleArrow.tsx"; import { FancyLink } from "../FancyLink.tsx"; import { FormSubmitDemo } from "../../islands/FormSubmitDemo.tsx"; -const routingCode = `import { Handlers } from "$fresh/server.ts"; +const routingCode = `import { define } from "../utils.ts"; -export const handler: Handlers = { - async POST(req) { - const form = await req.formData(); +export const handler = define.handlers({ + async POST(ctx) { + const form = await ctx.req.formData(); // Do something with the form data here, // then redirect user to thank you page - const headers = new Headers(); - headers.set("location", "/thanks"); return new Response(null, { status: 303, - headers, + headers: { location: "/thanks" }, }); }, -};`; +});`; export function FormsSection() { return ( diff --git a/www/components/homepage/PartialsSection.tsx b/www/components/homepage/PartialsSection.tsx index 9b40fe18213..ab1db6fc683 100644 --- a/www/components/homepage/PartialsSection.tsx +++ b/www/components/homepage/PartialsSection.tsx @@ -8,7 +8,7 @@ import { ExampleArrow } from "../../components/homepage/ExampleArrow.tsx"; import { RecipeDemo } from "../../components/homepage/RecipeDemo.tsx"; import { FancyLink } from "../../components/FancyLink.tsx"; -const islandCode = `import { Partial } from "$fresh/runtime.ts"; +const islandCode = `import { Partial } from "fresh/runtime"; export const Recipes = () => (