From dd8b9e20c7672e682e2072b157525355d565c3f7 Mon Sep 17 00:00:00 2001 From: seveibar Date: Wed, 28 Aug 2024 17:38:24 -0700 Subject: [PATCH 01/10] soupify tmp outputs, support for running with core --- bun.lockb | Bin 513969 -> 516658 bytes cli/lib/cmd-fns/publish/index.ts | 2 +- cli/lib/cmd-fns/soupify.ts | 2 + cli/lib/get-program.ts | 1 + cli/lib/soupify.ts | 115 ------------------ cli/lib/soupify/get-export-name-from-file.ts | 29 +++++ cli/lib/soupify/get-tmp-entrpoint-filepath.ts | 13 ++ cli/lib/soupify/index.ts | 1 + cli/lib/soupify/run-entrypoint-file.ts | 60 +++++++++ cli/lib/soupify/soupify-with-core.ts | 52 ++++++++ cli/lib/soupify/soupify.ts | 66 ++++++++++ ...oupify.test.ts => soupify-builder.test.ts} | 2 +- cli/tests/soupify-core.test.ts | 10 ++ package.json | 6 +- 14 files changed, 240 insertions(+), 119 deletions(-) delete mode 100644 cli/lib/soupify.ts create mode 100644 cli/lib/soupify/get-export-name-from-file.ts create mode 100644 cli/lib/soupify/get-tmp-entrpoint-filepath.ts create mode 100644 cli/lib/soupify/index.ts create mode 100644 cli/lib/soupify/run-entrypoint-file.ts create mode 100644 cli/lib/soupify/soupify-with-core.ts create mode 100644 cli/lib/soupify/soupify.ts rename cli/tests/{soupify.test.ts => soupify-builder.test.ts} (85%) create mode 100644 cli/tests/soupify-core.test.ts diff --git a/bun.lockb b/bun.lockb index ec0a8974eebf63272705edd04bd2171377699c67..e43f24a87a4f617851d1d9e9f6e3383baceb49e8 100755 GIT binary patch delta 94235 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 lMCOm4#AG~Mq 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 OzL2<7H~m%8?Dt>!w=L}e delta 93535 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 bba$~7ss@V*$iEePLFG}g*pOHwZX5g;i* { file: z.string(), export: z.string().optional(), output: z.string().optional(), + core: z.boolean().optional(), }) .parse(args) @@ -18,6 +19,7 @@ export const soupifyCmd = async (ctx: AppContext, args: any) => { { filePath: params.file, exportName: params.export, + useCore: params.core, }, ctx, ) diff --git a/cli/lib/get-program.ts b/cli/lib/get-program.ts index c6658564..d7434e6b 100644 --- a/cli/lib/get-program.ts +++ b/cli/lib/get-program.ts @@ -293,6 +293,7 @@ export const getProgram = (ctx: AppContext) => { .description("Convert an example file to tscircuit soup") .requiredOption("--file ", "Input example files") .option("--output ", "Output file") + .option("--core", "Use @tscircuit/core to build (future version)") .option( "--export ", "Name of export to soupify, if not specified, soupify the default/only export", diff --git a/cli/lib/soupify.ts b/cli/lib/soupify.ts deleted file mode 100644 index 200c46be..00000000 --- a/cli/lib/soupify.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { AppContext } from "./util/app-context" -import { z } from "zod" -import $ from "dax-sh" -import * as Path from "path" -import { unlink } from "node:fs/promises" -import kleur from "kleur" -import { writeFileSync } from "fs" -import { readFile } from "fs/promises" -import Debug from "debug" - -const debug = Debug("tscircuit:soupify") - -export const soupify = async ( - { - filePath, - exportName, - }: { - filePath: string - exportName?: string - }, - ctx: Pick, -) => { - debug(`reading ${filePath}`) - const targetFileContent = await readFile(filePath, "utf-8") - - if (!exportName) { - if (targetFileContent.includes("export default")) { - exportName = "default" - } else { - // Look for "export const " or "export function " - const exportRegex = /export\s+(?:const|function)\s+(\w+)/g - const match = exportRegex.exec(targetFileContent) - if (match) { - exportName = match[1] - } - } - } - - if (!exportName) { - throw new Error( - `Couldn't derive an export name and didn't find default export in "${filePath}"`, - ) - } - - const tmpFilePath = Path.join( - Path.dirname(filePath), - Path.basename(filePath).replace(/\.[^\.]+$/, "") + ".__tmp_entrypoint.tsx", - ) - - debug(`writing to ${tmpFilePath}`) - writeFileSync( - tmpFilePath, - ` -import React from "react" -import { createRoot } from "@tscircuit/react-fiber" -import { createProjectBuilder } from "@tscircuit/builder" - -import * as EXPORTS from "./${Path.basename(filePath)}" - -const Component = EXPORTS["${exportName}"] - -if (!Component) { - console.log(JSON.stringify({ - COMPILE_ERROR: 'Failed to find "${exportName}" export in "${filePath}"' - })) - process.exit(0) -} - -const projectBuilder = createProjectBuilder() -const elements = await createRoot().render(, projectBuilder) - -console.log(JSON.stringify(elements)) - -`.trim(), - ) - - debug(`using runtime ${ctx.runtime}`) - const processCmdPart1 = - ctx.runtime === "node" ? $`npx tsx ${tmpFilePath}` : $`bun ${tmpFilePath}` - - debug(`starting process....`) - const processResult = await processCmdPart1 - .stdout(debug.enabled ? "inheritPiped" : "piped") - .stderr(debug.enabled ? "inheritPiped" : "piped") - .noThrow() - - // TODO we should send it to a temporarty file rather than rely on stdout - // which can easily be polluted - const rawSoup = processResult.stdout.replace(/^[^\[]*/, "") - const errText = processResult.stderr - - if (ctx.params.cleanup !== false) { - debug(`deleting ${tmpFilePath}`) - await unlink(tmpFilePath) - } - - try { - debug(`parsing result of soupify...`) - const soup = JSON.parse(rawSoup) - - if (soup.COMPILE_ERROR) { - // console.log(kleur.red(`Failed to compile ${filePath}`)) - console.log(kleur.red(soup.COMPILE_ERROR)) - throw new Error(soup.COMPILE_ERROR) - } - - return soup - } catch (e: any) { - // console.log(kleur.red(`Failed to parse result of soupify: ${e.toString()}`)) - const t = Date.now() - console.log(`Dumping raw output to .tscircuit/err-${t}.log`) - writeFileSync(`.tscircuit/err-${t}.log`, rawSoup + "\n\n" + errText) - throw new Error(errText) - } -} diff --git a/cli/lib/soupify/get-export-name-from-file.ts b/cli/lib/soupify/get-export-name-from-file.ts new file mode 100644 index 00000000..20e0eaf3 --- /dev/null +++ b/cli/lib/soupify/get-export-name-from-file.ts @@ -0,0 +1,29 @@ +import { readFile } from "node:fs/promises" +import Debug from "debug" + +const debug = Debug("tscircuit:soupify") + +export const getExportNameFromFile = async (filePath: string) => { + debug(`reading ${filePath}`) + const targetFileContent = await readFile(filePath, "utf-8") + + let exportName: string | undefined + if (targetFileContent.includes("export default")) { + exportName = "default" + } else { + // Look for "export const " or "export function " + const exportRegex = /export\s+(?:const|function)\s+(\w+)/g + const match = exportRegex.exec(targetFileContent) + if (match) { + exportName = match[1] + } + } + + if (!exportName) { + throw new Error( + `Couldn't derive an export name and didn't find default export in "${filePath}"`, + ) + } + + return exportName +} diff --git a/cli/lib/soupify/get-tmp-entrpoint-filepath.ts b/cli/lib/soupify/get-tmp-entrpoint-filepath.ts new file mode 100644 index 00000000..8906560c --- /dev/null +++ b/cli/lib/soupify/get-tmp-entrpoint-filepath.ts @@ -0,0 +1,13 @@ +import Path from "node:path" + +export const getTmpEntrypointFilePath = (filePath: string) => { + const tmpEntrypointPath = Path.join( + Path.dirname(filePath), + Path.basename(filePath).replace(/\.[^\.]+$/, "") + ".__tmp_entrypoint.tsx", + ) + const tmpOutputPath = Path.join( + Path.dirname(filePath), + Path.basename(filePath).replace(/\.[^\.]+$/, "") + ".__tmp_output.json", + ) + return { tmpEntrypointPath, tmpOutputPath } +} diff --git a/cli/lib/soupify/index.ts b/cli/lib/soupify/index.ts new file mode 100644 index 00000000..d26850cb --- /dev/null +++ b/cli/lib/soupify/index.ts @@ -0,0 +1 @@ +export * from "./soupify" diff --git a/cli/lib/soupify/run-entrypoint-file.ts b/cli/lib/soupify/run-entrypoint-file.ts new file mode 100644 index 00000000..4032e33b --- /dev/null +++ b/cli/lib/soupify/run-entrypoint-file.ts @@ -0,0 +1,60 @@ +import Debug from "debug" +import { writeFileSync } from "fs" +import { readFile, unlink } from "node:fs/promises" +import $ from "dax-sh" +import kleur from "kleur" +import { AppContext } from "../util/app-context" + +const debug = Debug("tscircuit:soupify") + +/** + * Runs the entrypoint file to generate circuit json (soup) for a given file + */ +export const runEntrypointFile = async ( + { + tmpEntrypointPath, + tmpOutputPath, + }: { tmpEntrypointPath: string; tmpOutputPath: string }, + ctx: Pick, +) => { + debug(`using runtime ${ctx.runtime}`) + const processCmdPart1 = + ctx.runtime === "node" + ? $`npx tsx ${tmpEntrypointPath}` + : $`bun ${tmpEntrypointPath}` + + debug(`starting process....`) + const processResult = await processCmdPart1 + .stdout(debug.enabled ? "inheritPiped" : "piped") + .stderr(debug.enabled ? "inheritPiped" : "piped") + .noThrow() + + const rawSoup = await readFile(tmpOutputPath, "utf-8") + const errText = processResult.stderr + + if (ctx.params.cleanup !== false) { + debug(`deleting ${tmpEntrypointPath}`) + await unlink(tmpEntrypointPath) + debug(`deleting ${tmpOutputPath}`) + await unlink(tmpOutputPath) + } + + try { + debug(`parsing result of soupify...`) + const soup = JSON.parse(rawSoup) + + if (soup.COMPILE_ERROR) { + // console.log(kleur.red(`Failed to compile ${filePath}`)) + console.log(kleur.red(soup.COMPILE_ERROR)) + throw new Error(soup.COMPILE_ERROR) + } + + return soup + } catch (e: any) { + // console.log(kleur.red(`Failed to parse result of soupify: ${e.toString()}`)) + const t = Date.now() + console.log(`Dumping raw output to .tscircuit/err-${t}.log`) + writeFileSync(`.tscircuit/err-${t}.log`, rawSoup + "\n\n" + errText) + throw new Error(errText) + } +} diff --git a/cli/lib/soupify/soupify-with-core.ts b/cli/lib/soupify/soupify-with-core.ts new file mode 100644 index 00000000..e0c7e8e9 --- /dev/null +++ b/cli/lib/soupify/soupify-with-core.ts @@ -0,0 +1,52 @@ +import { AppContext } from "../util/app-context" +import { z } from "zod" +import $ from "dax-sh" +import * as Path from "path" +import { unlink } from "node:fs/promises" +import kleur from "kleur" +import { writeFileSync } from "fs" +import { readFile } from "fs/promises" +import Debug from "debug" +import { getExportNameFromFile } from "./get-export-name-from-file" +import { getTmpEntrypointFilePath } from "./get-tmp-entrpoint-filepath" +import { runEntrypointFile } from "./run-entrypoint-file" + +const debug = Debug("tscircuit:soupify") + +export const soupifyWithCore = async ( + params: { + filePath: string + exportName?: string + }, + ctx: Pick, +) => { + let { filePath, exportName } = params + + exportName ??= await getExportNameFromFile(filePath) + + const { tmpEntrypointPath, tmpOutputPath } = + getTmpEntrypointFilePath(filePath) + + debug(`writing to ${tmpEntrypointPath}`) + writeFileSync( + tmpEntrypointPath, + ` +import React from "react" +import { Project } from "@tscircuit/core" +import * as EXPORTS from "./${Path.basename(filePath)}" +import { writeFileSync } from "node:fs" + +const Component = EXPORTS["${exportName}"] + +const project = new Project() + +project.add() + +project.render() + +writeFileSync("${tmpOutputPath}", JSON.stringify(project.getCircuitJson())) +`.trim(), + ) + + await runEntrypointFile({ tmpEntrypointPath, tmpOutputPath }, ctx) +} diff --git a/cli/lib/soupify/soupify.ts b/cli/lib/soupify/soupify.ts new file mode 100644 index 00000000..2301b45b --- /dev/null +++ b/cli/lib/soupify/soupify.ts @@ -0,0 +1,66 @@ +import { AppContext } from "../util/app-context" +import { z } from "zod" +import $ from "dax-sh" +import * as Path from "path" +import { unlink } from "node:fs/promises" +import kleur from "kleur" +import { writeFileSync } from "fs" +import { readFile } from "fs/promises" +import Debug from "debug" +import { soupifyWithCore } from "./soupify-with-core" +import { getExportNameFromFile } from "./get-export-name-from-file" +import { getTmpEntrypointFilePath } from "./get-tmp-entrpoint-filepath" +import { runEntrypointFile } from "./run-entrypoint-file" + +const debug = Debug("tscircuit:soupify") + +export const soupify = async ( + params: { + filePath: string + exportName?: string + /** + * Use @tscircuit/core instead of @tscircuit/builder, this will be the + * default eventually + */ + useCore?: boolean + }, + ctx: Pick, +) => { + let { filePath, exportName, useCore } = params + if (useCore) return soupifyWithCore(params, ctx) + + exportName ??= await getExportNameFromFile(filePath) + + const { tmpEntrypointPath, tmpOutputPath } = + getTmpEntrypointFilePath(filePath) + + debug(`writing to ${tmpEntrypointPath}`) + writeFileSync( + tmpEntrypointPath, + ` +import React from "react" +import { createRoot } from "@tscircuit/react-fiber" +import { createProjectBuilder } from "@tscircuit/builder" +import { writeFileSync } from "node:fs" + +import * as EXPORTS from "./${Path.basename(filePath)}" + +const Component = EXPORTS["${exportName}"] + +if (!Component) { + console.log(JSON.stringify({ + COMPILE_ERROR: 'Failed to find "${exportName}" export in "${filePath}"' + })) + process.exit(0) +} + +const projectBuilder = createProjectBuilder() +const elements = await createRoot().render(, projectBuilder) + +writeFileSync("${tmpOutputPath}", JSON.stringify(elements)) + +`.trim(), + ) + + await runEntrypointFile({ tmpEntrypointPath, tmpOutputPath }, ctx) +} diff --git a/cli/tests/soupify.test.ts b/cli/tests/soupify-builder.test.ts similarity index 85% rename from cli/tests/soupify.test.ts rename to cli/tests/soupify-builder.test.ts index feee4410..1189f0b3 100644 --- a/cli/tests/soupify.test.ts +++ b/cli/tests/soupify-builder.test.ts @@ -1,7 +1,7 @@ import { test, expect, describe } from "bun:test" import { $ } from "bun" -test("soupify", async () => { +test("soupify (builder)", async () => { const result = await $`bun cli/cli.ts soupify -y --file ./example-project/examples/basic-chip.tsx`.text() diff --git a/cli/tests/soupify-core.test.ts b/cli/tests/soupify-core.test.ts new file mode 100644 index 00000000..b9826328 --- /dev/null +++ b/cli/tests/soupify-core.test.ts @@ -0,0 +1,10 @@ +import { test, expect, describe } from "bun:test" +import { $ } from "bun" + +test("soupify (core)", async () => { + const result = + await $`bun cli/cli.ts soupify --core -y --file ./example-project/examples/basic-chip.tsx`.text() + + console.log(result) + expect(result).toContain("10kohm") +}) diff --git a/package.json b/package.json index b921fe1e..9f33cbb9 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,8 @@ "dependencies": { "@edge-runtime/primitives": "^4.1.0", "@hono/node-server": "^1.8.2", + "@tscircuit/builder": "*", + "@tscircuit/core": "^0.0.6", "archiver": "^7.0.1", "axios": "^1.6.7", "chokidar": "^3.6.0", @@ -66,11 +68,11 @@ "ts-morph": "^22.0.0", "tsup": "^8.0.2", "winterspec": "0.0.86", - "zod": "^3.22.4", - "@tscircuit/builder": "*" + "zod": "^3.22.4" }, "peerDependencies": { "@tscircuit/builder": "*", + "@tscircuit/core": "*", "@tscircuit/layout": "*", "@tscircuit/manual-edit-events": "*", "@tscircuit/react-fiber": "*", From f895e13e969287da23c36390f2ea0eae324acb8d Mon Sep 17 00:00:00 2001 From: seveibar Date: Wed, 28 Aug 2024 22:21:40 -0700 Subject: [PATCH 02/10] more core integration --- bun.lockb | Bin 516658 -> 516658 bytes cli/lib/soupify/soupify-with-core.ts | 2 +- cli/lib/soupify/soupify.ts | 2 +- cli/tests/soupify-core.test.ts | 3 +-- example-project/examples/basic-chip.tsx | 7 ++++--- package.json | 3 +-- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/bun.lockb b/bun.lockb index e43f24a87a4f617851d1d9e9f6e3383baceb49e8..448cbf3a94b521104dd4a51da5b4e875ca30accd 100755 GIT binary patch delta 176 zcmV;h08jt2#2>Q6ACN8}aqX9ub0tBn>M!uY+b?Z7@5;jwVS$OC9hZta-&{l`u}(U* zmxyHnFoU?Yx45+d4YNRzfUYFNfu-^%;X}DoCy|b{H^g0}9sH>g*bIu_HR+eUp;b3o z%Uaq+XPu9fZFi3{l)!HV&Kr&Y3yvm$Q+$qx1!)3@1!)7f1!)8-*9HMFE-)@Rhc!S2 ew>3Zpl!XO3E_7#lmru+F9*6A32Dj|R2SyzBZcY#Y delta 175 zcmV;g08sz3#2>Q6ACN8}3VGa{p@c}`+Lx&UbEoFdCF<~-Ogk~Kx>3#PMJZ)7u}(U* zlL&M$gSfS~xU~Tdvq0IF3_IyW9-yHisAc_DF~%%=&VBtxqzE`Pts3%0tDauSVe9;O zpX~gMgym{>0}Y_7=w_{|MOmvryqu)_R5OPKX#$4@X#=+fX#^_Q1_A&80001oH9!To dH9!WGg#|V)bZ2^(Ps|1$hwQ}$x9r6SMjR@gPVN8z diff --git a/cli/lib/soupify/soupify-with-core.ts b/cli/lib/soupify/soupify-with-core.ts index e0c7e8e9..85296dd3 100644 --- a/cli/lib/soupify/soupify-with-core.ts +++ b/cli/lib/soupify/soupify-with-core.ts @@ -48,5 +48,5 @@ writeFileSync("${tmpOutputPath}", JSON.stringify(project.getCircuitJson())) `.trim(), ) - await runEntrypointFile({ tmpEntrypointPath, tmpOutputPath }, ctx) + return await runEntrypointFile({ tmpEntrypointPath, tmpOutputPath }, ctx) } diff --git a/cli/lib/soupify/soupify.ts b/cli/lib/soupify/soupify.ts index 2301b45b..32f2a844 100644 --- a/cli/lib/soupify/soupify.ts +++ b/cli/lib/soupify/soupify.ts @@ -62,5 +62,5 @@ writeFileSync("${tmpOutputPath}", JSON.stringify(elements)) `.trim(), ) - await runEntrypointFile({ tmpEntrypointPath, tmpOutputPath }, ctx) + return await runEntrypointFile({ tmpEntrypointPath, tmpOutputPath }, ctx) } diff --git a/cli/tests/soupify-core.test.ts b/cli/tests/soupify-core.test.ts index b9826328..f0597a78 100644 --- a/cli/tests/soupify-core.test.ts +++ b/cli/tests/soupify-core.test.ts @@ -5,6 +5,5 @@ test("soupify (core)", async () => { const result = await $`bun cli/cli.ts soupify --core -y --file ./example-project/examples/basic-chip.tsx`.text() - console.log(result) - expect(result).toContain("10kohm") + expect(result).toContain("10000") }) diff --git a/example-project/examples/basic-chip.tsx b/example-project/examples/basic-chip.tsx index 07eab06e..6b58f1f8 100644 --- a/example-project/examples/basic-chip.tsx +++ b/example-project/examples/basic-chip.tsx @@ -1,14 +1,15 @@ +import "@tscircuit/core" import { layout } from "@tscircuit/layout" import manual_edits from "../src/manual-edits" -export const BasicBug = () => ( +export const BasicChip = () => ( - ( }} /> - + ) diff --git a/package.json b/package.json index 9f33cbb9..1973d831 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@edge-runtime/primitives": "^4.1.0", "@hono/node-server": "^1.8.2", "@tscircuit/builder": "*", - "@tscircuit/core": "^0.0.6", + "@tscircuit/core": "0.0.9", "archiver": "^7.0.1", "axios": "^1.6.7", "chokidar": "^3.6.0", @@ -72,7 +72,6 @@ }, "peerDependencies": { "@tscircuit/builder": "*", - "@tscircuit/core": "*", "@tscircuit/layout": "*", "@tscircuit/manual-edit-events": "*", "@tscircuit/react-fiber": "*", From 661c8fff50572cf368db147effef22a535c580a3 Mon Sep 17 00:00:00 2001 From: seveibar Date: Thu, 29 Aug 2024 10:39:05 -0700 Subject: [PATCH 03/10] fix test --- bun.lockb | Bin 516658 -> 516659 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index 448cbf3a94b521104dd4a51da5b4e875ca30accd..a14bef3b72ed4d4f19e6504f8c814354fcc8bddf 100755 GIT binary patch delta 30089 zcmeHwd3;S**Z(<5&Xr>x5@}q-P|_Mg5^-}INyI#B%xa8?2q8#j`WuYH(3=LGr`@S}t2cMPSu%R@ zL`CsdlqoYo%YlvuEekp(E+#fbQIuno6h#Lff&3DnGtw2M6lg4-d4ZOjET314QIs;k z{fw+q{u!k+6vYpy`xHf~1lkIepSE(B+znB>3UDN(Rt1Gbr95aqv-Y>ADoRD*d7xZw z-K&aH8gwxz^R=C(C_bQbfmy4mpd~@m!H?&LqqJ{S3ev3kU{G$++tVd(2h2L1A1Y-v z1uhPJ&|O+!LTYkK%*eq?fRR<&N9|#(EqzY+%#!lE8Chj~GG@OiYmZG%j!TYJl!?Gx z!w68;a)3$4#3d&sj*U~sFOb$43CcAM1ZBRVG092eMk>mdh0>;8=JQbrL(*UnMFI8# zpBI?9mE9p1<%>^okSx&N2rL^}z29P~+*(i;+X0ljGIeBPQp{jQX=!AY^-;STYs>lv z&R-@~NEkUJF(H0vN}Hupblegtu`ehaZU1ta|FWT$i}dwh=~B4<2YPgkM`^a_42me?xMh?tbvp>bmrOU7()vtLXCWpD3qL|5?1Xb;3@ z7`{zv-xQc@u9+jX95Fbg{?NGbN)9mRR{-T!76)Y=;*wKS5)zXY)x@{9%lrVy;a1iF zeWfTb0Ph7Y0U94SGC6HztTOnhl+zuQn;oABYrrd7nfT-p*-+1KqX8lic%A_BPjD# zLOwU!>Z%gJT+wxuM@3V90p*5G0Oh%NJnE^XWFXEW5rB-Epj^SjTl_$oasu>4(9NLF zgBqY*Fj7^OAkcW=dZ1CD9M`LYvO=xhRnd^!f6DTEL79L0?~2j@bghRf8d$=nD)lmu zaZyu+fCHfHM9WZs6`26aV;~xo6&VNtTv1J6RyYKhTmI;#RPY2STdp+nx%@}KT<-E! zSuPDY7deD0#pfZ38OLD_Q2p!GqI{w5V|aRc^mfDF}JRYF0lf`MDO9t>RJ`Rj@j0s09j z=Pv@~t{4rRjFWYw&@VyD;o&yWvY;P;GV>CX&H*h2oC#VI zG!T@Pr~t~9kBS+S9G5yKF*y$FNc>AR`C6NNadGvBB#cQ;X=36J1B4vIze-eKg2|gY za#X^oI7R7a;w~m{ZIfmPs$v*>8jGv=W!w&u8jMcn`V?h&u+;23P}ckaC~KV3Nb(H_ zWleV@pJ|Rs(?g^M{sesv`NKikZ1G8>L`!}I_5!X9EsBFCJ4E?PQ-;aJlo4?$Lz4z4 zD>1RLaida_mA*!FRlf|IY3qdk~F41HXuX$he>sJ zAfH3^ec(!<(ZJlSCZHTE8-j92j5C{m{#O|T>qm%YbeXad2_E5&NL36Fk`JcXLAiaM znyO-eTn6<8p3qN5?~-`V3jG}=`Fb>y3SBXx{CxCY%_Ul8#P~U)e#SGlrQ^v#`HKMEe=&MXkdqGnlHN|+nT4y!EI9)AC z{oH6f$=%v9VyC#1^%FLh=P*c8X4*+;^d%>?}1*S_+h%8s*<-P9^7R;D( z6dBxcmSAgXyASzn+RscH93%O%O>8ZFPeMU%RP#ZS|Db8apMlwU4Ps@v!AY?xV-iNj zoj^YGe+gPfF&ft_pD}u{WUU(~A5}4F2~hUaGDD>9kAPYCKS8A0@Yo!` z?z|jf2k@NRmW+|jG;_GA&_~h@x8pe*`)gG$+G33tpZCu=J3^M)2g+Tw36$0E0?OPi zLAhBkf$|Wk49d;V8ztRo6DacyjvJJeIx;ry$wk^~Jm>NWDanYmBjc=c=H5O-`8HAd zVE_cP+E87BZuT7Tx0l-|YJ^1;#FD88+NQnt(AukxdLIzi4ZAcq| zkw^C(Sc|>r!W1dsC&O9WFC#Nk`rtNnEpwfmDr4)j_Ww`r`=8v;YwybScpl`iQyiNv zogx>M=b}|6HTV6)ro4d+R%OmtH zd6gzB%1g*oji{~;wVUDG9;wbZ((w1Nk&D0ejePt~Hk`SU>P90iH&VZf^?Dy6MeXX) zlcr#uBFg6_JM=?9t);YW4!uIAqJ#knP4rGcJw>^^eh&RTpxzeJ9s)Hp3KoQ^TaC0G zk?NmD?v6;U$*YRe$_RfYOwUECh2VykdI3-eAl1kl;Lrz7Qm8VPlXhu|Dhu#CIjgXlM z&Nb#Ug)OaL0P5>17d}H#qC^e+Y%&nnr%=>X)oI+@6`|iXvpkHvY=_ozCK^HE4z-CV zQe3@eWcGBZen$T8NImv-m`4bUIvVN;&_sZ|Xoq^k$jysXYa01^k=iS>6s40Kj+8(p>B5Af#GJ zU0kW_u2iFW*3$_{wGe!txl(TPt-MyQ)GRBdesAROi`2ccWbeX!FFW+XK-@1X<#kg- z`N+1Dv=ICpBVd1|{?41yOKb*vgPS3DZ|+83nnQ04#C?T6?(fjY0kr_K3A6*KB~Te7 zFEP|e`zlhW1&T66N=MlOAhS16m(y?_jMOJDl+xV{H96E1!0bD?uDZy@j>6$U+}CbK zRCk9y0_bHRxFOWo3B=nar~y~IZ?KrM{)o?-eaq(V>-`PUfthk)1}iwUnN`;O$7E$j`%9s|_dq3s5e;j+eR>Fmgde&d0-vtT30+yAbj z43lN>tjl|f(%*$P0S$C<2EC6}p?uccp)UYpJ*3Q2Ks_v^1*}n&ZpO}jVfs|0%%KYiJ_h!S}wu?cQjBJ)aqtr z4tD4#fVfA2QXP7kbyojI{Tb>3(8Jg{HcVfER5O>N7l0y+^wcoj?;}O&g?xoQSQ`h_ z(Ab$4rhkG|0P1E{#r#doVIlQKiV3B*>AH5foIyU@=-Yy~+~{IaDzC1)H^ zJ3JFHMcW9}*w`5zrd>oTRLu5Own@iBfA)1~6M@=@{JluA{UE2GLkr2_IgtA~6Dih2 zv|Qa|q+O2G)$NwE!G$~lWW32 zz6COy0drURoQZWnQjBp9Lg` zAfmGNHBciFThu&R2Wmu^aGD7Ek40nviV)gx+loBXHsTp1pwoZm6u4kxM5lIpV1JQ6 z3n_MIF-fV{KhFPimzy5B*Cnz~s3(Bbn&p2B#BCQ7s^X)Gh*akq zx%k`A$j9Fd!&wlid46qZK8(~J9#)hw#?FE; zZPpRA*$6KPQ(raG9z|-qkD3y+lE*}cJ`7VkEOe@o>a>MvYNYl#a+X7w~5p% zNCg=MiDCL1NO263lj9FSEr4J&xN)^_UDidn^#Wp(xRcsR4W%?U$UcQUblIII9>*bi zVY(Wo4?rpiY*_qlaA;XT5uC3bK?-vr)EIICQ;$&NGo)UTs(q&@gZZic5mM|cniws= z0yXAJ8EKVIVzxF4AY%ejnCrp6n^U4b#3{{oiYGqi=!?`yDtKOPLTNTNQrAvPpDoX8 zO|>=UBU4>X&SD@JDGfxg^SwN&hw29$YCPp5Q(KA5NTUD?#B)fQeGLgUDAyB32U0#0 z2+|?pUI|nGqTF(*Bm5%d8R4&o>En@NGkF?O*j6w9ReFy^LoUflQAXaaKv6Ev+Lv8j zg$2-XAPf==o&JTlLps?kdVyDyWXAm#-+}g(ts@R8the&KDb#5%<7h zq#teKfy6KoRF~d|OM?Oa`E#hp14Wt4*;*D-5tLq%2N{w0uUBza?j7JnE{c z%2*LN95$B3LwYk(Qj%XWRe41`#lV$1x?d@#8aoQYwa%U_6#VL5a#n??hPrAtXaiE? zD7-2xRjW9(r-GVj2U25&5?TpWNs^CKkW8WUDu^EWevr|lq^iuMf=W1_Kq?akEJjhY z)lj!mveGX~smd%Nq;qMrky;K?V}z0~mO)B1VJT9=1e$wUZgIiGCLT!0q7}-i$}}qQ zgL;JIAQ3I|k&spO4feQGZD#g{lYIgoqq{a&|_mCPWO1$C=^HF$n7!s*b z6kZwXH?71C=9;%4l_(gi+O2L_hSXTviO}p(8P$oWc}VpVDc>rv0;kmFl=dQ8=~>n6 zVs$*_bH-(44C9KLc=*9g(qdbY97#Lv$gF0zL7h*|x)_VT)m3E`cNxZ?HxEMdUjb#+ z#aR3VkC%z6d(?m(gxY^0^{L3)R8v(Jh*XQ`g%KZyY2P6gM(O3@4YgD;$s@L6|Gf>U zg&17epK14iFmo7T>I}-Sk3d(9oB<%6C=Eo<@>j(^0V8puL)}mL{Okca8{k=w7gTZT z;zsHu>>7YL-l(JoAi~_BeCDbDqADgzM5u2N$AQ9(^vhxDJCxfHl766k5dF70s@RYs z@Mb&o(7LL*70yHCnhL}#6lj1D_!UqKBfNi@Ub>!a2Da%RJG3r9&1mQAXe?43Krw|K z#P$=2=L@lG(<;=5HevzY5h-4iLF!b8_8L$ig(EoW+mLK39`Nq<4iFc|Y8D5Jjqn=S zEQEPJ5hy~0ylqIyGU}F4Pm>9YEieT%Q01Og>yH$UC!qNPq<{KOsCCY=$gCHu!O%cgQ(?BTK#`&yQHvbv zE=mi9oxSiDnhVIqc{d<#j$8!20ffy3PH;Y>G%UAWq-R6@7MxET+aqM^!Y%Y1SigDwBn61 z*hFUyLaKw5fJt`)5U;IOit2#PHV`)3-NW<%hbkrw7#^}F0f}103PQ(WndOIAr~CoL z3pV%&3|BkULh5FRI)u_9(E4|f$(F`K18(;nP(#`ojY#W^#M2gdKQ6}*+((^BICqcK zKSySmC=&ItLw!Wfrtt7llm?=me+i>QG^Tc#v^vZR&r1M`pzr{A-Wnvk38h$n?c+X(%EJ;?7sa*fRGse#wsg(wz?{l#4#3|mOF{5K$WQn>@J(E{a+@OPVdA|V&> ze4056NP03?bqI*N4*LU~Ix8)uyLcFx*dYR#z6e_l1L9={_D?_`12q#`sC)d`WhnX=GUa-o6|LP-Dk^$e z9|%`fEl$Qh?V#X3n&vBy`P{`W01*56R;0vla)ZS%lX{vdms@!40XRl zEl$p^C=lLRYAdD^JsF5=$LhRys3!o2B&pafAhxb-WXQ|1k8l=`P?ieBP9cr69*AAb zQ}o{zAk&#(D!=H*IeP+0Q*ra=0CDB8)m9GM&K}TD?;@3krBM;uD4K_AF(<_X@zz)v zSI+_BF(;$OeIT>HU}H2@sD!2fr2;XhM7cn$1j=F3x&ai*r#YH`H>e}db$TPk$A@Sh zO1}mqhZxML=K@W{GuRKW(MESy#VHIv%dnw-iSLR#VL_{Cdmr zi-It6oQZ^kXzPHmxx@?18%VJgS>Cs{O zMx;cbqs*7#7|u93ON%#HdP)(r5r_{@AR31!)yNr-h#oV9r_k_tOwlWmWKpmurs&f^ zY)C{@Zh9AdDvf4KfPg%LkESo1vN5r@Ig5V(Ej! z^eCj{#KJ*qu8CyLhk-b}NmneJ=;|prbUPq64Vs73$T^gsh)E}joFhQ~q%;t%_DBpE zasJVl@{yruaR$pHH33_KeUvs5+$!ZViKcuIeO{7WPv9&Z;rS;Z)&Qe+b13B|fgyI3 zR2U1IVi59>oTHH2X|!t@f&u*&kl9#lX^sN5rGnltw=X$IgS*=pm)MyOZ4po?AC{?y zDW4x#O_q8h7QT$nD=2LYTC)I|*glOww?9CVwen#dajfM`hW?W&4MfjNk=+iL*zHhn zQ$A;^V`aeB4fU5$PXM+YMiG|IDL_2J&_aC5v5E3iz~5w?weVH3pqNEzsZiiFGCNXw zDio+a-ZZ2bCP_d%Ct+4cS71IJ3w26RE{NVDO?|DPAYyC+;*l!Rb@Q1{d6Dqz^mHjrz)(*hHnI88XR?%I!k&OE$b<`v!fye2 z=ZOY&b!ZV8;i`_@!_~h9Vtvuc--LQjk-Z@1D6K6}2Pzl`OE2UkxUi>f z4<&B_^12(VwI0}OWU^z0HwIr8lDv+P!7vXfP?QcfBiqq;(#okqhFr?%bhG(_s zUv(|+F{Y;g$@hgvkrI1oL&a-@X>ta`2%aRsFw_UzPZyxS031CUy=FNNqp3gx`58r3 z#3~kuSL?FN>P@#$CSKYCm`h<4^PTaykoY1f8%XNT6{s_<{WznxKs*a!4+)=G3B=Bg z0Y4Jfdj!aPP=%s!B%npSj(BP8oE@f5M9K^_kbzyhR9Vc2Rc0ZC36**22*93;hy=#H zKs={Q)M>WW8h-W`ka$LU-0nAIM3tPqfXu}QI6nlEM&@#V0Gaz4G+@Xab7+Z(rEdi+ ztg!f8*9Hv*`vb{mYJR9EfSi+9=AS^)U@(dnF%O+B7WGSza^>syfLIS{x~B6jv$C_U z04nUaD?nToycG-g$ShaI2o?(||8)$1Z*tB;%oz73%2D_%cxWDytP&Q6(V_UxL2OOo z6;;tO#TKaIyDk$B1QbgU@l?wOjHZHFn0Ob;)riU0y(oMaup@Ve6nYbo5C2WrWYObL zok7ky(DSRDv^i>rGfkt@HzW>waJ_A}VbxcE^wqgD_Ktf_AA4(5*VMP)uU>C_nTmHt zHdwiJV8fnwFVyIKqGYElecsN0;f?0Qwj``PaXrwk-I<{!xaDXG?(I9M+bKHRy|a2D zXH~ZQRTVLPPL6wqdY4LVM{d=ee%sxBRP6!b8&N8^-MvN5&Rq9L9_kv}`I-ATwR}#< zE_a;k-k{!l-R){!O5N+euGFJl@?+T&yYWRc$3dS(@49pWMT=!}HNzp)8gC+1=Ca#-}+WkGg;5 zLD0j4E?;tQq29=;e;J(GU#a-8mg~t-#nYTWuDdVLv`6qZoof<}GY&;RpVROw_mv+1 z|L_0C0!eN;OD}sY=vmB-ziv)W$!XkFb8BR`evKV5>PDyVex0kksSN`f24LD&`cc;u zt)n`ER;6gcIDwv*qxrZ8;bp*$6wMd!@dk|3eCg#KT3MRkQnOLDNty>WN!1#u$7pn_ zmWk1MbD|bZwZ|f>9Q7FsA&V(94TbKF(<<>FvtLdWrev0)3+r73y>YHde>A4AMwS}_46g*tu$ zl1>?%Igc_KiPm`2rcX2v^=+y?5n27{Y>wu;XsgzU&a=K{$7!9+HrcJ8p5GeS;Eg^P z>t?vA{Tl`Z1_Ua~T#B5e`G&ZDvtIFo;lbBy90Wrk%!=9F`c?a$#b@hGSUvqmvnaMU zZE4OVnC)#UlMb^7P``97Ot2UZA84W5=8z*Z^F|gZbXs^4eo^&D; zx!p*gs?}BR<%CSd`y91BMZF3+-D%#dTD;x*d3wX7Ba5?q(nDCG5UAWx8A0Wyp}7;O z?lcIQO#`N()NEQ0WVe2d{@&{=Yu4%XP6SFdlFjg<```<)e$~Eu*x1yxhkdGmAt)d) z7-Fs8y}!CC?noVH=UlE3MX@IzPwB6rrY*GjHPqywN3TIY>-X!YT0GjCu>aN;um=Y; zVvF{p%;{*>Qd&P97FbJ1rlW96a-RYHUS1+&>LLGTUw%6(@h5iPAhxp7m!fB&RdF;CGc0X!kn>QVrqg7Qk%4&-Ihn#Px z%>k|gK@{b50jZDO`apf!uVt$(ELP6VO=YX|aJCVv1dCLUa23j=RdbQ|4h1$t4TtAy z9iGybAS#!owS2r8Rx2OZSk?~@6}5;mzF5Jh&esO~N15ZZv{shPr^pGWfl;=4Pmy9) zc9hE1hx$Lh`84%~-Jhns*@2Z8XssR-UDN6z>wbXGmp1(3?o`iO!n1<|g7L`-tyqA* zi=ktUZNBPgy0$>LXY?Y?S6@0){@(Tz3R?)9?WfFzubpf> z5d6G=>c0iAx6#J85SgrB{QsWv!UX5+S{>0Yb4Xiv1N>}k=y>L}eD}g90aSpZcIz^N zJ;SGcyy-}_=fDsmovS?sF4i*b{nyJM&?UXu=V;GMzVn66IL6@R@{OgCVEr1dTJNut zy%PI`nG(P-o75#xav{CC1S+qlt4m;;4WunaoXe$EOEKbvj9_&t)m(o>s@|!L4*B5&~DSNig)!%$jCG(-m^ArUJY;yZB$)?oh zh$z;@3-#}8Iyri4#V#g0#-~bqnZdegVZx@UX`Py^>Mj^W%&9=--qzwntg9MM_`KR< zSn!=aV8COp(7LoCR=?NkxjPfvi6?>l=oYPi8@gJzGHjka@WgM|XY4nNiXeF5Z8X}t zA7N6X`o9cq>dX_BHw*|tM4|K*=yHQLuRvoyq=SsM(xVlyW*)__1Uf=XnQWyaAojt# zWw;xfKWU0bWOnO9HIt~yD)3FA=v4@J+jEM&qq(c950zLA$^KMpH6BJ#@6}pe{nI`2 z*LjC%4j$V50ezs$yfqn(rUgyBY^sN*pQgOk=-ywb`MYrTI+XOTc2dpCY5gADSq-MR z_t9ZG?cAvOID!@HUWMQ{V<+S-UzzTvdheINceHL^XuZ2XP4uoi1{E|429C@o)u7N%0p8m*(JT8sCm=T4>S+Eb+tp8=B>_@3BML9%ksQ=jc#zY)?E! z&}=4;DJ9cp`KKx<#<*Fc={l^TMp4Wm2-!=ckAm!>s1HF-(&mpqF4Ki|Aa`jVXZljs zDb3q21S8kFU!wI-i7o5oJH~wnnbtCP|Lfj2dn=vA1Q9h#vRDTPs@Q;Y5@8CqiGX zF@{ANIkWL_I>lvc-LahCkqwPY(G3uL@AESD7xNn6HStQbjW9W{4>3oqqwsAoSPu2v z2KIh5dmEZ-Za3sUgG%OTQ{}G5SFK2Ea|9o@1V`j%L2P|0(fRG#GSf0xxl=C0{O@)h zk8L;V@XqLu?OHMN-GTU6xYO#S4xkk~p!WvK-2r{XM$3mhKGlZdwcZ7r%{RpQ`SHWQ zr*?U5K-?AKWn$o4KU5C?e$U^_%C6#g)krRuFVfCW;h@$}uJ@j7@q6Z_iO++9r*~NE zHr)h+T9Qia)aq(Ye&tgLHCyw>Iwg81Ry`e%!`}y_QA{bDZ_XP#wM5l!{WiVTh{XFX zLwB!%ICCBp0n~@;?9wV@ys7NK$0=qPI?VcAd!2{vY9*~M-xXyVi%p7hmp1MKpN%?$ z-ELhNu{Ppv?O)dY{)U?xil*SSUa3h1;Imsls2|dE`Sw$8zb8Xbploau1@4BRuGD@v z-2Pdr_~O)k-9=Z0Aq0p_b-M)SjHHm4Uk>W+m^Uz7=5H-WyD2njYeRs+pSAAe#)Kr$?ZY! zds+25;M=Rf5MtfJky~eBl^fd^U`KWNio96Fy5Ga_&xq-Mz0+M$G?b^n7`nl6WICON zl6LDNl1Xna=~CmscORL2SOOoV&S$`2UHsAWTGmYWt{*He)S()U-U~skXf}x5x)P<= zE3fw0u4Z2?6f}ckPJ_X^lqDeAao~&QoemT-T&C*ZK~QO0aRMZSmL3NgNKv1IOs75| zcI#S_owF8Kopj<8X^B9dh)>fzFoan5m_!ARTfX3^U$;Uv{jbTJN-9@;anO(F4`DBD z%{aa2EX%g;OsW2he)-o%vAiM^z3WgmQMoUm!wK5;H|Fl9UtsRGE@0WwC+f|-`K#|2 zGW*j2Fo(3dE^lmU`P0atH_nz^SIFSH)8&(me}~@6b4?DR$|72iqIT;Nm^D2PY`VH; z;va=Y&(j4~q$=HKKHMrJE|s~I|Dai=A>pqS@+DJ)FQJ2V9nGL(r549gN`pcM>%y9a zA5>bITdhW2`2>dq%FmRJqV{5cC`vVWYt8XLMU~q{u@*y+;!m5wp!T7I%xB%0GyRO? zs~5_hc&V_8P4tL$u&&t2bkuL!KWI~9OAr={H>Hbie3(+PN4bQOg+*&p$9<5^*Y?za z4tYOUUAdwC#1n-KX_N^D^&?u!eAab9>wnDkz-#i0g?x|b2s2ps2u+yXr1y|tBCwbYHBhkhP0bP#VTO=q%hR|<)l_u8QEmOWSaWHVi3+17PTpQR1i`tgU& zPZcser0NHtLrn?;v0K+Uop;oo)h;J?Rw3VbN&-WOb-`5Qp*5G}fB8*^LI&#!s+p;u z)^cl8Y=oP-?=N|$-)-8-vdv4YrtDts_h@+gjOHkcg9|=fXh1hvhnK0uR|t6KqE9a8 zvFs{E>kgv0bxGOQ{Hov2pYrzhvTE=hDPM#}Z!IXGu`-JCSVS(}2KkpFQYLEb_wS-7 zQ5G1m9)Jq}CQsDsWfK#nSY~;V{~^uqDH^o8D=$YeSGXss^I=qAF4`tg)G?s9=)fUi z2(gm;g;Zv_PJv&8l%Vz?cIz1a@V=mkeP^0UV>FNgL`e^)#anvbWizec@gh30bcNkzqq{NFOo{xfGP7kYd_UvznI zqDWFPDOlbAl*Q^(OPTUp(`?=;6k(xLN3q~8l4T*&&}%9ETa=O$fmO5YONulxAeS=a`hTXb=tZ(qEuV=sY=xE`HC_w|5&(*HNbvZ`|AVF_-7Lvitn ze!fc?-y;S(%ou3Rzb>X{2{fncB78OxBV1W5|6eA27vHn0a4`r)i;h3jpkhzS+MB$t zo;Q73?m0DHO_`fsmr%C$ziib+Ntcg5qq?VhtX%07_0cCRBYN7UiLleNS57Xzf7nU% z9S|wbe#woH0H+!kvIU!mo|5%){ zhM$Y?A6h*T;j9Akhyd?(GB0RFhNJ8~gcR$JzI6k0Qs?YHF~$Bn=`v91e3fjFb+ zei7#ja#v`#E+*Wy_k%wBw|vhp@$jw+i@CtobnYUGcBlM{T1$O>EqS++lQ#Z}+-4NR zq#I2Hv0Jwq)@?m^LFM+1Z(2fvg9UrA-MZ%RPTQA0X!dm&cDdG3-(OU~f~J$tB^*^g zo390BT*89jLe9sRv|LrKK=ZDmV(T8i5udM~9Qos^XdIpM&K#$xwQ1EA$PJ|Rzk@WP z>VJT=rVBvi`5VrWtP2TyT)5t7eXD?l^7Rr{EqG10;)YhSDmIbUWroB0G*hqHZN?6R&-5EZjW4MbnurrX|EoB%k_|T7Lwl}jM~h|^Z6c0-SwHf+hBv(* zQ0z6B?n9z$cm+{JkY$l6*C8*PqHjEDD;y}n7`_!egXBeH`K4-PdpBK)P1^%HcmoHN zMGM`gus=}Ma7tox=g`-Gf$XN6j1ExVP1wr1(y?V)vn4z7T9$&Zz*NDomdPjHruy2g zD;}#*u__kl z7OBfDMScH-UszX1zEk?G+|)Tcnws_E>}WWN3S~QF84P}&Q_Lq)D3!m3&^(Ol--33@ z)cO{5?Mo9Gh0(%WI93x!KNTtemKLoxr1r3p-MR_#?_vkW4$S_jmsu+uIhr!S5Mo_1 z+3Taee^yWIa@=eR)Uqy@Oj3$$;bQtEd8RUbH(} zW}|cX`i9>(^gH=|(y|sRes+!>07rb~Z#*fEC&r6(Jojw)0vzoirwnqaUOSjkoNCEv zr_zl(*!ev5)INyAVMz-A8@9I7=)X~QeVPsOj4dx}SHyXTFTOFwMqbt+0ZnVFA~l3(Z4AZ4AwHN z2W8(!2mMS-J#F>K`vJm7FN%JEtX1^d1Ds(_qGAO=?^9R-hKa0_-YGx~Gw5ak1XZRI z55Z8AA|E0q9;Lj8$P^^lZr#7xBl=*cn6g{$U%CIyWP4a^qYVmd^vG$#9-+Q@c)X!-%B&hNPn|>)~!%tl4?_##*uZpZX%fH2qTvZ75~ygg3_prEF>1$1%7JmgcR)S6T~8+p5@`<2N6|hFO!& zHCs83ze6w`WiNeQ8r6xVBc`Fy04H{UY8hlzCOe4zpRZRrZiS-jzNF5~cY+ei*gD#O zMinK|O+$X%`}&qG9|oZc^D~MDbgT^eXEbSLK_35v&6|dnwN2-jQ)SUt)-A2^O2o0> zUO3Ii)`6I35d*AyU3YJq(yVH?mfxCB(1a2cUJgoH7sR%CeQBwm_BQ!}8St?b20~pL z4F-HZG@HpIDpek&4DDhhpV6P?Y?aI>|5;E)>Qf%AXh8Fr6cKB;uBUAf{)Wf%`Db9K!t;;E{NT_c6RQnE!_*!k8q$fO=Y7272v!{w66lBZ>RgrZe1?>Xuj235L>Ye3hccP; zh#9Q^k;T=L)qG1#t;OACdc?QX(Hph?lqj!9{h>r|>x%uGcLoE_BjFy(9m)g)&h3^m zsZ814woJQqhpS$4!oBQ(^!G)DfsHZPUZUuV;A=_4D?-;Ulv@!^i=}JG46$y!ReO*3 zzr69{Jd`r~ZQlra*JsOmr>{iJ?pxMP{R}zm!)GbX2QGevp?v9fnvVD&hRP2zsm61* z#&+vw+pWd-CsXh1#mlD z>QsC%d5$oFSdiyYmai>7=>}PU7O1%T5a@FBf`aNBjqPN;nDEIhih)%-m*E7 zpI|+XCF6CfU&)qj)=zgU*%I+N3Z!|{1Uu5EGDk?Q44p6^R0Fw6A(d^xA=X8-ddbGq z4_<%e9Dm%0qa?g9v+lCBU#!x;RmB%pLsRZed9>uTZHO8XD*xb_*& z#>MxZi2I+>jVkEbSac5?;C6P&MbjU3;fVpYIpIInCBZE|m}1}D>unyZI5KyNjtH*` zRW4D_s_3E0bh;`kyiZYn$Sg&Dm{g-wKU-adxm7@VFn+wlF433vB3D=O3mjer2GHMr z=*g#<(r#UG97kpHyV~kuk2M*qKJL_`WK@Ib`?RZ?t$N6l{#;g_i=XRoWhq0)#KmD_ zb?b*t)An}lwzu#}3-YdxnV<)Lg2Rj}D7Lz-Zq3v9wG~6_-r@J|m3aHw?r)r^*@*## zA=#8RS4Z2rQk9w@@#LrpJ(g0r8n)_o>(1xFkH*!gw6V(NvT!7`!;NzU?wc!bO@XH_m6_VibrM|Uot;|OtJ8PrXCm3bzG|=Bx z50A>cU<-E12%=REtm*he!Y3b@I*acOpas~^uy0# zX!jRwS6SLu|DXCk)*&t(Oev=K_)=yQROk}+D8O=*e|U&l&}0?P^emq1G~lIwbc9)z z_)z(=8b!Ahk@loPpVFVf^kbo;{(IBR`W_z&JTTBu^J`_R5iSRNX^y-H++Mcp-Dz7^ z&n)x`(**z4JaagTZ=-$jK~uk`sK?Zy=-?EF42CL&7I67zJ4z2jIWbiEqc?ow%}X(S z$^8#)pYe4uCd_~Nx)?z+5JS~vIn%^0H^4ZyDtfXvih5zuAoO3f`tg2ng`}r7(52gd zZ}ew$^?$Ih)zJS*g|a65ulS9e7lP-f^>0NrUcMKeg22ra6XqC%+^755|D>M(-kTn` zt5q-k5rGA|>0nQ@u_j`wSPSYi@hd(bwB>)?zyCJZJgw3v+b><{zp-UuM?S01iiCGny)4G4Z^R3;Rdd(k)FTKyNsFt0sWjZHKFX_wr7%n%K@KF`E0?i4!gg|qv~x@?8r{}mG?U*v&(M&w({g(flGib z>rC#F%FAB&x(UpOEZ5d~mLEOh;(ZSqjba&7@sS`OQ5w%bn(o&2tM{z`mzvwI*T?#w z*;nt$=UL$AC3W#vzxX+JXxC4ke13SKT(6~lz45`+@s~nQ0kgIfM|{`fe0)%eCk|4Y zC0qeRSum6t5bg8ATdlsa{tp}b+y{T?_i4|{i}B-gjtg#eUmLJ!P08Qa1GBnZUQsPiFP)fvBkVaxgbi(;)R|37KhiHM5`H53U+#7!E>6;lmWVxEZzLI@Hfh$L-MREdLCR1F-{1TD>wTWL&r@rE_E~%Fwbx#I?ctoe zv-vask3RFC7Zfn|3N1>h9rNLDjs7S&-Dp(AwJ-O0#bwW2UX5lwceY=v+N(Box?Vc= zjme7QqbON3K)pcIK+A)UONfh4RTSmxDT<;4Cn3KS==2OlDFYghXWpRYr^@Fw;uNJE za6coia=pwYxy)Q~>Q~R=(^dMX3b*Iw+U> z;AKTA3;G5q^R<0NQG7w?0JBorprt{lfS;cm;bkkwqyVty@u1wIWz!{Y2h2*H8!nlh zz$JkXxJwI68lRFHH+qN?XylajRl6JSmp!YO$dMIvHFC=NX3m-~tB+4fNl1xTlu5u` zLlP*fIl!dj5>k?rCL}0n3#2(lfpSd)L78uOTuO4`&~#Wtd1y!* zdxM#q*$r}0zGPNYk_Flu!R4I+{T55*)_}6u4xrqX<3}eY#|=@GRz^;FU$u+ze)+n= zbKjIIB#s`MlsIg7>hnvb=pjp_#J-?xw0+BDekViqa{AR-;ZitoXj0rTKVWu(vPN$& z|4i#?{HP%#S#9SkMe)PaeyUVods|Ve0w2ON?$wp=C`ujB;CB_J251&=0BE`Q6s0EU z8SqyG9fEu=*ACPU8Vp()^zdrQUj-Om&?U0Iwvk<-Zot(I(qN<4$tJG@<-XXmQ8sRs@kIsyfWJ0L zlP91$9Zwg4i)%jnk)%fqy`ulKCAUa4DlRpCc)~cvk}(V1>=%jau@!wY+XJx~ zMr@PXJAt|8nz>TTQA5H4hbK%_wgGc~1yF9K4$3+tq>N8ZOiED{6W`b_^8+D=TNwb# zgQg%)>h5FWejf{MN@lIJNwa9i^@?>f?|mqX$Bi2&+!J)z1oY?);#%=~J13Wl!^pM2S!%_}?D%E@+`CM*3s4r+HC^y$K;YeU_;MBNrkg6Eu?Wg7% zo4ozKqIOHghsBK_mVie;8t1)xwmXGfuD1>-%R2zd^~Q}EmpnKQ4g$>PnGbPnJ= z(j|w1vKC!Ixi!C_Jk!7fGT#o$ol*HKsr4~n$jQvQg$#ah474Wbc2FJ!ZlLVzzk`wK zSyRx>FBPR8@NUpjpu-YIr=*XLSK_~xa=L+Xvxg-GUCn__TWNITYDxYI4EO%NzYxze{~^xFM-YRV4&;C~!m2=AazctAVmYZQNDSkUww8^1DHqf7bkMT>wq%Lw` zl7M{fqI_Vs;i zLAfi&fU@A$pbbFlfck^pyCMZoLwUBqabVF9Q0C7D4Fc_H@_ALwl%{{Tsw&1t9X#L` zMM3}obwymRGzey|r6yRRo+ipkDoT3t!Qfpy@n=JS^IR52`L zfGZ&X95BoK6ZJ6NHBb&?12W5>@nn=D8pseXm zZ=gshfVD6H;)=cK{E1}z7%LzBk^VgoX~f236RW8`zF zz6)Fhv@Qu!5StK81RRQJpb!@JR z0df)44|r048NEy4IV*HKM)GxUAr-o0#Q6K_JzGk&!ie*C#9Y8Lw&fY{vTfdNEp0v$ zE1$sRp^CM*yJ8Z<(@YPqCn)ZaIzG{jwvqmR%xbba`WOa|x zE?`(@DU@!E($4OxSUr9Evz%<6M|k78G8Fl2;KeWfkP6<8J+y~Ov{>M0+W*C<5CkW9juk%PpFIQ z9Eyzv>m;_Qfr%;SfY~WJf^y$EK-pOWOj;V0o#bv`*@wS^^635+l;yqW5EjhLI*bhA z)V%kFU~6gnIr7=G`6dmClYCoDY%P6HLP2g+i@}orOVfxKfZ2FK@v_{InF%ZRZUtFl>M~qP^tR^VAlOQDEIz7lw(mTsp(0H7z94U zWScJ{pWAK?JZ-pC&05`A%flPsM>rjvH9AptaC+P*F*1(>vrRgTP{ryYVca+#n-f1c zCr8+RJm)GsJZEDcROO;=u<`6Obu+&oB};t{%3ZYql+}*~W$sp> z+^h&t9wK&7ZvL(@(w#PdGT)Gd!O7!C$0t0#NLz*HTs|>11(9}if>qAk+h;0AlcXO8 zLNKfSTZ$BT8kGI>5GV^6itTP{0)iI!xWe({6Ga^SWxRa;Jt&*!04P8APm}Spv`Ozy zkctmZ9FiC~0^x8XKX->O8L_o}b*uUf#@O2aneUpymYTHXWU0)2VD`V4L0P%6plpq| zrpQVM0HgD=hGs}>b^+xe?F8j~kExPB5SYug2R}crj7gsdQc@yX$P0!qkiivM8`4lP z^60(=Yq1xd%aQ`l8xeKfY+O^fU=z6*>e3^ z8I%Lc6(gpuZ-8~W&~A==Y8^`qc}JFxFw*P#t3Mly>o)5BdyX{Rp!rg>W5DdkX)rVU z`LBi?O@~0a2eyK8P0K*Jsnbk48k9}j3zRi$u{oe#-#Ka|WhAJP>N+EDt5f@RvZ8b~ zqBcjW&5Vd`PIZQnzRjtBJ4LQ>D;R2Dhg#Yw#FOWZh+L;`WGIRQvJ|6WutWXQ$U~mr zR7H6Xd8!f9)uDDZBDOo#xkftvJ!s@@cWS&mZ)0R^ja0`O5qVB^y^)^h)PF;6Un!|i zxM!B4VA6z$f)s~-0O)xsaGOJ~kgX_@KtdV4BT!FStiMBl2dKA&wEI9UjQa~B)y+ow z4yStE$lKx6BVR`KLR!I;a8H0%q5yQ&?*Y9a9>olF=mTF-lpa9tM$7<*z7>cUo2rq0 zGTalOxhST_I`q(KREqBZ12x7oH-js%PnU+$jF^57y*p4_ zAu}7C@0rgOHo1NdsGqA`vl)sKBWmDh89-d0!ZOj)!kte2j+y6S6l`^9tzJb#jHm&T z`fjASe$B}4=}@a1g}a>E;F)YCe)pe?RUNr6(L~5&% zdO@Uax>C;BR^Dt^>Kmlm3%-EY&@Pcmbfq@AQiZNm%p8kvrYm*CmGXPtdK!mR8>x#c zb;XqmoohW!N2-?rJDh9UxTx|Lr((g3d+HR zgckR4Xa-O#Bco@e{tZ%LD2e=SY`KWTPJQ@dX=$60J>8*g18QaDFN@UgBGn$e?nZV- zxaSgAgA2kv0HP_XlG@D5#^6K?e3#0$mN2r>g26y$p8CnCdYGOq7iPXxz ziMAL~T_e@DM#NF4z8IKWicp49CxF6%RLY*BhI=lv20wd22Ow#6Mst8-NQ=fsnHjoJ0^>c72Jnq!omSgN1QLjdF@1Ah#(}885u`eA0;wa;3 zuxVvr4jX}3BgB9{4)unSchadhUTN8+;G{zxWJG*}HX<)XlwyB5 z0L1=SLij|vRgzzNdM_aM7ogq_Z6{D0wwfOBw)A%7L&G#6?kUw!yE?Re?_jTJM4fKt z`7U;0vM`u701dL3^x*ffGPDHi1`w+N0q4R!0eV=)w7}Jh(#^>4AE{>}WsbU7hxP~1 zAS0?*GtV`Tgk9}Tp!S0O7o?co%~0=!d%kb=9Jlxdjg0Y;di4(#r5EziAE^#)0#IWk zKRr^^dcwQ9WryoO9~_8|2K3K(hvu z4p38Y$RWHHC;|vW5)0|9IWMfU@B7K&EhB=cn$>jA{Z z&_$VfKt-;%AE+^&VPM0g`bXB#Em-Ezy8>}JNI@&+0I~69%~woRf?`rJz&2YQ!&;38 z3IV5Ruf7_nArJ-*0?aWW2T)0&OXV$(%IpWkR**H!2kPuX7l7Cba==vIDlIBGhXAn~ zi?F7x2Wo2M$42TuA!P;u9Xf84euYl$=g=krwG~5RH&Sdv$m;LVn&k3i$eo>q6l;SH zT^DYoUvlcocFW<|9&LeS;NSrL5)gAE?Dlr(+s$VPZ?Nj$E>5;iSf2EI**Doh%~4La z>nMK0}2O{ zdRF*Ew#dU!hlG0qa515#mIV|d%=Hmc&5)0%hFEpS$h+cHn;3;xoO=0BWoKfJI_}WB z0rA*Er(kq00^*9`#Bi)LK&HAdNS&QhqPvKUgMqkV2q~B~w;OraGW9CE6s4WW%iikH zX9CGli0G_+1=K_Y4y8cWff^Aj!c7GICm=ciMN4haA;q3)>+uW{(B&661um?wehBy2 z4eN{SnMkoei^)p8vbpfaPB%Szk0p`2Y6_6l8Xc}31!_V0ZfY}+&rI1`Tcp|waf^}S zZ~$>*9r{_I=YU`t*y5SJ)^KFh4T$xDEfBX}1!`tQrAF$XaSHj;6_n3i4h2nK0OAhD zJlGq00f`Q#>=_sWKr9dO3oFk{Kr^Wk5q~@NSzjRX;|anSY<&@^B@hNiu0yZ?r8O_9-#he4KKr2v|28rT@$Xb4;=WTWanKx+*o@@ecdB_tA^!C;A|5!^fkrz1Eim#P zIJNtS6lEMm)r8d#qt!;#{YdpCBmJRM+xfLAK`V7cbn1ghwZp;))v3O`FkN+OdytE@ z%l$~r_b7T!q(boyL8v7SAAM z_BkX3P@X4>4x~aR5TrxG$waAbpV2&qIeYLm4b3p&#)abc0{V5QABA7sz>P{`jWF&jD_9w z?|`^ZLy)k6IblsPp|o-6o3KT-=X%Wi1HAyg3_6sqdXA3 z>QAzVWXu>@4CMkzcf&@P^1M(>v!5Z+h?*Ixry<3L@-$*F*S+}*Jc#Z$#B%(ioEt?5 zcHewap&f(NXwOSlAMxs91P}%ZhE9LVs|YPt-NJfNSb^hMhuexW%7yj;v9n<=fLY7j zQIvRoMyjXkP{&ZAx9ar!1-Sz`7yqgF-^L02cZ_0v)VkWBzZ7MH@OiZmFKmSmzl~IL z6hVN7;gjxy1IUfkY&F~iXoLu`Oa6vOi~Q_q$iJs3Q#oIohg39Wl;%N(WC-t8H03^f zZPf8d-H8-ySyBwBRY1~?>L`bH255j#rr85UNfN0wNI@`$P@RX0GDf5pA(bSCl^fcW zN>Qy4jgW$3;5&zulrlzDmFXhyHd2#BYK)tzjHaj>D1p>)&QtqRx*a{Z9fHJbm&&sIEEb;KgvS=mcw?qSw8Yfh&R}LxBfF(!`rwkuFEpIjXRitFu z3SO%63f=dIc8ic4EaK%~NJ&EvuAnOMqF!|`<<){t!4+Y8x?dgQkeVVCDCMmx<7FGN zkj$ctdU))kD)TAICR3wjUL{o-CK;C_`Ib;M%Ga{+TBKyXK9yCo`?HanC~7H0YLF<= z+t0GzVWh@TR8^?&timm3@7RP?l3=W6w|ZeIQqtg#s;Evp-Gx*yk*Zt`R^XKSCZ#`% zR+gwPde~2GMum(o0*{dO#QMWb(qfyDl)e#A11Vt@ifDi#Svf#eR$>U0z%caTv1tBx zk8&DdNao@3o1*6KHDLy!^-ZKc5qTSGsmcP8YWWOo$e}_%fm9>}ih!dJsjZ6n9^o|= zXKO&M@C-ZqAr7q&2(yO~sZOWDK*Ty5MFfF#q;wE{UR_n}8xU3}JJfwt$j|tU zy`CzLVz9)(A>tAs4m~QVK?pWisgQXZKC6n^5|hGFgmR!rBjZw}x{~r5L(*v~1kr!R ztIQWs7O@u#O-BRO+#VMoh-CxuVg*6>e7FZdD{<;prlD*FPWm=G^jM%4f=NXY11LtI zm;>080`aT?0oapQ2!ujnMg0O&yhcOQUUF!!00mPNf|R}$$>!n#Z)tAAJS*tM@$w-aVx{6f($w=*Gq?#KUyPA0-Q8e-0;cVFq940t|p%LW|!Q6tBQ|2!Y zr}S``xgy?BGpk&wcLn06$c4~sAnY`7u9HvcSfc3U&~ri&UK!tZAr{*>%=K)rL!S%8ZUE23$&KC= z<4u;^5bg=^0s|`Oh6ObcFSgO8=!GAEu>bBJsRue#F?qo55C?~q6^nI*zSV?i5LPSK zfOz4C#ST{0wZko>ZgQvzlpYNWtVAZ;8Osd}n-f5?P83izig1FZC0?Sp5>ntp`V1hR zyA;Zv1SNrZ45Gfx4)p;=G>5|{Q#y!t7B9=?$x!V`*$Z$4c;RrMXo?Dg7ruvNHzAta z;@wOYN7-`eF$So$e3pU%4b)X2KDY3Ua`g>7u`N&_o_SIXucej)Iw`}B0N5&8Rk~1A zT?AaDhKfku-HDhf!pl~qx`4&^5$$1#OOy_x1wM}&jHt1Z>M$xqhQ0zBtN=XaS=FI`4anNL zQFb(-cUwyo`@{=C@D&7&w~*pt=S~I9;9o#dTu3y&VLMfPPz48Bi z&fyt10;_hIqGo&9T$F>E`kBZ^F>a6v6amgs;@N2+886sO_6|}jDWxkAn?mk|X997T z$)k^bCW4u;GS^;^MbC0f zgn)rKaGVj{k4Ef!QF4jBpBhdPT_AQWGJ~KaEQCpBIgpG>d_49okR06Veut`4L{}7O z)=8?0p@}JG91z#+DSYM~AP!Yhs~bRUVA;ebou%1uwg<0F1!BLDruh(vy$i?DIHU(K z-3fN89{VU`4%3U=Kh9<*_h%Z#jZd z5JnziBHV*8+>Jf%hr!<4-oNfrfzV#+=R#Fj)X zh3)DOlS4zca{v&ZtYT?_w`;3`IxLLBexfWD4u`Johr5Ckk18M@%d+9ef#gakW*GFX zk!S@XIE|JL6m3Kej8xB1`UprWH^S8sIJ6xOG}yQgpZ*dlHW-?T7mjWtxmd=KNWD2y zVu}&5YmSLz%?E)v%1M)#OR~C(y|o<>n+DCp!R2dIn1tzPG~weRd_X|yAX@Fw7&yH0 z#_qZh8TvfVV0ok_V#n|~rH=-;LU~L&Qz3}{da_(!;M^Qx`aBS8fYFOuYEfP?SO$-g zDr1RL0%Gn{#2Dmu9P3(`U}zJN*<9>-4g4neY~w_#qfSImC!o z`%ocsEJ7y7bg=`}z65GUG4tI+jmDilv02QU2%avJWrzb0jC}%#hr1ZIYB@^BS+71| zitHtv@*rAl0OAoU(G~NVP6bZ5^pp%K&4jxF*|;XGG*t>RVGlr-WWoi-;ZZ=|l%hqL zHKH3vW6o{1uCl>pqvt%cT$x3Sr^a9;agSi)Q5^Om8>Ht-5 z0P;c{OF$g%I3=s)~a3m0)3`%qYNVHZw3!NrCLq5X+oifP9c^-%t z@uK^*2GfCrdS{R_*GQ0FdB!6Ww4sbBV+IymNSSJbOL^655^K~Jh$ka#575BnKSA5 zxF-Nt1y@CAi_QU}j1WGFnu)RRO%byYFec1L35uEp&)kJ1D}$vZsxM)15X+y9Zd{;> zkH9cEYG7~xiPZ{!J72Oz%}FqtD4JqmH^6fp;S zevz9#M}6UR^PH^p&+N&5_eS0GE%Un8&3S!`y+1LXo+sQTB3W07t~ye-Rj;+J(s(3tNUdY zp?prRd!~Aa%4|n&wcP&O-F;Q4cqBn%LB() zz4y4=)%rAkkNes(4|d8gY)kIKXV4r4eHXps?xF1lESU?qL1nz?bN3;d-(D7syqA&H z8Nt$nn(uS>)VA&8qNuPXw#hmB+$(D0cWRWg&i!v8?88Gi17u+XRZ*(^m+qcw_uNrm zyXSi3etpP2ORZ-8ylDD8`6<7ff+KkIS7Cy4ZkaOH=l64>@F6CPGo-i`XQ4zvD||A` z%H0%Ie3IwxNgtkb_f|b}3(mP85XQRT9;qFihxQ6(sr--bo^Dq^$sPT*`sBut)lH0Vo=GMe+{dPQh%(WMz`gaO&6OXZ2Q2J5VRIQ_$L@QIZ zP&JL_=4!s~A<7K8ma6&T)#AW3&5t_o(8|-i)|!oKOwl~3*?6r9_Do~PYuShj*C%VC zRA&OR%2VG75b_3Pr=!r_G_4B%W0o8+Q469P+qGU&XsB8y*GSVGs@j?kOmtPHcB6+b zK}S{ErVR95Imhtg3KPR8<3#rltsE<>@CP-{C1-V8DEw0sgs3U&M#WC~?+=IfNr zNVLX>Hh!#msLLo|GP3&754oD(qAgkzI>-8!Pt#sB+hn(XD1UQMqu2WW+#u6U9nd%^ zI4D?A=8$uW<`-uD!oFRlH6uf>);s`)U|1ci3F|lbyBGgZf7092&zMEAnQBXOroe2= zs9Xlj9!UK&v~+a|eUpLA8`OKM7Jw7W$y3oFFWN9wTZ(|vAyb>_rk0=+*~slm`b$~^ zwJlHM25;b@QLT1sx zS5Rsetpl=Kznp(}=89VNUtAT9QcYwtD$?KJ3$uQL|MrLpjvafK*~!+#

