@gjsify/resolve-npm 0.44.0 → 0.45.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.
- package/lib/globals-map.mjs +255 -153
- package/lib/index.d.ts +47 -23
- package/lib/index.mjs +194 -203
- package/lib/runtime-aliases.mjs +49 -24
- package/package.json +1 -1
package/lib/globals-map.mjs
CHANGED
|
@@ -28,133 +28,184 @@
|
|
|
28
28
|
*/
|
|
29
29
|
export const GJS_GLOBALS_GROUPS = {
|
|
30
30
|
node: [
|
|
31
|
-
'Buffer',
|
|
32
|
-
'
|
|
33
|
-
'
|
|
31
|
+
'Buffer',
|
|
32
|
+
'Blob',
|
|
33
|
+
'File',
|
|
34
|
+
'process',
|
|
35
|
+
'setImmediate',
|
|
36
|
+
'clearImmediate',
|
|
37
|
+
'queueMicrotask',
|
|
38
|
+
'structuredClone',
|
|
39
|
+
'btoa',
|
|
40
|
+
'atob',
|
|
41
|
+
'URL',
|
|
42
|
+
'URLSearchParams',
|
|
34
43
|
],
|
|
35
44
|
web: [
|
|
36
|
-
'fetch',
|
|
45
|
+
'fetch',
|
|
46
|
+
'Headers',
|
|
47
|
+
'Request',
|
|
48
|
+
'Response',
|
|
37
49
|
'FormData',
|
|
38
|
-
'ReadableStream',
|
|
39
|
-
'
|
|
40
|
-
'
|
|
50
|
+
'ReadableStream',
|
|
51
|
+
'WritableStream',
|
|
52
|
+
'TransformStream',
|
|
53
|
+
'ReadableStreamBYOBReader',
|
|
54
|
+
'ReadableStreamBYOBRequest',
|
|
55
|
+
'ReadableByteStreamController',
|
|
56
|
+
'ReadableStreamDefaultController',
|
|
41
57
|
'ReadableStreamDefaultReader',
|
|
42
|
-
'TextEncoderStream',
|
|
43
|
-
'
|
|
44
|
-
'
|
|
58
|
+
'TextEncoderStream',
|
|
59
|
+
'TextDecoderStream',
|
|
60
|
+
'ByteLengthQueuingStrategy',
|
|
61
|
+
'CountQueuingStrategy',
|
|
62
|
+
'CompressionStream',
|
|
63
|
+
'DecompressionStream',
|
|
45
64
|
'crypto',
|
|
46
|
-
'AbortController',
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
65
|
+
'AbortController',
|
|
66
|
+
'AbortSignal',
|
|
67
|
+
'MessageChannel',
|
|
68
|
+
'MessagePort',
|
|
69
|
+
'Event',
|
|
70
|
+
'EventTarget',
|
|
71
|
+
'CustomEvent',
|
|
72
|
+
'MessageEvent',
|
|
73
|
+
'ErrorEvent',
|
|
74
|
+
'CloseEvent',
|
|
75
|
+
'ProgressEvent',
|
|
76
|
+
'UIEvent',
|
|
77
|
+
'MouseEvent',
|
|
78
|
+
'PointerEvent',
|
|
79
|
+
'KeyboardEvent',
|
|
80
|
+
'WheelEvent',
|
|
81
|
+
'FocusEvent',
|
|
51
82
|
'EventSource',
|
|
52
83
|
'WebSocket',
|
|
53
84
|
'WebAssembly',
|
|
54
85
|
'DOMException',
|
|
55
|
-
'performance',
|
|
86
|
+
'performance',
|
|
87
|
+
'PerformanceObserver',
|
|
56
88
|
'XMLHttpRequest',
|
|
57
89
|
'XMLHttpRequestUpload',
|
|
58
90
|
'DOMParser',
|
|
59
|
-
'AudioContext',
|
|
91
|
+
'AudioContext',
|
|
92
|
+
'webkitAudioContext',
|
|
93
|
+
'Audio',
|
|
94
|
+
'HTMLAudioElement',
|
|
60
95
|
'GamepadEvent',
|
|
61
96
|
'MediaDevices',
|
|
62
|
-
'RTCPeerConnection',
|
|
63
|
-
'
|
|
64
|
-
'
|
|
65
|
-
'
|
|
97
|
+
'RTCPeerConnection',
|
|
98
|
+
'RTCSessionDescription',
|
|
99
|
+
'RTCIceCandidate',
|
|
100
|
+
'RTCPeerConnectionIceEvent',
|
|
101
|
+
'RTCDataChannel',
|
|
102
|
+
'RTCDataChannelEvent',
|
|
103
|
+
'RTCError',
|
|
104
|
+
'RTCErrorEvent',
|
|
105
|
+
'MediaStream',
|
|
106
|
+
'MediaStreamTrack',
|
|
107
|
+
'RTCTrackEvent',
|
|
66
108
|
],
|
|
67
109
|
dom: [
|
|
68
|
-
'document',
|
|
69
|
-
'
|
|
70
|
-
'
|
|
110
|
+
'document',
|
|
111
|
+
'Image',
|
|
112
|
+
'HTMLCanvasElement',
|
|
113
|
+
'HTMLImageElement',
|
|
114
|
+
'HTMLElement',
|
|
115
|
+
'MutationObserver',
|
|
116
|
+
'ResizeObserver',
|
|
117
|
+
'IntersectionObserver',
|
|
118
|
+
'FontFace',
|
|
119
|
+
'matchMedia',
|
|
120
|
+
'location',
|
|
121
|
+
'navigator',
|
|
71
122
|
],
|
|
72
123
|
};
|
|
73
124
|
|
|
74
125
|
export const GJS_GLOBALS_MAP = {
|
|
75
126
|
// --- Node.js globals (granular register subpaths) ----------------------
|
|
76
|
-
Buffer:
|
|
77
|
-
process:
|
|
127
|
+
Buffer: '@gjsify/node-globals/register/buffer',
|
|
128
|
+
process: '@gjsify/node-globals/register/process',
|
|
78
129
|
// setTimeout / setInterval ARE provided natively by GJS, but their return
|
|
79
130
|
// value is a GLib.Source BoxedInstance whose deferred-GC finalize calls
|
|
80
131
|
// g_source_unref on a possibly-freed source — silent SIGSEGV ~10 s after
|
|
81
132
|
// any third-party library uses them. Our `register/timers` replacement
|
|
82
133
|
// returns numeric IDs instead. Listing them here forces auto-globals to
|
|
83
134
|
// inject the override on every bundle that calls setTimeout.
|
|
84
|
-
setTimeout:
|
|
85
|
-
setInterval:
|
|
86
|
-
clearTimeout:
|
|
87
|
-
clearInterval:
|
|
88
|
-
setImmediate:
|
|
89
|
-
clearImmediate:
|
|
90
|
-
queueMicrotask:
|
|
91
|
-
structuredClone:
|
|
92
|
-
btoa:
|
|
93
|
-
atob:
|
|
135
|
+
setTimeout: '@gjsify/node-globals/register/timers',
|
|
136
|
+
setInterval: '@gjsify/node-globals/register/timers',
|
|
137
|
+
clearTimeout: '@gjsify/node-globals/register/timers',
|
|
138
|
+
clearInterval: '@gjsify/node-globals/register/timers',
|
|
139
|
+
setImmediate: '@gjsify/node-globals/register/timers',
|
|
140
|
+
clearImmediate: '@gjsify/node-globals/register/timers',
|
|
141
|
+
queueMicrotask: '@gjsify/node-globals/register/microtask',
|
|
142
|
+
structuredClone: '@gjsify/node-globals/register/structured-clone',
|
|
143
|
+
btoa: '@gjsify/node-globals/register/encoding',
|
|
144
|
+
atob: '@gjsify/node-globals/register/encoding',
|
|
94
145
|
|
|
95
146
|
// --- URL (shared Node + Web) -------------------------------------------
|
|
96
|
-
URL:
|
|
97
|
-
URLSearchParams:
|
|
147
|
+
URL: '@gjsify/node-globals/register/url',
|
|
148
|
+
URLSearchParams: '@gjsify/node-globals/register/url',
|
|
98
149
|
|
|
99
150
|
// --- Blob / File (exposed via node:buffer and Web File API) ------------
|
|
100
|
-
Blob:
|
|
101
|
-
File:
|
|
151
|
+
Blob: '@gjsify/buffer/register',
|
|
152
|
+
File: '@gjsify/buffer/register',
|
|
102
153
|
|
|
103
154
|
// --- Fetch stack -------------------------------------------------------
|
|
104
|
-
fetch:
|
|
105
|
-
Headers:
|
|
106
|
-
Request:
|
|
107
|
-
Response:
|
|
155
|
+
fetch: 'fetch/register/fetch',
|
|
156
|
+
Headers: 'fetch/register/fetch',
|
|
157
|
+
Request: 'fetch/register/fetch',
|
|
158
|
+
Response: 'fetch/register/fetch',
|
|
108
159
|
|
|
109
160
|
// --- FormData ----------------------------------------------------------
|
|
110
|
-
FormData:
|
|
161
|
+
FormData: '@gjsify/web-globals/register/formdata',
|
|
111
162
|
|
|
112
163
|
// --- WHATWG Streams (granular register subpaths) ------------------------
|
|
113
|
-
ReadableStream:
|
|
114
|
-
ReadableStreamBYOBReader:
|
|
115
|
-
ReadableStreamBYOBRequest:
|
|
116
|
-
ReadableByteStreamController:
|
|
164
|
+
ReadableStream: 'web-streams/register/readable',
|
|
165
|
+
ReadableStreamBYOBReader: 'web-streams/register/readable',
|
|
166
|
+
ReadableStreamBYOBRequest: 'web-streams/register/readable',
|
|
167
|
+
ReadableByteStreamController: 'web-streams/register/readable',
|
|
117
168
|
ReadableStreamDefaultController: 'web-streams/register/readable',
|
|
118
|
-
ReadableStreamDefaultReader:
|
|
119
|
-
WritableStream:
|
|
120
|
-
TransformStream:
|
|
121
|
-
TextEncoderStream:
|
|
122
|
-
TextDecoderStream:
|
|
169
|
+
ReadableStreamDefaultReader: 'web-streams/register/readable',
|
|
170
|
+
WritableStream: 'web-streams/register/writable',
|
|
171
|
+
TransformStream: 'web-streams/register/transform',
|
|
172
|
+
TextEncoderStream: 'web-streams/register/text-streams',
|
|
173
|
+
TextDecoderStream: 'web-streams/register/text-streams',
|
|
123
174
|
ByteLengthQueuingStrategy: 'web-streams/register/queuing',
|
|
124
175
|
CountQueuingStrategy: 'web-streams/register/queuing',
|
|
125
176
|
|
|
126
177
|
// --- Compression Streams -----------------------------------------------
|
|
127
|
-
CompressionStream:
|
|
128
|
-
DecompressionStream:
|
|
178
|
+
CompressionStream: 'compression-streams/register',
|
|
179
|
+
DecompressionStream: 'compression-streams/register',
|
|
129
180
|
|
|
130
181
|
// --- WebCrypto ---------------------------------------------------------
|
|
131
|
-
crypto:
|
|
182
|
+
crypto: 'webcrypto/register',
|
|
132
183
|
|
|
133
184
|
// --- Events + Abort (granular register subpaths) -----------------------
|
|
134
|
-
AbortController:
|
|
135
|
-
AbortSignal:
|
|
136
|
-
MessageChannel:
|
|
137
|
-
MessagePort:
|
|
138
|
-
Event:
|
|
139
|
-
EventTarget:
|
|
140
|
-
CustomEvent:
|
|
141
|
-
MessageEvent:
|
|
142
|
-
ErrorEvent:
|
|
143
|
-
CloseEvent:
|
|
144
|
-
ProgressEvent:
|
|
145
|
-
UIEvent:
|
|
146
|
-
MouseEvent:
|
|
147
|
-
PointerEvent:
|
|
148
|
-
KeyboardEvent:
|
|
149
|
-
WheelEvent:
|
|
150
|
-
FocusEvent:
|
|
151
|
-
EventSource:
|
|
185
|
+
AbortController: 'abort-controller/register',
|
|
186
|
+
AbortSignal: 'abort-controller/register',
|
|
187
|
+
MessageChannel: 'message-channel/register',
|
|
188
|
+
MessagePort: 'message-channel/register',
|
|
189
|
+
Event: 'dom-events/register/event-target',
|
|
190
|
+
EventTarget: 'dom-events/register/event-target',
|
|
191
|
+
CustomEvent: 'dom-events/register/custom-events',
|
|
192
|
+
MessageEvent: 'dom-events/register/custom-events',
|
|
193
|
+
ErrorEvent: 'dom-events/register/custom-events',
|
|
194
|
+
CloseEvent: 'dom-events/register/custom-events',
|
|
195
|
+
ProgressEvent: 'dom-events/register/custom-events',
|
|
196
|
+
UIEvent: 'dom-events/register/ui-events',
|
|
197
|
+
MouseEvent: 'dom-events/register/ui-events',
|
|
198
|
+
PointerEvent: 'dom-events/register/ui-events',
|
|
199
|
+
KeyboardEvent: 'dom-events/register/ui-events',
|
|
200
|
+
WheelEvent: 'dom-events/register/ui-events',
|
|
201
|
+
FocusEvent: 'dom-events/register/ui-events',
|
|
202
|
+
EventSource: 'eventsource/register',
|
|
152
203
|
|
|
153
204
|
// --- WebSocket ---------------------------------------------------------
|
|
154
205
|
// Single register module sets globalThis.{WebSocket,MessageEvent,CloseEvent}.
|
|
155
206
|
// MessageEvent is shared with dom-events in practice — whichever register
|
|
156
207
|
// runs first installs it; both guard with typeof === 'undefined'.
|
|
157
|
-
WebSocket:
|
|
208
|
+
WebSocket: 'websocket/register',
|
|
158
209
|
|
|
159
210
|
// --- WebAssembly Promise APIs ------------------------------------------
|
|
160
211
|
// Reach via marker (see METHOD_MARKERS in detect-free-globals.ts):
|
|
@@ -162,58 +213,58 @@ export const GJS_GLOBALS_MAP = {
|
|
|
162
213
|
// injection of the Promise polyfill. The synchronous `new WebAssembly.{Module,Instance}`
|
|
163
214
|
// path also free-references `WebAssembly` and ends up here, but the
|
|
164
215
|
// register module is a no-op when the natives already work.
|
|
165
|
-
WebAssembly:
|
|
216
|
+
WebAssembly: 'webassembly/register/promise',
|
|
166
217
|
|
|
167
218
|
// --- Performance -------------------------------------------------------
|
|
168
|
-
performance:
|
|
169
|
-
PerformanceObserver:
|
|
219
|
+
performance: '@gjsify/web-globals/register/performance',
|
|
220
|
+
PerformanceObserver: '@gjsify/web-globals/register/performance',
|
|
170
221
|
|
|
171
222
|
// --- DOMException ------------------------------------------------------
|
|
172
|
-
DOMException:
|
|
223
|
+
DOMException: 'dom-exception/register',
|
|
173
224
|
|
|
174
225
|
// --- XMLHttpRequest (implemented in @gjsify/fetch) ---------------------
|
|
175
|
-
XMLHttpRequest:
|
|
226
|
+
XMLHttpRequest: 'fetch/register/xhr',
|
|
176
227
|
XMLHttpRequestUpload: 'fetch/register/xhr',
|
|
177
228
|
|
|
178
229
|
// --- DOMParser ---------------------------------------------------------
|
|
179
|
-
DOMParser:
|
|
230
|
+
DOMParser: '@gjsify/domparser/register',
|
|
180
231
|
|
|
181
232
|
// --- Web Audio API (GStreamer backend) ----------------------------------
|
|
182
|
-
AudioContext:
|
|
183
|
-
webkitAudioContext:
|
|
184
|
-
Audio:
|
|
185
|
-
HTMLAudioElement:
|
|
233
|
+
AudioContext: '@gjsify/webaudio/register',
|
|
234
|
+
webkitAudioContext: '@gjsify/webaudio/register',
|
|
235
|
+
Audio: '@gjsify/webaudio/register',
|
|
236
|
+
HTMLAudioElement: '@gjsify/webaudio/register',
|
|
186
237
|
|
|
187
238
|
// --- Gamepad API (libmanette backend) -----------------------------------
|
|
188
|
-
GamepadEvent:
|
|
239
|
+
GamepadEvent: '@gjsify/gamepad/register',
|
|
189
240
|
|
|
190
241
|
// --- WebRTC (GStreamer webrtcbin backend) -------------------------------
|
|
191
|
-
MediaDevices:
|
|
192
|
-
RTCPeerConnection:
|
|
193
|
-
RTCSessionDescription:
|
|
194
|
-
RTCIceCandidate:
|
|
195
|
-
RTCPeerConnectionIceEvent:
|
|
196
|
-
RTCDataChannel:
|
|
197
|
-
RTCDataChannelEvent:
|
|
198
|
-
RTCError:
|
|
199
|
-
RTCErrorEvent:
|
|
200
|
-
MediaStream:
|
|
201
|
-
MediaStreamTrack:
|
|
202
|
-
RTCTrackEvent:
|
|
242
|
+
MediaDevices: '@gjsify/webrtc/register/media-devices',
|
|
243
|
+
RTCPeerConnection: '@gjsify/webrtc/register/peer-connection',
|
|
244
|
+
RTCSessionDescription: '@gjsify/webrtc/register/peer-connection',
|
|
245
|
+
RTCIceCandidate: '@gjsify/webrtc/register/peer-connection',
|
|
246
|
+
RTCPeerConnectionIceEvent: '@gjsify/webrtc/register/peer-connection',
|
|
247
|
+
RTCDataChannel: '@gjsify/webrtc/register/data-channel',
|
|
248
|
+
RTCDataChannelEvent: '@gjsify/webrtc/register/data-channel',
|
|
249
|
+
RTCError: '@gjsify/webrtc/register/error',
|
|
250
|
+
RTCErrorEvent: '@gjsify/webrtc/register/error',
|
|
251
|
+
MediaStream: '@gjsify/webrtc/register/media',
|
|
252
|
+
MediaStreamTrack: '@gjsify/webrtc/register/media',
|
|
253
|
+
RTCTrackEvent: '@gjsify/webrtc/register/media',
|
|
203
254
|
|
|
204
255
|
// --- DOM elements (granular register subpaths) -------------------------
|
|
205
|
-
document:
|
|
206
|
-
Image:
|
|
207
|
-
HTMLCanvasElement:
|
|
208
|
-
HTMLImageElement:
|
|
209
|
-
HTMLElement:
|
|
210
|
-
MutationObserver:
|
|
211
|
-
ResizeObserver:
|
|
256
|
+
document: '@gjsify/dom-elements/register/document',
|
|
257
|
+
Image: '@gjsify/dom-elements/register/image',
|
|
258
|
+
HTMLCanvasElement: '@gjsify/dom-elements/register/canvas',
|
|
259
|
+
HTMLImageElement: '@gjsify/dom-elements/register/image',
|
|
260
|
+
HTMLElement: '@gjsify/dom-elements/register/document',
|
|
261
|
+
MutationObserver: '@gjsify/dom-elements/register/observers',
|
|
262
|
+
ResizeObserver: '@gjsify/dom-elements/register/observers',
|
|
212
263
|
IntersectionObserver: '@gjsify/dom-elements/register/observers',
|
|
213
|
-
FontFace:
|
|
214
|
-
matchMedia:
|
|
215
|
-
location:
|
|
216
|
-
navigator:
|
|
264
|
+
FontFace: '@gjsify/dom-elements/register/font-face',
|
|
265
|
+
matchMedia: '@gjsify/dom-elements/register/match-media',
|
|
266
|
+
location: '@gjsify/dom-elements/register/location',
|
|
267
|
+
navigator: '@gjsify/dom-elements/register/navigator',
|
|
217
268
|
|
|
218
269
|
// --- Canvas 2D + IFrame + WebGL (GTK/WebKit-backed DOM classes) --------
|
|
219
270
|
//
|
|
@@ -226,10 +277,10 @@ export const GJS_GLOBALS_MAP = {
|
|
|
226
277
|
// second, WebKitGTK) as an installed dependency. Auto-detection injects them
|
|
227
278
|
// only when the identifier is actually referenced in the bundled,
|
|
228
279
|
// tree-shaken output.
|
|
229
|
-
ImageData:
|
|
230
|
-
Path2D:
|
|
231
|
-
HTMLIFrameElement:
|
|
232
|
-
WebGLRenderingContext:
|
|
280
|
+
ImageData: '@gjsify/canvas2d/register',
|
|
281
|
+
Path2D: '@gjsify/canvas2d/register',
|
|
282
|
+
HTMLIFrameElement: '@gjsify/iframe/register',
|
|
283
|
+
WebGLRenderingContext: '@gjsify/webgl/register',
|
|
233
284
|
WebGL2RenderingContext: '@gjsify/webgl/register',
|
|
234
285
|
};
|
|
235
286
|
|
|
@@ -258,9 +309,7 @@ export const GJS_GLOBALS_MAP = {
|
|
|
258
309
|
* register bodies run, but ONLY for identifiers whose register is actually
|
|
259
310
|
* injected (so no host global is deleted without a gjsify replacement).
|
|
260
311
|
*/
|
|
261
|
-
export const REVERSE_BRIDGE_NATIVE_OVERRIDE_IDENTS = [
|
|
262
|
-
'fetch', 'Headers', 'Request', 'Response',
|
|
263
|
-
];
|
|
312
|
+
export const REVERSE_BRIDGE_NATIVE_OVERRIDE_IDENTS = ['fetch', 'Headers', 'Request', 'Response'];
|
|
264
313
|
|
|
265
314
|
/**
|
|
266
315
|
* Register subpaths whose module imports a GObject-Introspection typelib
|
|
@@ -282,14 +331,14 @@ export const REVERSE_BRIDGE_NATIVE_OVERRIDE_IDENTS = [
|
|
|
282
331
|
*/
|
|
283
332
|
export const GJS_GI_BACKED_REGISTERS = {
|
|
284
333
|
'@gjsify/dom-elements/register': ['Gdk', 'GdkPixbuf', 'Pango', 'PangoCairo'],
|
|
285
|
-
'@gjsify/webaudio/register':
|
|
286
|
-
'@gjsify/webrtc/register':
|
|
287
|
-
'@gjsify/gamepad/register':
|
|
334
|
+
'@gjsify/webaudio/register': ['Gst', 'GstApp'],
|
|
335
|
+
'@gjsify/webrtc/register': ['Gst', 'GstWebRTC', 'GstSdp'],
|
|
336
|
+
'@gjsify/gamepad/register': ['Manette'],
|
|
288
337
|
// Imports `@gjsify/dom-elements/register/canvas` (Gdk/GdkPixbuf/Pango/
|
|
289
338
|
// PangoCairo) plus `@gjsify/canvas2d-core`, which uses the `cairo` foreign
|
|
290
339
|
// struct module.
|
|
291
|
-
'@gjsify/canvas2d/register':
|
|
292
|
-
'@gjsify/iframe/register':
|
|
340
|
+
'@gjsify/canvas2d/register': ['Gdk', 'GdkPixbuf', 'Pango', 'PangoCairo'],
|
|
341
|
+
'@gjsify/iframe/register': ['WebKit'],
|
|
293
342
|
// The WebGL context classes reach the GL driver through the `gwebgl` Vala
|
|
294
343
|
// bridge shipped as this package's own prebuild, and decode `texImage2D`
|
|
295
344
|
// sources via GdkPixbuf. Gtk/Gdk are NOT listed: they are pulled by
|
|
@@ -297,7 +346,7 @@ export const GJS_GI_BACKED_REGISTERS = {
|
|
|
297
346
|
// import — its chain is the two context classes only. As with the entries
|
|
298
347
|
// above, the always-present base namespaces (GLib) are omitted; only the
|
|
299
348
|
// ones whose absence breaks a GTK-less host are worth naming.
|
|
300
|
-
'@gjsify/webgl/register':
|
|
349
|
+
'@gjsify/webgl/register': ['GdkPixbuf', 'Gwebgl'],
|
|
301
350
|
};
|
|
302
351
|
|
|
303
352
|
// ─── Browser target ────────────────────────────────────────────────────────
|
|
@@ -341,42 +390,95 @@ export const GJS_GI_BACKED_REGISTERS = {
|
|
|
341
390
|
*/
|
|
342
391
|
export const BROWSER_NATIVE_IDENTS = new Set([
|
|
343
392
|
// Web group — all browser-native
|
|
344
|
-
'fetch',
|
|
345
|
-
'
|
|
346
|
-
'
|
|
347
|
-
'
|
|
348
|
-
'
|
|
393
|
+
'fetch',
|
|
394
|
+
'Headers',
|
|
395
|
+
'Request',
|
|
396
|
+
'Response',
|
|
397
|
+
'FormData',
|
|
398
|
+
'Blob',
|
|
399
|
+
'File',
|
|
400
|
+
'ReadableStream',
|
|
401
|
+
'WritableStream',
|
|
402
|
+
'TransformStream',
|
|
403
|
+
'ReadableStreamBYOBReader',
|
|
404
|
+
'ReadableStreamBYOBRequest',
|
|
405
|
+
'ReadableByteStreamController',
|
|
406
|
+
'ReadableStreamDefaultController',
|
|
349
407
|
'ReadableStreamDefaultReader',
|
|
350
|
-
'TextEncoderStream',
|
|
351
|
-
'
|
|
352
|
-
'
|
|
408
|
+
'TextEncoderStream',
|
|
409
|
+
'TextDecoderStream',
|
|
410
|
+
'ByteLengthQueuingStrategy',
|
|
411
|
+
'CountQueuingStrategy',
|
|
412
|
+
'CompressionStream',
|
|
413
|
+
'DecompressionStream',
|
|
353
414
|
'crypto',
|
|
354
|
-
'AbortController',
|
|
355
|
-
'
|
|
356
|
-
'
|
|
357
|
-
'
|
|
358
|
-
'
|
|
359
|
-
'
|
|
360
|
-
'
|
|
415
|
+
'AbortController',
|
|
416
|
+
'AbortSignal',
|
|
417
|
+
'MessageChannel',
|
|
418
|
+
'MessagePort',
|
|
419
|
+
'Event',
|
|
420
|
+
'EventTarget',
|
|
421
|
+
'CustomEvent',
|
|
422
|
+
'MessageEvent',
|
|
423
|
+
'ErrorEvent',
|
|
424
|
+
'CloseEvent',
|
|
425
|
+
'ProgressEvent',
|
|
426
|
+
'UIEvent',
|
|
427
|
+
'MouseEvent',
|
|
428
|
+
'PointerEvent',
|
|
429
|
+
'KeyboardEvent',
|
|
430
|
+
'WheelEvent',
|
|
431
|
+
'FocusEvent',
|
|
432
|
+
'EventSource',
|
|
433
|
+
'WebSocket',
|
|
434
|
+
'WebAssembly',
|
|
361
435
|
'DOMException',
|
|
362
|
-
'performance',
|
|
363
|
-
'
|
|
436
|
+
'performance',
|
|
437
|
+
'PerformanceObserver',
|
|
438
|
+
'XMLHttpRequest',
|
|
439
|
+
'XMLHttpRequestUpload',
|
|
364
440
|
'DOMParser',
|
|
365
|
-
'AudioContext',
|
|
441
|
+
'AudioContext',
|
|
442
|
+
'webkitAudioContext',
|
|
443
|
+
'Audio',
|
|
444
|
+
'HTMLAudioElement',
|
|
366
445
|
'GamepadEvent',
|
|
367
446
|
'MediaDevices',
|
|
368
|
-
'RTCPeerConnection',
|
|
369
|
-
'
|
|
370
|
-
'
|
|
371
|
-
'
|
|
447
|
+
'RTCPeerConnection',
|
|
448
|
+
'RTCSessionDescription',
|
|
449
|
+
'RTCIceCandidate',
|
|
450
|
+
'RTCPeerConnectionIceEvent',
|
|
451
|
+
'RTCDataChannel',
|
|
452
|
+
'RTCDataChannelEvent',
|
|
453
|
+
'RTCError',
|
|
454
|
+
'RTCErrorEvent',
|
|
455
|
+
'MediaStream',
|
|
456
|
+
'MediaStreamTrack',
|
|
457
|
+
'RTCTrackEvent',
|
|
372
458
|
// DOM group — all browser-native
|
|
373
|
-
'document',
|
|
374
|
-
'
|
|
375
|
-
'
|
|
459
|
+
'document',
|
|
460
|
+
'Image',
|
|
461
|
+
'HTMLCanvasElement',
|
|
462
|
+
'HTMLImageElement',
|
|
463
|
+
'HTMLElement',
|
|
464
|
+
'MutationObserver',
|
|
465
|
+
'ResizeObserver',
|
|
466
|
+
'IntersectionObserver',
|
|
467
|
+
'FontFace',
|
|
468
|
+
'matchMedia',
|
|
469
|
+
'location',
|
|
470
|
+
'navigator',
|
|
376
471
|
// Shared Node-group identifiers that are also browser-native
|
|
377
|
-
'queueMicrotask',
|
|
378
|
-
'
|
|
379
|
-
'
|
|
472
|
+
'queueMicrotask',
|
|
473
|
+
'structuredClone',
|
|
474
|
+
'btoa',
|
|
475
|
+
'atob',
|
|
476
|
+
'URL',
|
|
477
|
+
'URLSearchParams',
|
|
478
|
+
'setTimeout',
|
|
479
|
+
'setInterval',
|
|
480
|
+
'clearTimeout',
|
|
481
|
+
'clearInterval',
|
|
380
482
|
]);
|
|
381
483
|
|
|
382
484
|
/**
|
|
@@ -391,7 +493,7 @@ export const BROWSER_NATIVE_IDENTS = new Set([
|
|
|
391
493
|
* land (browser polyfill wave 3-A onwards).
|
|
392
494
|
*/
|
|
393
495
|
export const BROWSER_GLOBALS_MAP = {
|
|
394
|
-
Buffer:
|
|
496
|
+
Buffer: '@gjsify/buffer/register',
|
|
395
497
|
};
|
|
396
498
|
|
|
397
499
|
/**
|
|
@@ -412,7 +514,7 @@ export const BROWSER_GLOBALS_MAP = {
|
|
|
412
514
|
* `runtimes.nativescript = "polyfill"` and need a specific global stubbed.
|
|
413
515
|
*/
|
|
414
516
|
export const NATIVESCRIPT_GLOBALS_MAP = {
|
|
415
|
-
Buffer:
|
|
517
|
+
Buffer: '@gjsify/buffer/register',
|
|
416
518
|
};
|
|
417
519
|
|
|
418
520
|
/**
|