Provides a Node.js demo with minimal (and selectable) set of dependencies.
See blog post for more information.
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
--force
- overwrite existing files--esm
- use imports (es6) instead of require (cjs)
--ejs
- use Embedded JavaScript templating (ejs)--mustache
- use mustache templates
--express
- use express web server
--monbodb
- use mongodb--postgresql
- use postgresdb--sqlite
- use sqlite3
--drizzle
- use drizzle ORM for databases. Implies typescript.--knex
- use knex ORM for databases--prisma
- use prisma ORM for databases
--websocket
- use websockets for real-time updates--htmx
- use htmx for socket updates--redis
- use redis pub/sub
--pnpm
- use pnpm as the package manager--yarn
- use yarn as the package manager
--tailwindcss
- use tailwindcss--typescript
- generate typescript
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.
-
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.