File size: 896 Bytes
bf48b89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 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 (globalThis.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';