@fairfox/polly 0.5.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/cli/polly.js +9 -9
  2. package/dist/cli/polly.js.map +4 -4
  3. package/dist/cli/template-utils.js +3 -3
  4. package/dist/cli/template-utils.js.map +3 -3
  5. package/dist/src/shared/state/app-state.d.ts +8 -0
  6. package/dist/vendor/verify/src/cli.js +78 -71
  7. package/dist/vendor/verify/src/cli.js.map +10 -10
  8. package/dist/vendor/verify/src/public-api.d.ts +41 -0
  9. package/dist/vendor/verify/src/public-api.js +26 -0
  10. package/dist/vendor/verify/src/public-api.js.map +10 -0
  11. package/dist/vendor/visualize/src/cli.js +108 -104
  12. package/dist/vendor/visualize/src/cli.js.map +13 -13
  13. package/package.json +15 -2
  14. package/templates/pwa/build.ts.template +37 -37
  15. package/templates/pwa/server.ts.template +53 -53
  16. package/templates/pwa/src/service-worker.ts.template +131 -135
  17. package/templates/pwa/src/shared-worker.ts.template +114 -109
  18. package/dist/shared/state/app-state.d.ts +0 -8
  19. /package/dist/{background → src/background}/api-client.d.ts +0 -0
  20. /package/dist/{background → src/background}/context-menu.d.ts +0 -0
  21. /package/dist/{background → src/background}/index.d.ts +0 -0
  22. /package/dist/{background → src/background}/log-store.d.ts +0 -0
  23. /package/dist/{background → src/background}/message-router.d.ts +0 -0
  24. /package/dist/{background → src/background}/offscreen-manager.d.ts +0 -0
  25. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
  26. /package/dist/{shared → src/shared}/adapters/chrome/context-menus.chrome.d.ts +0 -0
  27. /package/dist/{shared → src/shared}/adapters/chrome/offscreen.chrome.d.ts +0 -0
  28. /package/dist/{shared → src/shared}/adapters/chrome/runtime.chrome.d.ts +0 -0
  29. /package/dist/{shared → src/shared}/adapters/chrome/storage.chrome.d.ts +0 -0
  30. /package/dist/{shared → src/shared}/adapters/chrome/tabs.chrome.d.ts +0 -0
  31. /package/dist/{shared → src/shared}/adapters/chrome/window.chrome.d.ts +0 -0
  32. /package/dist/{shared → src/shared}/adapters/context-menus.adapter.d.ts +0 -0
  33. /package/dist/{shared → src/shared}/adapters/fetch.adapter.d.ts +0 -0
  34. /package/dist/{shared → src/shared}/adapters/index.d.ts +0 -0
  35. /package/dist/{shared → src/shared}/adapters/logger.adapter.d.ts +0 -0
  36. /package/dist/{shared → src/shared}/adapters/offscreen.adapter.d.ts +0 -0
  37. /package/dist/{shared → src/shared}/adapters/runtime.adapter.d.ts +0 -0
  38. /package/dist/{shared → src/shared}/adapters/storage.adapter.d.ts +0 -0
  39. /package/dist/{shared → src/shared}/adapters/tabs.adapter.d.ts +0 -0
  40. /package/dist/{shared → src/shared}/adapters/window.adapter.d.ts +0 -0
  41. /package/dist/{shared → src/shared}/lib/context-helpers.d.ts +0 -0
  42. /package/dist/{shared → src/shared}/lib/context-specific-helpers.d.ts +0 -0
  43. /package/dist/{shared → src/shared}/lib/errors.d.ts +0 -0
  44. /package/dist/{shared → src/shared}/lib/handler-execution-tracker.d.ts +0 -0
  45. /package/dist/{shared → src/shared}/lib/message-bus.d.ts +0 -0
  46. /package/dist/{shared → src/shared}/lib/state.d.ts +0 -0
  47. /package/dist/{shared → src/shared}/lib/test-helpers.d.ts +0 -0
  48. /package/dist/{shared → src/shared}/types/messages.d.ts +0 -0
@@ -4,132 +4,137 @@
4
4
  */
