@vrowzer/service-worker-server
v0.0.0
Published
Serverized service worker with the Node Server interface
Readme
@vrowzer/service-worker-server
A Node.js HTTP Server-like interface for Service Worker environments. Wraps @vrowzer/service-worker to provide familiar listen() / close() / event patterns for handling fetch events and MessageChannel connections inside a Service Worker.
💿 Installation
# npm
npm install --save @vrowzer/service-worker-server
# pnpm
pnpm add @vrowzer/service-worker-server
# yarn
yarn add @vrowzer/service-worker-server
# bun
bun add @vrowzer/service-worker-server🚀 Usage
import { createSvcWorkerServer } from '@vrowzer/service-worker-server'
const server = createSvcWorkerServer(self, {
version: 'v1',
claimOnActivate: true
})
// Set fetch handler (like Node.js HTTP request handler)
server.setFetchHandler(event => {
event.respondWith(new Response('Hello from Service Worker!'))
})
// Start listening for fetch events
server.listen()
server.on('listening', () => {
console.log('Service Worker server is listening')
})
server.on('error', err => {
console.error('Server error:', err)
})MessageChannel Connections
const server = createSvcWorkerServer(self, { version: 'v1' })
server.setFetchHandler(event => {
event.respondWith(new Response('OK'))
})
// Enable listening for MessageChannel port connections
server.listen({ enableListenConnections: true })
server.on('connection', event => {
console.log('Client connected:', event.clientId)
console.log('Ports:', event.ports)
console.log('Data:', event.data)
})📖 API Documentation
See packages/service-worker/docs for full API documentation.
