Shed is the entire collection of Worker Tools under a single roof, which doubles as a complete web framework built for Worker Runtimes.
Work In Progress
- 🧭 Worker Router --- Complete routing solution that works across CF Workers, Deno and Service Workers
- 🔋 Worker Middleware --- A suite of standalone HTTP server-side middleware with TypeScript support
- 📄 Worker HTML --- HTML templating and streaming response library
- 📦 Storage Area --- Storage abstractions for Cloudflare's KV and Deno
- 🆗 Response Creators --- Factory functions for responses with pre-filled status and status text
- 🎏 Stream Response --- Use async generators to build streaming responses for SSE, etc...
- 🥏 JSON Fetch --- Drop-in replacements for Fetch API classes with first class support for JSON.
- 🦑 JSON Stream --- Utilities for working with streaming JSON.
- 🍪 Request Cookie Store --- An implementation of the Cookie Store API for use in request handlers.
- ⏱ Extendable Promise --- A promise that can be delayed/extended via repeated calls to
waitUntil
.
Worker Tools also includes a number of polyfills that help bridge the gap between different Worker Runtimes:
- ✏️ HTML Rewriter --- Cloudflare's HTML Rewriter for use in Deno, browsers, etc...
- 📍 Location Polyfill --- A
Location
polyfill for Cloudflare Workers. - 🦕 Deno Fetch Event Adapter --- Dispatches global
fetch
events using Deno’s native HTTP server.
*[SSE]: Server Sent Events
Deno users can import Worker Tools directly from GitHub as they are written in TypeScript with fully qualified import specifiers:
import * as shed from 'https://ghuc.cc/worker-tools/shed/index.ts'
For other runtimes such as module bundlers, webpack or esbuild, Worker Tools are distributed as node-ified modules that can be installed via npm and behave like regular npm modules
npm install @worker-tools/shed
*[SSE]: Server Sent Events