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

servora

v1.3.0

Published

Scaffold a production-ready Node.js Express backend with TypeScript or JavaScript, MongoDB, ESLint, Docker, and more.

Downloads

16

Readme

servora

Scaffold a production-ready Node.js Express backend with TypeScript or JavaScript, MongoDB, ESLint, Docker, and more — in one command.

No install required. Use npx so anyone can create a project without installing the CLI.

Quick start

npx servora my-app

Answer the prompts; you get a full project (package.json, app entry, routes, .env, README, etc.) and optional auto-install of dependencies.

That’s it. Do not run npm install -g servora — use npx servora every time.

Optional global install:

npm install -g servora
# or: pnpm add -g servora | yarn global add servora | bun add -g servora
servora my-app

Options

| Option | Description | |--------|-------------| | -y, --yes | Skip all prompts; use defaults (TypeScript, no MongoDB, no auto-install). | | -v, --version | Print version. | | -h, --help | Print help. |

Examples:

npx servora api -y
npx servora --help
npx servora --version

What you get

  • Language: TypeScript or JavaScript (ES modules)
  • Server: Express with express.json(), express.urlencoded()
  • Database: Optional MongoDB with Mongoose and a sample User model
  • Middleware: CORS, global error handler, custom logger, Morgan
  • Config: .env and .env.example, path aliases (@/) for TypeScript
  • Quality: ESLint (flat config)
  • DevOps: Optional Dockerfile and .dockerignore
  • Install: Choose npm, pnpm, yarn, or bun for installing dependencies

Generated structure (TypeScript):

my-app/
├── src/
│   ├── app.ts
│   ├── routes/
│   │   └── index.ts
│   ├── lib/db.ts
│   ├── models/
│   ├── middlewares/
│   ├── utils/
│   └── controllers/
├── package.json
├── tsconfig.json
├── eslint.config.js
├── .env
├── .env.example
├── .gitignore
├── README.md
└── (optional) Dockerfile, .dockerignore

Requirements

  • Node.js >= 18
  • Network access (to fetch latest dependency versions and run install)

Building from source

pnpm install
pnpm run build

If you use pnpm and the build fails with Could not resolve "...", run once:
pnpm install --node-linker=hoisted then pnpm run build. (Do not commit the generated .npmrc if you want to avoid the npm warning about unknown config.)

Publishing this package to npm

  1. Create an npm account at npmjs.com and log in:

    npm login
  2. Choose a package name

    • If servora is taken, use a scoped name in package.json:
      "name": "@your-username/servora"
    • Then users run: npx @your-username/servora my-app
  3. Set repository URLs in package.json (replace your-username with your GitHub username):

    • repository.url
    • homepage
    • bugs.url
  4. Build and publish:

    pnpm run build
    npm publish

    For a scoped package (e.g. @your-username/servora), the first publish must be:

    npm publish --access public
  5. After publishing, anyone can run:

    npx servora my-app
    # or
    npx @your-username/servora my-app

License

ISC