A minimal frontend application to download, unzip, and display GitHub artifacts directly in the browser using WASM.
- Download GitHub artifacts directly in the browser
- Process ZIP files using WebAssembly
- Store and view results using IndexedDB
- Minimal UI without frameworks
This project uses Bun and TypeScript for development.
- Clone the repository
- Install dependencies with
bun install - Copy
.env.exampleto.envand fill in your GitHub details
bun run dev: Start development environment with auto-restart (recommended)bun run build: Build for productionbun run start: Start server without watching
- Frontend: Plain HTML, CSS, and TypeScript
- Backend: Minimal Bun server in development, Deno Deploy for production
- WASM: Rust-based ZIP processing for browser
The project is designed to be deployed to Deno Deploy:
- Build the project:
bun run build - Push the
deno/artifact-proxy.tsfile to Deno Deploy - Set the required environment variables in the Deno Deploy dashboard
GITHUB_TOKEN: GitHub token with artifacts accessORG: GitHub organization nameREPO: GitHub repository nameDEBUG: Set to "true" to enable verbose logging (optional)
The development server will automatically restart when any server-related file changes, providing:
- Real-time feedback for server changes
- Automatic browser refresh for frontend changes
- Colorized logging for easier debugging