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

create-exam-app

v1.0.10

Published

Scaffold exam projects: EPMS, SIMS, SFMS, LMS — npx, pick a template, get backend + frontend + README + .env

Readme

create-exam-app

Scaffolds a project: backend/, frontend/, README.md, .env and backend/.env (from backend/.env.example when needed).

Users

npx create-exam-app
# optional: folder name (default is epms-app / sims-app for the template you pick)
npx create-exam-app my-folder
  • Prints a short numbered list ([1], [2], …).
  • If there is more than one template, type a number and Enter at Pick (1–N): (or Enter for 1). One template = no question.
  • Output: Done: <path> — then npm i and npm run dev in backend and frontend (ports are in that project’s README).

Templates (manifest)

| Order | ID | Name | When to use | |------:|------|-------|-------------| | 1 | epms | EPMS | Payroll, departments, employees, salary CRUD, monthly report | | 2 | sims | SIMS | Spare parts, stock in, stock out (out CRUD), daily stock reports | | 3 | sfms | SFMS | School fees: auth, students, payments, date-range reports | | 4 | lms | LMS | Library: admin/librarian, books, students, borrow/return, reports |

The live list in the CLI is driven by templates/projects.json — add a projects[] entry and a matching templates/<templateDir>/ folder to ship another exam.

Maintainer: sync templates (required before pack/publish)

Package path: exams-p/epms/packages/create-exam-app (or your clone’s equivalent).

cd epms/packages/create-exam-app
npm run sync-all
npm run verify
  • sync-epms — copies from epms/backend and epms/frontend into templates/epms/
  • sync-sims — copies from sims/backend and sims/frontend into templates/sims/ (expects sims next to exams-p/epms in the repo layout)
  • sync-sfms — copies from sfms/backend and sfms/frontend into templates/sfms/ (expects sfms next to exams-p/epms in the repo layout)
  • sync-lms — copies from lms/backend and lms/frontend into templates/lms/ (expects lms next to exams-p/epms in the repo layout)

prepack runs verify so npm pack and npm publish fail if any projects.json entry has no templates/<templateDir> folder. Always run sync-all when sources change, then ship.

Publish to npm (checklist)

  1. npm run sync-all and npm run verify
  2. Bump version in this folder’s package.json (semver). npm never allows replacing an existing version — if publish says 403 … cannot publish over the previously published versions, increase the version (for example 1.0.81.0.9) and publish again.
  3. npm pack and inspect the tarball, or npm publish --dry-run
  4. npm login (scope registry if you use a scope)
  5. npm publish --access public
    (Use --access public for an unscoped name like create-exam-app so it is installable without scope.)

If publish fails in prepack, run sync-all and confirm each templates/<id>/ folder exists with backend/ and frontend/.

License

MIT