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

@autofleet/zehut

v4.14.0

Published

manage user's identity

Readme

AutoFleet Zehut

This package handles authorization and authentication for AutoFleet services.

Links

See authorization docs here.

V4 migration

Outbreak v2

When upgrading from V3 to V4, the tracing system has been de-duped to use outbreak v2. Historically, zehut and outbreak both added a layer of async_hooks, which each had a context that could store data. The 2 had a nearly identical API, but did not communicate with each other, nor did they share data. This version removes the trace added by zehut and only uses the outbreak one. This means that the context of the trace is now spread onto the headers of any outgoing HTTP request. In order to allow keeping data in the context, without having outbreak add it to the headers, a new context has been added to the outbreak traces - nonHeaderContext. Using the getUser function will keep working regularly, but reading anything else from the context will work only if you read from the correct context.

- const { context } = zehut.getCurrentPayload();
- const user = context?.get('userObject');
+ const user = zehut.getUser();

If you need to read any other data from the context, you should now read and write to nonHeaderContext, unless you wish for the values to be sent through to the headers of any outgoing request/response.

const currentTrace = zehut.getCurrentPayload();
-const dataFromContext = currentTrace?.context?.get('DATA_FROM_CONTEXT');
+const dataFromContext = currentTrace?.nonHeaderContext?.get('DATA_FROM_CONTEXT');

Logger

The tracing mechanism has been updated to reduce boilerplate code. Now, when calling the enableTracing function, you can now pass in the instance of the logger, and drop the call for logger.addContextMiddleware.

-zehut.enableTracing();
-
-logger.addContextMiddleware(() => ({
-  traceId: zehut.outbreak.getCurrentContext()?.context?.get('x-trace-id'),
-}));
+zehut.enableTracing({ logger });