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

express-fastexp

v1.3.1

Published

A powerful CLI tool designed to make backend development easier by automating the creation of Express.js projects with improved design and modular code structure

Readme

WELCOME TO FASTEXP

npm version

A powerful CLI tool designed to make backend development easier by automating the creation of Express.js projects.

Features

  • 🚀 Auto-generate project structure
  • 📦 Support for JavaScript & TypeScript
  • 🗄️ Multiple database options (MySQL, SQLite, MongoDB, Supabase)
  • ☁️ Cloud storage integration (Cloudinary)
  • 🔗 Path alias configuration (@, /, or none)
  • 🔒 Pre-configured middleware & auth (cors, bcrypt, jsonwebtoken)
  • ⚡ Beautiful loading spinners with colors and animations
  • 🎯 CLI argument support for quick project creation and startup

Updates

Latest Update

  • Version Enforcement - Added automatic version check to ensure users have the latest version, blocking outdated versions from running and prompting for update (08/06/2026 4:16 PM)
  • Interactive Start Menu - Added menu to choose between entering project path manually or browsing folders with arrow keys (08/06/2026 4:16 PM)
  • Enhanced Project Verification - Three-layer verification checking package.json dependencies, raw content, and source code imports for Express (08/06/2026 4:16 PM)
  • Folder Browser - Navigate file system with arrow keys, no loop scrolling, hidden dot folders, and smart path resolution (08/06/2026 4:16 PM)
  • Folder Size Display - Added automatic folder size calculation and display after project creation, showing the total size in human-readable format (Bytes, KB, MB, GB) (08/06/2026 4:16 PM)
  • Improved CLI Design - Enhanced user interface with better visual design and more intuitive navigation
  • Code Restructuring - Refactored the entire codebase into modular chunks for better organization and maintainability

Installation

npm install -g express-fastexp

Or use with npx:

npx express-fastexp

Or use with bun:

bun install -g express-fastexp

Or use with bunx:

bunx express-fastexp

Usage

Interactive Mode

Run the CLI without arguments to enter interactive mode:

express-fastexp

This will display the main menu with options:

  1. Create new project
  2. Start a project
  3. Credits
  4. Exit

CLI Commands

Create a New Project

Basic usage:

express-fastexp create [project-name]

This auto-selects "Create new project" and skips the project name prompt, going directly to language selection.

With language:

express-fastexp create [project-name] [language]

Skips both project name and language prompts.

Language options:

  • ts or typescript - TypeScript
  • js or javascript - JavaScript

Examples:

# Create project with name only (prompts for language)
express-fastexp create my-project

# Create TypeScript project
express-fastexp create my-project ts

# Create JavaScript project
express-fastexp create my-project js

Start a Project

Basic usage:

express-fastexp start [path]

Auto-selects "Start a project" and skips the project path prompt, going directly to package manager selection.

With all options:

express-fastexp start [path] [package-manager] [command]

Skips all prompts and directly runs the project.

Package manager options:

  • bun or 1 - Bun
  • npm or 2 - npm

Examples:

# Start with path only (prompts for package manager and command)
express-fastexp start ./my-project

# Start with Bun
express-fastexp start ./my-project bun "npm run dev"

# Start with npm
express-fastexp start ./my-project npm "nodemon"

# Start with custom command
express-fastexp start ./my-project bun "bun run index.js"

Project Configuration

When creating a new project interactively, you'll be prompted for:

  1. Project Name - Name of your project folder
  2. Install Express - Whether to install Express and dependencies
  3. Language - JavaScript or TypeScript
  4. Path Alias Style (if Express is installed):
    • @ (e.g., @/controllers, @/models)
    • / (e.g., /controllers, /models)
    • None
  5. Package Manager (if Express is installed):
    • Bun
    • npm
  6. Database:
    • SQL (MySQL)
    • SQLite
    • MongoDB
    • Supabase
    • None
  7. Storage:
    • Cloudinary
    • None

Project Structure

After creation, your project will have the following structure:

my-project/
├── config/
│   ├── jwt.js/ts
│   ├── sql.js/ts (if SQL selected)
│   ├── sqlite.js/ts (if SQLite selected)
│   ├── mongodb.js/ts (if MongoDB selected)
│   ├── supabase.js/ts (if Supabase selected)
│   └── cloudinary.js/ts (if Cloudinary selected)
├── models/
│   └── model.js/ts
├── middleware/
│   └── middleware.js/ts
├── controllers/
│   └── controller.js/ts
├── routes/
│   └── route.js/ts
├── templates/
│   └── start.js/ts
├── .env
├── .env.example
├── .gitignore
├── nodemon.json
├── package.json
├── index.js/ts
└── tsconfig.json (if TypeScript selected)

Included Packages

When Express is installed, the following packages are automatically included:

  • express - Web framework
  • dotenv - Environment variable management
  • nodemon - Auto-restart on file changes
  • cors - Cross-Origin Resource Sharing
  • bcrypt - Password hashing
  • jsonwebtoken - JWT authentication

Additional packages based on your choices:

  • module-alias - Path alias support (JavaScript with @ or /)
  • typescript, tsx, @types/node, @types/express - TypeScript support
  • mysql2 - MySQL database
  • better-sqlite3 - SQLite database
  • mongoose - MongoDB database
  • @supabase/supabase-js - Supabase database
  • cloudinary, multer - Cloud storage

Starting Your Project

After creating a project, you can start it in multiple ways:

Option 1: Use the CLI

express-fastexp start ./my-project bun "npm run dev"

Option 2: Interactive Start Menu

Run the CLI and select "Start a project" from the main menu. You'll be presented with two options:

  1. Enter project path manually - Type the full path or folder name of your project

    • Supports full paths: C:\Users\jhonj\Downloads\my-project
    • Supports relative paths: my-project or ./my-project
    • Supports folder names only: my-project (system will search in user directory)
    • Supports nested paths: portfolio\backend (system will navigate to parent folder)
  2. Browse folders - Navigate through your file system using arrow keys

    • Starts in your user home directory
    • Navigate with arrow keys (no loop scrolling)
    • Hidden dot folders (folders starting with .)
    • Select "✅ Select this directory" when you find your project
    • Go back with "⬆️ .. (Go back)"

Enhanced Project Verification

The system automatically verifies that your project is a valid Express project by checking:

  • package.json - for express in dependencies or devDependencies
  • Raw package.json content - for the word "express" anywhere in the file
  • Source code imports - for express require/import statements in common entry files:
    • Root directory: index.js, server.js, app.js, main.js (and .ts equivalents)
    • src folder: same files if it exists

Folder Size Display

When a valid Express project is found, the system displays the folder size (e.g., "Folder size: 15.2 MB").

Option 3: Manual start

cd my-project
npm run dev  # or bun run dev

The server will start at http://localhost:3000 by default.

Environment Variables

Edit the .env file to configure your project:

PORT=3000
NODE_ENV=development

# Database (based on your selection)
DB_HOST=localhost
DB_PORT=3306
DB_NAME=your_database
DB_USER=root
DB_PASSWORD=

# Or for SQLite
SQLITE_PATH=./database.sqlite

# Or for MongoDB
MONGODB_URI=mongodb://127.0.0.1:27017/your_database

# Or for Supabase
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key

# Storage (if Cloudinary selected)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

Credits

Created by Jhon Ladines

  • Website: https://www.jhonladines.top/
  • Repository: https://github.com/Allvexnation/express-fastexp

License

MIT


Express FastExp - No more manually creating folders, files, and packages! 🚀