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

fg-devkit

v1.7.7

Published

Shared configs, scripts, and DX tooling for Vue / TypeScript frontend repos

Readme

fg-devkit

Shared settings and tools to improve the developer experience for Vue and TypeScript projects in the npm ecosystem.

Quick command alias (zsh)

To run fgd instead of pnpm exec fg-devkit, add this alias:

echo "alias fgd='pnpm exec fg-devkit'" >> ~/.zshrc && source ~/.zshrc

This works in repos where fg-devkit is installed.

Bundled ESLint stack

fg-devkit ships its own ESLint stack (core + parser + plugins), so consuming repos do not need to install ESLint packages just to lint with the shared config.

Run lint via CLI:

pnpm exec fgd lint .
pnpm exec fgd lint-fix .

Bundled Prettier

fg-devkit also ships Prettier, so consuming repos can format using the bundled package.

Run formatting via CLI:

pnpm exec fgd format
pnpm exec fgd format-check

Bundled TypeScript

fg-devkit ships vue-tsc and typescript, so consuming repos can run Vue typecheck without installing local TS tooling.

Run typecheck via CLI:

pnpm exec fgd typecheck
pnpm exec fgd typecheck-watch

Bundled Fallow (dead code analysis)

fg-devkit also ships Fallow for dead code analysis in consuming repos.

Run dead code analysis via CLI:

pnpm exec fgd dead-code

Or run Fallow directly with custom args:

pnpm exec fgd fallow dead-code --json

When you run fgd sync-tooling-configs (or fgd sync-project-configs), fg-devkit also writes a shared .fallowrc.json to the consuming repo.

To remove redundant tooling dependencies from a consuming repo:

pnpm exec fgd prune-consumer-deps
pnpm install

To sync standard consumer scripts to fgd commands:

pnpm exec fgd sync-consumer-scripts

To migrate from Husky + lint-staged to Lefthook:

pnpm exec fgd setup-lefthook

Run full consumer setup in one command:

pnpm exec fgd full-consumer-setup

Dependency policy update workflow

Check outdated policy versions:

pnpm exec fgd policy-outdated

Check vulnerabilities for all policy packages together (including transitive dependencies):

pnpm exec fgd policy-vulns

Check vulnerabilities for all dependencies in the current repo:

pnpm exec fgd repo-vulns

Check vulnerabilities across all Vue repositories under the projects root:

pnpm exec fgd fleet-vulns

For summary-only mode (no full per-repo pnpm audit output):

pnpm exec fgd fleet-vulns --summary-only

If npm audit is rate-limited (429), slow the scan down:

pnpm exec fgd fleet-vulns --delay-ms=8000

Upgrade policy versions interactively:

pnpm exec fgd policy-upgrade

tsconfig in consuming repos

Use fgd sync-project-configs (or fgd sync-tooling-configs) to write the local tsconfig.json template from fg-devkit.

Do not use an extends-only tsconfig.json to fg-devkit/tsconfig.app.sync.json in consuming repos. TypeScript resolves include/exclude relative to the extended config file location in node_modules, which can cause No inputs were found.

The supported approach is: keep a local tsconfig.json file in each consuming repo and let sync overwrite it with the shared app template.

Minimal local Prettier config for consuming repos

Use this as your local prettier.config.js to inherit defaults from fg-devkit:

import basePrettierConfig from 'fg-devkit/prettier.config.js'

export default {
  ...basePrettierConfig,
}

Local development with pnpm link

Use this flow to test local fg-devkit changes in a consuming repo.

In this repo (fg-devkit):

pnpm install
pnpm link --global

In the consuming repo:

pnpm link --global fg-devkit
pnpm install
pnpm exec fgd --help

To remove the global link in a consuming repo:

pnpm unlink fg-devkit
pnpm install

Install CLI in this repo

  1. Add this to your shell config (~/.zshrc) and update FGD_DEVKIT_PATH:
cat <<'EOF' >> ~/.zshrc
# Smart fgd: use local project binary when available, otherwise fg-devkit script
unalias fgd 2>/dev/null
export FGD_DEVKIT_PATH="/Users/username/projects/fg-devkit"
fgd() {
  if [ -x "./node_modules/.bin/fgd" ]; then
    pnpm exec fgd "$@"
  else
    node "$FGD_DEVKIT_PATH/scripts/fg-devkit.mjs" "$@"
  fi
}
EOF
  1. Reload shell config:
source ~/.zshrc