ShiboSoftwareDev/mspm0g3507-usb-c-dev-board
The circuit assembles a USB-C port with integrated ESD protection, power regulation, UART interface, and microcontroller (MSPM0G3507) with supporting components for USB data lines, CC termination, I2C, SPI, reset circuitry, and indicator LEDs.
- Version
- 1.4.2
- License
- unset
- Stars
- 0
scripts/check-schematic-placement.mjs
import { spawnSync } from "node:child_process"
const result = spawnSync(
"tsci",
["check", "schematic-placement", "index.circuit.tsx"],
{ encoding: "utf8", maxBuffer: 8 * 1024 * 1024 },
)
if (result.error) throw result.error
if (result.status !== 0) {
process.stderr.write(result.stderr)
process.stderr.write(result.stdout)
process.exit(result.status ?? 1)
}
const issueBlock = result.stdout.match(
/<SchematicPlacementIssues>[\s\S]*?<\/SchematicPlacementIssues>/,
)?.[0]
const traceSimplificationAdvisories =
issueBlock?.match(/<TraceCanBeSimplifiedByMovingComponent\b[^>]*\/>/g) ?? []
const blockingIssues = issueBlock
?.replace(/<\/?SchematicPlacementIssues>/g, "")
.replace(/<TraceCanBeSimplifiedByMovingComponent\b[^>]*\/>/g, "")
.trim()
if (blockingIssues) {
process.stderr.write(`${issueBlock}\n`)
process.exit(1)
}
console.log(
`No blocking schematic placement issues detected (${traceSimplificationAdvisories.length} trace-simplification advisories)`,
)