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

@frontfriend/eject

v0.1.2

Published

Eject a connected Frontfriend app into a standalone Tailwind application

Readme

@frontfriend/eject

Convert a connected Frontfriend app into a standalone Tailwind app with local components, styles and utilities.

Requirements

  • Node.js 20 or newer and Git.
  • A Vue or React app using Vite or Next.js, with Tailwind CSS 3.
  • Installed dependencies, including @frontfriend/tailwind.
  • A Frontfriend config containing the design-system ff-id.
  • A tailwind.config.ts, .js, .cjs or .mjs file and a CSS entry with @tailwind directives.
  • A clean Git worktree, unless using --allow-dirty.

The output supports light mode only. Tailwind CSS 4 is not supported.

Usage

Run from your app directory:

npx @frontfriend/eject --name your-ds --dry
npx @frontfriend/eject --name your-ds

Replace your-ds with your design-system name: lowercase letters, numbers and hyphens, starting with a letter. Use --tag dev to select the dev tokens.

After ejecting, install dependencies and build your app:

pnpm install
pnpm build

Options

| Option | Description | | ----------------- | ----------------------------------------------------------------------------------------------- | | --name <name> | Design-system name. Prompts when omitted in an interactive terminal. | | --target <path> | App directory. Defaults to the current directory. | | --tag <tag> | Token tag. Defaults to the environment or project setting, then latest. | | --api-url <url> | API origin. Defaults to the environment or project setting, then https://app.frontfriend.dev. | | --dry | Preview changes without writing app files. | | --allow-dirty | Allow existing uncommitted changes. |

Output

  • Component classes and icon names live in the components.
  • Tailwind utilities use the downloaded design-system palette.
  • cn lives in the app’s utilities module. Existing exports are preserved; imports follow the app’s configured aliases or use relative paths.
  • styles/tokens.css contains fonts, custom CSS and runtime variables used by the app.
  • The terminal output lists changes, token provenance and items to review.

The command fetches tokens automatically and removes the Frontfriend integration and its local caches (node_modules/.cache/frontfriend and node_modules/.frontfriend). Custom-theme prefixes use the supplied name, such as .your-ds-theme and --your-ds-brand. Classes that start with ff- are renamed the same way (ff-page-main becomes your-ds-page-main). Review theme behavior and application-specific names in the command output.

Running again with the same name preserves app sources and clears any remaining Frontfriend cache. --dry leaves files and caches unchanged.