5
5
 
6
6
  /// <reference lib="WebWorker" />
7
- declare const self: SharedWorkerGlobalScope
7
+ declare const self: SharedWorkerGlobalScope;
8
8
 
9
- console.log('[Shared Worker] Starting...')
9
+ console.log("[Shared Worker] Starting...");
10
10
 
11
11
  // Track connected ports (tabs/windows)
12
- const ports: MessagePort[] = []
13
- let messageCount = 0
12
+ const ports: MessagePort[] = [];
13
+ let messageCount = 0;
14
14
 
15
15
  // Shared state across all tabs
16
16
  interface SharedState {
17
- connectedTabs: number
18
- totalMessages: number
19
- lastActivity: number
17
+ connectedTabs: number;
18
+ totalMessages: number;
19
+ lastActivity: number;
20
20
  }
21
21
 
22
22
  const state: SharedState = {
23
- connectedTabs: 0,
24
- totalMessages: 0,
25
- lastActivity: Date.now()
26
- }
23
+ connectedTabs: 0,
24
+ totalMessages: 0,
25
+ lastActivity: Date.now(),
26
+ };
27
27
 
28
28
  // Connection event - when a new tab connects
29
- self.addEventListener('connect', (event) => {
30
- const port = event.ports[0]
31
- ports.push(port)
32
- state.connectedTabs = ports.length
33
-
34
- console.log(`[Shared Worker] New connection. Total ports: ${ports.length}`)
35
-
36
- // Send welcome message
37
- port.postMessage({
38
- type: 'CONNECTED',
39
- state: state,
40
- timestamp: Date.now()
41
- })
42
-
43
- // Listen for messages from this port
44
- port.addEventListener('message', (messageEvent) => {
45
- handleMessage(messageEvent.data, port)
46
- })
47
-
48
- // Start listening
49
- port.start()
50
-
51
- // Notify all tabs about new connection
52
- broadcast({
53
- type: 'TAB_CONNECTED',
54
- connectedTabs: state.connectedTabs
55
- })
56
- })
57
-
29
+ self.addEventListener("connect", (event) => {
30
+ const port = event.ports[0];
31
+ ports.push(port);
32
+ state.connectedTabs = ports.length;
33
+
34
+ console.log(`[Shared Worker] New connection. Total ports: ${ports.length}`);
35
+
36
+ // Send welcome message
37
+ port.postMessage({
38
+ type: "CONNECTED",
39
+ state: state,
40
+ timestamp: Date.now(),
41
+ });
42
+
43
+ // Listen for messages from this port
44
+ port.addEventListener("message", (messageEvent) => {
45
+ handleMessage(messageEvent.data, port);
46
+ });
47
+
48
+ // Start listening
49
+ port.start();
50
+
51
+ // Notify all tabs about new connection
52
+ broadcast({
53
+ type: "TAB_CONNECTED",
54
+ connectedTabs: state.connectedTabs,
55
+ });
56
+ });
57
+
58
+ // biome-ignore lint/suspicious/noExplicitAny: Worker message data is dynamic
58
59
  function handleMessage(data: any, sourcePort: MessagePort) {
59
- console.log('[Shared Worker] Received:', data)
60
-
61
- state.totalMessages++
62
- state.lastActivity = Date.now()
63
-
64
- switch (data.type) {
65
- case 'PING':
66
- // Respond to ping
67
- sourcePort.postMessage({
68
- type: 'PONG',
69
- timestamp: Date.now(),
70
- originalTimestamp: data.timestamp,
71
- state: state
72
- })
73
- break
74
-
75
- case 'BROADCAST':
76
- // Broadcast to all connected tabs
77
- broadcast({
78
- type: 'BROADCAST',
79
- data: data.data,
80
- from: 'shared-worker',
81
- timestamp: Date.now()
82
- })
83
- break
84
-
85
- case 'GET_STATE':
86
- // Send current state
87
- sourcePort.postMessage({
88
- type: 'STATE',
89
- state: state,
90
- timestamp: Date.now()
91
- })
92
- break
93
-
94
- case 'INCREMENT_COUNTER':
95
- // Example of shared state manipulation
96
- messageCount++
97
- broadcast({
98
- type: 'COUNTER_UPDATED',
99
- count: messageCount,
100
- timestamp: Date.now()
101
- })
102
- break
103
-
104
- default:
105
- console.log('[Shared Worker] Unknown message type:', data.type)
106
- sourcePort.postMessage({
107
- type: 'ERROR',
108
- message: `Unknown message type: ${data.type}`
109
- })
110
- }
60
+ console.log("[Shared Worker] Received:", data);
61
+
62
+ state.totalMessages++;
63
+ state.lastActivity = Date.now();
64
+
65
+ switch (data.type) {
66
+ case "PING":
67
+ // Respond to ping
68
+ sourcePort.postMessage({
69
+ type: "PONG",
70
+ timestamp: Date.now(),
71
+ originalTimestamp: data.timestamp,
72
+ state: state,
73
+ });
74
+ break;
75
+
76
+ case "BROADCAST":
77
+ // Broadcast to all connected tabs
78
+ broadcast({
79
+ type: "BROADCAST",
80
+ data: data.data,
81
+ from: "shared-worker",
82
+ timestamp: Date.now(),
83
+ });
84
+ break;
85
+
86
+ case "GET_STATE":
87
+ // Send current state
88
+ sourcePort.postMessage({
89
+ type: "STATE",
90
+ state: state,
91
+ timestamp: Date.now(),
92
+ });
93
+ break;
94
+
95
+ case "INCREMENT_COUNTER":
96
+ // Example of shared state manipulation
97
+ messageCount++;
98
+ broadcast({
99
+ type: "COUNTER_UPDATED",
100
+ count: messageCount,
101
+ timestamp: Date.now(),
102
+ });
103
+ break;
104
+
105
+ default:
106
+ console.log("[Shared Worker] Unknown message type:", data.type);
107
+ sourcePort.postMessage({
108
+ type: "ERROR",
109
+ message: `Unknown message type: ${data.type}`,
110
+ });
111
+ }
111
112
  }
