workbee logo

The WorkBee ServiceWorker

A tiny ServiceWorker for secure web applications.

Get Started

  • <1KB

    Minified + compressed

  • 100%

    Test coverage

  • GDPR

    Privacy first

Features

Getting Started

Install the core package and create your ServiceWorker in minutes.

  • 1. Install

    npm install @work-bee/core
  • 2. Create sw.js

    import { compileConfig, eventInstall, eventActivate, eventFetch, strategyCacheFirst } from "@work-bee/core"
    
    const config = compileConfig({
      cachePrefix: "sw-",
      routes: [{
        methods: ["GET"],
        pathPattern: new RegExp("/img/(.+)$"),
        cacheName: "img",
        strategy: strategyCacheFirst
      }]
    })
    
    addEventListener("install", (event) => eventInstall(event, config))
    addEventListener("activate", (event) => eventActivate(event, config))
    addEventListener("fetch", (event) => eventFetch(event, config))
  • 3. Register

    if ("serviceWorker" in navigator) {
      navigator.serviceWorker.register("/sw.js")
    }

Packages

Read the Docs

Learn about caching strategies, middleware patterns, and configuration options.

Documentation