@tscircuit/runframe 0.0.200 → 0.0.202

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/dist/runner.js CHANGED
@@ -291,7 +291,31 @@ var RunFrame = (props) => {
291
291
  const lastFsMapRef = useRef2(null);
292
292
  const lastEntrypointRef = useRef2(null);
293
293
  useEffect(() => {
294
- if (!fsMap) return;
294
+ const fsMapObj = fsMap instanceof Map ? Object.fromEntries(fsMap.entries()) : fsMap;
295
+ if (!fsMapObj || Object.keys(fsMapObj).length === 0) {
296
+ setError({
297
+ error: "No files provided. Please provide at least one file with code to execute.",
298
+ stack: ""
299
+ });
300
+ setIsRunning(false);
301
+ return;
302
+ }
303
+ if (!props.entrypoint) {
304
+ setError({
305
+ error: "No entrypoint provided. Please specify an entrypoint file.",
306
+ stack: ""
307
+ });
308
+ setIsRunning(false);
309
+ return;
310
+ }
311
+ if (!fsMapObj[props.entrypoint]?.trim()) {
312
+ setError({
313
+ error: "No files provided. Please provide at least one file with code to execute.",
314
+ stack: ""
315
+ });
316
+ setIsRunning(false);
317
+ return;
318
+ }
295
319
  const wasTriggeredByRunButton = props.showRunButton && runCountTrigger !== lastRunCountTriggerRef.current;
296
320
  if (lastFsMapRef.current && circuitJson) {
297
321
  const changes = getChangesBetweenFsMaps(lastFsMapRef.current, fsMap);
@@ -321,12 +345,13 @@ var RunFrame = (props) => {
321
345
  });
322
346
  globalThis.runFrameWorker = worker;
323
347
  props.onRenderStarted?.();
324
- const fsMapObj = fsMap instanceof Map ? Object.fromEntries(fsMap.entries()) : fsMap;
325
- if (!fsMapObj[props.entrypoint]) {
348
+ const fsMapObj2 = fsMap instanceof Map ? Object.fromEntries(fsMap.entries()) : fsMap;
349
+ if (!fsMapObj2[props.entrypoint]) {
326
350
  setError({
327
- error: `Entrypoint not found (entrypoint: "${props.entrypoint}", fsMapKeys: ${Object.keys(fsMapObj).join(", ")})`,
351
+ error: `Entrypoint not found (entrypoint: "${props.entrypoint}", fsMapKeys: ${Object.keys(fsMapObj2).join(", ")})`,
328
352
  stack: ""
329
353
  });
354
+ setIsRunning(false);
330
355
  return;
331
356
  }
332
357
  const renderIds = /* @__PURE__ */ new Set();
@@ -363,7 +388,7 @@ var RunFrame = (props) => {
363
388
  });
364
389
  const evalResult = await worker.executeWithFsMap({
365
390
  entrypoint: props.entrypoint,
366
- fsMap: fsMapObj
391
+ fsMap: fsMapObj2
367
392
  }).then(() => ({ success: true })).catch((e) => {
368
393
  const message = e.message.includes(":") ? e.message.replace(/[^:]+:/, "") : e.message;
369
394
  props.onError?.(e);
@@ -371,7 +396,10 @@ var RunFrame = (props) => {
371
396
  console.error(e);
372
397
  return { success: false };
373
398
  });
374
- if (!evalResult.success) return setIsRunning(false);
399
+ if (!evalResult.success) {
400
+ setIsRunning(false);
401
+ return;
402
+ }
375
403
  const $renderResult = worker.renderUntilSettled();
376
404
  debug3("waiting for initial circuit json...");
377
405
  let circuitJson2 = await worker.getCircuitJson().catch((e) => {