pcbjam/scripts/deploy
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Gergő Törcsvári 55f8d79a78
feat(deploy): publish-libs (C1.2) — full KiCad set as r2-idb-sync static origins
extract-libs.ts gains extractAllLibs(): enumerate EVERY <Lib>.kicad_symdir / <Lib>.pretty under the source dirs into in-memory self-contained bodies (reuses the curated path's parse + extends resolution). At KiCad 10.0.x symbols already ship the one-symbol-per-file .kicad_symdir layout, so no split needed.

publish-libs.ts (tsx): per lib, build a SyncManifest (sha256 per item) + encodeBundle, write libs/kicad/<libTag>/<lib>/{manifest,bundle} (immutable) + a top manifest.json listing every lib. Keyed by upstream KiCad lib tag, skip-if-exists (HEAD the top manifest; --force overrides) so it is decoupled from the app deploy. Local + r2 drivers via cdn-store.

Validated over web/backend/.cache: 8 libs / 2154 items; Device bundle decodes to 537 bodies, its /manifest matches the bundle, and symbol/R body hash matches its manifest entry (warm-sync diff stays empty). Same wire format cdn-source.test reads, so publish and client are pinned to one format.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 11:04:49 +02:00
..
lib fix(demo): default WRANGLER_CMD to npx + silence expected R2 not-found probes 2026-06-19 13:31:06 +02:00
build-demo.mjs feat(standalone): cdn libs source (C1.1) — full KiCad set from R2 static origins 2026-06-20 10:30:18 +02:00
publish-content.mjs feat(demo): demo.pcbjam.com deploy — versioned WASM CDN + static gallery + tag CI 2026-06-19 11:39:09 +02:00
publish-libs.ts feat(deploy): publish-libs (C1.2) — full KiCad set as r2-idb-sync static origins 2026-06-20 11:04:49 +02:00
publish-wasm.mjs feat(demo): demo.pcbjam.com deploy — versioned WASM CDN + static gallery + tag CI 2026-06-19 11:39:09 +02:00
wasm-cache-hash.mjs ci: cache KiCad WASM build output to skip Docker on unchanged sources 2026-06-19 14:51:33 +02:00