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

@hargunrana-techinject/coding-rules

v1.0.0

Published

Reusable coding rules: ESLint (flat), Prettier, Husky, custom filename rule

Readme

coding-rules

Turn any TypeScript repo into a strict, consistent codebase with one command.

What you get

  • ESLint (flat config) with strict TypeScript, SonarJS and Unicorn
  • Custom filename rule: PascalCase files must export a matching entity; kebab-case files can export anything
  • Complexity max 3 (+ guidance to use switch for >3 branches)
  • Prettier (with import sorting)
  • Husky + lint-staged pre-commit automation

Quick install (after publishing to npm)

If this package is published as coding-rules (unscoped):

# Run once in the target project root
npx coding-rules apply-coding-rules .
# or
pnpm dlx coding-rules apply-coding-rules .
# or
bunx coding-rules apply-coding-rules .

# Then in that project
pnpm install && pnpm prepare
pnpm lint

What the installer does

  • Writes eslint.config.js, .prettierrc, eslint-plugin-filename-export/index.js, and scripts/lint-fix.sh
  • Updates package.json (scripts, devDependencies, lint-staged)
  • Ensures .husky/pre-commit runs lint-staged

Manual install (no publish)

curl -fsSL https://raw.githubusercontent.com/USER/coding-rules/main/scripts/apply-rules.js -o /tmp/apply-rules.js   && node /tmp/apply-rules.js .

pnpm install && pnpm prepare
pnpm lint

Requirements

  • Node >= 18
  • pnpm (recommended) or npm/bun
  • A TypeScript project under src/

Troubleshooting

  • IDE still flags the filename rule after install: restart ESLint server and reload the window. Ensure your IDE uses the flat config (eslint.config.js).
  • Git hook not running: re-init hooks with pnpm dlx husky@9 init.

Uninstall

Remove generated files and revert package.json entries as desired (scripts, lint-staged, devDependencies).

License

MIT