@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 +34 -6
- package/dist/standalone-preview.min.js +883 -883
- package/dist/standalone.min.js +917 -917
- package/package.json +7 -6
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
|
-
|
|
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
|
|
325
|
-
if (!
|
|
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(
|
|
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:
|
|
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)
|
|
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) => {
|