Lynx/Modules/OTA Publisher
@sigx/lynx-updates-publisher · Beta

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.

v0.8.0 Node (CI / build) MIT

Installation#

Terminal
pnpm add -D @sigx/lynx-updates-publisher

About#

@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.