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

@buoy-gg/impersonate

v7.0.19

Published

Test your React Native app as any user, role, or flag combo — without logging out or rebuilding. Part of Buoy devtools.

Downloads

3,522

Readme

@buoy-gg/impersonate

npm version npm downloads

Test your app as any user, role, or flag combination — without logging out, switching accounts, or rebuilding.

Part of Buoy — devtools that live inside your React Native app. Install it and it auto-appears in the floating menu from @buoy-gg/core.

Install

npm install @buoy-gg/core @buoy-gg/impersonate

Quick start

Unlike most Buoy tools, this one needs a little config — it has to know how to search your users:

import { FloatingDevTools } from "@buoy-gg/core";
import { createImpersonateTool } from "@buoy-gg/impersonate";

const impersonateTool = createImpersonateTool({
  onSearchUsers: async (query) => {
    const { users } = await api.searchUsers({ email: query });
    return users.map((u) => ({
      id: u.id, // sent in the impersonation header
      displayName: u.name,
      email: u.email,
      metadata: { role: u.role },
    }));
  },
});

export default function App() {
  return (
    <>
      <YourApp />
      <FloatingDevTools apps={[impersonateTool]} />
    </>
  );
}

While impersonating, every outgoing fetch and XMLHttpRequest carries x-impersonate-user-id: <id> (header name configurable via defaults.headerKey). Your backend checks the header — after verifying the caller is an admin — and returns data for that user instead.

What you get

  • Header injection everywhere — patches fetch and XHR at startup, so even requests fired during app boot carry the impersonation header
  • Auto data clearing — detects @tanstack/react-query and react-redux and clears the query cache / resets the store on every user switch, no callbacks needed (AsyncStorage/MMKV clearing via optional callbacks)
  • Floating banner — appears automatically whenever impersonation is active, so you can never forget whose eyes you're looking through
  • Pause vs stop — the banner's power button pauses header injection for instant A/B against your real account; X stops the session and triggers data clearing
  • History — quick-switch between your last 10 impersonated users, persisted across app restarts
  • Developer defaults — ship team-wide defaults for header name, banner, and clearing behavior; the Settings tab exports your current config as paste-ready code
  • showSettingsTab: false — lock it down to just Search and History for simpler setups

Desktop & AI

The same live session streams to Buoy Desktop (free, macOS/Windows/Linux) and to Claude Code or Cursor via the Buoy MCP server.

Free vs Pro

Every tool is free. Pro unlocks production builds, the MCP server, and unlimited capture. Every weekend, Pro features unlock free for everyone.


📚 Full docs · All Buoy tools

Proprietary software. © Buoy LLC. Terms