OTA Publisher
Package a built .lynx.bundle into the static-manifest OTA layout from a CI job — publishUpdate() is the programmatic core of sigx updates:publish, returning structured metadata instead of stdout.
Installation
pnpm add -D @sigx/lynx-updates-publisherAbout
@sigx/lynx-updates-publisher is a build-time Node library — not a native module. It packages a built bundle into the static-host layout that the StaticManifestProvider in @sigx/lynx-updates consumes, and returns structured metadata (updateId, bundleUrl, sha256, …) so CI can assert on it directly.
It is intentionally dependency-light — only Node built-ins — so a release job can import { publishUpdate } from '@sigx/lynx-updates-publisher' without pulling in the CLI's build toolchain. The same function is re-exported from @sigx/lynx-cli, which uses it to back the sigx updates:publish command.
It is versioned in lockstep with the rest of the Lynx module family.
What it does
publishUpdate(options) reads a built bundle, content-addresses it by sha256.slice(0, 16), and writes the static-hosting layout:
<out>/<channel>/
manifest.json ← the moving pointer
updates/<updateId>/main.lynx.bundle ← content-addressed, accumulates
Drop that directory onto any static host or CDN unchanged — bundleUrl is relative and the client resolves it against the manifest URL. Each publish appends or replaces one entry per platform (runtime-version fingerprints differ per platform), so old binaries keep matching their old entries while new binaries pick up new ones.
Next steps
Continue with Usage for a CI example, or jump to the API reference.
