From 9b0043141614b5048ba91c24b0200055560b4b84 Mon Sep 17 00:00:00 2001 From: seveibar Date: Mon, 7 Oct 2024 14:40:57 -0700 Subject: [PATCH] checkpoint loading imports --- bun.lockb | Bin 307930 -> 308331 bytes package.json | 1 + src/components/CodeEditor.tsx | 33 +++++++++++++++++++++++++++++---- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/bun.lockb b/bun.lockb index 29e5c7dcfc02f76917ccc4ddde55476e4081be09..e4d23a29c6b1a81221164a880495f54cd15177b6 100755 GIT binary patch delta 52203 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�{uW}QJ;WcEs! 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 F`X9~ojZOdn diff --git a/package.json b/package.json index c9c8001..193644b 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "@tscircuit/3d-viewer": "^0.0.32", "@tscircuit/pcb-viewer": "^1.10.5", "@types/ms": "^0.7.34", + "@typescript/ata": "^0.9.7", "@valtown/codemirror-ts": "^2.2.0", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", diff --git a/src/components/CodeEditor.tsx b/src/components/CodeEditor.tsx index 2c0366e..f407ff6 100644 --- a/src/components/CodeEditor.tsx +++ b/src/components/CodeEditor.tsx @@ -33,19 +33,44 @@ export const CodeEditor = ({ if (!editorRef.current) return const fsMap = new Map() - fsMap.set("index.ts", code) + fsMap.set("index.tsx", code) + + // fsMap.set( + // "tscircuit-core.d.ts", + // ` + + // declare global { + // namespace JSX { + // interface IntrinsicElements { + // board: any + // } + // } + // } + + // `.trim(), + // ) const system = createSystem(fsMap) - const env = createVirtualTypeScriptEnvironment(system, [], ts, {}) + const env = createVirtualTypeScriptEnvironment(system, [], ts, { + jsx: ts.JsxEmit.ReactJSX, + // jsxFactory: "React.createElement", + }) + + // const program = ts.createProgram({ + // rootNames: ["index.tsx"], + // options: { + // jsx: ts.JsxEmit.ReactJSX, + // }, + // }) - const path = "index.ts" + // program.emit() const state = EditorState.create({ doc: code, extensions: [ basicSetup, javascript({ typescript: true, jsx: true }), - tsFacet.of({ env, path }), + tsFacet.of({ env, path: "index.tsx" }), tsSync(), tsLinter(), autocompletion({ override: [tsAutocomplete()] }),