@vxrn/vite-native-client 1.27.1 → 2.0.0-beta.45.1

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 (43) hide show
  1. package/dist/cjs/client.cjs +320 -365
  2. package/dist/cjs/client.native.cjs +452 -0
  3. package/dist/cjs/client.native.js +385 -433
  4. package/dist/cjs/client.native.js.map +1 -1
  5. package/dist/cjs/customEvent.cjs +9 -11
  6. package/dist/cjs/customEvent.native.cjs +18 -0
  7. package/dist/cjs/customEvent.native.js +9 -10
  8. package/dist/cjs/customEvent.native.js.map +1 -1
  9. package/dist/cjs/hmrPayload.cjs +9 -11
  10. package/dist/cjs/hmrPayload.native.cjs +18 -0
  11. package/dist/cjs/hmrPayload.native.js +9 -10
  12. package/dist/cjs/hmrPayload.native.js.map +1 -1
  13. package/dist/cjs/hot.cjs +9 -11
  14. package/dist/cjs/hot.native.cjs +18 -0
  15. package/dist/cjs/hot.native.js +9 -10
  16. package/dist/cjs/hot.native.js.map +1 -1
  17. package/dist/cjs/index.cjs +9 -11
  18. package/dist/cjs/index.native.cjs +20 -0
  19. package/dist/cjs/index.native.js +9 -10
  20. package/dist/cjs/index.native.js.map +1 -1
  21. package/dist/esm/client.mjs +311 -349
  22. package/dist/esm/client.mjs.map +1 -1
  23. package/dist/esm/client.native.js +376 -418
  24. package/dist/esm/client.native.js.map +1 -1
  25. package/dist/esm/customEvent.mjs +0 -2
  26. package/dist/esm/customEvent.native.js +0 -2
  27. package/dist/esm/hmrPayload.mjs +0 -2
  28. package/dist/esm/hmrPayload.native.js +0 -2
  29. package/dist/esm/hot.mjs +0 -2
  30. package/dist/esm/hot.native.js +0 -2
  31. package/dist/esm/index.js +1 -2
  32. package/dist/esm/index.mjs +1 -2
  33. package/dist/esm/index.native.js +1 -2
  34. package/package.json +2 -2
  35. package/dist/esm/customEvent.mjs.map +0 -1
  36. package/dist/esm/customEvent.native.js.map +0 -1
  37. package/dist/esm/hmrPayload.mjs.map +0 -1
  38. package/dist/esm/hmrPayload.native.js.map +0 -1
  39. package/dist/esm/hot.mjs.map +0 -1
  40. package/dist/esm/hot.native.js.map +0 -1
  41. package/dist/esm/index.js.map +0 -1
  42. package/dist/esm/index.mjs.map +0 -1
  43. package/dist/esm/index.native.js.map +0 -1
