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

@1mn/vite-plugin

v0.1.2

Published

Vite plugin for 1mn — uploads hidden source maps at build time so client-side errors symbolicate to original source. Pairs with @1mn/react.

Downloads

808

Readme

@1mn/vite-plugin

Build-time source-map upload for 1mn. Pairs with @1mn/react: client-side exceptions captured by the SDK arrive symbolicated to your original source ([email protected]:42) instead of minified bundle coordinates ([email protected]:1:48213).

How it works

  1. Forces build.sourcemap = "hidden" — Vite emits .map files but omits the //# sourceMappingURL comment, so maps are produced but not served publicly.
  2. Injects import.meta.env.VITE_1MN_RELEASE so you can tag the runtime SDK with the same release the maps are keyed by.
  3. After the client build, uploads each .map to 1mn (authenticated by your public key) and deletes it locally.

Install

npm install -D @1mn/vite-plugin

Usage

// vite.config.ts
import { defineConfig } from "vite";
import { onemnSourcemaps } from "@1mn/vite-plugin";

export default defineConfig({
  plugins: [
    onemnSourcemaps({
      apiKey: "1mn_pk_…",        // your product's public key
      appUrl: "https://1mn.ai",  // 1mn app origin (default)
      // release: process.env.GIT_SHA,  // optional; defaults to short git SHA
    }),
  ],
});

Then tag the SDK with the same release so events line up with the uploaded maps:

// wherever you render <OnemnProvider>
<OnemnProvider
  apiKey="1mn_pk_…"
  release={import.meta.env.VITE_1MN_RELEASE}
  user={session?.user}
>
  <App />
</OnemnProvider>

That's it. Ship the build; the next client error in production will be symbolicated server-side.

Options

| Option | Default | Notes | |---|---|---| | apiKey | — | Required. Public key (1mn_pk_…). | | release | env ONEMN_RELEASE → short git SHA → build-<ts> | Must match <OnemnProvider release>. Exposed as import.meta.env.VITE_1MN_RELEASE. | | appUrl | https://1mn.ai | Upload endpoint is ${appUrl}/api/sdk/sourcemaps. | | endpoint | — | Full endpoint override (wins over appUrl). | | deleteAfterUpload | true | Remove .map files after a successful upload. | | disabled | false | Skip upload entirely for a build. |

License

MIT