gokul/cm4-media-carrier
A tscircuit package created by gokul.
- Version
- 0.1.0
- License
- unset
- Stars
- 0
tools/export.ts
import { CircuitJsonToKicadPcbConverter, CircuitJsonToKicadProConverter } from "circuit-json-to-kicad"
const input = await Bun.file(process.argv[2]!).json()
const output = process.argv[3]!
const board = new CircuitJsonToKicadPcbConverter(input)
board.runUntilFinished()
await Bun.write(`${output}.kicad_pcb`, board.getOutputString())
const {basename}=await import("node:path")
const project = new CircuitJsonToKicadProConverter(input, {projectName:basename(output), pcbFilename:basename(output)+".kicad_pcb"})
project.runUntilFinished()
await Bun.write(`${output}.kicad_pro`, project.getOutputString())
const {CircuitJsonToKicadLibraryConverter}=await import("circuit-json-to-kicad")
const {dirname,join}=await import("node:path")
const library=new CircuitJsonToKicadLibraryConverter(input.filter((element:any)=>!["pcb_trace","pcb_via"].includes(element.type)),{libraryName:"tscircuit",footprintLibraryName:"tscircuit"})
library.runUntilFinished()
// KiCad requires generator_version to be a string, including a numeric version.
for(const fp of library.getFootprints()) await Bun.write(join(dirname(output),"tscircuit.pretty",fp.footprintName+".kicad_mod"),fp.kicadModString.replace('(generator_version 8.0)', '(generator_version "8.0")'))
await Bun.write(join(dirname(output),"fp-lib-table"),library.getFpLibTableString())