#!/bin/sh # Rebuild public/vendor/nostr-tools.js — a pinned, self-contained ESM bundle of # just the nostr-tools pieces Goostr uses. Only needed when upgrading. set -e VERSION=2.25.2 ROOT=$(cd "$(dirname "$0")/.." && pwd) TMP=$(mktemp -d) cd "$TMP" npm init -y >/dev/null npm install --silent "nostr-tools@$VERSION" esbuild@0.25 cat > entry.js <<'JS' export { generateSecretKey, getPublicKey, finalizeEvent, verifyEvent } from "nostr-tools/pure"; export * as nip19 from "nostr-tools/nip19"; export * as nip04 from "nostr-tools/nip04"; export * as nip44 from "nostr-tools/nip44"; export * as nip49 from "nostr-tools/nip49"; export { bytesToHex, hexToBytes } from "@noble/hashes/utils.js"; JS mkdir -p "$ROOT/public/vendor" "$ROOT/extension/vendor" npx esbuild entry.js --bundle --format=esm --minify --legal-comments=inline \ --banner:js="// nostr-tools@$VERSION (MIT) — built by scripts/vendor-nostr-tools.sh" \ --outfile="$ROOT/public/vendor/nostr-tools.js" cp "$ROOT/public/vendor/nostr-tools.js" "$ROOT/extension/vendor/" rm -rf "$TMP"