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

@meet-eleanor/session-recorder

v0.1.5

Published

Development-only screen recorder for uploading local app sessions to Eleanor.

Readme

@meet-eleanor/session-recorder

Development-only browser screen recorder for uploading customer local-app sessions to Eleanor.

The package records a real browser/tab/window video with getDisplayMedia and MediaRecorder, can optionally collect outgoing Mixpanel analytics requests during the recording, uploads the resulting video/webm blob to an Eleanor signed upload URL, then completes the recording upload so Eleanor can create a video note on the product canvas.

Install

npm i -D @meet-eleanor/session-recorder
pnpm add -D @meet-eleanor/session-recorder
bun add -d @meet-eleanor/session-recorder

Usage

Use only behind a local-development guard. Eleanor MCP returns the config.

if (import.meta.env.DEV) {
  import("@meet-eleanor/session-recorder").then(
    ({ init_eleanor_session_recorder }) => {
      init_eleanor_session_recorder({
        product_id: "product-id",
        token: "stable-recording-token-from-eleanor",
        enabled: true,
      });
    },
  );
}

To test recorder messages locally from the browser console:

window.ELEANOR_RECORDER.show_message({
  text: "Recording uploaded to Eleanor.",
  status: "success",
  link: {
    label: "View result",
    href: "https://meeteleanor.ai/product/product-id/board",
  },
});

Safety

  • No-ops unless enabled is true.
  • No-ops outside localhost, 127.0.0.1, or [::1].
  • Always asks for explicit consent before recording.
  • Shows a checked-by-default Include analytics event tracking option in the start dialog.
  • When analytics tracking is included, captures outgoing Mixpanel HTTP requests made during the recording through fetch, sendBeacon, or XMLHttpRequest.
  • Analytics capture starts only after the user starts recording and is restored when recording stops or is discarded.
  • Analytics capture is Mixpanel-only in this version and is bounded so request counts and body snapshots cannot grow without limit.
  • Uses the browser's native screen/tab picker.
  • Uploads with Eleanor's product_id and stable recording token; there is no session id in recorder API URLs.
  • Exposes window.ELEANOR_RECORDER.show_message(...) in browsers so local developers can test recorder messages from the console with info, loading, success, or failure states.
  • Sends trim_end_at_seconds when the stop control is used so Eleanor can remove the stop-control interaction during server-side processing.
  • Shows a loading message with a spinner during upload and a green link to the Eleanor product board after upload completes.
  • Shows user-visible upload errors for non-2xx Eleanor responses and { success: false } responses.
  • Auto-stops after five minutes.

Build and package

The package is built as a browser-targeted ESM library. The publish artifact is a single bundled dist/index.js file plus dist/index.d.ts declarations, so consumers do not need TypeScript path or extension-resolution support.

npm run typecheck
npm run build
npm run pack:check

prepack builds dist before packaging, and prepublishOnly runs typecheck plus build before publishing.