Skip to main content
Deno 2 is finally here ๐ŸŽ‰๏ธ
Learn more

Shed

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


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.
  • ๐Ÿฆ‘ 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

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