mirror of
https://github.com/PR0M3TH3AN/bitgate.git
synced 2026-11-06 05:21:10 +00:00
standalone: ship the headless engine as one bundleable ESM file
A no-build static site couldn't vendor BitGate the way it vendors a single dependency: bare @bitgate/* specifiers don't resolve in a browser, and the headless path spans two packages (the evaluator in core, the kind-1985 label codec in nostr). The widget bundle solved this for the DOM path only. Add @bitgate/standalone (packages/standalone): an entry re-exporting core + nostr, esbuilt into a single self-contained dist/bitgate.js (~44 KB). It's the same canonical code the npm packages ship, with specifiers inlined, and dependency-free -- @bitgate/verify's @noble deps are intentionally not pulled in, so the bundle carries no third-party code. Wired into `npm run build` via build:standalone. Verified: no bare imports in the output (self-contained), and a smoke test composes a full label -> decision flow from the single entry. README Packages table and headless section document it. Addresses the "standalone ESM single-file" item of the Tessera integration feedback (docs/TODO.md). Co-Authored-By: Claude Opus 4.8 <[email protected]> Claude-Session: https://claude.ai/code/session_01BXQCvJPA6sVSQ5j8uBd9bB
This commit is contained in:
1 parent
7eb4064556
commit
088e3cdabe
7 files changed
+169
-4
No files matched your search
@@ -0,0 +1,15 @@
|
||||
// @bitgate/standalone — the headless engine and the Nostr codecs it consumes,
|
||||
// as one bundleable entry.
|
||||
//
|
||||
// Bare specifiers (`@bitgate/core`) don't resolve in a browser, and the headless
|
||||
// path needs two packages (the evaluator in core, the kind-1985 label codec in
|
||||
// nostr). build.mjs esbuilds this entry into a single self-contained ESM file a
|
||||
// no-build static site can vendor the way it would vendor any one dependency —
|
||||
// the requirement the widget bundle already meets for the DOM path, met here for
|
||||
// the headless path.
|
||||
//
|
||||
// Both re-exported packages are dependency-free (@bitgate/verify, the only
|
||||
// package with third-party deps, is intentionally not pulled in), so the bundle
|
||||
// carries no external code.
|
||||
export * from "@bitgate/core";
|
||||
export * from "@bitgate/nostr";
|
||||
Reference in new issue
Block a user