Files
thePR0M3TH3ANandClaude Opus 4.8 088e3cdabe 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
2026-08-11 20:40:04 -04:00

20 lines
468 B
JSON

{
"name": "@bitgate/standalone",
"version": "0.1.0",
"private": true,
"type": "module",
"license": "GPL-3.0-or-later",
"description": "Headless BitGate engine + Nostr codecs bundled into a single self-contained ESM file for no-build static sites.",
"main": "src/index.js",
"scripts": {
"build": "node build.mjs"
},
"dependencies": {
"@bitgate/core": "*",
"@bitgate/nostr": "*"
},
"devDependencies": {
"esbuild": "^0.28.2"
}
}