npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

apppulse-browser

v0.2.2

Published

Lightweight frontend observability SDK for runtime error tracking and browser telemetry.

Readme

AppPulse Browser SDK

Lightweight frontend observability SDK for modern web applications.

Automatically track:

  • Runtime JavaScript crashes
  • Unhandled promise rejections
  • Custom telemetry events

Built for scalable and resilient browser telemetry pipelines.


⚠️ AppPulse Browser SDK is currently in active early-stage development as part of the broader AppPulse observability platform.


Features

Automatic Monitoring

  • Runtime JavaScript error tracking
  • Unhandled promise rejection tracking
  • Session tracking
  • Device & browser metadata collection

Custom Telemetry

  • Manual custom event tracking
  • User identification support
  • Metadata attachment
  • Environment & release tagging

Reliability Pipeline

  • In-memory event queue
  • Automatic batch transport
  • Retry persistence using sessionStorage
  • Retry recovery on reload
  • Priority-based event delivery
  • Critical event instant transport
  • Retry attempt limiting
  • Event deduplication
  • Graceful SDK cleanup lifecycle

Architecture

  • Lightweight SDK footprint
  • Framework agnostic
  • Modular transport layer
  • Async-safe queue system
  • Bounded memory protection
  • Debug mode support

Installation

npm install apppulse-browser

or use AppPulse CLI:

npx appulse

Quick Start

1. Create AppPulse Instance

// src/lib/apppulse.js

import AppPulseBrowser from "apppulse-browser";

const tracker = new AppPulseBrowser({
  apiKey: "YOUR_API_KEY",
  endpoint: "https://YOUR_DOMAIN/api/logs",

  environment: "development",
  release: "1.0.0",

  debug: true,
});

export default tracker;

2. Initialize During App Startup

// main.jsx

import "./lib/apppulse";

That’s it.

AppPulse automatically starts monitoring:

  • Runtime crashes
  • Unhandled promise rejections

No additional setup required.


Automatic Error Tracking

AppPulse automatically captures:

// runtime error
undefined.map();

// unhandled promise rejection
Promise.reject(new Error("API failed"));

Custom Event Tracking

Track important application events and failures.

import tracker from "./lib/apppulse";

tracker.track("checkout_failed", {
  orderId: "123",
  reason: "payment_declined",
});

User Identification

Attach user information to telemetry events.

tracker.identify({
  userId: "USER_ID",
});

SDK Cleanup

Destroy the SDK instance during application teardown if needed.

tracker.destroy();

This cleans up:

  • Event listeners
  • Queue timers
  • In-memory telemetry queues

Event Pipeline

AppPulse Browser SDK includes a resilient telemetry pipeline designed for frontend observability reliability.

Included Reliability Features

  • Batched event transport
  • Retry persistence
  • Retry recovery
  • Critical event prioritization
  • Event deduplication
  • Graceful shutdown persistence

Critical telemetry bypasses batching and is transported immediately to improve crash reporting reliability.


Event Payload Includes

Every event automatically includes:

  • Event ID
  • Retry count
  • Session ID
  • Timestamp
  • Current URL
  • User agent
  • Device information
  • Environment
  • Release version
  • Metadata
  • Schema version

Configuration

| Option | Description | | ------------- | --------------------------------------------------------- | | apiKey | Project API key | | endpoint | AppPulse ingestion endpoint | | environment | Environment name (production, staging, development) | | release | Application release version | | debug | Enables SDK debug logs |


Planned Features

Upcoming observability capabilities planned for AppPulse:

  • Network/API monitoring
  • Performance monitoring
  • Web Vitals tracking
  • Session replay
  • Console tracking
  • Source map support
  • Incident alerting
  • Distributed tracing
  • Dashboard & analytics UI

Browser Support

Supports modern browsers with:

  • Fetch API
  • Promise support
  • ES Modules

Backend Status

The AppPulse Browser SDK currently requires a compatible AppPulse ingestion backend.

The hosted AppPulse backend platform is currently under active development.


Version

Current version: 0.2.0


License

UNLICENSED


Author

Built by BuildsByCS