Shed

Shed is the entire collection of Worker Tools under a single roof, which doubles as a complete web framework built for Worker Environments.


Work In Progress


Tools

  • 🧭 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.
  • πŸͺ Request Cookie Store --- An implementation of the Cookie Store API for use in request handlers.

Worker Tools also includes a number of polyfills that help bridge the gap between different Worker Environments:

  • ✏️ 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

How to Use

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 environments 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