PushForge is a lightweight, zero-dependency toolkit for implementing fully standards-compliant Web Push Notifications across Node.js, browsers, Deno, Bun, and Cloudflare Workers without platform-specific workarounds. Built TypeScript-first, it delivers a single, strongly-typed API that handles the entire Web Push stack—VAPID ES256 JWT authentication, ephemeral ECDH key exchange, HKDF-SHA256 key derivation, and AES-GCM payload encryption—while enforcing protocol correctness and security best practices. Its isomorphic WebCrypto abstraction ensures identical cryptographic behavior across runtimes, with deterministic encoding and zero third-party dependencies to minimize supply-chain risk. Designed for both developer experience and operational reliability, PushForge ships with an intuitive CLI for VAPID key generation, integration-tested delivery against major push providers, and lean ESM packaging optimized for edge/serverless environments. With semantic-release automation, GitHub Actions CI, and Biome code quality gates, it’s engineered for predictable releases and maintainability. This combination of protocol-level precision, cross-platform reach, and minimal footprint makes PushForge a practical choice for teams that need secure, portable push notifications without unnecessary complexity. All work and interactive previews are documented in Notion.
Authorization, Crypto-Key, Encryption, Content-Encoding).buildPushHTTPRequest: a single, typed API that composes salt, ephemeral keypair, encrypted payload, and canonical headers (returns endpoint, headers, body), normalizes Headers vs plain objects, and enforces TTL/Topic/Urgency semantics for turnkey server delivery.aud derived from subscription origin, enforced exp ≤ 24h, sub propagation, robust JWK normalization — eliminated common 403 causes from push providers and increased delivery predictability.btoa/atob ↔ Buffer fast paths, correct padding normalization and typed-array conversions to guarantee deterministic wire encodings across runtimes.PushMessage<T extends Jsonifiable>, RequireAtLeastOne<> invariants, and strict TS contracts that surface protocol errors at compile time — drastically reducing runtime integration faults.type-check CI gate, and Conventional Commits + PR title policy — reduced PR review churn and slashed post-release defects.