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

create-express-esm

v1.2.5

Published

A modern CLI tool to bootstrap Express.js applications with ES Modules and Layered Architecture.

Readme

🚀 Create Express ESM (CLI)

Modern Express Generator with Multi-Database & Zero-Config

"1초 만에 완성하는 Modern Express(ESM) + Prisma + Multi-DB Docker 환경"

최신 ES Modules(import/export)를 기반으로, 사용자가 선택한 데이터베이스(PostgreSQL, MySQL, MariaDB, MongoDB) 환경을 즉시 구축해주는 지능형 CLI 도구입니다.

npm version License: MIT

✨ Demo

Image

✨ Key Features (핵심 기능)

v1.2.4 업데이트를 통해 더욱 강력해진 실무형 풀스택 베이스를 제공합니다.

  • 🗄️ Multi-Database Support: PostgreSQL, MySQL, MariaDB, MongoDB 중 프로젝트에 필요한 DB를 선택할 수 있습니다.
  • 🐳 Smart Docker Orchestration: 각 DB 엔진에 최적화된 Docker Compose 설정을 자동 생성합니다. (포트 충돌 방지 설계 적용)
  • 🏗 Layered Architecture: 실무 표준인 Controller - Service - Route - Middleware 계층 구조를 제공합니다.
  • 🚨 Professional Error Handling: AppError 클래스와 Global Error Middleware를 통한 중앙 집중식 에러 관리 시스템을 내장하고 있습니다.
  • 🧪 Integrated Testing: 최신 테스트 프레임워크인 Vitest와 API 테스트용 Supertest 환경을 자동 설정합니다.
  • ⚡ Modern Execution: ts-node보다 빠르고 ESM 호환성이 뛰어난 **tsx**를 채택했습니다.
  • 📦 Zero-Config Setup: 프로젝트 생성 즉시 의존성 설치, .env 환경 변수 세팅 및 Prisma 스키마 최적화를 완료합니다.

🚀 Quick Start (사용법)

별도의 설치 없이 npx 명령어로 즉시 실행하여 인터렉티브하게 프로젝트를 생성하세요.

npx create-express-esm

프로젝트 생성 후 DB 시작하기

# 1. 프로젝트 폴더 이동
cd my-app

# 2. Docker를 통한 데이터베이스 실행
npm run db:up

# 3. Prisma 스키마 반영 (테이블/컬렉션 생성)
npm run db:push

# 4. 개발 서버 실행
npm run dev

🗄️ Database Options

v1.2.4에서는 각 환경별 최적화된 기본 포트를 제공하여 윈도우 시스템(Hyper-V)과의 포트 충돌을 최소화하고, 선택한 DB에 맞는 전용 환경을 구축합니다.

| Database | Docker Image | Default Port | Prisma Provider | | :------------- | :------------------- | :----------- | :-------------- | | PostgreSQL | postgres:15-alpine | 5433 | postgresql | | MySQL | mysql:8.0 | 4306 | mysql | | MariaDB | mariadb:10.11 | 5306 | mysql | | MongoDB | mongo:6.0 | 27017 | mongodb |

📂 Project Structure (폴더 구조)

이 도구는 **Layered Architecture (계층형 아키텍처)**를 기반으로 프로젝트를 생성하여 높은 유지보수성을 보장합니다.

my-app/
├── prisma/             # 🗄️ Prisma Schema (선택한 DB 전용 템플릿)
├── src/
│   ├── controllers/    # 🕹️ 요청 처리 및 응답 반환 (Controller Layer)
│   ├── services/       # 🧠 비즈니스 로직 처리 (Service Layer)
│   ├── routes/         # 🚦 API 엔드포인트 정의 (Route Layer)
│   ├── middlewares/    # 🛡️ 전역 에러 핸들러 및 커스텀 미들웨어
│   ├── utils/          # 🛠️ AppError 클래스 등 공통 유틸리티
│   ├── lib/            # 🖇️ Prisma Client 인스턴스 (Singleton)
│   ├── app.ts          # 🏗️ Express 앱 설정 및 미들웨어
│   └── server.ts       # 🚀 서버 진입점 (Entry Point)
├── .env                # 🔐 환경 변수 (DATABASE_URL 자동 생성)
├── docker-compose.yml  # 🐳 DB 컨테이너 설정 (Port conflict 방지 설계)
├── vitest.config.ts    # 🧪 Vitest 설정 파일
└── package.json        # 📦 의존성 및 스크립트

🗺️ Roadmap (Future Plans)

  • [x] TypeScript & tsx: 최신 TS 환경 완벽 지원

  • [x] Testing Setup: Vitest/Supertest 자동화

  • [x] Multi-DB Support: 4종 DB(Postgres, MySQL, MariaDB, Mongo) 지원

  • [ ] Authentication Template: JWT/Passport 기반 인증 로직 추가

  • [ ] Validation Layer: Zod를 이용한 요청 값 검증 미들웨어 추가

  • [ ] API Documentation: Swagger(OpenAPI) 자동 생성 지원

📝 License

This project is MIT licensed.