* feat: support hono rpc * add wrangler file * update name of wrangler file * add wrangler as a dependency * add compatibility_flags * trigger ci * core: add health check to docker file * expose port 80 * update custom healthcheck * feat: implement openapi * install dependencies in root * debug yml * update yml * update port * update dockerfile with envs * completely move away from apiClient * rename backend to api * refactor: update server descriptions and comment out local spec saving * update lock file * use api.classroomio.com * add support for redis * fix: add missing line break in WelcomeModal.svelte * refactor: remove wrangler configuration and update Vite config for API integration
1.8 KiB
1.8 KiB
OpenAPI Spec Generator Script
This script generates the OpenAPI specification from your Hono application and optionally uploads it to a Cloudflare R2 bucket.
Usage
Generate and Upload OpenAPI spec
pnpm run upload:openapi
Direct script usage
tsx scripts/upload-openapi-spec.ts
Examples
# Generate spec locally only
pnpm upload:openapi
Environment Variables
For R2 upload functionality, set these environment variables:
CLOUDFLARE_ACCESS_KEY=your_access_key
CLOUDFLARE_SECRET_ACCESS_KEY=your_secret_key
CLOUDFLARE_ACCOUNT_ID=your_account_id
Output
The script will:
- Generate the OpenAPI specification from your Hono app routes
- Save locally to
dist/openapi/openapi.json - Upload to R2 (if credentials provided):
openapi/openapi-YYYY-MM-DD.json(dated version)openapi/openapi-latest.json(latest version)
GitHub Action Integration
This script is integrated with a GitHub Action that automatically generates and uploads the OpenAPI spec on code changes.
Automatic Workflow
The GitHub Action runs on:
- Push to main - Automatically uploads to R2
- Pull Requests - Generates spec for review (no upload)
- Manual dispatch - Allows manual triggering with custom parameters
Setup
- Required secrets:
CLOUDFLARE_ACCESS_KEYCLOUDFLARE_SECRET_ACCESS_KEYCLOUDFLARE_ACCOUNT_IDPUBLIC_SUPABASE_URLPUBLIC_SUPABASE_ANON_KEY
Features
- ✅ Automatic OpenAPI spec generation from Hono routes
- ✅ Local file generation for development
- ✅ Cloudflare R2 upload with versioning
- ✅ GitHub Action integration
- ✅ Environment-specific deployments
- ✅ PR previews and artifacts
- ✅ Error handling and logging
- ✅ CLI help with
--helpflag