From b41590bf3ab72de71b5b79c522fe8b4ec5dc2423 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 21 Feb 2026 18:06:02 -0500 Subject: [PATCH] chore: refactored docs to worker + static assets --- bun.lock | 10 ++++++++-- docs/.gitignore | 1 + docs/package.json | 5 ++++- docs/src/index.ts | 21 +++++++++++++++++++++ docs/tsconfig.json | 3 ++- docs/wrangler.toml | 10 ++++++++++ 6 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 docs/src/index.ts create mode 100644 docs/wrangler.toml diff --git a/bun.lock b/bun.lock index 5c63fdb..3385f65 100644 --- a/bun.lock +++ b/bun.lock @@ -13,11 +13,13 @@ "name": "docs", "version": "0.0.0", "dependencies": { + "hono": "latest", "react": "latest", "react-dom": "latest", "vocs": "latest", }, "devDependencies": { + "@cloudflare/workers-types": "latest", "@types/react": "latest", "typescript": "latest", }, @@ -176,6 +178,8 @@ "@clack/prompts": ["@clack/prompts@1.0.0", "", { "dependencies": { "@clack/core": "1.0.0", "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "sha512-rWPXg9UaCFqErJVQ+MecOaWsozjaxol4yjnmYcGNipAWzdaWa2x+VJmKfGq7L0APwBohQOYdHC+9RO4qRXej+A=="], + "@cloudflare/workers-types": ["@cloudflare/workers-types@4.20260228.0", "", {}, "sha512-9LfRg93ncQq6Oc4MFpqGSs+PmPhqWvg8TspXwbiYNR201IhXB4WqHR/aTSudPI0ujsf/NLc8E9fF3C+aA2g8KQ=="], + "@emotion/hash": ["@emotion/hash@0.9.2", "", {}, "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g=="], "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.2", "", { "os": "aix", "cpu": "ppc64" }, "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw=="], @@ -596,7 +600,7 @@ "@types/node": ["@types/node@20.19.30", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g=="], - "@types/react": ["@types/react@19.2.10", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw=="], + "@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], @@ -954,7 +958,7 @@ "hastscript": ["hastscript@8.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw=="], - "hono": ["hono@4.11.7", "", {}, "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw=="], + "hono": ["hono@4.12.1", "", {}, "sha512-hi9afu8g0lfJVLolxElAZGANCTTl6bewIdsRNhaywfP9K8BPf++F2z6OLrYGIinUwpRKzbZHMhPwvc0ZEpAwGw=="], "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="], @@ -1606,6 +1610,8 @@ "vite/fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + "vocs/hono": ["hono@4.11.7", "", {}, "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw=="], + "@radix-ui/react-label/@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.4", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA=="], "@shikijs/twoslash/twoslash/twoslash-protocol": ["twoslash-protocol@0.2.12", "", {}, "sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg=="], diff --git a/docs/.gitignore b/docs/.gitignore index 0383f2f..4517282 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1,3 +1,4 @@ .wrangler +.dev.vars .sequoia-state.json diff --git a/docs/package.json b/docs/package.json index 2f9fa56..0d8a1c9 100644 --- a/docs/package.json +++ b/docs/package.json @@ -5,16 +5,19 @@ "type": "module", "scripts": { "dev": "vocs dev", + "dev:api": "wrangler dev", "build": "vocs build && bun inject-og-tags.ts", - "deploy": "bun run build && sequoia inject && bunx wrangler pages deploy docs/dist", + "deploy": "bun run build && sequoia inject && wrangler deploy", "preview": "vocs preview" }, "dependencies": { + "hono": "latest", "react": "latest", "react-dom": "latest", "vocs": "latest" }, "devDependencies": { + "@cloudflare/workers-types": "latest", "@types/react": "latest", "typescript": "latest" } diff --git a/docs/src/index.ts b/docs/src/index.ts new file mode 100644 index 0000000..c0d1fca --- /dev/null +++ b/docs/src/index.ts @@ -0,0 +1,21 @@ +import { Hono } from "hono"; + +type Bindings = { + ASSETS: Fetcher; +}; + +const app = new Hono<{ Bindings: Bindings }>(); + +app.get("/oauth/callback", (c) => { + return c.text("Not Implemented", 501); +}); + +app.get("/api/health", (c) => { + return c.json({ status: "ok" }); +}); + +app.all("*", (c) => { + return c.env.ASSETS.fetch(c.req.raw); +}); + +export default app; diff --git a/docs/tsconfig.json b/docs/tsconfig.json index d2636aa..3131cb4 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -18,7 +18,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + "types": ["@cloudflare/workers-types"] }, "include": ["**/*.ts", "**/*.tsx"] } diff --git a/docs/wrangler.toml b/docs/wrangler.toml new file mode 100644 index 0000000..4179606 --- /dev/null +++ b/docs/wrangler.toml @@ -0,0 +1,10 @@ +name = "sequoia-docs" +main = "src/index.ts" +compatibility_date = "2025-04-01" + +[assets] +directory = "./docs/dist" +binding = "ASSETS" +not_found_handling = "single-page-application" +html_handling = "auto-trailing-slash" +run_worker_first = ["/api/*", "/oauth/*"] -- 2.51.2