API starters · Rank #36
node-boilerplate
Grade C: derived only from the two verdicts below. How grades work
Node Typescript Boilerplate for Microservices. Skeleton for Node.js Apps written in TypeScript (with Setup Instructions for ESLint, Prettier, and Husky)
Why this verdict
How we check →- No commits in 90 days; last commit 168 days ago. receipt ↗
- Latest release v2.0.0, 1015 days ago. receipt ↗
- Express 4 declared; latest is 5 (1 major behind). receipt ↗
- Not counted in verdict: TypeScript 5 → 7. receipt ↗
Snapshot: commit 1f57b01 on master, checked 2026-10-19 06:27 UTC. Receipts link to files at this exact commit.
Dependency freshness
| Package | Declared | Latest | Status |
|---|---|---|---|
| TypeScript typescript | 5.7.3 | 7.0.2 | Behind, not counted |
| Express express | 4.21.2 | 5.3.0 | 1 major behind |
Declared = lowest version the kit's dependency file (package.json, pyproject.toml or requirements.txt) allows. Latest = the npm "latest" tag or the newest PyPI release. TypeScript, the Stripe SDK, FastAPI and other 0.x packages are shown but not counted in the verdict.
What's in the stack
- Framework
- Express
- Testing
- Jest
Detected from declared dependencies. A listed package means it's installed, not necessarily fully wired up.
What the README says you get
- APISwagger UI docs
Swagger UI mounted at `/docs` in non-production.
- AuthHeader-based auth demo
Demo of header-based auth (requires `x-internal-authorization` and `Authorization`)
- DeployHardened Dockerfile
Multi-stage Dockerfile on `node:22-bookworm-slim`, runs as non-root with `tini` as PID 1, healthcheck baked in.
- DeployHardened docker-compose
`docker-compose.yml` with `read_only`, `cap_drop: ALL`, `no-new-privileges` and resource limits.
- DeployGraceful shutdown
Graceful shutdown on `SIGINT` / `SIGTERM` with a 10 s drain window.
- OtherHelmet security headers
Helmet (HSTS in prod), `x-powered-by` disabled, `x-request-id` propagation.
- OtherCORS allow-list
Allow-list driven CORS via `CORS_ORIGINS`.
- OtherGlobal rate limiter
Global rate limiter (`express-rate-limit`, draft-7 standard headers).
- OtherBody size limit
Body size capped at 1 MB by default (configurable via `BODY_LIMIT`).
- OtherAES-256-GCM encryption
PBKDF2-HMAC-SHA512 key derivation at OWASP-2023 strength (600 000 iters) + AES-256-GCM with per-message salt + IV embedded in the ciphertext.
- OtherConfig validation
Centralized config validation – the app refuses to boot with bad/missing values.
- OtherStructured Winston logging
Structured Winston logging (separate `error.log`, JSON format, level via `LOG_LEVEL`).
- OtherHealth and readiness endpoints
`/healthz` and `/readyz` liveness/readiness endpoints (skipped from rate-limit).
- OtherRequest ID middleware
Per-request id middleware (echoes/forwards `x-request-id`, falls back to `crypto.randomUUID()`).
Extracted from the kit's README by a local AI model (deepseek-flash) on Sep 29, 2026. Every item is checked against an exact README quote. A README claim is the maker's description, not something we tested.
Watch node-boilerplate
Get told if it goes dormant, gets archived, falls further behind on a core dependency, or changes its license or price.
History
Sep 29, 2026 → Oct 19, 2026. One square per check, colored by maintenance status. Hover for details.
Show as a table
| Date | Maintenance | Dependencies | Commits (90d) |
|---|---|---|---|
| Oct 19, 2026 | Slowing | 1 major behind | 0 |
| Oct 12, 2026 | Slowing | 1 major behind | 0 |
| Sep 29, 2026 | Slowing | 1 major behind | 0 |
Sources
Every claim on this page comes from these public records, checked . Open them to verify.
- Commit history ↗ default branch (master) at the checked commit: pulse, contributors, last commit
- Releases ↗ latest release
- package.json ↗ declared dependency versions and stack (at commit 1f57b01)
- README ↗ quoted features at the checked commit
- npm registry ↗ latest versions (each linked in the table above)