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.1
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)`,
)