JavaScript service-worker

Open-source JavaScript projects categorized as service-worker

Top 22 JavaScript service-worker Projects

  • workbox

    📦 Workbox: JavaScript libraries for Progressive Web Apps

    Project mention: A deep-dive on a Progressive Web App implementation for a React-based App Platform (DHIS2) | | 2023-08-22

    We use the Workbox library and its utilities as a foundation for our service worker.

  • offline-plugin

    Offline plugin (ServiceWorker, AppCache) for webpack (

  • Appwrite

    Appwrite - The open-source backend cloud platform. Add Auth, Databases, Functions, and Storage to your product and build any application at any scale while using your preferred coding languages and tools.

  • StreamSaver.js

    StreamSaver writes stream to the filesystem directly asynchronous

    Project mention: It's never been a better time to switch to Firefox | | 2023-11-22

    This! It is frustrating that web apps like can't save to file directly using Firefox. It gets old having to save a new file every time you make a change.

    Beyond that, the File System API would also allow for streamed downloads directly from the web-app. This would allow for web-apps to generate large download files without having to store a copy on a database (external server or IndexedDB), which is a privacy improvement. The only way to do this now is by using convoluted techniques to essentially do a MITM to a fake endpoint [1].


  • next-pwa

    Zero config PWA plugin for Next.js, with workbox 🧰

    Project mention: Enable PWA with next.js 13 or later using next-pwa (disabled in development environment) | | 2023-05-27

    /** @type {import('next').NextConfig} */ const path = require("path"); const isDev = process.env.NODE_ENV !== "production"; const withPWA = require("next-pwa")({ dest: "public", disable: isDev, buildExcludes: ["app-build-manifest.json"], }); const generateAppDirEntry = (entry) => { const packagePath = require.resolve("next-pwa"); const packageDirectory = path.dirname(packagePath); const registerJs = path.join(packageDirectory, "register.js"); return entry().then((entries) => { // Register SW on App directory, solution: if (entries["main-app"] && !entries["main-app"].includes(registerJs)) { if (Array.isArray(entries["main-app"])) { entries["main-app"].unshift(registerJs); } else if (typeof entries["main-app"] === "string") { entries["main-app"] = [registerJs, entries["main-app"]]; } } return entries; }); }; const nextConfig = { experimental: { appDir: true, }, reactStrictMode: true, webpack(config) { if( !isDev ){ const entry = generateAppDirEntry(config.entry); config.entry = () => entry; } return config; }, }; module.exports = withPWA(nextConfig);

  • zip.js

    JavaScript library to zip and unzip files supporting multi-core compression, compression streams, zip64, split files and encryption.

    Project mention: Pigz: Parallel gzip for modern multi-processor, multi-core machines | | 2023-05-12

    Similarly, if people are interested, I have coded the possibility to compress zip files on several cores in zip.js [1]. The approach is simpler as it consists of compressing the entries in parallel. It still offers a significant performance gain though when compressing multiple files in a zip file, which is often the nominal case.


  • next-offline

    make your Next.js application work offline using service workers via Google's workbox

  • service-workers

    A collection of utilities for creating/testing/experimenting with service workers.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • expenses

    💰Expense tracker using Google Sheets 📉 as a storage written in React (by jakubgarfield)

  • http-server-online

    Start a local HTTP server without any tools, just open a web page.


    Serverless replay of web archives directly in the browser

    Project mention: Webrecorder: Capture interactive websites and replay them at a later time | | 2023-08-01

    (Disclaimer: I work at Webrecorder)

    Our automated crawler browsertrix-crawler ( uses Puppeteer to run browsers that we archive in by loading pages, running behaviors such as auto-scroll, and then record the request/response traffic. We have some custom behavior for some social media and video sites to make sure that content is appropriate captured. It is a bit of a cat-and-mouse game as we have to continue to update these behaviors as sites change, but for the most part it works pretty well.

    The trickier part is in replaying the archived websites, as a certain amount of re-writing has to happen in order to make sure the HTML and JS are working with archived assets rather than the live web. One implementation of this is (, which does all of the rewriting client-side in the browser. This sets you interact with archived websites in WARC or WACZ format as if interacting with the original site.

  • wayne

    Service Worker Routing library for in browser HTTP requests

    Project mention: Created a Server-Sent Event Proxy with Wayne | /r/webdev | 2023-07-01

    Just created a Server-Sent Events Proxy with my Open Source library Wayne. This was the last open issue on GitHub.

  • self-destroying-sw

    Code-snippets and guides on removing ServiceWorker from a websiste.

  • Ultraviolet

    A highly sophisticated proxy used for evading internet censorship or accessing websites in a controlled sandbox using the power of service-workers. Works by intercepting HTTP requests with a service worker script that follows the TompHTTP specifications. (by titaniumnetwork-dev)

    Project mention: bypass lightspeed M1 | /r/hacking | 2023-09-23

    I’ve tried a lot of stuff but something that’s worked for me is just using a proxy like Ultraviolet and Rammerhead . Both of these were made with content filtering agents in mind and support a lot of sites.

  • sqlite-worker

    A simple, and persistent, SQLite database for Web and Workers.

  • network-idle-callback

    Like requestIdleCallback, but for detecting network idle

  • offline-first-sw

    Service worker example with 404 handling, custom offline page and max TTL for specific file types.

  • Mosque-Screen

    Chat: - Email: [email protected]. We do not provide any support, this is a volunteer-based project therefore we cannot commit to any time to resolve local issues.

    Project mention: Looking for a new OFFLINE athan signage to replace the old software we have | /r/muslimtechnet | 2023-01-01

    DEFINITELY give mosque-screen a try. It's used in East London Mosque and has to be one of the best implementations I've seen.

  • Surfable-app

    Install any website as an app for instant access 🖥️

  • checkpose

    Offline Body Movement Analysis in the Browser

    Project mention: Offline Body Movement Analysis in the Browser | /r/deeplearning | 2023-03-28
  • sw-extension-audio

    Play audio in service worker-based browser extensions

  • dlpwait

    A wait times / entertainment schedule app for Disneyland Paris

  • unit-test-service-worker

    Writing unit tests for service workers made easy.

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-11-22.

JavaScript service-worker related posts


What are some of the best open-source service-worker projects in JavaScript? This list will help you:

Project Stars
1 workbox 11,849
2 offline-plugin 4,508
3 StreamSaver.js 3,710
4 next-pwa 3,373
5 zip.js 3,034
6 next-offline 1,563
7 service-workers 1,273
8 expenses 1,202
9 http-server-online 623
10 541
11 wayne 519
12 self-destroying-sw 392
13 Ultraviolet 314
14 sqlite-worker 163
15 network-idle-callback 128
16 offline-first-sw 91
17 Mosque-Screen 87
18 Surfable-app 57
19 checkpose 11
20 sw-extension-audio 5
21 dlpwait 2
22 unit-test-service-worker 1
Learn any GitHub repo in 59 seconds
Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at