Changelog

Latest updates and improvements to PEST.js.

v3.3.05 February 2026

Rate limiting, docs rewrite & website polish

Adds express-rate-limit middleware to generated projects, rewrites all documentation with fumadocs components, and polishes the website with icon tabs, copy-to-clipboard, and dark mode fixes.

  • Rate limiting with express-rate-limit — global limiter + per-route factory
  • Docs rewritten with fumadocs Tabs, Steps, Files, Callout, and CodeBlock components
  • Icon tab triggers for ORMs, databases, package managers, and Docker
  • Icon components with currentColor for automatic dark mode support
  • Copy-to-clipboard button for npx command on landing page
  • Pest icon in navbar branding
  • Best practices fixes — next/image, stable React keys, rel noreferrer, ternary conditionals
  • Removed duplicate cn utility, consolidated to lib/utils
v3.2.05 February 2026

Structured logging, validation, CRUD routes & bug fixes

A feature-packed release that adds pino logging, zod request validation, custom error classes, CRUD example routes for all ORMs, package manager choice (npm/pnpm/yarn), and fixes five bugs across Docker, Drizzle, TypeORM, Husky, and Vercel configs.

  • Structured logging with pino and pino-http (pino-pretty in dev)
  • Request validation middleware powered by zod
  • Custom error classes — AppError, NotFoundError, ValidationError, UnauthorizedError
  • CRUD example route (/api/examples) with variants for in-memory, Prisma, Drizzle, and TypeORM
  • Package manager choice — npm, pnpm, or yarn (--package-manager flag)
  • Dockerfile adapts to selected package manager (corepack for pnpm, yarn.lock for yarn)
  • Lockfile-aware .gitignore excludes other package managers' lockfiles
  • Env validation — PORT must be 0–65535, DATABASE_URL required when a database is configured
  • Fix: Drizzle MySQL uses createPool instead of top-level await createConnection
  • Fix: Husky pre-commit hook is now executable (chmod 755)
  • Fix: TypeORM server.ts calls initializeDatabase() before app.listen()
  • Fix: Docker Compose overrides DATABASE_URL with db as host instead of localhost
  • Fix: Vercel config points to dist/server.js instead of src/app.ts
v3.2.0 visual
v3.1.25 February 2026

Async install with animated spinner

Fixed the dependency installation step that was freezing the CLI. Now uses async spawn so the spinner animates while npm installs packages.

  • Replaced execSync with async spawn for non-blocking installs
  • Spinner now shows progress during dependency installation
  • Separate status messages for dependencies and dev dependencies
v3.1.2 visual
v3.1.15 February 2026

npm package README

Added a README to the CLI package so it displays correctly on the npm registry page.

View on GitHub
v3.1.05 February 2026

Latest dependencies & simplified CI

Dependencies are now resolved to their latest versions at project creation time instead of using hardcoded versions. CI workflows were simplified.

  • npm resolves latest dependency versions during project generation
  • Replaced ts-node + nodemon with tsx for dev server
  • Simplified GitHub Actions from 7 checks to 2
  • Streamlined release workflow with automated npm publish via git tags
  • Updated community files (SECURITY, CONTRIBUTING, CODE_OF_CONDUCT)
  • Added star history chart to README
v3.0.04 February 2026

Complete rewrite in TypeScript

PEST.js has been completely rewritten from a Bash script to a TypeScript CLI published as an npm package. Generated projects now use Express 5 with full TypeScript support.

  • Interactive CLI powered by @clack/prompts
  • Express 5 with native async error handling
  • Database ORM selection — Prisma, Drizzle, or TypeORM
  • PostgreSQL, MySQL, and SQLite provider support
  • Docker support with multi-stage builds and compose
  • Jest + Supertest testing setup
  • ESLint flat config + Prettier + Husky pre-commit hooks
  • Vercel deployment config included
  • Non-interactive mode with --yes flag for CI usage
  • Published to npm as pest-js-app
v3.0.0 visualView release
v2.0.06 August 2025

Modular Bash CLI with CI/CD

Major refactor of the CLI into a modular Bash architecture with separate generator scripts. Added comprehensive CI/CD workflows and code quality tooling.

  • Modular CLI architecture with separate generator scripts
  • GitHub Actions CI/CD workflows for testing and releases
  • Husky git hooks with commitlint for conventional commits
  • Prettier code formatting with sensible defaults
  • Jest testing setup with TypeScript support
  • Vercel deployment configuration
  • Documentation website introduced
View release
v1.0.018 February 2025

Initial release

First version of PEST.js — a Bash setup script that scaffolds Express + TypeScript projects with database support, linting, formatting, and testing.

  • Bash-based project scaffolding script
  • Express + TypeScript project generation
  • Database connection handling for test environments
  • ESLint and Prettier configuration
  • Jest test setup
  • Multi-OS setup instructions
  • CI workflow for project validation