&RP4!7Wh3q1Uw+p3s(H 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 unDO_b1Nl2Bw!IC%$H+}=ZyPjOiwH^`Hi Date: Thu, 29 Aug 2024 10:41:33 -0700 Subject: [PATCH 04/10] add minor comment --- cli/tests/soupify-core.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/tests/soupify-core.test.ts b/cli/tests/soupify-core.test.ts index f0597a78..44e85230 100644 --- a/cli/tests/soupify-core.test.ts +++ b/cli/tests/soupify-core.test.ts @@ -5,5 +5,5 @@ test("soupify (core)", async () => { const result = await $`bun cli/cli.ts soupify --core -y --file ./example-project/examples/basic-chip.tsx`.text() - expect(result).toContain("10000") + expect(result).toContain("10000") // R1 resistor value }) From 7af53092deebc1ae094e05313c1b828fe5849a09 Mon Sep 17 00:00:00 2001 From: seveibar Date: Thu, 29 Aug 2024 10:54:24 -0700 Subject: [PATCH 05/10] support using core --- cli/lib/cmd-fns/dev/index.ts | 1 + cli/lib/cmd-fns/dev/soupify-and-upload-example-file.ts | 1 + cli/lib/get-program.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/cli/lib/cmd-fns/dev/index.ts b/cli/lib/cmd-fns/dev/index.ts index 2889aa2e..3feb2e70 100644 --- a/cli/lib/cmd-fns/dev/index.ts +++ b/cli/lib/cmd-fns/dev/index.ts @@ -23,6 +23,7 @@ export const devCmd = async (ctx: AppContext, args: any) => { const params = z .object({ port: z.coerce.number().optional().default(3020), + core: z.boolean().optional(), }) .parse(args) diff --git a/cli/lib/cmd-fns/dev/soupify-and-upload-example-file.ts b/cli/lib/cmd-fns/dev/soupify-and-upload-example-file.ts index 9dc555b7..09ecaac6 100644 --- a/cli/lib/cmd-fns/dev/soupify-and-upload-example-file.ts +++ b/cli/lib/cmd-fns/dev/soupify-and-upload-example-file.ts @@ -30,6 +30,7 @@ export const soupifyAndUploadExampleFile = async ( { filePath: examplePath, exportName, + useCore: ctx.params.core, }, ctx, ) diff --git a/cli/lib/get-program.ts b/cli/lib/get-program.ts index d7434e6b..e02a2946 100644 --- a/cli/lib/get-program.ts +++ b/cli/lib/get-program.ts @@ -12,6 +12,7 @@ export const getProgram = (ctx: AppContext) => { .description("Run development server in current directory") .option("--cwd ", "Current working directory") .option("--port ", "Port to run dev server on") + .option("--core", "Use @tscircuit/core beta") .option("--no-cleanup", "Don't cleanup temporary files (for debugging)") .action((args) => CMDFN.dev(ctx, args)) From e5c5d2c818560b91b4a04c13b946cd7436dc22b1 Mon Sep 17 00:00:00 2001 From: seveibar Date: Thu, 29 Aug 2024 11:18:48 -0700 Subject: [PATCH 06/10] fix builder not recognizing --- bun.lockb | Bin 516659 -> 517148 bytes cli/lib/soupify/soupify.ts | 19 +++++++++++++++---- package.json | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/bun.lockb b/bun.lockb index a14bef3b72ed4d4f19e6504f8c814354fcc8bddf..cf9021231700135a8a42670f7eebe22464477701 100755 GIT binary patch delta 79623 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 r>8$$SCPN?dCdnMNq(G7jw)usRJ8WupA4gWTY- Date: Thu, 29 Aug 2024 11:27:42 -0700 Subject: [PATCH 07/10] fix types --- bun.lockb | Bin 517148 -> 517172 bytes cli/lib/cmd-fns/version.ts | 2 +- frontend/views/HeaderMenu.tsx | 2 +- package.json | 2 +- tsconfig.json | 4 +++- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/bun.lockb b/bun.lockb index cf9021231700135a8a42670f7eebe22464477701..dc5e71eff1fb9c16b6fd075bb337f8002f814d4a 100755 GIT binary patch delta 29774 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 delta 29651 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 diff --git a/cli/lib/cmd-fns/version.ts b/cli/lib/cmd-fns/version.ts index d58f2df2..16f96624 100644 --- a/cli/lib/cmd-fns/version.ts +++ b/cli/lib/cmd-fns/version.ts @@ -12,7 +12,7 @@ export const versionCmd = async (ctx: AppContext, args: any) => { table.push({ name: "@tscircuit/cli", current: cliPackageJson.version }) table.push({ name: "@tscircuit/react-fiber", - current: cliPackageJson.devDependencies["@tscircuit/react-fiber"], + current: cliPackageJson.dependencies["@tscircuit/react-fiber"], }) table.push({ name: "@tscircuit/schematic-viewer", diff --git a/frontend/views/HeaderMenu.tsx b/frontend/views/HeaderMenu.tsx index 024061f5..47a564de 100644 --- a/frontend/views/HeaderMenu.tsx +++ b/frontend/views/HeaderMenu.tsx @@ -288,7 +288,7 @@ export const HeaderMenu = () => { @tscircuit/react-fiber v - {cliPackageJson.devDependencies["@tscircuit/react-fiber"].replace( + {cliPackageJson.dependencies["@tscircuit/react-fiber"].replace( /\^/g, "", )} diff --git a/package.json b/package.json index 2542bab9..cd686929 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@edge-runtime/primitives": "^4.1.0", "@hono/node-server": "^1.8.2", "@tscircuit/builder": "*", - "@tscircuit/core": "^0.0.11", + "@tscircuit/core": "0.0.11", "@tscircuit/react-fiber": "1.2.0", "archiver": "^7.0.1", "axios": "^1.6.7", diff --git a/tsconfig.json b/tsconfig.json index 4885fbcd..c123eef8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,6 +15,8 @@ "strict": true /* Enable all strict type-checking options. */, "skipLibCheck": true, - "verbatimModuleSyntax": false + "verbatimModuleSyntax": false, }, + "include": ["src/**/*", "cli/**/*", "frontend/**/*"], + "exclude": ["node_modules"] } From 5831207465318f10ce71565f1abe698f55b90583 Mon Sep 17 00:00:00 2001 From: seveibar Date: Thu, 29 Aug 2024 11:39:14 -0700 Subject: [PATCH 08/10] fix path not resolved issue with builds --- tsconfig.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tsconfig.json b/tsconfig.json index c123eef8..f002a889 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,13 @@ "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, + "paths": { + "cli/*": ["cli/*"], + "frontend/*": ["frontend/*"], + "api/*": ["api/*"], + "scripts/*": ["scripts/*"], + }, + "strict": true /* Enable all strict type-checking options. */, "skipLibCheck": true, "verbatimModuleSyntax": false, From 23497b20fe215bcc4361d6074208b5d7125b949c Mon Sep 17 00:00:00 2001 From: seveibar Date: Thu, 29 Aug 2024 16:24:19 -0700 Subject: [PATCH 09/10] fix type issues with dependency update --- bun.lockb | Bin 517172 -> 517172 bytes package.json | 2 +- tsconfig.json | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bun.lockb b/bun.lockb index dc5e71eff1fb9c16b6fd075bb337f8002f814d4a..7d2e56f68ec4b2114a44fb08f0e4f4cf3380ce79 100755 GIT binary patch delta 368 zcmV-$0gwK)$RD)GACN8}AVw}p3yLt@zJ@aD28Sei1r>h}0(OYej{I*1A4Q9su}(_A zlbEM4lgPhNm)HyeFq25YP?H!_FoVdzx5&T&9kxI}{eMdkEo;XjV6kueo>IdtlfFX= z)@kuszy3PYUp z2NS(U<@_8Eg_}n{kl+N;4`;M!^tv7Yx({ln%(e&V-YUjB_t2HDAxApuN_c1wjBi5i zmFAl^@v^>n{+HEv0&qYeRJbPmfz}&nUS(@yjF_6P#?V@$&WsBL*P5K!1-Gt#2H#WxGnbCj2Edp1D+eH#Zqx>Nm&APs OAcqFk2Db*)2QCjS$fceD delta 367 zcmV-#0g(Q*$RD)GACN8};baKpe0wT`5L}wYn!`Fw`vG+#+5s~!vSR56F>PmiX4`-RX}HJj0agcM=)821d*&y#`dX7~hXa`E ztCOPPYBA-hR`+I5ew@nD=R#d!1K_J`;q!-ucmjuocmubEcm%e{0Wr5cK?PDg0W_D7 zeFe4xFaVb?cm)@iUVa5l128Tyhpv7Fx2}E$-&6rHmyXj0z?YSY2OyVj)CPE$wDblc NhX>ULw+Gb+Ef36!s Date: Thu, 29 Aug 2024 20:09:29 -0700 Subject: [PATCH 10/10] update core with fixed schematic symbols types --- bun.lockb | Bin 517610 -> 517610 bytes package.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lockb b/bun.lockb index f23b0cc1f4d1352fe2aee83bb7be43f76e8887cc..a20747c4ac1ea652a7a92ed8db689ecb758a36b3 100755 GIT binary patch delta 277 zcmV+w0qXwh%OC2?ACN8}ubE09q^IgFiBOV<^t6^kp0&zz-u0try+O{N@f)oYu})gQ zljLtGlTc|1li9ydm#7c{FoRgYw^+ad?Y2O-b&}SUFoy?r?!IxbLVE;_q^}?QZwJ6~#65B!&DsA`iRBu})gQ zlc=XKli0sdm*@-uFoRgYw^+ad?Y2Na{eMdkEo;XjV6kueo>IdtlfFX=)@kuszy3P< zrxGx}P@f8&FTr6CrWH3n6h@Rv8utA%W4N(K`YUp2NS(U<@_8E zg_}n{kl+N;4`;M!^tv7Yx({ln%(e&V-YUjB_t2HDAxApuN_c1wjBi5imFAl^@v^>n z{)aVq0*5tt1GhDJ1P;mpGq*%S1qnR?HJ3oP1sIpCz6BJQUTXyihk}0vw}O8LdsP85 Xm;TfSz?Ww&2Ox*u)dsiT)dvg^6Mlc| diff --git a/package.json b/package.json index 2c15922d..c5975d26 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@edge-runtime/primitives": "^4.1.0", "@hono/node-server": "^1.8.2", "@tscircuit/builder": "*", - "@tscircuit/core": "0.0.13", + "@tscircuit/core": "0.0.14", "@tscircuit/react-fiber": "1.2.0", "archiver": "^7.0.1", "axios": "^1.6.7",