astra/pd-power-supply
USB-PD Power Supply with RP2040 controller
- Version
- 1.1.6
- License
- unset
- Stars
- 0
scripts/patch-copper-geometry.cjs
// Work around circuit-json-util 0.0.116 creating a zero-radius hole when a
// connectivity check requests solid via copper. Keep all nonzero drill holes.
const fs=require('node:fs');
const file=require.resolve('@tscircuit/circuit-json-util');
const before=`var getViaPolygon = (center, outerDiameter, holeDiameter) => subtractHole(
circlePolygon(center, outerDiameter / 2),
circlePolygon(center, holeDiameter / 2)
);`;
const after=`var getViaPolygon = (center, outerDiameter, holeDiameter) => {
const outer = circlePolygon(center, outerDiameter / 2);
return holeDiameter > 0 ? subtractHole(outer, circlePolygon(center, holeDiameter / 2)) : outer;
};`;
const source=fs.readFileSync(file,'utf8');
if(source.includes(before)){fs.writeFileSync(file,source.replace(before,after));console.log('Patched zero-radius via hole in copper geometry utility.');}
else if(!source.includes(after))throw new Error('Copper geometry utility changed; review workaround before applying.');