112
113
 
113
114
  // Broadcast message to all connected tabs
115
+ // biome-ignore lint/suspicious/noExplicitAny: Worker message data is dynamic
114
116
  function broadcast(message: any) {
115
- console.log(`[Shared Worker] Broadcasting to ${ports.length} ports:`, message)
116
-
117
- ports.forEach((port) => {
118
- try {
119
- port.postMessage(message)
120
- } catch (error) {
121
- console.error('[Shared Worker] Failed to send message to port:', error)
122
- }
123
- })
117
+ console.log(
118
+ `[Shared Worker] Broadcasting to ${ports.length} ports:`,
119
+ message,
120
+ );
121
+
122
+ for (const port of ports) {
123
+ try {
124
+ port.postMessage(message);
125
+ } catch (error) {
126
+ console.error("[Shared Worker] Failed to send message to port:", error);
127
+ }
128
+ }
124
129
  }
125
130
 
126
131
  // Periodic heartbeat to all tabs
127
132
  setInterval(() => {
128
- broadcast({
129
- type: 'HEARTBEAT',
130
- state: state,
131
- timestamp: Date.now()
132
- })
133
- }, 30000) // Every 30 seconds
134
-
135
- console.log('[Shared Worker] Ready')
133
+ broadcast({
134
+ type: "HEARTBEAT",
135
+ state: state,
136
+ timestamp: Date.now(),
137
+ });
138
+ }, 30000); // Every 30 seconds
139
+
140
+ console.log("[Shared Worker] Ready");
@@ -1,8 +0,0 @@
1
- import type { Settings } from "../types/messages";
2
- export { defaultSettings } from "../types/messages";
3
- export declare const settings: import("@preact/signals").Signal<Settings>;
4
- export declare const currentTab: import("@preact/signals").Signal<number | null>;
5
- export declare const uiState: import("@preact/signals").Signal<{
6
- sidebarOpen: boolean;
7
- selectedPanel: "main" | "settings" | "debug";
8
- }>;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes