Skip to content

Runtime Support

micro509 is ESM-only, side-effect-free, and uses only WebCrypto APIs.

Compatibility

RuntimeStatusNotes
Node.jssupportedModern Node with WebCrypto globals (tested on 24+)
BunsupportedBun 1.3+
DenosupportedRequires WebCrypto and web text/base64 globals
BrowsersupportedModern browsers only
Cloudflare WorkerssupportedFull WebCrypto available
Edge runtimessupportedAny runtime with WebCrypto + TextEncoder/TextDecoder + atob/btoa

Requirements

micro509 requires these global APIs:

  • crypto.subtle (WebCrypto)
  • TextEncoder / TextDecoder
  • atob / btoa

No Node.js builtins (crypto, buffer, fs, etc.) are used in library code.

Tree-shaking

micro509 is fully tree-shakeable. Import from domain entrypoints to minimize bundle size:

ts
// Only pulls in verification code
import { verifyCertificateChain } from 'micro509/verify';

// Only pulls in key handling code
import { generateKeyPair } from 'micro509/keys';

Released under the MIT License.