From be101dad6d98005afa742c2e2b97d59960051902 Mon Sep 17 00:00:00 2001 From: Severin Ibarluzea Date: Sun, 19 Jan 2025 11:19:34 -0800 Subject: [PATCH] use CDN for webworker url properly (#162) --- README.md | 9 +++++---- bun.lockb | Bin 354943 -> 354975 bytes lib/components/RunFrame.tsx | 6 +++--- package.json | 3 ++- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 79e331b..001fce7 100644 --- a/README.md +++ b/README.md @@ -65,10 +65,11 @@ The CircuitJsonPreview component provides: - Circuit JSON viewer - Error display -> Note: You should have tailwind installed in the parent project, this library -> works without installing tailwind but without the "css reset" things will look -> a bit off (e.g. you might see serif fonts), create an issue if that's -> cumbersome because we removed it to save 5kb +### Providing the Blob URL (to avoid loading webworker from CDN) + +```tsx +import evalWebWorkerBlobUrl from "@tscircuit/eval-webworker/blob-url" +``` ## Development diff --git a/bun.lockb b/bun.lockb index 71e131ca277b22bcbb62f0c248daaf28b2ae8b05..c688ce033296971dd18b4d31c1fe1bd569094af1 100755 GIT binary patch delta 49002 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 aTj@Q%-by?8*?g>*W0p&lPRVt}-2Vd2y?=rL delta 48766 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 diff --git a/lib/components/RunFrame.tsx b/lib/components/RunFrame.tsx index c406087..e780eee 100644 --- a/lib/components/RunFrame.tsx +++ b/lib/components/RunFrame.tsx @@ -15,8 +15,6 @@ declare global { var runFrameWorker: any } -// @ts-ignore -import evalWebWorkerBlobUrl from "@tscircuit/eval-webworker/blob-url" import type { ManualEditEvent } from "@tscircuit/props" import { useRunFrameStore } from "./RunFrameWithApi/store" import { getChangesBetweenFsMaps } from "../utils/getChangesBetweenFsMaps" @@ -93,6 +91,8 @@ interface Props { defaultActiveTab?: Parameters< typeof CircuitJsonPreview >[0]["defaultActiveTab"] + + evalWebWorkerBlobUrl?: string } export const RunFrame = (props: Props) => { @@ -166,7 +166,7 @@ export const RunFrame = (props: Props) => { const worker: Awaited> = globalThis.runFrameWorker ?? (await createCircuitWebWorker({ - webWorkerUrl: evalWebWorkerBlobUrl, + webWorkerUrl: props.evalWebWorkerBlobUrl, verbose: true, })) globalThis.runFrameWorker = worker diff --git a/package.json b/package.json index fb6602a..de32fad 100644 --- a/package.json +++ b/package.json @@ -58,8 +58,8 @@ "@radix-ui/react-tabs": "^1.1.2", "@tscircuit/3d-viewer": "^0.0.101", "@tscircuit/assembly-viewer": "^0.0.1", + "@tscircuit/eval-webworker": "^0.0.72", "@tscircuit/core": "^0.0.273", - "@tscircuit/eval-webworker": "^0.0.69", "@tscircuit/file-server": "^0.0.13", "@tscircuit/pcb-viewer": "^1.11.29", "@tscircuit/props": "^0.0.130", @@ -68,6 +68,7 @@ "clsx": "^2.1.1", "comlink": "^4.4.2", "cssnano": "^7.0.6", + "jscad-fiber": "^0.0.76", "lucide-react": "^0.473.0", "react-cosmos-plugin-vite": "^6.2.0", "schematic-symbols": "^0.0.111",