@@ -0,0 +1,452 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: () => from[key],
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps(isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", {
19
+ value: mod2,
20
+ enumerable: true
21
+ }) : target, mod2));
22
+ var import_getDevServer = __toESM(require("react-native/Libraries/Core/Devtools/getDevServer"));
23
+ var importMetaUrl = {
24
+ hostname: "127.0.0.1",
25
+ protocol: "http",
26
+ port: 5173
27
+ };
28
+ var serverHost = __SERVER_HOST__;
29
+ var socketProtocol = __HMR_PROTOCOL__ || (importMetaUrl.protocol === "https:" ? "wss" : "ws");
30
+ var hmrPort = __HMR_PORT__ || 5173;
31
+ var rnDevServerHost;
32
+ try {
33
+ var { url: devServerUrl } = (0, import_getDevServer.default)();
34
+ var [, host] = devServerUrl.match(/:\/\/([^/]+)/) || [];
35
+ if (host) rnDevServerHost = host;
36
+ } catch (e) {
37
+ console.warn(`[vite-native-client] failed to get react-native dev server url: ${e}`);
38
+ }
39
+ var hmrHost = rnDevServerHost || `${__HMR_HOSTNAME__ || importMetaUrl.hostname}:${hmrPort || importMetaUrl.port}`;
40
+ var socketHost = `${hmrHost}${__HMR_BASE__}`;
41
+ var directSocketHost = __HMR_DIRECT_TARGET__;
42
+ var base = __BASE__ || "/";
43
+ var messageBuffer = [];
44
+ var socket;
45
+ try {
46
+ var fallback;
47
+ if (!hmrPort) {
48
+ fallback = function() {
49
+ socket = setupWebSocket(socketProtocol, directSocketHost, function() {
50
+ console.error(`[vite] failed to connect to websocket.
51
+ your current setup:
52
+ (browser) ${JSON.stringify(importMetaUrl)} <--[HTTP]--> ${serverHost} (server)
53
+ (browser) ${socketHost} <--[WebSocket (failing)]--> ${directSocketHost} (server)
54
+ Check out your Vite / network configuration and https://vitejs.dev/config/server-options.html#server-hmr .`);
55
+ });
56
+ socket.addEventListener("open", function() {
57
+ console.info("[vite] Direct websocket connection fallback. Check out https://vitejs.dev/config/server-options.html#server-hmr to remove the previous connection error.");
58
+ }, { once: true });
59
+ };
60
+ }
61
+ socket = setupWebSocket(socketProtocol, socketHost, fallback);
62
+ } catch (error) {
63
+ console.error(`[vite] failed to connect to websocket (${error}). `);
64
+ }
65
+ function setupWebSocket(protocol, hostAndPath, onCloseWithoutOpen) {
66
+ var endpoint = `${protocol}://${hostAndPath}`;
67
+ if (typeof globalThis.__VITE_WS_TOKEN__ === "string") {
68
+ endpoint += `?token=${globalThis.__VITE_WS_TOKEN__}`;
69
+ }
70
+ var socket1 = new WebSocket(endpoint, "vite-hmr");
71
+ var isOpened = false;
72
+ socket1.addEventListener("open", function() {
73
+ isOpened = true;
74
+ notifyListeners("vite:ws:connect", { webSocket: socket1 });
75
+ }, { once: true });
76
+ socket1.addEventListener("message", function(param2) {
77
+ var { data } = param2;
78
+ if (process.env.DEBUG) {
79
+ console.info(" ❶ hmr ", data);
80
+ }
81
+ handleMessage(JSON.parse(data));
82
+ });
83
+ socket1.addEventListener("error", function(err) {
84
+ console.info("err" + err["message"] + err["stack"]);
85
+ });
86
+ socket1.addEventListener("close", function(param2) {
87
+ var { wasClean } = param2;
88
+ if (wasClean) return;
89
+ if (!isOpened && onCloseWithoutOpen) {
90
+ onCloseWithoutOpen();
91
+ return;
92
+ }
93
+ notifyListeners("vite:ws:disconnect", { webSocket: socket1 });
94
+ console.info(`[vite] server connection lost. polling for restart...`);
95
+ waitForSuccessfulPing(protocol, hostAndPath).then(function() {
96
+ console.info("should reload");
97
+ });
98
+ });
99
+ return socket1;
100
+ }
101
+ function warnFailedFetch(err, path2) {
102
+ try {
103
+ console.error(`${err.message}
104
+ ${err.stack}`);
105
+ } catch (unused) {
106
+ console.error(`${err}`);
107
+ }
108
+ console.error(`[hmr] Failed to reload ${path2}. This could be due to syntax errors or importing non-existent modules. (see errors above)`);
109
+ }
110
+ var isFirstUpdate = true;
111
+ var debounceReload = function(time) {
112
+ var timer;
113
+ return function() {
114
+ if (timer) {
115
+ clearTimeout(timer);
116
+ timer = null;
117
+ }
118
+ timer = setTimeout(function() {
119
+ globalThis.__vxrnReloadApp();
120
+ }, time);
121
+ };
122
+ };
123
+ var pageReload = debounceReload(50);
124
+ async function handleMessage(payload) {
125
+ switch (payload.type) {
126
+ case "connected":
127
+ console.info(`[vite] connected.`);
128
+ sendMessageBuffer();
129
+ setInterval(function() {
130
+ if (socket.readyState === socket.OPEN) {
131
+ socket.send("{\"type\":\"ping\"}");
132
+ }
133
+ }, __HMR_TIMEOUT__);
134
+ break;
135
+ case "update":
136
+ notifyListeners("vite:beforeUpdate", payload);
137
+ if (isFirstUpdate && hasErrorOverlay()) {
138
+ globalThis.__vxrnReloadApp();
139
+ return;
140
+ }
141
+ clearErrorOverlay();
142
+ isFirstUpdate = false;
143
+ await Promise.all(payload.updates.map(function(update) {
144
+ if (update.type === "js-update") {
145
+ return queueUpdate(fetchUpdate(update));
146
+ }
147
+ }));
148
+ notifyListeners("vite:afterUpdate", payload);
149
+ break;
150
+ case "custom": {
151
+ notifyListeners(payload.event, payload.data);
152
+ break;
153
+ }
154
+ case "full-reload":
155
+ notifyListeners("vite:beforeFullReload", payload);
156
+ if (payload.path && payload.path.endsWith(".html")) {
157
+ var pagePath = decodeURI(location.pathname);
158
+ var payloadPath = base + payload.path.slice(1);
159
+ if (pagePath === payloadPath || payload.path === "/index.html" || pagePath.endsWith("/") && pagePath + "index.html" === payloadPath) {
160
+ pageReload();
161
+ }
162
+ return;
163
+ }
164
+ pageReload();
165
+ break;
166
+ case "prune":
167
+ notifyListeners("vite:beforePrune", payload);
168
+ payload.paths.forEach(function(path2) {
169
+ var fn = pruneMap.get(path2);
170
+ if (fn) {
171
+ fn(dataMap.get(path2));
172
+ }
173
+ });
174
+ break;
175
+ case "error": {
176
+ notifyListeners("vite:error", payload);
177
+ var err = payload.err;
178
+ if (enableOverlay) {
179
+ createErrorOverlay(err);
180
+ } else {
181
+ console.error(`[vite] Internal Server Error
182
+ ${err.message}
183
+ ${err.stack}`);
184
+ }
185
+ break;
186
+ }
187
+ default: {
188
+ var check = payload;
189
+ return check;
190
+ }
191
+ }
192
+ }
193
+ function notifyListeners(event, data) {
194
+ var cbs = customListenersMap.get(event);
195
+ if (cbs) {
196
+ cbs.forEach(function(cb) {
197
+ return cb(data);
198
+ });
199
+ }
200
+ }
201
+ var enableOverlay = __HMR_ENABLE_OVERLAY__;
202
+ function createErrorOverlay(err) {
203
+ if (!enableOverlay) return;
204
+ clearErrorOverlay();
205
+ console.error("create error", err);
206
+ }
207
+ function clearErrorOverlay() {}
208
+ function hasErrorOverlay() {
209
+ return false;
210
+ }
211
+ var pending = false;
212
+ var queued = [];
213
+ async function queueUpdate(p) {
214
+ queued.push(p);
215
+ if (!pending) {
216
+ pending = true;
217
+ await Promise.resolve();
218
+ pending = false;
219
+ var loading = [...queued];
220
+ queued = [];
221
+ (await Promise.all(loading)).forEach(function(fn) {
222
+ return fn && fn();
223
+ });
224
+ }
225
+ }
226
+ async function waitForSuccessfulPing(socketProtocol1, hostAndPath) {
227
+ var ms = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1e3;
228
+ var pingHostProtocol = socketProtocol1 === "wss" ? "https" : "http";
229
+ var ping = async function() {
230
+ try {
231
+ await fetch(`${pingHostProtocol}://${hostAndPath}`, {
232
+ mode: "no-cors",
233
+ headers: { Accept: "text/x-vite-ping" }
234
+ });
235
+ return true;
236
+ } catch (unused) {}
237
+ return false;
238
+ };
239
+ if (await ping()) {
240
+ return;
241
+ }
242
+ await wait(ms);
243
+ while (true) {
244
+ if (await ping()) {
245
+ break;
246
+ }
247
+ await wait(ms);
248
+ }
249
+ }
250
+ function wait(ms) {
251
+ return new Promise(function(resolve) {
252
+ return setTimeout(resolve, ms);
253
+ });
254
+ }
255
+ async function fetchUpdate(param) {
256
+ var { path: pathIn, acceptedPath: acceptedPathIn, timestamp, explicitImportRequired } = param;
257
+ var path = pathIn.replace("/@id", "");
258
+ var acceptedPath = acceptedPathIn.replace("/@id", "");
259
+ var mod = hotModulesMap.get(path);
260
+ if (!mod) {
261
+ console.info(` \u2776 hmr - No module found`);
262
+ console.info(` looked for ${path} in:`);
263
+ hotModulesMap.forEach(function(value, key) {
264
+ console.info(` - ${key}`);
265
+ });
266
+ return;
267
+ }
268
+ var fetchedModule;
269
+ var isSelfUpdate = path === acceptedPath;
270
+ var qualifiedCallbacks = mod.callbacks.filter(function(param2) {
271
+ var { deps } = param2;
272
+ return deps.includes(acceptedPath);
273
+ });
274
+ if (isSelfUpdate || qualifiedCallbacks.length > 0) {
275
+ var disposer = disposeMap.get(acceptedPath);
276
+ if (disposer) await disposer(dataMap.get(acceptedPath));
277
+ var [acceptedPathWithoutQuery, query] = acceptedPath.split(`?`);
278
+ try {
279
+ var filePath = acceptedPathWithoutQuery;
280
+ var finalQuery = `file?file=${encodeURIComponent(filePath)}&${explicitImportRequired ? "import&" : ""}t=${timestamp}${query ? `&${query}` : ""}`;
281
+ var scriptUrl = `http://${rnDevServerHost ? rnDevServerHost + "/" : serverHost.replace("5173", "8081")}` + finalQuery;
282
+ console.info(` \u2776 hmr fetching update: ${scriptUrl}`);
283
+ var source = await fetch(scriptUrl).then(function(res) {
284
+ return res.text();
285
+ });
286
+ var evaluatedModule = eval(source);
287
+ fetchedModule = evaluatedModule;
288
+ } catch (e) {
289
+ warnFailedFetch(e, acceptedPath);
290
+ }
291
+ } else {
292
+ console.info(` \u2776 hmr can't accept - isSelfUpdate ${isSelfUpdate} - callbacks: ${JSON.stringify(mod.callbacks)} - acceptedPath: ${acceptedPath}`);
293
+ }
294
+ return function() {
295
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
296
+ try {
297
+ for (var _iterator = qualifiedCallbacks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
298
+ var { deps, fn } = _step.value;
299
+ fn(deps.map(function(dep) {
300
+ return dep === acceptedPath ? fetchedModule : void 0;
301
+ }));
302
+ }
303
+ } catch (err) {
304
+ _didIteratorError = true;
305
+ _iteratorError = err;
306
+ } finally {
307
+ try {
308
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
309
+ _iterator.return();
310
+ }
311
+ } finally {
312
+ if (_didIteratorError) {
313
+ throw _iteratorError;
314
+ }
315
+ }
316
+ }
317
+ var loggedPath = isSelfUpdate ? path : `${acceptedPath} via ${path}`;
318
+ if (process.env.DEBUG) {
319
+ console.info(`[vite] hot updated: ${loggedPath}`);
320
+ }
321
+ };
322
+ }
323
+ function sendMessageBuffer() {
324
+ if (socket.readyState === 1) {
325
+ messageBuffer.forEach(function(msg) {
326
+ return socket.send(msg);
327
+ });
328
+ messageBuffer.length = 0;
329
+ }
330
+ }
331
+ var hotModulesMap = /* @__PURE__ */ new Map();
332
+ var disposeMap = /* @__PURE__ */ new Map();
333
+ var pruneMap = /* @__PURE__ */ new Map();
334
+ var dataMap = /* @__PURE__ */ new Map();
335
+ var customListenersMap = /* @__PURE__ */ new Map();
336
+ var ctxToListenersMap = /* @__PURE__ */ new Map();
337
+ globalThis["createHotContext"] = function createHotContext(ownerPath) {
338
+ if (!dataMap.has(ownerPath)) {
339
+ dataMap.set(ownerPath, {});
340
+ }
341
+ var mod2 = hotModulesMap.get(ownerPath);
342
+ if (mod2) {
343
+ mod2.callbacks = [];
344
+ }
345
+ var staleListeners = ctxToListenersMap.get(ownerPath);
346
+ if (staleListeners) {
347
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
348
+ try {
349
+ var _loop = function() {
350
+ var [event, staleFns] = _step.value;
351
+ var listeners = customListenersMap.get(event);
352
+ if (listeners) {
353
+ customListenersMap.set(event, listeners.filter(function(l) {
354
+ return !staleFns.includes(l);
355
+ }));
356
+ }
357
+ };
358
+ for (var _iterator = staleListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
359
+ } catch (err) {
360
+ _didIteratorError = true;
361
+ _iteratorError = err;
362
+ } finally {
363
+ try {
364
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
365
+ _iterator.return();
366
+ }
367
+ } finally {
368
+ if (_didIteratorError) {
369
+ throw _iteratorError;
370
+ }
371
+ }
372
+ }
373
+ }
374
+ var newListeners = /* @__PURE__ */ new Map();
375
+ ctxToListenersMap.set(ownerPath, newListeners);
376
+ function acceptDeps(deps) {
377
+ var callback = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() {};
378
+ var mod3 = hotModulesMap.get(ownerPath) || {
379
+ id: ownerPath,
380
+ callbacks: []
381
+ };
382
+ mod3.callbacks.push({
383
+ deps,
384
+ fn: callback
385
+ });
386
+ hotModulesMap.set(ownerPath, mod3);
387
+ }
388
+ var hot = {
389
+ get data() {
390
+ return dataMap.get(ownerPath);
391
+ },
392
+ accept(deps, callback) {
393
+ if (typeof deps === "function" || !deps) {
394
+ acceptDeps([ownerPath], function(param2) {
395
+ var [mod3] = param2;
396
+ return deps === null || deps === void 0 ? void 0 : deps(mod3);
397
+ });
398
+ } else if (typeof deps === "string") {
399
+ acceptDeps([deps], function(param2) {
400
+ var [mod3] = param2;
401
+ return callback === null || callback === void 0 ? void 0 : callback(mod3);
402
+ });
403
+ } else if (Array.isArray(deps)) {
404
+ acceptDeps(deps, callback);
405
+ } else {
406
+ throw new Error(`invalid hot.accept() usage.`);
407
+ }
408
+ },
409
+ acceptExports(_, callback) {
410
+ acceptDeps([ownerPath], function(param2) {
411
+ var [mod3] = param2;
412
+ return callback === null || callback === void 0 ? void 0 : callback(mod3);
413
+ });
414
+ },
415
+ dispose(cb) {
416
+ disposeMap.set(ownerPath, cb);
417
+ },
418
+ prune(cb) {
419
+ pruneMap.set(ownerPath, cb);
420
+ },
421
+ decline() {},
422
+ invalidate(message) {
423
+ notifyListeners("vite:invalidate", {
424
+ path: ownerPath,
425
+ message
426
+ });
427
+ this.send("vite:invalidate", {
428
+ path: ownerPath,
429
+ message
430
+ });
431
+ console.info(`[vite] invalidate ${ownerPath}${message ? `: ${message}` : ""}`);
432
+ },
433
+ on(event, cb) {
434
+ var addToMap = function(map) {
435
+ var existing = map.get(event) || [];
436
+ existing.push(cb);
437
+ map.set(event, existing);
438
+ };
439
+ addToMap(customListenersMap);
440
+ addToMap(newListeners);
441
+ },
442
+ send(event, data) {
443
+ messageBuffer.push(JSON.stringify({
444
+ type: "custom",
445
+ event,
446
+ data
447
+ }));
448
+ sendMessageBuffer();
449
+ }
450
+ };
451
+ return hot;
452
+ };