RSSHub/lib/worker.ts

24 lines
960 B
TypeScript

// oxlint-disable unicorn-js/no-global-object-property-assignment
// Cloudflare Worker entry point
// This file contains Worker-specific initialization and polyfills
// Initialize request-rewriter (sets up fetch wrapper with proper headers)
import '@/utils/request-rewriter';
// Polyfill MessagePort for undici compatibility
// undici uses MessagePort for type checking in webidl
if (typeof MessagePort === 'undefined') {
// @ts-expect-error Minimal polyfill for undici compatibility
globalThis.MessagePort = class MessagePort extends EventTarget {
onmessage: ((event: MessageEvent) => void) | null = null;
onmessageerror: ((event: MessageEvent) => void) | null = null;
start() {}
close() {}
postMessage(_message: unknown, _transfer?: Transferable[]) {}
};
}
// Import and re-export the main app
// Worker-specific module replacements are handled by tsdown aliases
export { default } from './app.worker';