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

@flidget/web-sdk

v0.1.5

Published

Official Flidget browser SDK: identify users, track product usage, and run Retention Copilot.

Readme

@flidget/web-sdk

Official browser SDK for Flidget: identify users, emit product / drift-style events, and optionally load Retention Copilot (widget.js) from your configured API host.

Install

npm install @flidget/web-sdk

Quick start

Call init once you know the signed-in user (client-side only — not during SSR):

import Flidget from "@flidget/web-sdk";

Flidget.init({
  appId: "<your-public-key>",
  userId: "user_123",
  email: "[email protected]",
});

Flidget.track("feature_used", { feature: "export" });

String shorthand for the public key:

Flidget.init("<your-public-key>", { userId: "user_123", email: "[email protected]" });

What you must pass

| Field | Notes | |--------|--------| | appId | Your public app key (safe in the browser). | | userId or email | At least one, for identity and dashboard alignment. | | apiBase | Optional. API origin (no trailing slash). If omitted, the SDK uses its bundled default; set this for self-hosted or non-default endpoints. |

Drift only (no exit-chat bundle)

Flidget.init({ appId: "…", userId: "…", loadExitChat: false });

Optional helpers

  • Flidget.openExitChat() — opens the Retention Copilot overlay after widget.js has loaded.
  • Flidget.isExitChatAllowed({ apiBase, publicKey, userId?, userEmail? }) — Promise<boolean>; lightweight check before loading the widget (plan limits / already completed session).
  • Flidget.setDefaultApiBase(origin) — override the default API origin before init, if you need to.

Script-tag embeds (no bundler)

If you do not use npm, you can still load sdk.js and widget.js from your Flidget deployment using the HTML snippets in the in-app integration docs. This package is aimed at apps that bundle with Vite, webpack, or Next.js client code.

Browser permissions & CSP

Allow connect-src (and script-src if you load scripts from your API host) for the same origin you pass as apiBase.

Troubleshooting

| Symptom | What to check | |--------|----------------| | Events or widget calls fail with 403 / origin | Your site’s allowed embed domains in the Flidget dashboard must include the host users browse from. | | Widget does not appear | Confirm loadExitChat is not false, apiBase is correct, and the browser console for blocked requests or CSP. | | Double initialization | A second init is ignored (warning in the console). |

Security

  • Use only the public key in the browser. Do not ship secret keys in client code.

License

Apache-2.0 — see LICENSE in this package.