vxrn 1.26.0 → 1.26.1-1789332805082

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 (42) hide show
  1. package/dist/plugins/reactNativeDevServer.mjs +88 -42
  2. package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
  3. package/dist/plugins/reactNativeDevServer.native.js +113 -44
  4. package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
  5. package/dist/rn-commands/bundle/buildBundle.mjs +29 -10
  6. package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
  7. package/dist/rn-commands/bundle/buildBundle.native.js +29 -10
  8. package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
  9. package/dist/utils/createNativeDevEngine.mjs +314 -104
  10. package/dist/utils/createNativeDevEngine.mjs.map +1 -1
  11. package/dist/utils/createNativeDevEngine.native.js +355 -106
  12. package/dist/utils/createNativeDevEngine.native.js.map +1 -1
  13. package/dist/utils/createNativeDevEngine.test.mjs +285 -23
  14. package/dist/utils/createNativeDevEngine.test.mjs.map +1 -1
  15. package/dist/utils/createNativeDevEngine.test.native.js +319 -23
  16. package/dist/utils/createNativeDevEngine.test.native.js.map +1 -1
  17. package/dist/utils/patches.test.mjs.map +1 -1
  18. package/dist/utils/patches.test.native.js.map +1 -1
  19. package/dist/utils/symbolicateNativeStack.mjs +66 -0
  20. package/dist/utils/symbolicateNativeStack.mjs.map +1 -0
  21. package/dist/utils/symbolicateNativeStack.native.js +70 -0
  22. package/dist/utils/symbolicateNativeStack.native.js.map +1 -0
  23. package/dist/utils/symbolicateNativeStack.test.mjs +96 -0
  24. package/dist/utils/symbolicateNativeStack.test.mjs.map +1 -0
  25. package/dist/utils/symbolicateNativeStack.test.native.js +96 -0
  26. package/dist/utils/symbolicateNativeStack.test.native.js.map +1 -0
  27. package/package.json +13 -12
  28. package/src/plugins/reactNativeDevServer.ts +124 -52
  29. package/src/rn-commands/bundle/buildBundle.ts +28 -9
  30. package/src/utils/createNativeDevEngine.test.ts +581 -193
  31. package/src/utils/createNativeDevEngine.ts +560 -133
  32. package/src/utils/patches.test.ts +1 -4
  33. package/src/utils/symbolicateNativeStack.test.ts +78 -0
  34. package/src/utils/symbolicateNativeStack.ts +129 -0
  35. package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
  36. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
  37. package/types/utils/createNativeDevEngine.d.ts +22 -4
  38. package/types/utils/createNativeDevEngine.d.ts.map +1 -1
  39. package/types/utils/symbolicateNativeStack.d.ts +46 -0
  40. package/types/utils/symbolicateNativeStack.d.ts.map +1 -0
  41. package/types/utils/symbolicateNativeStack.test.d.ts +2 -0
  42. package/types/utils/symbolicateNativeStack.test.d.ts.map +1 -0
@@ -6,6 +6,7 @@ import { readFile } from "node:fs/promises";
6
6
  import { createDevMiddleware } from "@react-native/dev-middleware";
7
7
  import { createNativeDevEngine } from "../utils/createNativeDevEngine.mjs";
8
8
  import { getBoundPort } from "../utils/getBoundPort.mjs";
