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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@flydotio/node-demo

v0.2.1

Published

Fly.io Node.js demo

Downloads

231

Readme

Overview

Provides a Node.js demo with minimal (and selectable) set of dependencies.

See blog post for more information.

Usage

To run once, in an empty directory:

npx --yes @flydotio/node-demo@latest

To enable rerunning with different options, install via:

npm install @flydotio/node-demo --save-dev

Then you can rerun as many times as desired using:

npx node-demo

General Option:

  • --force - overwrite existing files
  • --esm - use imports (es6) instead of require (cjs)

Templating Options:

  • --ejs - use Embedded JavaScript templating (ejs)
  • --mustache - use mustache templates

Alternate Web Server

  • --express - use express web server

Database Options:

  • --monbodb - use mongodb
  • --postgresql - use postgresdb
  • --sqlite - use sqlite3

ORM Options:

  • --drizzle - use drizzle ORM for databases. Implies typescript.
  • --knex - use knex ORM for databases
  • --prisma - use prisma ORM for databases

WebSocket:

  • --websocket - use websockets for real-time updates
  • --htmx - use htmx for socket updates
  • --redis - use redis pub/sub

Packaging alternatives:

  • --pnpm - use pnpm as the package manager
  • --yarn - use yarn as the package manager

Popular builders

  • --tailwindcss - use tailwindcss
  • --typescript - generate typescript

Testing

A testing strategy is evolving. The combinatorics of the above options are mind boggling!

What tests we have can be run with npm test. This runs a series of tests defined in test.json, and compares the results to previously captures test/results.

Capturing new test results can be accomplished by running npm run test:capture. Review the results before committing.

Known bugs/limitations:

  • When rerunning this tool, files that were previously created but no longer needed are removed. This does not include outputs in the build directory for example.

  • Switching packaging managers may result in problems. It generally is best to delete the node_modules directory before switching.

  • This tool does not install or set up Postgres or Mongodb databases for you locally.

  • This tool does not set environment variables or update your .env file.