9
+ import { getNativeFramePlatform, isNativeBundleFrame, symbolicateNativeStack } from "../utils/symbolicateNativeStack.mjs";
9
10
  function getNativeAssetContentType(type) {
10
11
  switch (type.toLowerCase()) {
11
12
  case "bmp":
@@ -59,6 +60,7 @@ function createReactNativeDevServerPlugin(options) {
59
60
  const devEngines = {};
60
61
  const devEngineCreating = {};
61
62
  const warnedProdBundleRequest = /* @__PURE__ */new Set();
63
+ const pendingReloadPlatforms = /* @__PURE__ */new Set();
62
64
  const devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"];
63
65
  const reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;
64
66
  const {
@@ -169,7 +171,12 @@ function createReactNativeDevServerPlugin(options) {
169
171
  return;
170
172
  }
171
173
  addConnectedNativeClient();
172
- socket.on("message", async message => {
174
+ if (pendingReloadPlatforms.has(socket.vxrnPlatform)) {
175
+ socket.send(JSON.stringify({
176
+ type: "hmr:reload"
177
+ }));
178
+ }
179
+ socket.on("message", message => {
173
180
  const value = message.toString();
174
181
  if (value === "ping") {
175
182
  socket.send("pong");
@@ -182,8 +189,6 @@ function createReactNativeDevServerPlugin(options) {
182
189
  return;
183
190
  }
184
191
  if (update.type === "hmr:invalidate") {
185
- currentEngine.engine.triggerFullBuild();
186
- await currentEngine.engine.ensureLatestBuildOutput();
187
192
  socket.send(JSON.stringify({
188
193
  type: "hmr:reload"
189
194
  }));
@@ -218,6 +223,43 @@ function createReactNativeDevServerPlugin(options) {
218
223
  }
219
224
  });
220
225
  });
226
+ const getDevEngine = async platform => {
227
+ while (!devEngines[platform]) {
228
+ if (!devEngineCreating[platform]) {
229
+ const creating = (async () => {
230
+ try {
231
+ console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);
232
+ devEngines[platform] = await createNativeDevEngine({
233
+ root,
234
+ port: getBoundPort(server),
235
+ host: typeof host === "string" ? host : "localhost",
236
+ platform,
237
+ serverUrl: `http://${typeof host === "string" && host !== "0.0.0.0" ? host : "localhost"}:${getBoundPort(server)}`,
238
+ onHmrUpdate: update => {
239
+ const msg = JSON.stringify(update);
240
+ const target = "clientId" in update ? update.clientId : void 0;
241
+ if (update.type === "hmr:reload" && !target) {
242
+ pendingReloadPlatforms.add(platform);
243
+ }
244
+ hmrWSS.clients.forEach(client => {
245
+ const nativeClient = client;
246
+ if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (!target || nativeClient.vxrnClientId === target)) {
247
+ client.send(msg);
248
+ }
249
+ });
250
+ }
251
+ });
252
+ console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
253
+ } finally {
254
+ devEngineCreating[platform] = null;
255
+ }
256
+ })();
257
+ devEngineCreating[platform] = creating;
258
+ }
259
+ await devEngineCreating[platform];
260
+ }
261
+ return devEngines[platform];
262
+ };
221
263
  const handleRNBundle = async (req, res) => {
222
264
  const url = new URL(req.url, `http://${req.headers.host}`);
223
265
  const platformString = url.searchParams.get("platform") || "";
@@ -230,43 +272,13 @@ function createReactNativeDevServerPlugin(options) {
230
272
  console.warn(`[vxrn] ${platform} bundle requested with dev=false, but the dev server only builds dev bundles. Serving a dev bundle. Use the build command for a production one.`);
231
273
  }
232
274
  try {
233
- const bundle = await (async () => {
234
- if (!devEngines[platform]) {
235
- if (!devEngineCreating[platform]) {
236
- devEngineCreating[platform] = (async () => {
237
- try {
238
- console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);
239
- devEngines[platform] = await createNativeDevEngine({
240
- root,
241
- port: getBoundPort(server),
242
- host: typeof host === "string" ? host : "localhost",
243
- platform,
244
- serverUrl: `http://${typeof host === "string" && host !== "0.0.0.0" ? host : "localhost"}:${getBoundPort(server)}`,
245
- onHmrUpdate: update => {
246
- const msg = JSON.stringify(update);
247
- hmrWSS.clients.forEach(client => {
248
- const nativeClient = client;
249
- if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (update.type === "hmr:error" || nativeClient.vxrnClientId === update.clientId)) {
250
- client.send(msg);
251
- }
252
- });
253
- }
254
- });
255
- console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
256
- } catch (err) {
257
- devEngineCreating[platform] = null;
258
- throw err;
259
- }
260
- })();
261
- }
262
- await devEngineCreating[platform];
263
- }
264
- return await devEngines[platform].getBundle().then(r => r.code);
265
- })();
275
+ const bundle = await (await getDevEngine(platform)).getBundle();
276
+ res.once("finish", () => pendingReloadPlatforms.delete(platform));
266
277
  res.writeHead(200, {
278
+ "Cache-Control": "no-store",
267
279
  "Content-Type": "text/javascript"
268
280
  });
269
- res.end(bundle);
281
+ res.end(bundle.code);
270
282
  } catch (err) {
271
283
  console.error(` Error building React Native bundle`);
272
284
  console.error(err);
@@ -286,11 +298,45 @@ function createReactNativeDevServerPlugin(options) {
286
298
  next();
287
299
  }
288
300
  });
289
- server.middlewares.use("/symbolicate", (_req, res) => {
290
- res.writeHead(200, {
291
- "Content-Type": "text/plain"
292
- });
293
- res.end("TODO");
301
+ server.middlewares.use("/symbolicate", async (req, res) => {
302
+ try {
303
+ const chunks = [];
304
+ for await (const chunk of req) chunks.push(chunk);
305
+ const body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
306
+ const stack = body.stack;
307
+ if (!Array.isArray(stack)) {
308
+ throw new Error("expected a `stack` array in the request body");
309
+ }
310
+ const bundleFrame = stack.find(frame => isNativeBundleFrame(frame.file));
311
+ if (!bundleFrame) {
312
+ res.writeHead(200, {
313
+ "Content-Type": "application/json"
314
+ });
315
+ res.end(JSON.stringify({
316
+ stack,
317
+ codeFrame: null
318
+ }));
319
+ return;
320
+ }
321
+ const framePlatform = getNativeFramePlatform(bundleFrame.file);
322
+ const platform = validPlatforms[framePlatform ?? ""];
323
+ if (!platform) {
324
+ throw new Error(`could not tell which platform "${bundleFrame.file}" was bundled for`);
325
+ }
326
+ const bundle = await (await getDevEngine(platform)).getBundle();
327
+ res.writeHead(200, {
328
+ "Content-Type": "application/json"
329
+ });
330
+ res.end(JSON.stringify(symbolicateNativeStack(stack, bundle.map)));
331
+ } catch (err) {
332
+ console.error(`[vxrn] symbolicate failed`, err);
333
+ res.writeHead(500, {
334
+ "Content-Type": "application/json"
335
+ });
336
+ res.end(JSON.stringify({
337
+ error: err instanceof Error ? err.message : String(err)
338
+ }));
339
+ }
294
340
  });
295
341
  }
296
342
  };
@@ -1 +1 @@
1
- {"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","readFile","createDevMiddleware","createNativeDevEngine","getBoundPort","getNativeAssetContentType","type","toLowerCase","createReactNativeDevServerPlugin","options","name","configureServer","server","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","validPlatforms","ios","android","devEngines","devEngineCreating","warnedProdBundleRequest","Set","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","req","res","next","method","rawUrl","url","rawPathname","split","startsWith","headers","platform","searchParams","get","engine","pathname","decodeURIComponent","writeHead","end","asset","getAsset","contents","filePath","String","byteLength","error","Error","message","httpServer","on","socket","head","endpoint","wss","handleUpgrade","ws","emit","hmrUrl","clientId","destroy","Object","assign","vxrnClientId","vxrnPlatform","currentEngine","close","registerClient","value","toString","send","update","JSON","parse","triggerFullBuild","ensureLatestBuildOutput","stringify","removeClient","catch","messageRaw","level","data","info","warn","handleRNBundle","platformString","has","add","bundle","port","serverUrl","onHmrUpdate","msg","clients","forEach","client","nativeClient","readyState","err","getBundle","then","r","code","stack","endsWith","_req"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","readFile","createDevMiddleware","createNativeDevEngine","getBoundPort","getNativeFramePlatform","isNativeBundleFrame","symbolicateNativeStack","getNativeAssetContentType","type","toLowerCase","createReactNativeDevServerPlugin","options","name","configureServer","server","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","validPlatforms","ios","android","devEngines","devEngineCreating","warnedProdBundleRequest","Set","pendingReloadPlatforms","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","req","res","next","method","rawUrl","url","rawPathname","split","startsWith","headers","platform","searchParams","get","engine","pathname","decodeURIComponent","writeHead","end","asset","getAsset","contents","filePath","String","byteLength","error","Error","message","httpServer","on","socket","head","endpoint","wss","handleUpgrade","ws","emit","hmrUrl","clientId","destroy","Object","assign","vxrnClientId","vxrnPlatform","currentEngine","close","registerClient","has","send","JSON","stringify","value","toString","update","parse","removeClient","catch","messageRaw","level","data","info","warn","getDevEngine","creating","port","serverUrl","onHmrUpdate","msg","target","add","clients","forEach","client","nativeClient","readyState","handleRNBundle","platformString","bundle","getBundle","once","delete","code","err","stack","endsWith","chunks","chunk","push","body","Buffer","concat","Array","isArray","bundleFrame","find","frame","file","codeFrame","framePlatform","map"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import { readFile } from "fs/promises";
6
6
  import { createDevMiddleware } from "@react-native/dev-middleware";
7
7
  import { createNativeDevEngine } from "../utils/createNativeDevEngine.native.js";
8
8
  import { getBoundPort } from "../utils/getBoundPort.native.js";
9
+ import { getNativeFramePlatform, isNativeBundleFrame, symbolicateNativeStack } from "../utils/symbolicateNativeStack.native.js";
9
10
  function _instanceof(left, right) {
10
11
  if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
11
12
  return !!right[Symbol.hasInstance](left);
@@ -72,6 +73,7 @@ function createReactNativeDevServerPlugin(options) {
72
73
  var devEngines = {};
73
74
  var devEngineCreating = {};
74
75
  var warnedProdBundleRequest = /* @__PURE__ */new Set();
76
+ var pendingReloadPlatforms = /* @__PURE__ */new Set();
75
77
  var devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"];
76
78
  var reactNativeDevToolsUrl = `http://${host}:${getBoundPort(server)}`;
77
79
  var {
@@ -207,7 +209,12 @@ function createReactNativeDevServerPlugin(options) {
207
209
  return;
208
210
  }
209
211
  addConnectedNativeClient();
210
- socket.on("message", async function (message) {
212
+ if (pendingReloadPlatforms.has(socket.vxrnPlatform)) {
213
+ socket.send(JSON.stringify({
214
+ type: "hmr:reload"
215
+ }));
216
+ }
217
+ socket.on("message", function (message) {
211
218
  var value = message.toString();
212
219
  if (value === "ping") {
213
220
  socket.send("pong");
@@ -220,8 +227,6 @@ function createReactNativeDevServerPlugin(options) {
220
227
  return;
221
228
  }
222
229
  if (update.type === "hmr:invalidate") {
223
- currentEngine.engine.triggerFullBuild();
224
- await currentEngine.engine.ensureLatestBuildOutput();
225
230
  socket.send(JSON.stringify({
226
231
  type: "hmr:reload"
227
232
  }));
@@ -257,6 +262,43 @@ function createReactNativeDevServerPlugin(options) {
257
262
  }
258
263
  });
259
264
  });
265
+ var getDevEngine = async function (platform) {
266
+ while (!devEngines[platform]) {
267
+ if (!devEngineCreating[platform]) {
268
+ var creating = async function () {
269
+ try {
270
+ console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);
271
+ devEngines[platform] = await createNativeDevEngine({
272
+ root,
273
+ port: getBoundPort(server),
274
+ host: typeof host === "string" ? host : "localhost",
275
+ platform,
276
+ serverUrl: `http://${typeof host === "string" && host !== "0.0.0.0" ? host : "localhost"}:${getBoundPort(server)}`,
277
+ onHmrUpdate: function (update) {
278
+ var msg = JSON.stringify(update);
279
+ var target = "clientId" in update ? update.clientId : void 0;
280
+ if (update.type === "hmr:reload" && !target) {
281
+ pendingReloadPlatforms.add(platform);
282
+ }
283
+ hmrWSS.clients.forEach(function (client) {
284
+ var nativeClient = client;
285
+ if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (!target || nativeClient.vxrnClientId === target)) {
286
+ client.send(msg);
287
+ }
288
+ });
289
+ }
290
+ });
291
+ console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
292
+ } finally {
293
+ devEngineCreating[platform] = null;
294
+ }
295
+ }();
296
+ devEngineCreating[platform] = creating;
297
+ }
298
+ await devEngineCreating[platform];
299
+ }
300
+ return devEngines[platform];
301
+ };
260
302
  var handleRNBundle = async function (req, res) {
261
303
  var url = new URL(req.url, `http://${req.headers.host}`);
262
304
  var platformString = url.searchParams.get("platform") || "";
@@ -269,45 +311,15 @@ function createReactNativeDevServerPlugin(options) {
269
311
  console.warn(`[vxrn] ${platform} bundle requested with dev=false, but the dev server only builds dev bundles. Serving a dev bundle. Use the build command for a production one.`);
270
312
  }
271
313
  try {
272
- var bundle = await async function () {
273
- if (!devEngines[platform]) {
274
- if (!devEngineCreating[platform]) {
275
- devEngineCreating[platform] = async function () {
276
- try {
277
- console.info(`[vxrn] creating rolldown DevEngine for ${platform}...`);
278
- devEngines[platform] = await createNativeDevEngine({
279
- root,
280
- port: getBoundPort(server),
281
- host: typeof host === "string" ? host : "localhost",
282
- platform,
283
- serverUrl: `http://${typeof host === "string" && host !== "0.0.0.0" ? host : "localhost"}:${getBoundPort(server)}`,
284
- onHmrUpdate: function (update) {
285
- var msg = JSON.stringify(update);
286
- hmrWSS.clients.forEach(function (client) {
287
- var nativeClient = client;
288
- if (nativeClient.readyState === 1 && nativeClient.vxrnPlatform === platform && (update.type === "hmr:error" || nativeClient.vxrnClientId === update.clientId)) {
289
- client.send(msg);
290
- }
291
- });
292
- }
293
- });
294
- console.info(`[vxrn] rolldown DevEngine ready for ${platform}`);
295
- } catch (err) {
296
- devEngineCreating[platform] = null;
297
- throw err;
298
- }
299
- }();
300
- }
301
- await devEngineCreating[platform];
302
- }
303
- return await devEngines[platform].getBundle().then(function (r) {
304
- return r.code;
305
- });
306
- }();
314
+ var bundle = await (await getDevEngine(platform)).getBundle();
315
+ res.once("finish", function () {
316
+ return pendingReloadPlatforms.delete(platform);
317
+ });
307
318
  res.writeHead(200, {
319
+ "Cache-Control": "no-store",
308
320
  "Content-Type": "text/javascript"
309
321
  });
310
- res.end(bundle);
322
+ res.end(bundle.code);
311
323
  } catch (err) {
312
324
  console.error(` Error building React Native bundle`);
313
325
  console.error(err);
@@ -328,11 +340,68 @@ function createReactNativeDevServerPlugin(options) {
328
340
  next();
329
341
  }
330
342
  });
331
- server.middlewares.use("/symbolicate", function (_req, res) {
332
- res.writeHead(200, {
333
- "Content-Type": "text/plain"
334
- });
335
- res.end("TODO");
343
+ server.middlewares.use("/symbolicate", async function (req, res) {
344
+ try {
345
+ var chunks = [];
346
+ var _iteratorNormalCompletion = true,
347
+ _didIteratorError = false,
348
+ _iteratorError = void 0;
349
+ try {
350
+ for (var _iterator = req[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
351
+ var chunk = _step.value;
352
+ chunks.push(chunk);
353
+ }
354
+ } catch (err) {
355
+ _didIteratorError = true;
356
+ _iteratorError = err;
357
+ } finally {
358
+ try {
359
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
360
+ _iterator.return();
361
+ }
362
+ } finally {
363
+ if (_didIteratorError) {
364
+ throw _iteratorError;
365
+ }
366
+ }
367
+ }
368
+ var body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
369
+ var stack = body.stack;
370
+ if (!Array.isArray(stack)) {
371
+ throw new Error("expected a `stack` array in the request body");
372
+ }
373
+ var bundleFrame = stack.find(function (frame) {
374
+ return isNativeBundleFrame(frame.file);
375
+ });
376
+ if (!bundleFrame) {
377
+ res.writeHead(200, {
378
+ "Content-Type": "application/json"
379
+ });
380
+ res.end(JSON.stringify({
381
+ stack,
382
+ codeFrame: null
383
+ }));
384
+ return;
385
+ }
386
+ var framePlatform = getNativeFramePlatform(bundleFrame.file);
387
+ var platform = validPlatforms[framePlatform !== null && framePlatform !== void 0 ? framePlatform : ""];
388
+ if (!platform) {
389
+ throw new Error(`could not tell which platform "${bundleFrame.file}" was bundled for`);
390
+ }
391
+ var bundle = await (await getDevEngine(platform)).getBundle();
392
+ res.writeHead(200, {
393
+ "Content-Type": "application/json"
394
+ });
395
+ res.end(JSON.stringify(symbolicateNativeStack(stack, bundle.map)));
396
+ } catch (err) {
397
+ console.error(`[vxrn] symbolicate failed`, err);
398
+ res.writeHead(500, {
399
+ "Content-Type": "application/json"
400
+ });
401
+ res.end(JSON.stringify({
402
+ error: _instanceof(err, Error) ? err.message : String(err)
403
+ }));
404
+ }
336
405
  });
337
406
  }
338
407
  };
@@ -1 +1 @@
1
- {"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","readFile","createDevMiddleware","createNativeDevEngine","getBoundPort","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","getNativeAssetContentType","type","toLowerCase","createReactNativeDevServerPlugin","options","name","configureServer","server","_server_httpServer","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","validPlatforms","ios","android","devEngines","devEngineCreating","warnedProdBundleRequest","Set","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","req","res","next","method","rawUrl","url","rawPathname","split","startsWith","headers","platform","searchParams","get","engine","pathname","decodeURIComponent","unused","writeHead","end","asset","getAsset","contents","filePath","String","byteLength","error","Error","message","httpServer","on","socket","head","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","endpoint","_step","value","wss","handleUpgrade","ws","emit","v","_iterator","iterator","done","_ret","err","return","hmrUrl","clientId","destroy","Object","assign","vxrnClientId","vxrnPlatform","currentEngine","close","registerClient","toString","send","update","JSON","parse","triggerFullBuild","ensureLatestBuildOutput","stringify","removeClient","catch","messageRaw","_message_data_","level","data","info","warn","handleRNBundle","platformString","has","add","bundle","port","serverUrl","onHmrUpdate","msg","clients","forEach","client","nativeClient","readyState"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["WebSocketServer","createMessageSocket","addConnectedNativeClient","removeConnectedNativeClient","URL","readFile","createDevMiddleware","createNativeDevEngine","getBoundPort","getNativeFramePlatform","isNativeBundleFrame","symbolicateNativeStack","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","getNativeAssetContentType","type","toLowerCase","createReactNativeDevServerPlugin","options","name","configureServer","server","_server_httpServer","host","config","root","hmrWSS","noServer","clientWSS","messageWSS","validPlatforms","ios","android","devEngines","devEngineCreating","warnedProdBundleRequest","Set","pendingReloadPlatforms","devToolsSocketEndpoints","reactNativeDevToolsUrl","middleware","websocketEndpoints","serverBaseUrl","logger","console","unstable_experiments","enableStandaloneFuseboxShell","middlewares","use","req","res","next","method","rawUrl","url","rawPathname","split","startsWith","headers","platform","searchParams","get","engine","pathname","decodeURIComponent","unused","writeHead","end","asset","getAsset","contents","filePath","String","byteLength","error","Error","message","httpServer","on","socket","head","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","endpoint","_step","value","wss","handleUpgrade","ws","emit","v","_iterator","iterator","done","_ret","err","return","hmrUrl","clientId","destroy","Object","assign","vxrnClientId","vxrnPlatform","currentEngine","close","registerClient","has","send","JSON","stringify","toString","update","parse","removeClient","catch","messageRaw","_message_data_","level","data","info","warn","getDevEngine","creating","port","serverUrl","onHmrUpdate","msg","target","add","clients","forEach","client","nativeClient","readyState","handleRNBundle","platformString","bundle","getBundle","once","delete","code","stack","_req_url","endsWith"],"sources":["../../src/plugins/reactNativeDevServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import FSExtra from "fs-extra";
2
+ import { clearTransformCache } from "@vxrn/compiler";
2
3
  import { bundle as metroBundle } from "@vxrn/vite-plugin-metro/rn-commands";
3
4
  import { loadEnv } from "../../exports/loadEnv.mjs";
4
5
  import { buildNativeBundle } from "../../utils/createNativeDevEngine.mjs";
@@ -7,15 +8,29 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
7
8
  platform,
8
9
  // Android is not supported yet.
9
10
  dev,
10
- // bundleEncoding, // Not supported, we are using utf8.
11
- // sourcemapUseAbsolutePath,
12
- // unstableTransformProfile,
13
- // resetCache, // Currently we are not using cache for production builds.
14
- // readGlobalCache,
15
- // entryFile, // Not supported. With VxRN, we are using a static entry file.
16
11
  bundleOutput,
17
- assetsDest
18
- // minify, // Minification is not supported.
12
+ // React Native's `--bundle-encoding` names a Node Buffer encoding.
13
+ bundleEncoding = "utf8",
14
+ assetsDest,
15
+ // `--minify` overrides React Native's default of "minify unless this is a
16
+ // dev bundle". undefined means the flag was not passed.
17
+ minify,
18
+ // `--reset-cache` drops the compiler's transform cache, the only cache a
19
+ // rolldown production build reads.
20
+ resetCache
21
+ // `--entry-file` names the React Native root module. One generates its own
22
+ // native entry from the route tree instead, and __vxrnNativeEntryFile is
23
+ // the supported way to point the build somewhere else.
24
+ // `--read-global-cache` / `--max-workers` / `--config` / `--transformer` /
25
+ // `--resolver-option` configure Metro's global cache, worker pool and
26
+ // resolver. A rolldown production build has none of them: it transforms
27
+ // from source in-process. React Native's own bundle command ignores
28
+ // `--read-global-cache` too.
29
+ // `--unstable-transform-profile` picks a JS engine to target. This pipeline
30
+ // always downlevels for Hermes, which is what every profile it accepts
31
+ // ('default', 'hermes', 'hermes-canary') can run.
32
+ // `--sourcemap-use-absolute-path`, `--sourcemap-sources-root`,
33
+ // `--asset-catalog-dest` and `--indexed-ram-bundle` are not implemented.
19
34
  } = args;
20
35
  const {
21
36
  root
@@ -34,6 +49,9 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
34
49
  if (!dev) {
35
50
  process.env.NODE_ENV = "production";
36
51
  }
52
+ if (resetCache) {
53
+ clearTransformCache();
54
+ }
37
55
  console.info(`[vxrn] building native bundle for ${platform}...`);
38
56
  const nativeEntryFile = globalThis.__vxrnNativeEntryFile;
39
57
  const result = await buildNativeBundle({
@@ -46,7 +64,8 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
46
64
  // 'http://one-server.example.com' and runtime loader fetches fail in prod.
47
65
  serverUrl: process.env.ONE_SERVER_URL,
48
66
  assetsDest,
49
- sourcemap: !!args.sourcemapOutput
67
+ sourcemap: !!args.sourcemapOutput,
68
+ minify
50
69
  });
51
70
  const builtBundle = result.code;
52
71
  if (result.map && args.sourcemapOutput) {
@@ -56,7 +75,7 @@ async function buildBundle(_argv, ctx, args, bundleImpl = null) {
56
75
  }
57
76
  console.info(`Writing bundle to ${bundleOutput}...`);
58
77
  FSExtra.writeFileSync(bundleOutput, builtBundle, {
59
- encoding: "utf8"
78
+ encoding: bundleEncoding
60
79
  });
61
80
  console.info("Done.");
62
81
  setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["FSExtra","bundle","metroBundle","loadEnv","buildNativeBundle","buildBundle","_argv","ctx","args","bundleImpl","platform","dev","bundleOutput","assetsDest","root","Error","metroBuildBundleFn","getBuildBundleFn","console","info","process","env","IS_VXRN_CLI","NODE_ENV","nativeEntryFile","globalThis","__vxrnNativeEntryFile","result","entryFile","serverUrl","ONE_SERVER_URL","sourcemap","sourcemapOutput","builtBundle","code","map","writeFileSync","encoding","setTimeout","exit"],"sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"sourcesContent":[null],"mappings":"AACA,OAAOA,OAAA,MAAa;AACpB,SACEC,MAAA,IAAUC,WAAA,QAEL;AACP,SAASC,OAAA,QAAe;AACxB,SAASC,iBAAA,QAAyB;AAIlC,eAAsBC,YACpBC,KAAA,EACAC,GAAA,EACAC,IAAA,EACAC,UAAA,GAAkB,MACH;EACf,MAAM;IACJC,QAAA;IAAA;IACAC,GAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAOAC,YAAA;IACAC;IAAA;EAEF,IAAIL,IAAA;EAEJ,MAAM;IAAEM;EAAK,IAAIP,GAAA;EACjB,IAAI,OAAOO,IAAA,KAAS,UAAU;IAC5B,MAAM,IAAIC,KAAA,CAAM,6CAA6C,OAAOD,IAAI,EAAE;EAC5E;EAEA,MAAME,kBAAA,GAAqB,MAAMd,WAAA,CAAYe,gBAAA,CAAiB;EAE9D,IAAID,kBAAA,EAAoB;IACtBE,OAAA,CAAQC,IAAA,CAAK,oDAAoD;IACjE,MAAMH,kBAAA,CAAmBV,KAAA,EAAOC,GAAA,EAAKC,IAAA,EAAMC,UAAU;IAKrD;EACF;EAEAW,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc;EAC1BnB,OAAA,CAAQQ,GAAA,GAAM,gBAAgB,cAAcG,IAAI;EAEhD,IAAI,CAACH,GAAA,EAAK;IACRS,OAAA,CAAQC,GAAA,CAAIE,QAAA,GAAW;EACzB;EAEAL,OAAA,CAAQC,IAAA,CAAK,qCAAqCT,QAAQ,KAAK;EAC/D,MAAMc,eAAA,GAAmBC,UAAA,CACtBC,qBAAA;EACH,MAAMC,MAAA,GAAS,MAAMvB,iBAAA,CAAkB;IACrCU,IAAA;IACAJ,QAAA;IACAC,GAAA;IACAiB,SAAA,EAAW,OAAOJ,eAAA,KAAoB,WAAWA,eAAA,GAAkB;IAAA;IAAA;IAAA;IAInEK,SAAA,EAAWT,OAAA,CAAQC,GAAA,CAAIS,cAAA;IACvBjB,UAAA;IACAkB,SAAA,EAAW,CAAC,CAACvB,IAAA,CAAKwB;EACpB,CAAC;EACD,MAAMC,WAAA,GAAcN,MAAA,CAAOO,IAAA;EAG3B,IAAIP,MAAA,CAAOQ,GAAA,IAAO3B,IAAA,CAAKwB,eAAA,EAAiB;IACtChC,OAAA,CAAQoC,aAAA,CAAc5B,IAAA,CAAKwB,eAAA,EAAiBL,MAAA,CAAOQ,GAAA,EAAK;MAAEE,QAAA,EAAU;IAAO,CAAC;EAC9E;EAEAnB,OAAA,CAAQC,IAAA,CAAK,qBAAqBP,YAAY,KAAK;EACnDZ,OAAA,CAAQoC,aAAA,CAAcxB,YAAA,EAAcqB,WAAA,EAAa;IAAEI,QAAA,EAAU;EAAO,CAAC;EACrEnB,OAAA,CAAQC,IAAA,CAAK,OAAO;EAIpBmB,UAAA,CAAW,MAAM;IACfpB,OAAA,CAAQC,IAAA,CAAK,qCAAqC;IAClDC,OAAA,CAAQmB,IAAA,CAAK;EACf,GAAG,GAAK;AACV","ignoreList":[]}
1
+ {"version":3,"names":["FSExtra","clearTransformCache","bundle","metroBundle","loadEnv","buildNativeBundle","buildBundle","_argv","ctx","args","bundleImpl","platform","dev","bundleOutput","bundleEncoding","assetsDest","minify","resetCache","root","Error","metroBuildBundleFn","getBuildBundleFn","console","info","process","env","IS_VXRN_CLI","NODE_ENV","nativeEntryFile","globalThis","__vxrnNativeEntryFile","result","entryFile","serverUrl","ONE_SERVER_URL","sourcemap","sourcemapOutput","builtBundle","code","map","writeFileSync","encoding","setTimeout","exit"],"sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,SAASC,mBAAA,QAA2B;AACpC,SACEC,MAAA,IAAUC,WAAA,QAEL;AACP,SAASC,OAAA,QAAe;AACxB,SAASC,iBAAA,QAAyB;AAIlC,eAAsBC,YACpBC,KAAA,EACAC,GAAA,EACAC,IAAA,EACAC,UAAA,GAAkB,MACH;EACf,MAAM;IACJC,QAAA;IAAA;IACAC,GAAA;IACAC,YAAA;IAAA;IAEAC,cAAA,GAAiB;IACjBC,UAAA;IAAA;IAAA;IAGAC,MAAA;IAAA;IAAA;IAGAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAcF,IAAIR,IAAA;EAEJ,MAAM;IAAES;EAAK,IAAIV,GAAA;EACjB,IAAI,OAAOU,IAAA,KAAS,UAAU;IAC5B,MAAM,IAAIC,KAAA,CAAM,6CAA6C,OAAOD,IAAI,EAAE;EAC5E;EAEA,MAAME,kBAAA,GAAqB,MAAMjB,WAAA,CAAYkB,gBAAA,CAAiB;EAE9D,IAAID,kBAAA,EAAoB;IACtBE,OAAA,CAAQC,IAAA,CAAK,oDAAoD;IACjE,MAAMH,kBAAA,CAAmBb,KAAA,EAAOC,GAAA,EAAKC,IAAA,EAAMC,UAAU;IAKrD;EACF;EAEAc,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc;EAC1BtB,OAAA,CAAQQ,GAAA,GAAM,gBAAgB,cAAcM,IAAI;EAEhD,IAAI,CAACN,GAAA,EAAK;IACRY,OAAA,CAAQC,GAAA,CAAIE,QAAA,GAAW;EACzB;EAEA,IAAIV,UAAA,EAAY;IACdhB,mBAAA,CAAoB;EACtB;EAEAqB,OAAA,CAAQC,IAAA,CAAK,qCAAqCZ,QAAQ,KAAK;EAC/D,MAAMiB,eAAA,GAAmBC,UAAA,CACtBC,qBAAA;EACH,MAAMC,MAAA,GAAS,MAAM1B,iBAAA,CAAkB;IACrCa,IAAA;IACAP,QAAA;IACAC,GAAA;IACAoB,SAAA,EAAW,OAAOJ,eAAA,KAAoB,WAAWA,eAAA,GAAkB;IAAA;IAAA;IAAA;IAInEK,SAAA,EAAWT,OAAA,CAAQC,GAAA,CAAIS,cAAA;IACvBnB,UAAA;IACAoB,SAAA,EAAW,CAAC,CAAC1B,IAAA,CAAK2B,eAAA;IAClBpB;EACF,CAAC;EACD,MAAMqB,WAAA,GAAcN,MAAA,CAAOO,IAAA;EAG3B,IAAIP,MAAA,CAAOQ,GAAA,IAAO9B,IAAA,CAAK2B,eAAA,EAAiB;IACtCpC,OAAA,CAAQwC,aAAA,CAAc/B,IAAA,CAAK2B,eAAA,EAAiBL,MAAA,CAAOQ,GAAA,EAAK;MAAEE,QAAA,EAAU;IAAO,CAAC;EAC9E;EAEAnB,OAAA,CAAQC,IAAA,CAAK,qBAAqBV,YAAY,KAAK;EACnDb,OAAA,CAAQwC,aAAA,CAAc3B,YAAA,EAAcwB,WAAA,EAAa;IAAEI,QAAA,EAAU3B;EAAe,CAAC;EAC7EQ,OAAA,CAAQC,IAAA,CAAK,OAAO;EAIpBmB,UAAA,CAAW,MAAM;IACfpB,OAAA,CAAQC,IAAA,CAAK,qCAAqC;IAClDC,OAAA,CAAQmB,IAAA,CAAK;EACf,GAAG,GAAK;AACV","ignoreList":[]}